




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
金鑫
吴靖
主编
唐小毅
马燕林
参编数据库原理及应用(Access2021版)2.1数据模型2.5关系数据操作基础2.2关系模型的数据结构2.4E-R模型向关系模型的转换2.3关系数据库和关系数据库规范化第2章
关系模型和关系数据库2.3.1关系数据库
2.3.2关系数据库规范化
2.3.3关系数据完整性规则
2.4.1实体转换为关系模式2.4.2实体之间联系的转换2.5.1集合运算
2.5.2关系运算1.层次数据模型层次数据模型(HierarchicalDataModel)的基本结构是一种倒挂树状结构,如图所示。这种树结构很常见,例如,Windows系统中的文件夹和文件结构、一个组织的结构等。2.网状数据模型取消层次数据模型的两个限制条件,每一个结点可以有多个父结点,从而形成了网状数据模型(NetworkDataModel)。2.1数据模型3.关系数据模型关系数据模型是一个满足一定条件的二维表格。3.元组表(关系)的每一行称为一个元组(Tuple)。1.关系关系(Relation)即一个二维表格。2.2关系模型的数据结构2.属性表(关系)的每一列必须有一个名字,称为属性(Attribute)。4.域表(关系)的每一属性有一个取值范围,称为域(Domain)。域是一组具有相同数据类型的值的集合。7.关系模式关系模式(RelationalSchema)是对关系数据结构的描述。简记为关系名(属性1,属性2,属性3,…,属性n)5.关键字关键字又称主属性,可以唯一地标识一个元组(一行)的一个属性或多个属性的组合。可以起到这样作用的关键字(Key)有两类:(1)主关键字(2)候选关键字2.2关系模型的数据结构6.外部关键字如果某个关系中的一个属性或属性组合不是所在关系的主关键字或候选关键字,但却是其他关系的主关键字,对这个关系而言,则称其为外部关键字(ForeignKey)。2.2关系模型的数据结构仓库号仓库名地点面积WH1兴旺上海390WH2广发长沙460WH3红星昆明500WH4奥盛兰州280WH5高利长春300WH6中财北京600概念模型关系模型DBMS用户概念模型关系数据库表二维表格实体元祖记录行属性属性字段列键关键字(主属性)主关键字实体性关系模式2.3关系数据库和关系数据库规范化按照关系数据模型建立的数据库称为关系数据库,关系数据库规范化原则是用来确保数据正确、有效的一组规则。本节讨论关系数据库的建立以及关系数据库规范化。
2.3.1关系数据库
关系数据库是以关系模型为基础的数据库,它利用关系描述现实世界中的对象。一个关系既可用来描述一个实体及其属性,也可用来描述实体间的联系。关系数据库是由一组关系组成的,针对一个具体问题,应该如何构造一个适合于它的数据模式,即应该构造几个关系?每个关系由哪些属性组成?这就是关系数据库逻辑设计要讨论的问题。
2.3.2关系数据库规范化
1.函数依赖及其对关系的影响学号姓名性别出生日期专业010001AF010100会计010002BF041101注会010003CM051800会计010004DF091200会计学号姓名性别出生日期专业学院院长010001AF010100会计会计学院Z010002BF041101注会会计学院Z010003CM051800会计会计学院Z010004DF091200会计会计学院Z00005EM121201信管信息学院W010006FF101100信管信息学院W设计出如下关系模式:STUDENT2(学号,姓名,性别,出生日期,专业,学院,院长)1)数据冗余太大:例如,院长的姓名会重复出现,重复的次数与该学院学生的人数相同。
2.3.2关系数据库规范化
2)更新异常(UpdateAnomalies):例如,某学院更换院长后,系统必须修改与该学院学生有关的每一个元组。3)插入异常(InsertionAnomalies):例如,一个学院刚成立,尚无学生,则这个学院及其院长的信息就无法存入数据库。4)删除异常(DeletionAnomalies):例如,某个学院的学生全部毕业了,在删除该学院学生信息的同时,也把这个学院的信息(学院名称和院长)全部删除了。如果删除一组属性,带来的副作用可能是丢失了一些其他信息。2.规范化范式
(1)1NF 关系模式都满足第一范式,即符合关系定义的二维表格(关系)都满足第一范式。列的取值只能是原子数据;每一列的数据类型相同,每一列有唯一的列名(属性);列的先后顺序无关紧要,行的先后顺序也无关紧要。(2)2NF关系的每一个非关键字属性都完全函数依赖于关键字属性,则关系满足第二范式。第二范式要求每个关系只包含一个实体集的信息,所有非关键字属性依赖于关键字属性。每个以单个属性作为主键的关系自动满足第二范式。(3)3NF关系的所有非关键字属性相互独立,任何属性其属性值的改变不应影响其他属性,则该关系满足第三范式。一个关系满足第二范式,同时没有传递依赖,则该关系满足第三范式。
2.3.2关系数据库规范化
实体完整性规则:是指保证关系中元组唯一的特性。通过关系的主关键字和候选关键字实现。
域完整性规则:是指保证关系中属性取值正确、有效的特性。例如,定义属性的数据类型、设置属性的有效性规则等。
参照完整性规则:参照完整性与关系之间的联系有关,包括插入规则、删除规则和更新规则。
用户定义完整性规则:是指为满足用户特定需要而设定的规则。在关系数据完整性规则中,实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为是关系的两个不变性,由关系系统自动支持。
2.3.3关系数据完整性规则
E-R模型向关系模型转换要解决的问题是如何将实体以及实体之间的联系转换为关系模式,如何确定这些关系模式的属性和主关键字(这里所说的实体更确切地说是实体集)。
2.4E-R模型向关系模型的转换E-R模型的表现形式是E-R图,由实体、实体的属性和实体之间的联系3个要素组成。从E-R图转换为关系模式的方法是:为每个实体定义一个关系,实体的名字就是关系的名字;实体的属性就是关系的属性;实体的键是关系的主关键字。用规范化准则检查每个关系,上述设计可能需要改变,也可能不用改变。依据关系规范化准则,在定义实体时就应遵循每个实体只有一个主题的原则。实体之间的联系转换为关系之间的联系,关系之间的联系是通过外部关键字来体现的。
2.4.1实体转换为关系模式1.一对一联系的转换【例2-1】
本例的需求分析和E-R模型见第1章【例1-2】。关系模式一:公司(公司编号,公司名称,地址,电话)总经理(经理编号,姓名,性别,出生日期,民族,公司编号)关系模式二:公司(公司编号,公司名称,地址,电话,经理编号)总经理(经理编号,姓名,性别,出生日期,民族)注意:其中斜体内容为外部关键字。
2.4.2实体之间联系的转换
2.一对多联系的转换【例2-2】
本例的需求分析和E-R模型见第1章【例1-4】。关系模式:仓库(仓库号,仓库名,地点,面积)员工(员工号,姓名,性别,出生日期,工资,仓库号)
【例2-3】
考虑学生毕业设计中的指导教师和学生的情况。(1)需求分析学校使用数据库来管理学生毕业设计时的教师和学生数据。毕业设计时,一名教师指导多位学生,每位学生必须有一名教师指导其毕业设计论文。(2)E-R模型E-R图如图2-2所示。实体型如下:教师(教师号,姓名,院系,电话)学生(学号,姓名,性别,出生日期,所属院系)(3)关系模型的表示方法教师(教师号,姓名,院系,电话)学生(学号,姓名,性别,出生日期,所属院系,教师号)
2.4.2实体之间联系的转换
2.4.2实体之间联系的转换
【例2-3】
考虑学生毕业设计中的指导教师和学生的情况。3.多对多联系的转换【例2-4】
学生和社团问题。需求分析和E-R模型见第1章【例1-5】。(1)对应社团实体和学生实体分别建立社团关系和学生关系社团(编号,名称,地点,电话)学生(学号,姓名,性别,出生日期,所属院系)(2)建立第三个关系表示社团关系与学生关系之间具有m∶n联系综上所述得到的关系模型的关系模式:社团(编号,名称,地点,电话)学生(学号,姓名,性别,出生日期,所属院系)成员(编号,学号)
2.4.2实体之间联系的转换
【例
2-5】
学生与选修课程之间的情况。每个学生会选择多门课程,每门课程也对应多名学生选修。需求分析和E-R模型见第1章【例1-6】和图1-12。联系类型方法1:1一个关系的主关键字置于另一个关系中1:n父关系(一方)的主关键字置于子关系(多方)中m:n分解成两个1:n关系。建立“纽带关系”,两个父关系的关键字置于纽带关系中,纽带关系是两个父关系的字关系4.多元联系E-R模型转换为关系模型【例2-6】
仓库-员工-订单-供应商。需求分析和E-R模型见第1章
【例1-7】和图1-13。本例的E-R数据模型转换为关系数据模型的步骤如下。(1)首先为每个实体建立与之相对应的关系仓库(仓库号,仓库名,地点,面积)员工(员工号,姓名,性别,出生日期,婚否,工资)订单(订购单号,订购日期,金额)供应商(供应商号,供应商名,地址)(2)分别处理每两个关系之间的联系综上所述,得到如下关系数据模型:仓库(仓库号,仓库名,地点,面积)员工(员工号,姓名,性别,出生日期,婚否,工资,仓库号)订单(订购单号,订购日期,金额,员工号,供应商号)供应商(供应商号,供应商名,地址)
2.4.2实体之间联系的转换
关系是集合,关系中的元组可以看做是集合的元素。因此,能在集合上执行的操作也能在关系上执行。
关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的。关系代数是封闭的,也就是说,一个或多个关系操作的结果仍然是一个关系。关系运算分为传统的集合运算和专门的关系运算。
2.5关系数据操作基础1.并运算关系A和关系B的并运算是指把A的元组与B的元组加在一起构成新的关系C。元组在C中出现的顺序无关紧要,但必须去掉重复的元组,即关系A和关系B并运算的结果关系C由属于A和属于B的元组构成,但不能有重复的元组,并且仍具有n个属性。关系A和关系B的并运算记作:A∪B或A+B。
2.5.1集合运算
2.差运算关系A和关系B差运算的结果关系C仍为n目关系,由只属于A而不属于B的元组构成。关系A和关系B差运算记作:A-B。注意,A-B与B-A的结果是不同的。3.交运算关系A和关系B交运算形成新的关系C,关系C由既属于A同时又属于B的元组构成并仍为n个属性。关系A和关系B交运算记作:A∩B。
2.5.1集合运算
4.积运算
如果关系A有m个元组,关系B有n个元组,关系A与关系B的积运算是指一个关系中的每个元组与另一个关系中的每个元组相连接形成新的关系C。关系C中有m×n个元组。关系A和关系B积运算记作:A×B。
2.5.1集合运算
【例2-7】
设有关系R1和R2,如表2-6和表2-7所示。R1中是K社团学生名单;R2中是L社团学生名单。学
号姓
名性
别001AF008BM101CF600DM学
号姓
名性
别001AF101CF909EM学
号姓
名性
别001AF008BM101CF600DM909EM学
号姓
名性
别008BM600DM学
号姓
名性
别001AF101CF1.投影
投影操作是指从一个或多个关系中选择若干个属性组成新的关系。投影操作取的是垂直方向上关系的子集(列),即投影是从关系中选择列。投影可用于变换一个关系中属性的顺序。
2.5.2关系运算
2.选择
选择操作是指从关系中选择满足一定条件的元组。选择取的是水平方向上关系的子集(行)。3.连接连接操作是两个关系的积、选择和投影的组合。连接操作是从两个关系的笛卡儿积中选择属性间满足一定条件的元组的运算。【例2-8】
关系student如表2-11所示,在此关系上的投影操作和选择操作示例如表2-12和表2-13。
2.5.2关系运算
学
号姓
名性
别出生日期党
员
否出
生
地183501438刘昕女02/28/00.T.北京183501437颜俊男08/14/00.F.山西183501433王倩女01/05/99.F.黑龙江183506122李一女06/28/00.F.山东183505235张舞男09/21/99.F.北京183501412李竟男02/15/00.F.天津183502112王五男01/01/99.T.上海183510228赵子雨男06/23/00.F.河南1)从关系student中选择部分属性构成新的关系st1的操作称为投影,关系st1如表所示。
2.5.2关系运算
学
号姓
名出生日期出
生
地183501438刘昕02/28/00北京183501437颜俊08/14/00山西183501433王倩01/05/99黑龙江183506122李一06/28/00山东183505235张舞09/21/99北京183501412李竟02/15/00天津183502112王五01/01/99上海183510228赵子雨06/23/00河南2)从关系student中选择部分元组构成新的关系st2的操作称为选择,关系st2如表所示。
2.5.2关系运算
学
号姓
名性
别出生日期党
员
否出
生
地183501437颜俊男08/14/00.F.山西183505235张舞男09/21/99.F.北京183501412李竟男02/15/00.F.天津183502112王五男01/01/99.T.上海183510228赵子雨男06/23/00.F.河南【例2-9】
关系A(如表2-14所示)与关系B(如表2-15所示)的等值连接,结果如表2-16所示。
2.5.2关系运算
ADFE2D26E2D38E3D410E3D516BD4D17D212D22D52D6AA.DFBB.DE2D267D2E2D2612D2E3D5162D5【例2-10】
关系A(如表2-14所示)与关系B(如表2-15所示)的自然连接,结果如表所示。
2.5.2关系运算
ADFBE2D267E2D2612E3D5162【例2-11】
关系A与关系B的左外连接,结果如表2-18所示。
2.5.2关系运算
ADFBE2D267E2D2612E2D38NULLE3D410NULLE3D5162【例2-12】
关系A与关系B的右外连接,结果如表2-19所示。
2.5.2关系运算
AFBDNULLNULL4D1E267D2E2612D2E3162D5NULLNULL2D6【例2-13】
关系A与关系B的全连接,结果如表2-20所示。
2.5.2关系运算
AA.DFBB.DE2D267D2E2D2612D2E2D38NULLNULLE3D410NULLNULLE3D5162D5NULLNULLNULL4D1NULLNULLNULL2D62.6习题1.选择题1)关系型数据库中的“关系”是指(
)。A.各个记录中的数据彼此间有一定的关联关系B.数据模型符合满足一定条件的二维表格式C.某两个数据库文件之间有一定的关系D.表中的两个字段有一定的关系2)用二维表来表示实体及实体之间联系的数据模型是(
)。A.关系模型 B.层次模型C.网状模型 D.实体-联系模型3)关系数据库系统能够实现的3种基本关系运算是(
)。A.索引,排序,查询
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CSBME 050-2022宫颈液基细胞人工智能医疗器械质量要求和评价第1部分:数据集要求
- T/CMES 37001-2022小型游乐设施制造单位能力条件要求
- T/CIE 186-2023业务研发安全运营一体化能力成熟度模型
- T/CI 387-2024装配式桥梁下部结构施工技术规范
- T/CHTS 20035-2023喷射混凝土用晶胶改性聚合物
- T/CHTS 10097-2023雄安新区高速公路项目两区建设技术指南
- T/CGCC 8-2017自热方便菜肴制品
- T/CEPPEA 5025-2023供配电工程总承包管理规范
- T/CECS 10329-2023家用燃气快速热水器舒适性评价
- T/CECS 10187-2022无机复合聚苯不燃保温板
- 《抗休克药物治疗》课件
- 《2024 3572-T-424 重大活动食品安全保障规范 第 3 部分:供餐》知识培训
- 2025年中考语文总复习:八年级下册教材字词打卡练
- 眼压测量技术操作规范
- 智能化时代的创新创业教育知到课后答案智慧树章节测试答案2025年春渭南职业技术学院
- 2024年数字化管理试题及答案
- YY频道模板文档
- 2024-2025学年湘教版初中地理七年级下册课件 9.5 美国
- 《基于单片机的家用万能遥控器设计5800字(论文)》
- 小学生军人知识普及
- DB65-T 4863-2024 超设计使用年限压力容器安全评估规则
评论
0/150
提交评论