49
第 2 第第第第第第第 • 2.1 第第第第第第第 • 2.1.1 第第第第第第第第 • 第第 21 第第第第 第第第第第第第第第第第第第第第第第 第第第 ,, 第第第第第 第第第第第第第第第 3 第第第 第第第第第第第第第第 第第第第第第第第 第第第第第第第第第第第第第第 第第第第第第第 ,, 第第第第第

第 2 章数据基础知识

Embed Size (px)

DESCRIPTION

第 2 章数据基础知识. 2.1 数据库基本概念 2.1.1 数据库技术的发展 进入 21 世纪以来,数据库技术的应用发生了巨大的变化,主要表现在新技术,应用领域和数据模型 3 个方面。数据库技术发展的核心是数据模型的发展,随着信息管理内容的不断扩展,出现了丰富多彩的数据模型。. 第 2 章数据基础知识. 2.1 数据库基本概念 2.1.1 数据库技术的发展 数据处理技术经历了:人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库阶段。 - PowerPoint PPT Presentation

Citation preview

Page 1: 第 2 章数据基础知识

第 2 章数据基础知识• 2.1 数据库基本概念• 2.1.1 数据库技术的发展• 进入 21 世纪以来,数据库技术的应用发生

了巨大的变化,主要表现在新技术,应用领域和数据模型 3 个方面。数据库技术发展的核心是数据模型的发展,随着信息管理内容的不断扩展,出现了丰富多彩的数据模型。

Page 2: 第 2 章数据基础知识

第 2 章数据基础知识• 2.1 数据库基本概念• 2.1.1 数据库技术的发展• 数据处理技术经历了:人工管理阶段、文件

系统阶段、数据库系统阶段和高级数据库阶段。

• 在数据库阶段,其技术发展经历了 3 代:第1 代是以网状、层次模型为代表的数据库系统、第 2 代是关系数据库系统、第 3 代是以面向对象模型为主要特征的数据库系统。

Page 3: 第 2 章数据基础知识

第 2 章数据基础知识• 2.1 数据库基本概念• 2.1.1 数据库技术的发展• 随着数据模型的出现,新技术也层出不穷

如“数据流”等。它们都应满足 3 方面要求:

• ( 1 )能比较真实地模拟现实世界。• ( 2 )是容易被人们所理解。• ( 3 )是便于在计算机上实现。

Page 4: 第 2 章数据基础知识

2.1 数据库基本概念

• 2.1.2 数据库的基本概念• 1 、 数据:是人们用于描述客观事物的物理符号。是数据库中存储的基本对象。如文字、图形、图像、声音等。

• 2、数据库( DB):是数据的集合,它具有一定的逻辑结构并储存于计算机存储器上,具有多种表现形式并可被各种用户所共享。

Page 5: 第 2 章数据基础知识

2.1 数据库基本概念• 3、数据库管理系统( DBMS):是一个系统软件,负责数据库中的数据组织、操纵、维护、控制、保护和数据服务等,是核心。

• 主要提供以下功能:• ①数据定义功能:结构定义与修改。• ②数据库的建立和维护功能:初始数据的输入,转换功能,数据库的转储,恢复功能,

• ③数据操纵及查询优化• ④数据库的运行管理

Page 6: 第 2 章数据基础知识

2.1 数据库基本概念• 4、数据库系统( DBS)• 通常是指带有数据库的计算机应用系统。它一般由数据库,数据库管理系统,应用系统,数据库管理员和用户组成。

• 在不一起混淆的情况下常把数据库系统简称为数据库。

Page 7: 第 2 章数据基础知识

2.1 数据库基本概念• 它一般由数据库、数据库管理系统、应用

系统、数据库管理员和用户组成。• 2.1.3数据模型• 数据模型用于表示事物以及事物之间的联

系,数据模型是用来抽象、表示和处理现实世界的数据和信息的工具,数据模型是数据库系统的核心和基础,现有的数据库系统均是基于某种数据模型的。

Page 8: 第 2 章数据基础知识

2.1 数据库基本概念• 数据模型有 3 个基本要素:数据结构、数

据操作和完整性约束。• 数据库技术中常见的数据模型有 4 种:• 1 、层次模型:用树型结构表示实体间联系

的数据模型

