关系模型讲稿_第1页
关系模型讲稿_第2页
关系模型讲稿_第3页
关系模型讲稿_第4页
关系模型讲稿_第5页
已阅读5页,还剩21页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、关于关系模型第一张,PPT共二十六页,创作于2022年6月关系模型ER模型向关系模型的转换关系代数关系模型的完整性约束数据库系统的三级模式结构关系模型第二张,PPT共二十六页,创作于2022年6月实体完整性规则(entity integrity rule) 要求关系中元组在组成主键的属性上不能有空值。如果出现空值,那么主键值就起不了惟一标识元组的作用。关系模型的三类完整性规则第三张,PPT共二十六页,创作于2022年6月参照完整性规则(reference integrity rule)形式定义: 如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种

2、可能,或者为空值,或者等于R1关系中某个主键值。 这条规则的实质是“不允许引用不存在的实体”。 在上述形式定义中,关系模式R1的关系称为“参照关系”,关系模式R2的关系称为“依赖关系”。关系模型的三类完整性规则第四张,PPT共二十六页,创作于2022年6月学号姓名课程号成绩101212221 刘军王丽章华K5K8K9807692成绩表课程号课程名K5K8K9 高等数学C语言计算机网络课程表学号是主码课程号是外码课程号是主码根据数据参照完整性的定义,成绩表中课程号的值或者为空,或者在课程表中的课程号中能够找到。第五张,PPT共二十六页,创作于2022年6月关系模型的三类完整性规则参照完整性举例一

3、:在关系数据库中有下列两个关系模式:S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE) 这里带下划线者为主键,S#为外键。据规则要求关系SC中的S# 值应该在关系S中出现。如果关系SC中有一个元组(S7,C4,80),而学号S7却在关系S中找不到,那么我们就认为在关系SC中引用了一个不存在的学生实体,这就违反了参照完整性规则。 另外,在关系SC中S# 不仅是外键,也是主键的一部分,因此这里S# 值不允许空。第六张,PPT共二十六页,创作于2022年6月关系模型的三类完整性规则参照完整性举例二:设工厂数据库中有两个关系模式:DEPT(D#,DNAME)EMP(E#,ENAME,

4、SALARY,D# ) 车间模式DEPT的属性为车间编号、车间名,职工模式EMP的属性为工号、姓名、工资、所在车间的编号。每个模式的主键与外键已标出。在EMP中,由于D# 不在主键中,因此D# 值允许空。第七张,PPT共二十六页,创作于2022年6月用户定义的完整性规则 在建立关系模式时,对属性定义了数据类型,即使这样可能还满足不了用户的需求。此时,用户可以针对具体的数据约束,设置完整性规则,由系统来检验实施,以使用统一的方法处理它们,不再由应用程序承担这项工作。 例如学生的年龄定义为两位整数,范围还太大,我们可以写如下规则把年龄限制在15-30岁之间: CHECK(AGE BETWEEN 1

5、5 AND 30) 返回关系模型的三类完整性规则第八张,PPT共二十六页,创作于2022年6月数据库的三级模式结构第九张,PPT共二十六页,创作于2022年6月数据库的三级模式结构数据的三级抽象术语 数据模型用数据定义语言描述的称呼其他称呼外部级外模型外模式子模式概念级概念模型概念模式模式内部级内模型内模式物理模式第十张,PPT共二十六页,创作于2022年6月 应用A 应用B 应用C 应用D 应用E 外模式1 外模式2 外模式3 外模式/模式映象 模式 数据库管理员系统分析员模式/内模式映象 内模式 数据库 用户第十一张,PPT共二十六页,创作于2022年6月模式结构中的五个要素概念模式(co

6、nceptnal schema)是数据库中全部数据的整体逻辑结构的描述。 外模式(external schema)是用户与数据库系统的接口,是用户用到的那部分数据的描述。 内模式(internal schema)是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。 第十二张,PPT共二十六页,创作于2022年6月模式结构中的五个要素模式内模式映象存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。 外模式模式映象存在于外部级和概念级之间,用于定义外模式和概念模式之间的对应性。第十三张,PPT共二十六页,创作于2022年6月两级数据独立性

7、数据独立性(data independence)是指应用程序和数据库的数据结构之间相互独立,不受影响。数据独立性分成物理数据独立性和逻辑数据独立性两个级别。第十四张,PPT共二十六页,创作于2022年6月两级数据独立性物理独立性是指数据库应用程序不依赖于数据库中存储数据的物理结构。通过物理数据独立性的规定,可以使用户对存储的数据进行修改而不必去改动自己的应用程序。逻辑独立性是指可以单独对数据库的逻辑结构进行修改,而不必去修改相应的应用程序。第十五张,PPT共二十六页,创作于2022年6月 关系数据库的规范化中我们介绍关系与表格时曾指出并不是所有的二维表格都可以称为关系,在关系数据库中,每一个表

