资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第1章,数据库基本原理,1.1 数据库基本概念数据、数据库,数据库(DataBase)简称为DB,指长期存储在计算机内有组织、可共享的数据集合。 数据库管理系统(DataBase Management System)简称为DBMS。数据库管理系统是介于用户与操作系统之间的一层数据管理软件,是用户和数据库的接口。例如Visual FoxPro就是这样的DBMS。 数据库管理员(DataBase Administrator)简称为DBA。 数据库系统(DBS)是指在计算机系统中引入数据库后的系统构成。,1.1 数据库基本概念数据、数据库,1.2 数据模型,数据模型分类,按数据结构分为:层次模型、网状模型、关系模型和面向对象数据模型。层次模型是树型结构,网状模型是网状结构(有向图结构)。关系模型是用二维表表示实体以及实体与实体间的联系的。面向对象数据模型中,对象是实体的模型化。,表1.1 图书的数据模型,1.3 关系数据库,关系模型是继层次模型和网状模型后出现的,是最重要的数据模型。当前广泛应用的数据库管理系统几乎都是支持关系模型的,被称为关系型数据库管理系统(Relational Data Base Management System),即RDBMS。,1.3.1 关系模型与二维表,1.3.1 关系模型与二维表,关系模型的主要特点,(1)关系中每一数据项不可再分,是最基本的数据单位; (2)二维表的属性决定了表的结构,同一列的数据类型及长度是相同的,且各列的顺序是任意的; (3)每一横行由一个体事物的诸多属性构成,不允许出现完全相同的两行,且各行的顺序可以是任意的; (4)一个关系是一张二维表,不允许有相同的属性名,也不允许有相同的元组。,1.3.2 关系数据库,关系数据库是若干个关系的集合。 关系数据库是由若干二维表组成的。 在关系数据库中,将一个关系视为是一张二维表。一个关系数据库由若干个数据表组成,数据表又由若干个记录组成,而每一个记录是由若干个以字段属性加以分类的数据项组成的。,数据模型理论和关系数据库中的相关术语的比照,关系数据库具有以下特点,数据结构化 数据独立性 数据共享,减少冗余,1.3.3 关系运算,关系运算是以关系为运算对象的运算,在关系运算中,变量是关系,运算结果仍然是关系。 在关系型数据库管理系统中,基本的关系运算有选择、投影和联接三种操作。,1.4 数据库设计,1.4.1 需求分析 1.4.2 数据库的规范化设计 1.4.3 数据库的逻辑设计,1.4.1 需求分析,1.4.1 需求分析,1.4.2 数据库的规范化设计,数据以什么结构存入到关系数据库中,这是最重要的操作之一,它是数据库应用系统开发的关键。一个组织良好的数据结构,不仅可以方便地解决应用问题,还可以为解决一些不可预测的问题带来便利,同时可以大大加快编程的速度。,一、关系规范化,关系规范化理论是研究如何将一个不十分合理的关系模型转化为一个最佳的数据关系模型的理论,它是围绕范式而建立的。 关系规范化理论认为,关系数据库中的每一个关系都要满足一定的规范。根据满足规范的条件不同,可以化分为六个等级,分别称为: 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) 修正的第三范式(BCNF) 第四范式(4NF) 第五范式(5NF) 其中,NF是(Normal Form)的缩写。,注意,通常在解决一般性问题时,只要把数据表依次规范到第一范式、第二范式及第三个范式标准就可以满足需要。 特别指出的是,在实际操作中,不是关系规范化的等级越高就越好,具体问题还要具体分析。,关系规范化的三个范式原则如下:,(1)第一范式:在一个关系中消除重复字段,且各字段都是不可分的基本项; (2)第二范式:若关系模型属于第一范式,且所有非主属性都完全依赖关键字段; (3)第三范式:若关系模型属于第二范式,且关系中所有非主属性都直接依赖关键字段。,将表1.4转换为二维表形式如表1.5所示,表1.5 学生信息表,注:学号编码的方法:前四位为入学年份;第五位为学制年限;第六、七位为系别;第八、九位为班级号;最后两位为本人学号。 表1.5已符合三个范式的要求: (学号,姓名,性别,出生年月日,班级,系别,是否团员,照片,简历)各字段都是不可分的,无重复字段。符合第一范式标准; (姓名,性别,出生年月日,班级,系别,是否团员,照片,简历)八个字段为非主属性,关键字段为“学号”,可见非主属性完全且直接依赖于关键字段。符合第二范式及第三范式标准。,将表1.4规范化处理,二、两表间的关联关系,两个表之间的关联关系类型有: 一对一 一对多 多对一 多对多,一对一关系,一对一关系即在两个数据表中选一个相同属性字段作为关键字段,把其中一个数据表中的关键字段称为主关键字段,该字段值是唯一的;而另一个数据表中的关键字段称为外部关键字段,该字段值也是唯一的。,2.一对多关系,一对多关系,即在两数据表中选一个相同属性字段作为关键字段,把其中一个数据表的关键字段称为主关键字段,该字段值是唯一的,而把另一个数据表中的关键字段称为外部关键字段,该字段值是重复的。,多对一关系,4.多对多关系,若甲表对乙表是一对多关联关系,而乙表对甲表也是一对多关联关系,则两个表具有多对多关联关系。在关系数据库中,不允许存在具有多对多关联关系的两个表,必须将两个表进行规范化处理。,1.4.3 数据库的逻辑设计,数据库的逻辑设计通常是指设计关系的完整性。关系的完整性,即关系中的数据及具有关联关系的数据间必须遵循的制约和依存关系,以保证数据的正确性、有效性和相容性。在Visual FoxPro中,可以方便地进行关系的完整性设置,具体操作参见第五章。 关系的完整性主要包括域完整性、实体完整性和参照完整性三种。,一、域完整性,域完整性是对数据表中字段属性的约束,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定关系结构时所定义的字段的属性决定的。 例如限定表1.11中的性别字段取值必须为“男”或“女”,学号必须为13位的数字。 域完整性约束也称用户自定义完整性,它是关系完整性中最简单、最基本的约束,Visual FoxPro数据库管理系统为用户提供了设置域完整性约束的操作功能。,二、实体完整性,实体完整性是对关系中的记录唯一性,也就是主键的约束。准确地说,实体完整性是指关系中的主属性值不能为Null且不能有相同值。 例如,表1.11中的学号为主关键字,必须设定该字段不能为Null。 当主属性的值为Null时,关系中的记录就无法确定,这在实际的数据库应用系统中是无意义的。 当主属性的值是相同时,关系中就自然会有重复记录出现,这就违背了关系模型的规则,这种现象是不允许的。 在Visual FoxPro数据库管理系统中,一个数据表只能有一个主键,系统会自动进行实体完整性检查。,三、参照完整性,参照完整性是对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是对外键的约束。准确地说,参照完整性是指关系中的外键必须是另一个关系的主键有效值,或者是Null。例如表1.12中的每个学号(外键)必须存在于表1.11中,即学号不能为无效值。 在Visual FoxPro数据库管理系统中,为了保证建立关联关系的数据表间数据引用的准确,对具有关联关系的数据表允许设置参照完整性约束,包括删除约束、更新约束和插入约束。,本章小结,能被计算机存储和处理的数字、文字、图形、 图像、声音等统称为数据。数据处理是指对各种类型的数据进行采集、整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列操作过程。研究如何高效地进行数据处理的技术称为数据库技术。 数据库系统(DBS)包括硬件、软件(如操作系统、数据库管理系统、编译系统及应用开发工具软件等)、数据库以及开发者和使用者。 用二维表结构来表示实体及实体间联系的模型称为关系模型。所谓数据库,就是以一定的组织方式将相关的数据组织在一起,存放在计算机外存储器上,能为多个用户共享的,与应用程序彼此独立的一组相关数据的集合。关系数据库是由若干张二维表组成的。在关系型数据库管理系统中,基本的关系运算有选择、投影和联接三种操作。 关系数据库中的每一个关系都要满足一定的规范。通常数据表符合第一范式、第二范式及第三个范式标准就可以满足需要。两个表之间的关联关系类型有一对一、一对多、多对一和多对多4种关系。在关系数据库中,不允许存在具有多对多关联关系的两个表,必须将两个表进行规范化处理。 数据库的逻辑设计通常是指设计关系的完整性,主要包括域完整性、实体完整性和参照完整性三种。,作业,习题一,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号