Page 9: 第 2 章数据基础知识

2.1 数据库基本概念• 层次模型的主要特征:• ( 1 )仅有一个无双亲的结点,这个结点

称为根结点。• ( 2 )其他结点向上仅有一个双亲结点,

向下有若干子女结点。• 层次模型就想一颗倒置的树,根结点在上,

层次最高;子女结点在下,逐层排列。同一双亲的子女结点称为兄弟结点,没有子女结点的结点称为子结点。

Page 10: 第 2 章数据基础知识

2.1 数据库基本概念• 2、网状模型 现实世界中的有些问题,可能不符合层次模型的要求,可以使用网状模型来描述。

Page 11: 第 2 章数据基础知识

2.1 数据库基本概念• 网状模型的主要特征:• ( 1 )有一个以上的结点无双亲。• ( 2 )一个结点可以有多个双亲。• 在网状模型中,子女结点与双亲结点的联

系可以不唯一。因此,要为每个联系命名,并指出与该联系有关的双亲记录和子女记录。

Page 12: 第 2 章数据基础知识

2.1 数据库基本概念• 3 、关系模型• 用二维表格结构表示实体以及实体之间联系的数据模型称为关系模型。有以下常用术语:

• 关系( Relation):一个关系对应一张二维表。• 元组( Tuple):表中的一行称为一个元组。• 属性( Attribute):表中的一列称为一个属性,给每列起一个名称,该名称就是属性名。

• 域( Domain):属性的取值范围。• 关键字或主码( Primary Key):能够惟一地标识一个元组的属性或属性组。

• 关系模式:是对关系的描述。

Page 13: 第 2 章数据基础知识

2.1 数据库基本概念• 关系模式( Relation mode):关系的描述,用关系名(属性名 1,属性名 2,…,属性名 n)来表示。

• 用关系模式表示实体,实体名用关系名表示,实体的属性对应关系的属性。

• 关系模型的主要特点:• ①关系中的每一数据项不可再分,也就是说不允许表中还有表。

• ②每一列中的各个数据项具有相同的属性。

Page 14: 第 2 章数据基础知识

2.1 数据库基本概念• ③每一行中的记录由一个事物的多种属性项构成。• ④每一行代表一个实体,不允许有相同的记录行。• ⑤行与行、列与列的次序可以任意交换,一改变关系的实际意义。

Page 15: 第 2 章数据基础知识

2.1 数据库基本概念• 4、面向对象数据模型• 面向对象模型是近几年发展起来的一种新兴的数据模型。根据面向对象建立的数据库,采用了面向对象程序设计方法的思想和观点,来描述现实世界实体的逻辑组织和对象之间的联系,面向对象核心概念构成了面向对象数据模型的基础。

Page 16: 第 2 章数据基础知识

2.1 数据库基本概念• 4、面向对象数据模型基本概念:• ①对象:现实世界中的任何实体都可以统一地用对象来表示。每一个对象都有它唯一的标识,称为对象标识。

• ②类:所有具有相同属性和操作的对象构成一个对象类。任何一个对象都是某一对象类的一个实例。

• ③事件:客观世界中的所有动作都是由对象发出且能够为某些对象所接受,我们把这样的动作产生称为事件。

Page 17: 第 2 章数据基础知识

2.1 数据库基本概念• 2.1.4关系数据库• 1、关系模型的组成• 关系模型由关系数据结构、关系操作和关系完整性约束 3 部分组成。

• 关系数据结构:关系模型中数据的逻辑结构就是一张二维表的形式。这种简单的数据结构几乎能够包含所有信息的形式,可描述出现实世界的实体以及实体间的各种联系。

• 例如:一个工作任务可以建立一个数据库,在数据库中可以包含若干个表,每张表可以存放不同方面的数据。

Page 18: 第 2 章数据基础知识

2.1 数据库基本概念• 2.1.4关系数据库• 1、关系模型的组成• 关系完整性约束:关系数据模型的操作必须满足关系的完整性约束条件。

• 它可以保证数据库中数据的正确性和一致性,关系的完整性约束条件包括实体完整性,参照完整性和用户定义完整性。

• 其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,用户定义完整性是用户针对某一具体应用领域提出的约束条件。

Page 19: 第 2 章数据基础知识