8、格必须满足一定的要规范条件。 数据模型是数据库应用系统的基础和核心,合理设计数据模型是数据库应用系统设计的关键,使用规范化的优点是:l 大大改进数据库的整体组织结构l 减少数据冗余l 增强数据的一致性和正确性l 提高数据库设计的灵活性 更好的处理数据库的安全性 第十六张,PPT共二十六页,创作于2022年6月数据库的三个规范化形式 数据模型应进行规范化处理,一个数据库可以有三种不同的规范化形式,即:l第一规范化形式 1NFl 第二规范化形式 2NFl第三规范化形式 3NF1. 第一规范化形式1NF 第一规范化形式简称第一范式:在一个关系(数据表)中没有重复的数据项,每个属性都是不可分割的最小数

9、据元素。即每列的列名(字段名)都是惟一的,一个关系中不允许有两个相同的属性名,同一列的数据具有相同的数据类型,列的顺序交换后不能改变关系的实际意义。 字段:就是数据表中的列,一列叫做一个字段,表示关系中实体的一个属性。 简单说第一范式就是指数据表中没有相同的列字段惟一。关系数据库中所有的数据表都必须满足1NF。 第十七张,PPT共二十六页,创作于2022年6月第二规范化形式 2NF 第二规范化形式简称第二范式:在已满足1NF的关系中,一行(数据元组、记录)中所有非关键字数据元素都完全依赖于关键字(记录惟一)。即一个关系中不允许有两个相同的实体,行的顺序交换后不能改变数据表的实际意义。关键字:也

10、叫关键字段或主键,是所有数据都是惟一不重复的字段或字段的组合。 记录:数据表中的一行叫做一条记录,由表中各列的数据项组成,是一组多个相关数据的集合,也称为数据元组。如果指定一个关键字,则可以在这个数据表中惟一确定一条记录(行),比如在学生信息表里指定“学号”为关键字,则每个学号都惟一的表示一个学生的信息,其他属性都完全依赖于“学号”。 简单说第二范式就是数据表中没有相同的行,通过关键字使记录惟一。不满足2NF的数据表,将导致数据插入或删除的异常,稍有不慎会使数据不一致,规范化的数据表都必须满足2NF。 第十八张,PPT共二十六页,创作于2022年6月【实例练习1-2】 根据第二范式要求,不难发

11、现电脑器材销售管理数据库模型表1.7销售表xxxx不满足第二范式: 因为公司每天可以销售多种商品,则“销售日期”不惟一;一个客户可能多次购买不同的商品,则“客户名称”不惟一;同一货号的商品会多次销售给不同的客户。就是说序号销售日期客户名称货号货名规格单位销售单价销售数量销售金额销售员第十九张,PPT共二十六页,创作于2022年6月销售表xxxx中没有一列的值是保证不可重复的,无法指定关键字段使某条销售记录惟一,即不能保证没有相同的行。 解决方法: 增加一列“序号”作为该表的关键字,该列数据没有重复的值,则可以保证没有重复的记录(行),以满足2NF。 第二十张,PPT共二十六页,创作于2022年

12、6月第三规范化形式 3NF在已满足2NF的关系中,不存在传递依赖于关键字的数据项。 传递依赖:某些列的数据不是直接依赖于关键字,而是通过某个非关键字间接的依赖于关键字。 简单说第三范式就是表中没有间接依赖关键字的数据项。 实现第三范式的方法就是将不依赖关键字的列删除,单独创建一个数据表存储。 规范化的数据库应尽量满足3NF,一个满足3NF的数据库将有效地减少数据冗余。 注意:三个范式不是独立的,3NF包含2NF,2NF又包含1NF。第二十一张,PPT共二十六页,创作于2022年6月【实例练习1-3】 进货表xxxx既不满足第二范式也不满足第三范式。 第一:由于每列数据都不能惟一标识一条进货记录

13、,增加一列“序号”作为关键字,即可以满足第二范式。 第二:“厂家地址、账户、联系人”不是“进货记录”实体中必不可少的数据项,它们只依赖于“供货商”,通过“供货商”而间接依赖于关键字,是具有传递依赖的数据项。 解决方法: 将进货表xxxx中有传递依赖的“厂家地址、账户、联系人”三列删除,单独建立一个存储进货厂家信息的供货商表,指定“供货商ID”字段为主键,使其满足第二范式(也满足第三范式)。 供货商ID供货商厂家地址账户联系人第二十二张,PPT共二十六页,创作于2022年6月【实例练习1-3】 增加供货商表后,可在进货表xxxx中只保留一个“供货商ID”字段,以便与供货商表建立关联。 注意:u 修改后的进货表xxxx在与供货商表建立关联后(在后面介绍),我们就可以通过“供货商ID”字段在供货商表中找到该厂家的所有信息。u序号进货日期货号货名规格单位进价进货数量供货商ID收货人第二十三张,PPT共二十六页,创作于2022年6月修改后的进货表xxxx仅仅消除了一部分传递依赖,仍不满足第三范式,因为“货名”“规格”“单位”也是依赖于“货号”具有传递依赖

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论