《第1章 关系数据库系统概述》由会员分享,可在线阅读,更多相关《第1章 关系数据库系统概述(55页珍藏版)》请在金锄头文库上搜索。
1、Visual FoxPro 程序设计(第三版),第1章 关系数据库系统概述,学习内容,1.1.1 数据管理技术的产生和发展,时间:50年代中期以前计算机硬件:磁带、卡片、纸带计算机软件:汇编语言特点:数据不能保存数据与程序存在一一对应关系没有专门的数据管理软件,应用程序依赖于数据、数据的逻辑结构、数据的存储形式,1、人工管理阶段,1.1 数据库系统基础概念,人工管理阶段,时间:20世纪50年代后期至60年代后期,文件管理系统。计算机硬件:磁盘、磁鼓计算机软件:文件管理系统、数据文件主要优点:数据以文件的形式长期保存程序和数据之间有一定的独立性应用,系统通过管理系统与数据文件发生联系,2、文件管
2、理阶段,文件系统阶段,应用程序1,数据文件1,应用程序2,数据文件2,应用程序n,数据文件n,存取方法,文件系统阶段,缺点:数据冗余度大数据面向应用程序,一个数据文件只为某一用户的特定的用途服务,其他应用程序需要相同的数据时,只能重复存储,造成大量的数据冗余。数据的不一致性数据的更新是由每个程序自己进行的,同一数据间没有一致性保护措施。数据依赖性应用程序的编制必须依赖数据的存储形式。,时间:20世纪60年代后期 硬件:大容量和快速存取的磁盘 特点:数据共享多个用户同时存取;可使用多种语言读写数据具有最低的冗余度具有较高的数据独立性逻辑独立性;物理独立性具有数据控制功能安全性、完整性、并发控制、
3、数据恢复等,3、数据库管理阶段,数据库系统管理阶段,时间:产生于上个世纪70年代中,21世纪得到大规模应用。 硬件:大容量和快速存取的磁盘 特点:数据是分布的数据是逻辑相关的,同属于一个数据库系统结点的自治性,4、分布式数据库管理阶段,1.1.2 数据库的基本概念,(1)数据(data):是对客观事物特征所进行的一种抽象化、符号化的表示。能被计算机处理的数字、字符、图形、声音、图像等统称为数据。数据所反映的事物属性是它的内容,而符号是它的形式。 (2)信息(information):是客观事物属性的反映。信息是经过加工处理并对人类客观行为产生影响的数据表现形式。也可以说,信息是有一定含义的,经
4、过加工处理的,能够提供决策性依据的数据。(3)数据表示的三种形式:数值型数据、字符型数据和特殊型数据。,1、数据、信息,长期保存在计算机外存上的、有结构的、可共享的数据集合。,2、数据库,数据库管理系统简称DBMS(是Data Base Management System的缩写)。DBMS是操纵和管理数据库的软件,是数据库系统的管理控制中心,一般有4大功能:数据定义功能、数据库操作功能、控制和管理功能、建立和维护功能。,3、数据库管理系统,把以数据库应用为基础的计算机系统称为数据库系统。它是一个实际可行的,按照数据库方式存储、维护和管理的系统。通常有计算机硬件、数据库、数据库管理系统、相关软件
5、、人员(数据库管理分析员、应用程序员、用户)等组成。如图所示。,4、数据库系统,1.1.3 数据库管理系统中的数据模型,数据模型是指反映客观事物及客观事物间联系的数据组织的结构和形式。常用的数据模型有层次模型、网络模型和关系模型三种。,1、层次模型,层次模型象一棵倒置的树,根结点在上,层次最高;子结点在下,逐层排列。 其主要特征如下: 仅有一个无双亲的根结点。 根结点以外的子结点,向上仅有一个父结点,向下有若干子结点。,层次模型结构图,网状模型(network model)是层次模型的扩展表示多个从属关系的层次结构,呈现一种交叉关系的网络结构。 网状模型是以记录为结点的网络结构。 其主要特征如
6、下: 有一个以上的结点无双亲。 至少有一个结点有多个双亲。 网状模型可以表示较复杂的数据结构,即可以表示数据间的纵向关系与横向关系。这种数据模型在概念上、结构上都比较复杂,操作上也有很多不便。,2、网状模型,网状模型的示例如图:,关系模型(relational model)研究的对象的数据结构是二维表。 关系模型的主要特点有:关系中每一数据项不可再分,是最基本的单位;每一竖列数据项是同属性的。列数根据需要而设,且各列的顺序是任意的;每一横行记录由一个事物的诸多属性项构成。记录的顺序可以是任意的;一个关系是一张二维表,不允许有相同的字段名,也不允许有相同的记录行。,3、关系模型,教师档案表,关系
7、模型实例二维表,1.2.1 关系数据库概念,1.2 关系型数据库系统,1关系数据库,关系数据库是若干个依照关系模型设计的数据表文件的集合。一个关系数据库由若干个数据表组成,数据表又由若干个记录组成,而每一个记录是由若干个以字段属性加以分类的数据项组成的。 在关系数据库中,用表文件名来标志唯一数据表。 特点:数据冗余度低、高度独立性、共享性、数据的安全性、完整性和对数据实行集中控制,(1)关系的基本概念 通常将一个没有重复行、重复列的二维表看成一个关系,每一个关系都有一个关系名。在Visual FoxPro中表文件的扩展名为.dbf (2)关系的基本特点在关系模型中,关系具有以下基本特点:关系必
8、须规范化,属性不可再分割。在同一关系中不允许出现相同的属性名。在同一关系中元组及属性的顺序可以任意。任意交换两个元组(或属性)的位置,不会改变关系模式。,1.2.2 关系术语,1. 关系,表1-2 教师任课表,属性名,也称字段名,元组:一条记录,属性值,属性的取值范围称为域。域作为属性值的集合,其类型与范围具体由属性的性质及其所表示的意义确定。如 “性别”属性的域是男,女。同一属性只能在相同域中取值。,2. 元组,二维表的每一行在关系中称为元组。在Visual FoxPro中,一个元组对应表中的一个记录。,3. 属性,二维表的每一列在关系中称为属性,每个属性都有一个属性名,属性值则是各个元组属
9、性的取值。在Visual FoxPro中,一个属性对应表中的一个字段,属性名对应字段名,属性值对应于各个记录的字段值。,4. 域,5. 关键字,关系中能唯一区分、确定不同元组的属性或属性组合称为该关系的一个关键字。单个属性组成的关键字称为单关键字,多个属性组合的关键字称为组合关键字。需要强调的是,关键字的属性值不能取“空值”,因为无法唯一区分、确定元组。,6.关系模式与表结构,对关系的描述称为关系模式,其格式: 关系名(属性名1,属性名2,属性名n) 例如:教师档案表(编号,姓名,性别,民族,出生日期,职称,工作部门,工资) 在Visual FoxPro 6.0中,对二维表的描述称为表结构。关
10、系既可以用二维表格描述,也可以用数学形式的关系模式来描述。一个关系模式对应一个关系的数据结构,也就是表的数据结构。其一般格式: 二维表名(字段名1,字段名2,字段名n) 例如:教师档案表(编号,姓名,性别,民族,出生日期,职称,工作部门,工资),关系的基本运算有两类:一类是传统的集合运算,包括并、差、交;另一类是专门的关系运算,包括选择、投影和联接。,1.2.3关系运算,1传统的集合运算,传统集合运算进行并、差、交集合运算的两个关系必须是具有相同的关系模式,既结构相同。(1)并: 两个相同结构关系的并是有属于这两个关系的元组(记录)组成的集合。(2)差: 有关系R和关系S,是有属于R而不属于S
11、的元组组成的集合,从R中去掉S中也有的元组。(3)交: 有关系R和关系S,既属于R又属于S的元组组成的集合。,并,李明,2003004,黄娜,2003003,周伟,李红,2003002,2003001,姓 名,学 号,交,周伟,李红,2003002,2003001,姓 名,学 号,差,黄娜,2003003,姓 名,学 号,传统的关系运算示例,表1 选修数据库学生名单,表2 选修法律学生名单,(1)选择 从关系中找出满足条件的记录。是一种横向的操作,它可以根据用户的要求从关系中筛选出满足一定条件的记录,这种运算可以得到一个新的关系,但其中的元组是原关系的一个子集,但不影响关系的结构。如:在VFP
12、中的FOR、WHILE等。,2. 专门的关系运算,(2)投影 从关系中选取若干属性组成新的关系。是一种列的操作,它可以根据用户的要求从关系中选出若干个字段组成新的关系,字段的个数或顺序往往不同。如:在VFP中的FIELDS等。(3)连接 将两个关系通过公共属性名连接成一个新的关系。连接运算可以实现两个关系的横向合并,在新的关系中可以反映出原来关系之间的联系。 在联接运算中,按照字段值对应相等为条件进行的联接操作称为等值联接。自然联接是去掉重复属性的等值联接。,关系数据库是由若干个依照关系模型设计的二维数据表文件的集合。一个关系数据库即为一个数据库文件。,3. 关系数据库,关系完整性是为保证数据
13、库中数据的正确性和兼容性对关系模型提出的某种约束条件或规则。完整性通常包括实体完整性、参照完整性和域完整性,其中实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。,4. 关系的完整性约束,(1)实体完整性 实体完整性是指关系的主关键字不能取“空值”。(2)参照完整性 参照完整性是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。如“选课表”关系中课程号的值只能取“课程表”关系中已存在课程号的值。(3)域完整性 实体完整性和参照完整性适用于任何关系型数据库系统,主要是对关系的主关键字和外部关键字取值必须做出有效的约束。域完整性则是根据应用环境的要求和实际的需要,对某一具体应用所
14、涉及的数据提出约束性条件。域完整性主要包括如下两方面(1)字段有效性约束;(2)记录有效性约束,用电脑进行数据处理的步骤,数据收集,数据转换,结构描述,数据输入,数据存储,数据输出,数据操作,新数据,原始数据,决策,物质的,抽象的,量化的、物化的,信息处理的过程,1.2.4 信息处理的三个层次,1.信息处理的三个层次,(1)实体 客观存在并且可以相互区别的“事物”称为实体。实体可以是具体的,如:一个学生、一本书、一名教师,也可以是抽象的,如:一堂课、一次足球比赛。(2)属性 描述实体的“特征”称为该实体的属性。如:学生有学号、姓名、性别、出生年月、入校总分等方面的属性。属性有“型”和“值”之分
15、,型即为属性名,值即为属性的具体内容。如:(M0201105、吴红梅、女、05/12/1984、595)。(3)实体型 若干个属性所组成的集合可以表示一个实体的类型,简称实体型。一般用实体名和属性名集合来表示。如:学生(学号,姓名,性别,出生年月,入校总分)就是一个实体型。 (4)实体集 性质相同的同类实体的集合称为实体集。如:所有学生、所有课程。,2. 实体模型,实体之间的对应关系称为联系,它反映现实世界事物之间的相互关联。 (1)一对一联系(1:1) 实体集A中的一个实体至多与实体集B中的一个实体相对应,反之,实体集B中的一个实体至多对应于实体集A中的一个实体,则称实体集A与实体集B为一对一联系。如:电影院中观众与座位之间、乘车旅客与车票之间、病人与病床之间等。,3. 实体间的联系,(2)一对多联系(1:N) 实体集A中的一个实体与实体集B中的N(N0)个实体相对应,反之,实体集B中的一个实体至多与实体集A中的一个实体相对应。如:学校与系、班级与学生、省与市等。(3)多对多联系(M:N) 实体集A中的一个实体与实体集B中的N(N0)个实体相对应,反之,实体集B中的一个实体与实体集A中的M(M0)个实体相对应。如:教师与学生、学生与课程、工厂与产品、商店与顾客等。,