2.1 数据库基本概念• 2.1.4关系数据库• 1、关系模型的组成• 关系操作:关系操作采用关系代数的集合运算,即操作的对象和结果都是数据集合。

• 关系模型中常用的关系操作包括两类:• ( 1)查询操作:选择,投影,联接,除,并,交,差等。

• ( 2)增加操作,删除操作,和修改操作。

Page 20: 第 2 章数据基础知识

2.1 数据库基本概念• 2、关系运算• 关系的基本运算有两类,一类是传统的集合运算:并、差、交等;另一类是专门的关系运算:选择、投影、联接等。

• 并: R和 S的结果是由属于 R或属于 S的元组组成的新关系,运算符是“ U”记为 RUS。

• 交: R和 S的结果是由即属于 R 又属于 S的元组组成的新关系,运算符是“∩”记为 R ∩ S。

• 差: R和 S的结果是由属于 R 但不属于 S的元组组成的新关系,运算符是“ -”记为 R-S。

Page 21: 第 2 章数据基础知识

2.1 数据库基本概念

A B C

a1a1a2

b1b2b2

c1c2c1

A B C

a1a1a2

b2b3b2

c2c2c1

( a) 关系 R ( b) 关系 S

Page 22: 第 2 章数据基础知识

2.1 数据库基本概念

A B C

a1a1a2a1

b1b2b2b3

c1c2c1c2

A B C

a1a2

b2b2

c2c1

( 1) RUS ( 2) R∩S

Page 23: 第 2 章数据基础知识

2.1 数据库基本概念

A B C

a1 b3 c2

( 3) R-S

Page 24: 第 2 章数据基础知识

2.1 数据库基本概念练习 1 :集合 A={12,10,15,6,7,4}

集合 B={2,4,6,8,10,12}

求( 1 ) AUB

(2) A-B

(3) A∩B

Page 25: 第 2 章数据基础知识

2.1 数据库基本概念练习 2 :集合 A={ 北京 , 上海 , 天津 , 云南 , 长春 , 深

圳 }

集合 B={ 天津 , 甘肃 , 云南 , 上西 }

求( 1 ) AUB

(2) A-B

(3) A∩B

Page 26: 第 2 章数据基础知识

2.1 数据库基本概念 选择运算:选择关系中满足一定条件的元组。 从关系中找出满足给定条件的那些元组称为选择。

其中的条件是以逻辑表达式给出的,值为真的元组将被选取。

投影运算:选取关系中的某些列,并且将这些列组成一个新的关系。从关系模型中挑选若干属性组成新的关系称为投影。

联接运算:选择和投影运算都属于一目运算,它们的操作对象只是一个关系。联接运算是二目运算,需要两个关系作为操作对象。

Page 27: 第 2 章数据基础知识

2.1 数据库基本概念

学号sno

姓名sname

性别ssex

年龄

sage

所在系Sdept

95001 李勇 男 20 Cs

95002 刘晨 女 19 Is

95003 王敏 女 18 Ma

95004 张立 男 19 Is

例 1设有一个学生课程数据库,包括学生关系 student,课程关系course, 选课关系 sc

student

Page 28: 第 2 章数据基础知识

2.1 数据库基本概念Course

SC

学号 课程号 成绩sno cno Grade

95001 1 92

95001 2 85

95001 3 88

95002 2 90

95002 3 80

课程号

cno

课程名cname

先行课cpno

学分Ceredi

t

1 数据库 5 4

2 数学 2

3 信息系统 1 4

4 操作系统 6 3

5 数据结构 7 4

6 数据处理 2

7 PASCAL语言

6 4

Page 29: 第 2 章数据基础知识

2.1 数据库基本概念 选择运算 条件:学号 =“95001”

结果:学号sno

姓名sname

性别ssex

年龄sage

所在系Sdept

95001 李勇 男 20 Cs

Page 30: 第 2 章数据基础知识

2.1 数据库基本概念 投影运算 条件:学号,姓名

结果: 学号sno

姓名sname

95001 李勇

95002 刘晨

95003 王敏

95004 张立

Page 31: 第 2 章数据基础知识

2.1 数据库基本概念 联接运算 条件: course.cno=sc.cno 结果:

学号sno

41信息系统3

41信息系统3

2数学2

2数学2

45数据库1

学分Ceredi

t

先行课cpno

课程名cname

课程号

cno

95002

95001

95002

95001

95001

80

88

90

85

92

学分grade

Page 32: 第 2 章数据基础知识

2.1 数据库基本概念• 例:设关系 R和 S分

别如下:R

S

A B C D E

a1 b1 5 b1 3

a1 b2 6 b2 7

a2 b3 8 b3 10

a2 b4 12 b3 2

b5 2

Page 33: 第 2 章数据基础知识

2.1 数据库基本概念等值连接 r.b=s.b 自然连接A R.B C S.B E A R.B C Ea1 b1 5 b1 3 a1 b1 5 3a1 b2 6 b2 7 a1 b2 6 7a2 b3 8 b3 10 a2 b3 8 10a2 b3 8 b3 2 a2 b3 8 2

Page 34: 第 2 章数据基础知识

2.1 数据库基本概念• 3 、关系数据库系统的功能• ① 数据定义功能• ② 数据处理功能• ③ 数据控制功能• ④ 数据维护功能

Page 35: 第 2 章数据基础知识

2.2 关系数据库使用的语言• 2.1 关于 VBA• VBA 是 Access 中的内置语言, VBA 的语法与独立运行

的 Visual Basic 编程语言相互兼容。 VBA 是一套完整的应用程序开发环境,用户可用 Visual Basic 语言来编写程序,完成对数据库的设计。

• VBA 是一种面向对象的语言。 VBA 为用户和开发人员提供了一种应用程序间通用的语言,减少了学习时间;而且VBA 也为开发人员提供一种开发方法,进一步深入发挥 Access 的强大功能,全面提高使用 Access 工作的自动化水平,用于开发集成多个应用程序的系统,还可以开发中小型的管理信息系统。

Page 36: 第 2 章数据基础知识

2.2 关系数据库使用的语言• 2.1 关于 VBA• Access 中的 VBA程序由模块组成。模块中包含一系列语句和方法,以执行操作或计算数值。模块是将 VBA声明和过程作为一个单元进行保存的集合。

• 模块有连个基本类型:类模块和标准模块• 模块中的每一个过程都可以是一个函数过程或一个子过程。• VBA 中包含了很多的内置函数,用户还可以创建自己的自

定义函数,创建自定义函数以后,就可以在 Access任何地方的表达式中使用该函数。

Page 37: 第 2 章数据基础知识

2.2 关系数据库使用的语言• 2.1 关于 VBA• 使用 VBA ,可以使数据库易于维护。因为 Visual

Basic 事件过程创建在窗体或报表的定义中,如果把窗体或报表从一个数据库移动到另一个数据库,则窗体或报表所带的事件过程也会同时移动。

• 在 Access 中提供的 VBA开发界面称为 VBE 。 VBE 实际上是一个集编辑,调试,编译等功能于一体的编辑环境。

Page 38: 第 2 章数据基础知识

2.2 关系数据库使用的语言• 2.2.2 关于 SQL

• 1 、 SQL 的特点( 1 ) SQL 是一种功能齐全的数据库语言。

SQL语言主要包括以下 4类:数据定义 , 数据操纵 , 数据查询 , 数据控制 .SQL语言可以独立完成数据库中的全部操作,包括定义关系结构,数据维护,查询,更新和完整性约束等一系列操作。

Page 39: 第 2 章数据基础知识

2.2 关系数据库使用的语言( 2 ) SQL 是高度非过程化的语言。• SQL 是按照用户习惯去指导操作的完成方

式,而用户不必考虑怎么做的问题。因此用户无须了解语言的执行过程和路径, SQL语言的操作过程及路径选择均有系统自动完成。这不但大大减少了用户负担,而且有利于提高数据的独立性和安全性。

Page 40: 第 2 章数据基础知识

2.2 关系数据库使用的语言( 3 ) SQL语言简洁。• SQL语言只用 9 个动词就完成了数据定义,

数据操作,数据查询,数据控制的核心功能,语法简洁,易懂易学,使用方便。

( 4 )语言共用。• SQL语言在任何一种数据库管理系统中都

是相似的,甚至是相同的。

Page 41: 第 2 章数据基础知识

2.2 关系数据库使用的语言2 、 SQL 的数据查询和数据操纵功能• ( 1 )数据查询 SQL语言提供 Select语句进行数据库的查询,其功能是实现数据源数据的筛选,投影和联接操作,并能够完成筛选字段重命名,多数据源数据组合,分类汇总等具体操作。

• ( 2 )数据操纵 SQL 的操作功能是指对数据库中数据进行

操纵的功能,包括数据的插入、修改和删除等。

Page 42: 第 2 章数据基础知识

2.3 数据库设计概念• 2.3.1 数据库关系完整性设计• 1 、实体完整性规则 实体完整性规则:若属性 A 是基本关系 R

的主码,则属性 A 不能取空值。 实体完整性规则规定基本关系的所有主属

性都不能取空值,而不仅是主码整体不能取空值。

Page 43: 第 2 章数据基础知识

2.3 数据库设计概念2、参照完整性规则:若属性(或属性组) F 是基

本关系 R 的外码,它与基本关系 S 的主码 K相对应(基本关系 R 和 S 不一定是相同的关系),则 R

中的每个元组在 F 上的值必须如下:( 1 )、或者取空值( F 的每个属性值均为空值)( 2 )、或者等于 S 中的某个元组的主码值。参照完整性规则就是定义外码与主码之间的引用规则。

Page 44: 第 2 章数据基础知识

2.3 数据库设计概念3 、用户定义完整性 用户定义的完整性就是针对某一具体关系

数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。关系模型应提供定义和检验这类完整性规则的机制,其目的是用统一的方式由系统来处理他们。

Page 45: 第 2 章数据基础知识

2.3 数据库设计概念• 2.3.2 数据库规范化设计 关系数据库中的关系要满足一定要求,满足

不同程度要求的为不同范式。目前遵循的主要范式包括第一范式,第二范式,第三范式和第四范式等。

规范化设计过程的目的是减少冗余数据,提供有效的数据检索方法,避免不合理的插入,删除,修改等操作,保持数据一致性,增强数据库的稳定性,伸缩性和适应性。

Page 46: 第 2 章数据基础知识

2.3 数据库设计概念• 2.3.2 数据库规范化设计• 1 、第一范式 关系模式 R 的所有属性均为简单属性,即每个

属性都是不可再分的,则称 R 属于第一范式。• 2 、第二范式 关系模式 R 满足第一范式, R 中的所有非主属

性都完全依赖于主码,则称关系 R 属于第二范式。• 3 、第三范式 关系模式 R 满足第二范式, R 中的所有非主属

性都不传递信赖于主码,则称关系 R 属于第三范式。

Page 47: 第 2 章数据基础知识

2.3 数据库设计概念• 2.3.3数据库应用系统设计方法• 1、需求分析• ①系统要处理的数据,经过分类后提交给数据库保存的数据表:学生情况表,学生成绩表,课程表,任课教师表等。

• ②完成数据的维护功能。当学生,教师,课程等情况发生变化或数据录入错误时,实时保证数据表中数据的正确性和一致性。

• ③实现各种信息查询功能。包括学生成绩查询,学生情况查询。

• 2、应用系统的数据库设计• 首先要弄清需要存储哪能些数据,确定需要几个数据表,每一个表中包括几个字段等,然后在 Access中建立数据表。

Page 48: 第 2 章数据基础知识

2.3 数据库设计概念• 2.3.3数据库应用系统设计方法• 2、应用系统的数据库设计 首先要弄清需要存储哪能些数据,确定

需要几个数据表,每一个表中包括几个字段等,然后在 Access中建立数据表。

• 3、应用系统的功能设计 根据需求分析,结合初步设计的数据库模型,设计应用系统的各个功能模块。学生管理系统中应包括哪些功能模块。

Page 49: 第 2 章数据基础知识

2.3 数据库设计概念• 4、系统的性能分析 软件初步形成后,需要对它进行性能分析,如

果有不完善的地方,要根据分析结果对数据库进行优化,直到应用软件的设计满足用户的需要为止。

• 5、系统的发布与维护 系统经过调试满足用户的需要后就可以进行发

布,但在使用过程中可能还会存在某些问题,因此在软件运行期间要进行调整,以实现软件性能的改善和扩充,使其适应实际工作的需要。