第5章 关系数据库的规范化设计
数据库5章数据库设计
E-R图向关系模型的转换:
码原则:
一个实体型转换为一个关系模式:实体的属性就是关系的 属 性,实体的码就是关系的码。
一个联系转换为一个关系模式:与该联系相连的各实体的码以 及联系的属性转换为该关系的属性。该关系的码有五种情况:
若联系是1:1:则每个实体的码均是该关系的候选码。 若联系是1:n:则关系的码是n端实体的码。 若联系是m:n:则关系的码是参加联系的诸实体的码的集合。 若联系是三个或三个以上的实体的一个多元联系可以转换为一个关系模
① 确定局部E-R图实体之间的函数依赖。 ② 求F的最小依赖集Fm,求其差集,即
D=F-Fm ③ 逐一考察D中每一函数依赖,确定是否为冗余,若是,就把 它去掉。
5.4 逻辑结构设计
任务:将基本E-R模型转换为DBMS所支持的数据模型。 关系型逻辑结构设计的步骤:
1) 将概念结构转换为关系模型 2) 优化模型 3) 设计适合DBMS的子模式
第五章 数据库设计
5.1 数据库设计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计
数据库技术的研究领域
数据库管理系统软件的研制(×)
DBMS的研制包括DBMS本身以及以DBMS为核心的饿一组相互联系的软 件系统。目标是扩大功能、提高性能和用户的生产率。
5.2 需求分析
5.数据库应用系统的数据字典 包括:
数据项 数据结构 数据流 数据存储 处理过程
5.2 需求分析
例:下图给出了某机器制造厂的零配 件采购子系统的数据流图。该子系统 要处理的工作是生产部门提出的生产 计划根据零配件当前价格计算成本送 主管部门审批,对已批准生产计划制 定采购计划,准备好订货单给供应商。
数据库技术及应用课程第5章教案
思考与创新
(1)结合大作业的逻辑设计部分,判断自己设计的关系模式是否满足规范化理论要求。
(2)如果不满足,要求设计出规范化理论要求的关系模式。
课后习题
讨论:选出两个数据库设计大作业(优劣对比),并分别对其关系模式设计部分进行模式求精。
教学小结
(1)一个“好”的关系模式应该是:
数据冗余应尽可能少。
不发生插入异常、删除异常、更新异常等问题。
模式分解时,分解后的模式应具有无损连接和保持依赖等特性。
(2)函数依赖是关系模式中属性之间存在的一种约束关系。
思考与创新
(1)结合大作业的逻辑设计部分,判断自己设计的关系模式是否存在大量数据冗余问题和分解不正确而带来的有损连接或不保持依赖关系的问题。
使学生会”用”数据库,具有较强的数据库设计、数据库系统管理和应用开发能力,能够灵活运用数据库技术解决实际应用问题,并能够成为数据库设计员。
教学内容
(1)规范化理论:1NF、2NF、BNCF范式、3NF基本概念。
(2)模式分解算法:BCNF分解算法和3NF分解算法。
(3)数据库模式求精:运用关系理论对已有关系模式进行结构调整、分解、合并和优化,以满足应用系统的功能及性能等需求。基于函数依赖理论的模式求精步骤为:①确定函数依赖;②确定模式所属范式;③分析是否满足应用需求;④模式分解;⑤模式合并。
第1讲问题及函数依赖理论
任课教师
刘爱红
单位
信息学院
上课地点
2501
教学目的
(1)掌握判断并设计一个好的关系模式的基本原则和方法。
(2)熟练掌握函数依赖理论。
数据库原理及应用第5章
五
表(a)
表(b)
章
关
系 数
A
B
C
D
A
B
C
D
据
• A →AB1在表(a)关B系1 上成立,C但1 A →B在D表1(b)关系上不A成1 立。 B1
C1
D1
库
的
A1
B1
C2
D2
A1
B2
C2
D2
规
A2
B2
C3
D3
A2
B2
C3
D3
范
化
A3
B2
C4
D4
D4
A3
B1
C4
理
论
14
函数依赖(续)
第
五
章
• 定义5.2
规
F
范
化
理
论
P
传递
17
函数依赖(续)
第
例: 在关系SC(Sno, Cno, Grade)中,
五
由于: Sno Grade, Cno Grade,
章
因此: (Sno, Cno) Grade
但:
F
关
(Sno, Cno) Sno, (Sno, Cno) Cno
系
数
例: 在关系Std(Sno, Sdept, Mname)中, 有:
五
章 • 练习:已知R(ABCD),F={B→C,D →A,BD →ABCD},求R的候选码。
B ABCD, D ABCD, BD ABCD
关
所以,R的候选码为BD
系 数 据 库
• 例: 全码
F
考虑关系模式R(P,W,A)
– 其中: P—演奏者, W—作品, A—听众
数据库系统原理教案
《数据库系统原理》教案第五章关系数据库的规范化理论5.0 构造一个关系数据库模式的方法可有多种1、举例(学生选课数据库)*数据库模式的构造方法一用一个关系模式来描述学生选课信息()SCG(Sno,Sname,Ssex,Sage,Sdept,Cno,Cname,Cpno,Ccredit,Grade)*数据库模式的构造方法二*概念模型为(E-R图):*将概念模型转换为以下关系模式:*学生表Student(Sno,Sname,Ssex,Sage,Sdept);*课程表Course(Cno,Cname,Cpno,Ccredit)*学生选课SC(Sno,Cname,Grade)Student(Sno,Sname,Ssex,Sage,Sdept);*课程表Course(Cno,Cname,Cpno,Ccredit)*2、数据库模式(关系模式)的不同构造方法与数据冗余度、插入异常、删除异常、更新异常的关系 1)冗余度比较*方法1冗余度很大:学生信息冗余大(一个学生如选修n 门课,其信息要重复存放n 遍。
如001号张三,重复存放5遍);课程信息冗余大(一门课程被n 个学生选修,课程信息存放n 次)*方法2冗余度小:只有学号课程号有冗余。
冗余度大大小于前一个,它仅有少量冗余数据,这些冗余数据保持在合理水平。
2)更新异常(修改复杂)*方法1:由于数据冗余,更新数据库中的数据时,系统需要付出很大的代价来维护数据库的完整性;*方法2:修改复杂度大大减少。
3)插入异常*方法1:没选课程的学生信息,没被选修的课程信息,没法插入到表中;(插入异常)*方法2:不同信息存放在不同的关系中,不产生插入异常现象。
4)删除异常*方法1:如某门课只有一个学生选修,学生毕业或因病退学后,删除相关信息后,课程等信息也被全部删除;(删除异常)*方法2:不同信息存放在不同的关系中,不产生删除异常现象。
3、小结1)在关系数据库设计中,关系模式的设计方案可以有多个;2)不同的设计方案有好坏之分;3)要设计一个好的关系模式方案,要以规范化理论作为指导,规范化理论研究属性间的数据依赖关系,主要有函数依赖与多值依赖。
第5章 关系数据理论.ppt
一、数据依赖
1、属性间的联系:也是1:1,1:n,m:n三种
1:1联系:设A、B为某实体集中的两个属性的值集,如
如:车间--主任
果对于A中的任一值,B中至多有一个值与之 对应,且反之亦然。
1:n联系:设A、B为某实体集中的两个属性的值集,如
果对于A中的任一值,B中有多个值(包括0个)
与之对应;而对于B中的任一值,A中至多有
该关系的主键为? 工号 日期 该关系模式存在以下四个严重问题:
(1)数据冗余大 对同一个人来说,其姓名、工种、车间、车间主任等多次重复
…… ……
1001,05年08月,张三,车工,180,20%,金工车间,李四
1001,05年09月,张三,车工,180,15%,金工车间,李四
1001,05年10月,张三,车工,180,18%,金工车间,李四
本节首先用一个例子来说明对关系模式为什么要规范化,
不经过规范化会产生什么样的结果。
2020/2/8
数据库系统
3
第五章 关系数据理论
例:假设车间考核职工完成生产定额的关系模式如下: W(工号,日期,姓名,工种,定额,超额,车间,车间主任)
比如设某工号某年月超额完成定额的20%,其记录的内容为: (1001,05年11月,张三,车工,180,20%,金工车间,李四)
这就是数据库逻辑设计问题
网状、层次模型的数据库设计,主要凭设计者的经验直观 地选择和确定实体集、属性以及实体间的联系。哪些实体应该 合并或分解以及如何合并和分解、每个实体中应该包括哪些属 性为宜、属性间的联系如何确定和处理等一系列问题的解决是 没有什么固定规则和理论可循的。
2020/2/8
数据库系统
R <U,D,dom,F>
第五章 数据库设计
运动会方面,实体集包括:运动员(编号,姓名,性别,队 伍号),比赛项目(项目名,比赛场地)。其中,一个比赛项 目可供多名运动员参加,一名运动员可参加多个项目。
根据上述条件,分别设计运动队和运动会两个局部E-R图。
第三节 概念结构设计 参赛项目 性别 队伍号 队伍名 教练名 运动员 性别 队伍号 运动员 m 参加 n n 属于
第三节 概念结构设计 分解变换。如果实体集的属性较多,可以进行分解。例如, 对于员工实体集,其属性为员工号、姓名、性别、生日、(所 属)支行名、岗位、工资、奖金。 性别 生日 支行名 岗位 工资 奖金
姓名 员工号 员工
第三节 概念结构设计 可以把员工信息分解为两部分,一部分属于固定信息,一部 分属于变动信息。为了区别这两部分信息,产生一个新的实体 和一个新的联系。
在视图合并阶段,设计者把所有视图有机地合并成统一的概 念模型,这个最终的概念模型支持所有的应用。
第三节 概念结构设计 概念结构设计的策略主要分为自顶向下、自底向上、自内向 外和混合策略四种。 这些方法中最常用的是自底向上方法:首先设计局部概念模 式,然后综合局部概念模式成全局概念模式,最后对全局概念 模式进行评估和优化。
P2 P1 D2明细 D3账目 E2会 E1客 D1付款 打印账目 账务处理 单 户 计
第二节 需求分析 元数据是描述数据的数据,通常由数据结构的描述组成,主 要描述数据及其使用环境,例如数据精度、来源、产生时间、 使用范围、注解等。 数据字典是一种用户可以访问的、记录数据库和应用程序元 数据的集合,通常是用来解释数据表、数据字段等数据结构的 意义,数据字段的取值范围、数据值代表的意义等。 简而言之,数据字典是描述数据的信息集合,是系统中所有 数据的定义集合。
数据字典通常由数据项、数据结构、数据流、数据存储和处 理过程组成。
第5章 数据库表的规范化
§ 5.1.4 数据表和规范化 — 转换为第三范式 续
术语3NF(第三范式,third normal form): 它属于2NF。 它不包括传递依赖。
§ 5.1.5 数据表和规范化 — 改进的设计
依靠规范化我们消除了数据冗余,但是我们不能仅仅 依赖规范化做出好的设计,现在我们来看看如何在规范化的 基础上提高数据库的操作性能和提供数据的能力。 PK分配 命名约定 属性原子性 添加属性 精制PK
表名:PROJECT
表名:JOB
PRJ_NUM PRJ_NAME
JOB_CLASS CHG_HOUR
— 添加属性
— PK分配 — 命名约定
表名:PROJECT
表名:JOB
PRJ_NUM PRJ_NAME EMP_NUM
JOB_CODE
JOB_DESCRIPTION
JOB_CHG_HOUR
§ 5.1.5 数据表和规范化 — 改进的设计
步骤2:标识依赖属性
3个新表PROJECT,EMPLOYEE和ASSIGN可以描述如下: PROJECT(PROJ_NUM,PROJ_NAME) EMPLOYEE(EMP_NUM,EMP_NAME,JOB_CLASS,CHG_HOUR) ASSIGN(PROJ_NUM,EMP_NUM,ASSIGN_HOURS)
§ 5.1.4 数据表和规范化 — 转换为第三范式 续
PRJ_NUM PRJ_NAME
表名:PROJECT
EMP_NUM EMP_NAMEJOB_CLASS
JOB_CLASS CHG_HOUR
表名:EMPLOYEE
表名:JOB
EMP_NUM PRJ_NUM
ASSIGN_HOURS
表名:ASSIGN
复习思考题-数据库原理与应用(章节)答案
第一章1.1 数据库系统概述1.数据库系统的基本特征是(D)A 数据的统一控制B、数据共享性和统一控制C、数据共享性、数据独立性D、数据共享性、数据独立性、统一控制2.数据库系统中,负责物理结构与逻辑结构的定义和修改的人员是( A )。
A.数据库管理员B.专业用户C.应用程序员D.最终用户3.数据库管理系统提供的DDL语言的功能是( B )。
A.实现对数据库的检索、插入、修改和删除B.描述数据库对象的结构,为用户建立数据库对象提供手段C.用于数据的安全性控制、完整性控制、并发控制和通信控制D.提供数据初始装入、数据转储、数据库恢复、数据库重新组织等手段4.在DBS中,DBMS和OS之间的关系是( B)A. 相互调用B. DBMS调用OSC. OS调用DBMSD. 并发运行5.下列四项中,不属于数据库特点的是( C )。
A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高6.数据库中存储的是( D )。
A.数据B.数据模型C.数据之间的联系D.数据以及数据之间的联系7.数据库中存储的基本对象是__数据以及数据之间的联系___________。
8.数据管理经历了___人工管理、文件系统、数据库系统_三个发展阶段。
9.数据库与文件系统的根本区别是__整体数据结构化________。
10.在文件系统阶段,数据管理的三个主要缺陷是数据冗余高、数据不一致性___和____和数据联系弱_________11.数据库系统提供的数据控制功能主要包括安全性、完整性、并发控制和数据库恢复12.用户与操作系统之间的数据管理软件是___DBMS_________13.数据库系统(DBS)是由硬件、软件(应用系统、开发工具、DBMS、OS)、数据库、数据库用户_四部分组成。
其中最重要的软件是DBMS;最重要的用户是DBA。
14.DBS中负责数据库物理结构与逻辑结构的定义和修改的人员,称为___DBA_____。
15.DBS中使用宿主语言和DML编写应用程序的人员,称为__应用程序员_______。
函数依赖
定义:若R(U,F)的属性(组)X(X属于U)是 另一个关系S的主码,则称X为R的外码。
关系模式中的码 2.外码
关系规范化 范式
关系数据库中的关系要满足一定的要求,满足 不同程度要求的为不同的范式。满足最低要求的为 第一范式,简称1NF(First Normal Form)。在第 一范式中进一步满足一些要求的为第二范式,简称 2NF,依此类推,还有3NF,BCNF,4NF,5NF。
Education Creates the Values of Students Education Creates the Values of Students
函数依赖
为什么要讨论函数依赖
设有描述学生修课及住宿情况的关系模式:
Education Creates the Values of Students Education Creates the Values of Students
主码:关系R (U, F)中可能有多个候选码,则选其中一 个作为主码 全码:候选码为整个属性组。 主属性与非主属性:
Education Creates the Values of Students Education Creates the Values of Students
在R (U, F)中,包含在任一候选码中的属性称 为主属性,不包含在任一候选码中的属性称为非主 属性。
• 5.1.3为什么要讨论函数依赖 • 5.1.1函数依赖基本概念 • 5.1.2一些术语和符号
5.1 函数依赖
5.1 函数依赖
函数依赖基本概念
函数对我们来说已经是非常熟悉的概念,例如公 式: Y=f(X) 。但是大家熟悉的是X和Y之间数量上的 对应关系,也即给定一个X值,都会有一个Y值和它对 应,也可以说X函数决定Y,或Y函数依赖于X。在关系 数据库中讨论函数或函数依赖注重的是语义上的关系, 比如: 省=f(城市) 如果“城市”是自变量X,“省”是因变量或函数值Y。 并且把X函数决定Y,或Y函数依赖于X表示为: X→ Y
数据库系统概论选择题
第一章:数据与信息1、关于信息和数据的描述正确的是?A、数据是信息的符号表示B、数据是信息的载体C、信息是数据的内涵D、以上都不正确2、数据和信息的关系是?A、二者不可区分B、二者的可区分性不确定C、信息和数据不可分离又有一定区别D、任何数据均可表示信息3、以下说法错误的是?A、数据具有客观性,本身没有意义B、数据是信息的载体C、数据与信息是一个概念,都是对现实世界的客观存在的描述D、数据包括数字、文字、符号、图形、图像等形式4、以下关于数据和信息的关系,说法不正确的是?A、数据是信息的载体,信息是从数据中提炼出来的B、123456是数据,当它被当作密码时,就是信息C、信息和数据就是一回事,不能被严格的区分D、同一数据可以表达不同信息,同一信息也可以用不同的数据来表达5、以下关于数据和信息的关系,说法不正确的是?A、数据就是信息,本来就是一回事B、love这个单词是数据,当你向女生表白的时候,它就项女生传达了信息C、202。
108。
33.60是由数字和点组成的数据,在网络中它指的是新浪的服务器D、同一数据可以表达不同信息,同一信息也可以用不同的数据来表达数据库存储和管理1、在数据库系统中,负责监控数据库系统的运行情况,及时处理运行过程中出现的问题,这类职责的人员统称为( )?A、数据库管理员B、数据库设计员C、系统分析员D、应用程序员2、下面关于数据库的用途的说法正确的是?A、淘宝网、京东商城页面上显示的商品的信息来自于数据库中的数据B、我们在淘宝上能看到我们的购买记录,是因为淘宝网用数据库记录了买家的每一笔交易记录C、去移动营业厅能够打印每一次通话记录的时长,呼入方和呼出方的电话号码,是因为中国移动的后天服务器记录了用户的每一次通话D、QQ上的聊天记录能够漫游,是因为聊天记录存放在腾讯的服务器上3、数据库系统与文件系统的主要区别是?A、数据库系统复杂,而文件系统简单B、文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决C、文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件D、文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量4、以下关于数据库、数据库关系系统,说法不正确的是?A、数据库字面上的意思是存放数据的仓库,把数据按照一定的逻辑存放在一起B、平常常说数据库,实际上是指数据库管理系统,数据库是基础,在这个基础之上,提供给用户操作数据的界面或对数据实施管理,那么,数据库加上对数据的管理,就是我们常说的数据库管理系统C、严格意义上来说,SQLServer /Oracle是属于数据库管理系统,简称DBMSD、从本质来看,SQLServer/Oracle是数据库5、数据库系统的核心是?A、数据库B、数据库管理系统C、数据模型D、软件工具6、数据库管理系统的缩写是?A、DBAB、DBMSC、DBD、DBS7、下面哪一个场景没有用到数据库?A、教务系统中的选课信息B、新浪的微博能够记录你的动态和好友的动态C、银行中的交易交易记录D、日常生活中你与同学之间的谈话8、数据库存储的是?A、数据B、数据及数据之间的联系C、数据模型D、信息9、以下哪个是长期存储在计算机内的有组织,可共享的数据集合?A、数据库管理系统B、数据库系统C、数据库D、文件组织10、DB、DBMS和DBS三者之间的关系是?A、DB包括DBMS和DBSB、DBS包括DB和DBMSC、DBMS包括DB和DBSD、不能相互包括2、多选题1、下面关于数据库的用途的说法正确的是?A、每天你上新浪看新闻,这些新闻显示在站点上,其背后有数据库的支持B、新浪的微博能够记录你的动态和好友的动态,这些数据存放在数据库中C、去银行能够打印你的交易记录,银行使用数据库来记录你的每一笔交易D、QQ上的聊天记录能够漫游,是因为聊天记录存放在腾讯的服务器上第二章:数据模型概述1、以下哪一个不是数据模型的组成要素?A、数据B、数据结构C、数据操作D、完整性约束2、层次模型不能直接表示?A、1:1关系B、1:n关系C、m:n关系D、1:1和1:n关系3、关系数据模型的三个组成部分中,不包括?A、完整性约束B、数据结构C、数据操作D、恢复4、下面关于数据模型说法正确的是?A、逻辑模型是按用户的观点来对数据和信息建模,用于数据库设计B、概念模型主要包括网状模型、层次模型、关系模型、面向对象模型等C、逻辑模型描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法D、数据模型应满足能比较真实地模拟现实世界、容易为人所理解、便于在计算机上实现三方面要求5、以下不属于数据模型的组成要素的是?A、数据结构B、数据类型C、数据操作D、数据约束6、关系数据模型的三个要素是?A、关系数据结构、关系操作集合和关系规范化理论B、关系数据结构、关系规范化理论和关系的完整性约束C、关系规范化理论、关系操作集合和关系的完整性约束D、关系数据结构、关系操作集合和关系的完整性约束7、传统的数据模型分类,数据库系统可以分为三种类型?A、西文、中文和兼容B、层次、网状和关系C、大型、中型和小型D、数据、图形和多媒体8、以下哪一个不是数据模型?A、概念模型B、逻辑模型C、架构模型D、物理模型2、多选题1、关于数据模型的组成要素的说法正确的是?A、数据结构是指:与数据类型、内容、性质有关的对象;B、微博系统中用户变更自己的电话号码的属于数据操作C、微博系统中用户的性别在男女之间选择属于数据的完整性约束D、微博系统的年龄是数据结构2、下面哪些模型可以归属到逻辑模型?A、E—R图模型B、层次模型C、网状模型D、关系模型3、下面关于数据模型说法正确的是?A、概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次B、对概念模型的基本要求:较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,简单、清晰、易于用户理解C、逻辑模型是对数据最底层的抽象D、以上说法都不正确4、关于数据模型的组成要素的说法正确的是?A、数据结构是对系统静态特性的描述B、数据操作的类型包括检索和更新C、完整性约束包括实体完整性和引用完整性D、微博系统的年龄是数据结构概念模型1、有一名为“列车运营”实体,含有:车次、日期、实际发车时间、实际抵达时间、情况摘要等属性,该实体主码是?A、车次B、日期C、车次+日期D、以上都不正确2、在E-R图中,联系使用______图形描述?A、矩形框B、椭圆形C、菱形D、直线3、在下面列出的数据库模型中,哪一个是概念数据模型?A、关系模型B、层次模型C、网状模型D、实体—联系模型4、在“学生选课系统”的概念模式设计中,以下说法正确的是?A、学生实体可以使用姓名作为码B、学生实体必须包括年龄、性别等属性C、全体学生组成了一个学生实体集D、用学生实体及其属性名集合来抽象和刻画同类实体称作学生实体集2、多选题1、下面的关于实体、属性、码、域、实体型、实体域、联系等概念,说法正确的是?A、客观存在并可相互区分的事物叫实体,如学生张三、工人李四、计算机系B、属性的取值范围叫做域,性别的域为{男,女},月份的域为{1,2,3, (12)C、多个实体之间的相互关联,如学生与老师间的授课关系,学生与学生间有班长关系D、实体所具有的某一特性称为实体的属性2、下面的关于实体、属性、码、域、实体型、实体域、联系等概念,说法不正确的是?A、12306站点购票,身份证号码能唯一的确定一个人,所以在购票的时候,一个人同一个时刻不能购买去二个不同地方的车票,那么身份证号码是码B、实体的联系分成:实体之间的联系和实体内部的联系2种C、对于淘宝站点而言,用户的所有的交易记录构成了实体集D、人的年龄属于实体型逻辑模型1、单选题1、以下说法不正确的是?A、具有相同类型的值的集合,称为域,教师集合可以表示为(T)= {t1,t2},学生的集合可以表示为:(S)= {s1,s2 ,s3}B、一个关系的多个候选码中选定一个作为主码,比如:部门编号,唯一的确定一个部门C、关系的描述称作关系模式D、学生(学号,姓名,年龄,性别,系,年级)描述的是一个关系2、假设有以下关系模式: 班级(班级编号,班级名称)学生(学生编号,身份证号,学生姓名,入学时间,班级编号),以下说法正确的是( )?A、学生编号和身份证号属性可以作为学生关系的候选码B、班级编号是班级关系在学生关系中的外码C、学生编号可以作为学生关系的主码D、学生姓名可以作为学生关系的主码3、以下关于关系模型的说法不正确的是?A、关系模型是目前最重要的一种数据模型,关系数据库系统采用关系模型作为数据的组织方式B、在关系模型中,我们通常说关系,其本质是对应一张表C、表中的列,通常称为属性,表中的行,通常称为元祖D、学生(学号,姓名,年龄,性别,系,年级)描述的是一个关系4、如果将一个关系看着是一张表,以下说法错误的是()?A、表中的一行即为一个元组B、表中的一列即为一个属性C、表中的某行所有列的值的集合即为域D、表中的某行特定某列的值即为分量5、现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业,出生日期)的主码是()?A、宿舍编号B、学号C、宿舍地址,姓名D、宿舍编号,学号6、如果表中的一个字段不是本表的主键,而是另一个表的主键,这个字段称为()?A、元组B、属性C、关键字D、外键7、关于关系的描述错误的是?A、关系中的每个属性是不可分解的B、在关系中元组的顺序无关紧要C、任意的一个二维表都是一个关系D、在关系中属性的顺序是无关紧要的8、关于关系和关系模式,下列说法错误的是?A、关系实际上就是关系模式在某一时刻的状态或内容B、关系模式是静态稳定的,而关系是动态变化的C、关系的描述称为关系模式,它是型,而关系是值D、关系是一张二维表,关系模式就是二维表中的数据2、多选题1、下面描述正确的是?A、一个关系其实相当于一个二维表B、关系中的列称为属性C、关系中的行称为元组D、属性的取值范围称为值域2、下面描述正确的是?A、一个二维表就是一个关系,二维表的名就是关系的名B、关系中的列称为属性,属性的个数称为关系的元或度C、关系中的行称为元组,对关系的描述称为关系模式D、属性的取值范围称为值域,元组中的一个属性值称为分量3、下面关于关系表和关系模式说法的正确的是?A、关系表是个二维结构,由行和列组成B、关系的描述称为关系模式C、关系实际上就是关系模式在某一时刻的状态D、关系是动态的、随时间不断变化第三章:关系数据库结构及形式化定义1、单选题1、要从学生关系中查询学生的姓名和性别,需要进行的关系运算是什么?A、选择B、投影C、联接D、求交2、设关系R和S的元组个数分别为100和300,关系T是R与S的笛卡尔积,则T的元组个数为?A、400B、10000C、30000D、900002、多选题1、关系模型与其他数据模型相比有哪些突出的优点?A、关系模型对各种用户提供统一的单一的数据结构形式,即关系(二维表)B、数据库的操作都可归结为关系的运算,而关系是建立在集合代数基础上的C、具有高度的数据独立性,用户的应用程序完全不必关心物理存储细节D、数据库管理人员的工作得到了简化,易于对数据库重组和控制数据完整性1、单选题1、参照完整性是指在基本表中满足什么条件?A、主属性不能取空值B、外码可以是空值或者另一个关系主码的有效值C、用户针对具体的应用环境定义的完整性约束条件D、以上都不正确2、关于完整性约束的描述,错误的是?A、关系中的外码的取值只能是参照关系中某个元组的主码值B、关系中的外码取值可以是空值C、关系中的主码取值不能为空值D、关系中的主码取值是唯一的3、在关系模型中,任何关系除了必须满足实体的完整性、用户自定义完整性,还需要满足什么??A、结构完整性B、数据完整性C、参照完整性D、动态完整性4、以下关于关系完整性约束的说法不正确的是?A、学生信息表中,有个字段年龄,必须是大于等于0,小于等于120,这是为了保证实体的完整性约束B、关系表中,主键所在列的值可以为空C、为了保证数据库的参照完整性,从表中的外键在主表中必须存在D、员工管理系统的中的表的设计,字段性别的值只能从男、女中选择是为了保证实体完整性5、有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于?A、实体完整性约束B、参照完整性约束C、用户自定义完整性约束D、关键字完整性约束关系代数1、单选题1、己知关系R和S,R∩S等价于?A、(R-S)—SB、S—(S—R)C、(S-R)—RD、S—(R-S)第四章:数据定义1、使用SQL语句create table students(sid int primary key ,sname varchar(15)not null),当执行完成后,下面说法不正确的是?A、PRIMARY KEY 是主键约束,表明学号不能重复B、sname列中指定了非空约束,所以学生的姓名不能为空,也不能把null插入到表中去C、使用drop table students能够把整个表结构连同表中的数据全部删除D、使用delete table students 能够把整个表结构连同表中的数据全部删除2、SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现哪类功能?A、数据查询B、数据操纵C、数据定义D、数据控制3、在SQL语句中,用于删除数据库的命令是哪一个?A、DROP DATABASEB、DELETE DATABASEC、DROP DBD、ERASE DATABASE4、在SQL语句中,用于删除数据表的命令是哪一个?A、DROP TABLEB、DELETE TABLEC、DROP DBFD、ERASE TABLE5、下列SQL Server语句中出现语法错误的是A、declare @myvar int;B、select * from [T]C、create database [DB]D、delete *from [T]6、SQL语言中,删除一个表的命令是A、deleteB、dropC、clearD、remove2、多选题1、以下SQL命令正确的是?A、insert database [DB]B、drop database [DB]C、delete database [DB]D、create database [DB]2、关于SQL语句TeacherNo int not null unique,描述正确的是?A、TeacherNO是主码B、TeacherNO不能为空C、TeacherNO的值可以是“王大力”D、每一个TeacherNO必须是唯一的数据操纵1、删除表中的数据的SQL命令是以下哪一个?A、DROPB、ERASEC、CANCELD、DELETE2、现有一个学生关系模式如下:Student(Sno,Sname)以下SQL命令错误的是?A、truncate from [Student] where [Sno] =”001”B、insert into [Student]values("001”,"Adam”);C、update [Student]set [Sname]="Wesley”D、delete from [Student]where [Sno] =”001”3、下面说法不正确的是?A、使用insert 语句来向数据库表中插入数据,后面可以不跟列名,但是要保证插入的数据列数和类型要和表结构中的列数和类型完全一致B、insert 语句后面的into 语句不可以省略C、update students set age =20 ,这个语句执行完成后,数据库表students 中所有记录的年龄都变成了20D、delete from students 语句执行完成后,数据库表students表中的数据都被删除4、用下面的SQL语句建立一个基本表: create table Student( Sno char(4) primary key,Sname char(8) not null,Sex char(2),Age int ) 可以插入到表中的元组是()?A、'5021’,'刘祥',男,21B、5021’,'刘祥',NULL,NULLC、5021’,NULL,男,21D、NULL,’刘祥’,NULL,212、多选题1、下面说法正确的是?A、insert into 表名(列名1,列名2,列名3) values (值1,值2,值3),上面的语句是插入语句的正确写法,值的类型和列的类型对应,不然会报错B、insert语句执行成功后,返回数据库影响的行数C、update students set age =20,成功执行后,students表中所有的记录的年龄都变成了20D、delete from students 语句执行完成后,数据库表students表中的数据都被删除第五章:关系数据库规范化理论1、单选题1、关系规范化中的插入操作异常是指?A、不该删除的数据被删除B、不该插入的数据被插入C、应该删除的数据未被删除D、应该插入的数据未被插入2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是?A、关系规范化理论B、关系运算理论C、关系代数理论D、数理逻辑2、多选题1、假设仓库管理关系表为StorehouseManage(仓库ID, 存储物品ID,管理员ID,数量),且有一个管理员只在一个仓库工作;一个仓库可以存储多种物品。
5_关系数据库设计
(2)数据流图(Data Flow Diagram,DFD)
数据流图从数据传递和加工的角度,来刻 画数据流从输入到输出的移动变换过程。
当系统比较复杂时,可以采用分层描述的方法。在处理功 能逐步分解的同时,它们所用的数据也逐级分解,形成若干层 次的数据流图。数据流图表达了数据和处理过程的关系。
(3)数据字典
需求分析阶段最后是编写系统分析报告,通常称为需求 规范说明书。需求规范说明书是对需求分析阶段的一个总结。 编写系统分析报告是一个不断反复、逐步深入与完善的过程, 系统分析报告应包括如下内容:
系统概况,系统的目标、范围、背景、历史和现状; 系统的原理和技术,对原系统的改善; 系统总体结构与子系统结构说明; 系统功能说明; 数据处理概要、工程体制和设计阶段划分; 系统方案及技术、经济、功能和操作上的可行性。
数据需求是指用户需要一个信息系统最终能够提供的所有数据, 通过分析制作数据流图。
3.确定处理需求 .
处理需求通常是指用户要求应用软件系统能够提供的 所有功能。根据业务需求以及数据需求可以进一步确定处 理需求。处理需求可用系统功能模块图表示。
【例5-3】 教务管理系统的功能模块图。 】
4.编写需求分析说明书 .
5.1.2数 据库设 计步骤
前四个步骤为数据库系统的分析与设计;后两个步骤 为数据库系统的实施、运行与维护。
1)需求分析:了解和分析用户的应用需求(包括信息需求和处理需 求),进行需求收集和分析,并以数据流图、数据字典等形式加以描 述。 2)概念设计:把需求分析阶段得到的用户需求进行综合、归纳和抽 象,形成一个独立于具体DBMS的概念数据模型。 3)逻辑设计:按照一组转换规则,将概念设计阶段产生的概念模型 转换为某个DBMS支持的逻辑数据模型。 4)物理设计:是为逻辑模型选取一个最适合应用环境的物理结构 (包括存取结构和存取方法)。 5)数据库实施:设计人员运用DBMS提供的数据库语言及其宿主语 言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程 序,组织数据入库,并进行试运行。 6)数据库运行与维护:数据库试运行后,即可投入正式运行。数据 库在运行期间应不断地对其进行评价、调整与修改。
关系数据库规范化理论(05)
5.3 函数依赖
关系模式S(S# , SN , SD , DEAN , C# , G)
根据一般的事实,有: 一个系有若干学生,而一个学生只属于一个系;
一个系只有一名系主任;一个学生可以选修多门课 程,每门课程也可以由多个学生选修;每个学生的 每门课程都只有一个成绩。据此语义,可以得到一 组FD F
9
5.2 数据依赖
G
SNO
DN
CN
DM
关系的规范化理论就是用于改造关系模式,通过 分解关系模式来消除其中不合适的数据依赖,以 解决插入异常、删除异常、更新异常和数据冗余 问题。
10
5.3 函数依赖
函数依赖
设R(U)是属性集U上的关系模式,X , Y U, r是 R(U) 上的任意一个关系,如果成立
对t , s r,若t[X] = s[X],则t[Y] = s[Y] 那么称“X函数决定Y”,或“Y函数依赖于X”,记 作XY 称X为决定因素
如S# SN, (S#,C#) G
不存在t , s r,t[X] = s[X],但t[Y] ≠ s[Y]
11
5.3 函数依赖
A
B
C
D
a1
b1
c1
d1
a1
快速热身
关系模式R(A,B,C,D),码为AB,给出它的一个函数 依赖集,使得R属于2NF而不属于3NF
33
5.4 .4 BC范式(BCNF)
STC(S# , T# , C#)
每位老师只教授一门课
T# C#
某学生选定一门课,就对应一位老师
(S#,C#) T#
候选码
(S#,T#),(S#,C#)
28
5.4 .3 3NF
S# SN SD DEAN S01 杨明 D01 思齐 S02 李婉 D01 思齐 S03 刘海 D02 述圣 S04 安然 D02 述圣 S05 乐天 D03 省身
数据库第五章习题及答案
第五章 关系数据理论一、 单项选择题1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是 ( )A 、关系规范化理论B 、关系运算理论C 、关系代数理论D 、数理逻辑2、关系数据库规范化是为解决关系数据库中( )问题而引入的。
A 、插入、删除和数据冗余B 、提高查询速度C 、减少数据操作的复杂性D 、保证数据的安全性和完整性3、当关系模式R (A ,B )已属于3NF ,下列说法中( )是正确的。
A 、它一定消除了插入和删除异常B 、一定属于BCNFC 、仍存在一定的插入和删除异常D 、A 和C 都是4、在关系DB 中,任何二元关系模式的最高范式必定是( )A 、1NFB 、2NFC 、3NFD 、BCNF5、当B 属性函数依赖于A 属性时,属性A 与B 的联系是( )A 、1对多B 、多对1C 、多对多D 、以上都不是6、在关系模式中,如果属性A 和B 存在1对1的联系,则说( )A 、A B B 、B A C 、A B D 、以上都不是7、关系模式中,满足2NF 的模式,( )A 、可能是1NFB 、必定是1NFC 、必定是3NFD 、必定是BCNF8、关系模式R 中的属性全部是主属性,则R 的最高范式必定是( )A 、2NFB 、3NFC 、BCNFD 、4NF9、关系模式的候选关键字可以有( c ),主关键字有( 1个 )A 、0个B 、1个C 、1个或多个D 、多个10、如果关系模式R 是BCNF 范式,那么下列说法不正确的是( )。
A 、R 必是3NFB 、R 必是1NFC 、R 必是2NFD 、R 必是4NF11、图4.5中给定关系R ( )。
A 、不是3NFB 、是3NF 但不是2NFC 、是3NF 但不是BCNFD 、是BCNF12、设有如图4.6所示的关系R ,它是( )A 、1NFB 、2NFC 、3NFD 、4NF二、 填空题1、如果模式是BCNF ,则模式R 必定是(3NF ),反之,则( 不一定 )成立。
数据库复习 第五章 习题
第五章习题一、选择题:1.关系规范化中的删除操作异常是指①,插入操作异常是指②。
A.不该删除的数据被删除B.不该插入的数据被插入C.应该删除的数据未被删除D.应该插入的数据未被插入答案:①A ②D2.设计性能较优的关系模式称为规范化,规范化主要的理论依据是____。
A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑答案:A3.规范化理论是关系数据库进行逻辑设计的理论依据。
根据这个理论,关系数据库中的关系必须满足:其每一属性都是____。
A.互不相关的B.不可分解的C.长度可变的D.互相关联的答案:B4.关系数据库规范化是为解决关系数据库中____问题而引人的。
A.插入、删除异常和数据冗余B.提高查询速度C.减少数据操作的复杂性D.保证数据的安全性和完整性答案:A5.规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及____的缺陷。
A.数据的不一致性B.结构不合理C.冗余度大D.数据丢失答案:C6.当关系模式R(A,B)已属于3NF,下列说法中____是正确的。
A.它一定消除了插入和删除异常B.仍存在一定的插入和删除异常C.一定属于BCNF D.A和C都是答案:B7.关系模型中的关系模式至少是____。
A.1NF B.2NF C.3NF D.BCNF答案:A8.在关系DB中,任何二元关系模式的最高范式必定是____。
A.1NF B.2NF C.3NF D.BCNF答案:D9.在关系模式R中,若其函数依赖集中所有候选关键宇都是决定因素,则R最高范式是____。
A.2NF B.3NF C.4 NF D.BCNF答案:C10.当B属性函数依赖于A属性时,属性A与B的联系是____。
A.1对多B.多对1 C.多对多D.以上都不是答案:B11.在关系模式中,如果属性A和B存在1对1的联系,则说____。
A.A→B B.B→A C.A↔B D.以上都不是答案:C12.候选码中的属性称为____。
第5章 关系数据库规范化理论
4. 更新异常(Update Anomalies)
由于存在大量数据冗余,系统要付出很大代价来维护数据库的完整性。 否则就带来数据不一致的危险。比如,当某系的系主任更换后,系统必 须修改与该系学生有关的每个元组。
所谓数据依赖(Data Dependency),是指一 个关系内部属性与属性之间的一种约束关系, 这种约束关系是通过关系中属性间值的相等与 否体现出来的数据间的相互关系。这种数据依 赖是现实世界中属性间相互联系的抽象,是数 据内在的性质,是语义的体现。 数据依赖有很多种,其中最重要的是函数依赖 (Functional Dependency,简称FD)和多值依 赖(Multivalued Dependency,简称MVD)。
5.1.1
问题的提出
现假设有如表5-1所示的关系模式XSCJ的一个具体实例。 表5-1 XSCJ表
Sno S1 S2 S3 S1 Sname 张强 王红 周颖 张强 Sdept 计算机系 电子系 计算机系 计算机系 Director 李军 宋鹏 李军 李军 Cno C01 C01 C01 C02 Cname 数据库 数据库 数据库 数据结构 Cscore 85 90 75 80
下面介绍一些术语和记号。
X→Y,但则称X→Y是非平凡的函数依赖。若不 特别声明,总是讨论非平凡的函数依赖。 X→Y,但YX则称X→Y是平凡的函数依赖。 若X→Y,则X叫做决定因素(Determinant)。 若X→Y,Y→X,则X与Y一一对应,记作X← →Y。 若Y函数不依赖于X,则记作 X Y
5.1.2
函数依赖的基本概念
定义5.1 设R(U)是属性集U上的关系模 式。X,Y是U的子集。 若对于R(U)的任意一个可能的关系r,r 中任意两个元组 t1 和 t2 ,如果 t1[X] = t2 [X],则 t1[Y] = t2[Y] ,那么称X函数地 确定Y,或Y函数地依赖于X ,记作: X→Y。
数据库系统概论 第5章
当一个关系模式在连接的过程中没有丢掉有用信息的, 称为无损连接分解否则称为有损连接分解。 3NF的优点就是其总可以在满足无损连接并保持依赖的 前提下得到3NF设计。其缺点是,若没有消除所有的传递 依赖,则必须要用空值来表示数据项间的某些可能有意义 的联系。此外,3NF还存在信息重复的问题。 若必须在BCNF和保持依赖的3NF间作选择的话,通常 倾向于选择3NF。因为若不能有效地检验依赖的保持情况, 我们要么牺牲系统性能,要么破坏数据库中的数据的完整 性,这当然都不好。相比之下,3NF中允许传递依赖造成 少量冗余反到是可以容忍的。所以,我们常选择保持依赖 而放弃BCNF。
假定有一个实际问题,有关系模式: 借书人(姓名,地址,书名,日期) 即 BORROW(NAME,ADDR,TITLE,DATE) 其中:NAME和TITLE是整个模式的关键字(主码)。
NAME 张 平 张 平 张 平 张 平 张 平 张 平 李少林 李少林 ADDR A1 A1 A1 A1 A1 A1 A2 A2 TITLE T1 T2 T3 T4 T5 T6 T3 T7 DATE D1 D2 D3 D4 D5 D6 D4 D7
一个低一级范式的系模式的集合,这种 过程就叫规范化。各种范式之间的关系为:
1NF 2NF
3NF BCNF 4NF
5NF
例:以下两例为非1NF关系。借书人
部门名 部门号
经理
正经理 副经理
张 平 李文化
DN1 DN2
D1 D2
M1 M2
5.2.5 3NF
定义:关系模式R(U,F)中若不存在这样的码X,属 性组Y及非主属性Z(Z Y)使得X→Y(Y→X)Y→Z 成立,则称R(U,F) ∈3NF。 简言之,不存在非主属性部分依赖和传递依赖于 码的第一范式称为第三范式。 从定义中还可得出结论:不存在非主属性的模式 为第三范式。
数据库原理与应用教程(尹志宇著)课后习题答案下载
数据库原理与应用教程(尹志宇著)课后习题答案下载尹志宇的著作《数据库原理与应用教程》是xx年清华大学出版社出版的图书,作者是尹志宇。
今天要与大家分享的是数据库原理与应用教程(尹志宇著),希望对大家有帮助!点击此处下载数据库原理与应用教程(尹志宇著)课后习题《数据库原理与应用教程:SQLServer》全面讲述数据库的基本原理和SQLServerxx的应用,全书以理论够用、实用,以实践为重点的原则,使读者能够快速、轻松地掌握SQLServer数据库技术与应用。
数据库原理与应用教程中第1~5章讲述数据库的基本理论知识,其内容包括数据库系统概述、数据模型、关系数据库、关系规范化基础、数据库设计。
第6~14章讲述数据库管理系统SQLSetverxx的应用,其内容包括SQLSetverxx数据库基础,Transact-SQL语言基础,数据库和表,数据库查询,索引和视图,存储过程、触发器和游标,事务与并发控制,数据库的备份与还原,数据库的安全管理;第15章利用一个实例介绍基于C#.NET的SQLServer数据库系统开发过程。
为便于学习,每章还配有丰富的习题。
《数据库原理与应用教程:SQLServer》可作为大学本科生“SQLServer数据库”课程的教学用书,也可以作为培养数据库系统工程师的培训教材,还可以作为数据库管理人员及数据库应用系统开发人员的参考用书。
第1章数据库系统概述第2章数据模型第3章关系数据库第4章关系规范化基础第5章数据库设计第6章SQLServerxx基础第7章Transact-SQL语言基础第8章数据库和表第9章数据库查询第10章视图和索引第11章存储过程、触发器和游标第12章事务与并发控制第13章数据库的备份与还原第14章数据库的安全管理第15章基于C#、NET的数据库系统开发参考文献1.数据库原理及应用教程试题及答案2.数据库答案-阳光大学生网3.数据库原理与实践教程模拟试题及参考答案4.数据库原理及应用教程试题及答案。
数据库系统原理与设计万常选版第五章练习题和详细答案
第五章关系数据理论一、选择题1. 为了设计出性能较优的关系模式,必须进行规范化,规范化主要的理论依据是()。
A. 关系规范化理论B. 关系代数理论C.数理逻辑D. 关系运算理论2. 规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每一个属性都是()。
A. 长度不变的B. 不可分解的C.互相关联的D. 互不相关的3. 已知关系模式R(A,B,C,D,E)及其上的函数相关性集合F={A→D,B→C ,E→A },该关系模式的候选关键字是()。
A.ABB. BEC.CDD. DE4. 设学生关系S(SNO,SNAME,SSEX,SAGE,SDPART)的主键为SNO,学生选课关系SC(SNO,CNO,SCORE)的主键为SNO和CNO,则关系R(SNO,CNO,SSEX,SAGE,SDPART,SCORE)的主键为SNO和CNO,其满足()。
A. 1NFB.2NFC. 3NFD. BCNF5. 设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C表示课程,P 表示教师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:D={ C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R },关系模式W 的一个关键字是()。
A. (S,C)B. (T,R)C. (T,P)D. (T,S)6. 关系模式中,满足2NF的模式()。
A. 可能是1NFB. 必定是1NFC. 必定是3NFD. 必定是BCNF7. 关系模式R中的属性全是主属性,则R的最高范式必定是()。
A. 1NFB. 2NFC. 3NFD. BCNF8. 消除了部分函数依赖的1NF的关系模式,必定是()。
A. 1NFB. 2NFC. 3NFD. BCNF9. 如果A->B ,那么属性A和属性B的联系是()。
A. 一对多B. 多对一C.多对多D. 以上都不是10. 关系模式的候选关键字可以有1个或多个,而主关键字有()。
数据库客观题
第1章绪论考试时间:1.数据库系统是采用了数据库技术的计算机系统,数据库系统由数据库、数据库管理系统、应用系统和( C)。
A.系统分析员B.程序员C.数据库管理员D.操作员2.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A )。
A.DBS包括DB和DBMSB.DBMS包括DB和DBSC.DB包括DBS和DBMSD.DBS就是DB,也就是DBMS3.下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是()。
I.人工管理阶段 II.文件系统阶段 III.数据库阶段DA.I 和 IIB.只有 IIC.II 和 IIID.只有 I4.下列四项中,不属于数据库系统特点的是( C)。
A.数据共享B.数据完整性C.数据冗余度高D.数据独立性高5.数据库系统的数据独立性体现在(B )。
A.不会因为数据的变化而影响到应用程序B.不会因为数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构6.描述数据库全体数据的全局逻辑结构和特性的是(A )。
A.模式B.内模式C.外模式D.7.要保证数据库的数据独立性,需要修改的是(C )。
A.模式与外模式B.模式与内模式C.三级模式之间的两层映射D.三层模式8.要保证数据库的逻辑数据独立性,需要修改的是(A )。
A.模式与外模式之间的映射B.模式与内模式之间的映射C.模式D.三级模式9.用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C )模式。
A.模式B.物理模式C.子模式D.内模式10.下述(D )不是DBA数据库管理员的职责。
A.完整性约束说明B.定义数据库模式D.数据库管理系统设计11.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是( D)。
A.层次模型B.关系模型C.网状模型D.实体-关系模型12.区分不同实体的依据是(B )。
第5章 关系数据库设计理论_2
关系模式的好与坏,用什么标准衡量?这个标准就是模式的 范式(Normal Forms,简记为NF)。范式的种类与数据依 赖有着直接的联系,基于FD的范式有1NF、2NF、3NF、 BCNF等多种。 根据满足约束条件的级别不同, 范式由低到高分为1NF,2NF,3NF,BCNF,4NF,5NF等。 1NF是关系模式的基础;2NF已成为历史,一般不再提及; 在数据库设计中最常用的是3NF和BCNF。为了叙述的方便, 我们还是从1NF、2NF、3NF、BCNF顺序来介绍。 关系模式的规范化:把一个低一级的关系模式分解为高一级 关系模式的过程。
5.5.5 规范化
关系数据库的规范化理论是数据库逻辑 设计的工具。 一个关系只要其分量都是不可分的数据 项,它就是规范化的关系,但这只是最 基本的规范化。 规范化程度可以有多个不同的级别
规范化程度过低的关系不一定能够很好地描述
现实世界,可能会存在插入异常、删除异常、
修改复杂、数据冗余等问题
例 :分解算法1例 关系模式CTHRSG,要保 持函数依赖达到3NF。
解:关系模式CTHRSG的最小函数 依赖集F={C→T,CS→G,HR→C, HS→R,TH→R}。该模式可以保 持函数依赖地分解为如下一 组3NF的关系模式:ρ={CT,CSG, CHR,HSR,HRT}。
非规范化表格和规范化表格
5.5.2 第二范式(2NF)
定义 如果A是关系模式R的候选键中属性,那么称A 是R的主属性;否则称A是R的非主属性。
定义4.16 如果关系模式R是1NF,且每个非主属性 完全函数依赖于候选键,那么称R是第二范式(2NF) 的模式。如果数据库模式中每个关系模式都是2NF, 则称数据库模式为2NF的数据库模式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012-6-21
2
前 言
关系数据库的规范化设计是指面对一个现实问题,如何选择一个比较好 的关系模式集合,即应该构造几个关系模式,每个关系由哪些属性组成。 规范化设计理论主要包括三个方面的内容:数据依赖、范式和模式设计方 法。其中数据依赖起着核心的作用。数据依赖研究数据之间的联系,范式 是关系模式的标准,模式设计方法是自动化设计的基础。规范化设计理论 对关系数据库结构的设计起着重要的作用。
注意:函数依赖不是指关系R的某个或某些关系满足的约束条件, 而是指R的一切关系均要满足的约束条件。
2012-6-21 10
函数依赖的定义(3)
对于函数依赖的定义注意以下三点: ⑴ 函数依赖是一个基于关系模式(不是一个关系模式的特定实例)的函 数概念,即如果一个关系模式R中存在函数依赖X→Y,则要求该模式的 所有具体关系都满足X→Y。 ⑵ 函数依赖不取决于属性构成关系的方式(即关系结构),而是关系所 表达的信息本身的语义特性,我们只能根据这种语义信息确定函数依赖, 没有其他途径。 ⑶ 函数依赖是数据库设计者对于关系模式的一种断言或决策,即在设计 关系型数据库时不仅要设计关系结构,而且要定义数据依赖的条件,限 制进入关系的所有元组都必须符合所定义的条件,否则拒绝接受输入。
第5章 关系模式的 规范化设计
主要内容
2012-6-21
问题提出 函数依赖 关系模式的分解 关系模式的范式
1
本章重要概念
(1) 关系模式的冗余和异常问题。
(2) FD的定义、逻辑蕴涵、闭包、推理规则、与关键码的联系;平凡 的FD;属性集的闭包;推理规则的正确性和完备性;FD集的等价;最小依 赖集。 (3) 无损分解的定义、性质、测试;保持依赖集的分解。 (4) 关系模式的范式:1NF,2NF,3NF,BCNF。分解成2NF、3NF模 式集的算法。
2012-6-21 9
函数依赖的定义(2)
例5.2 有一个关于学生选课、教师任课的关系模式: R(SNO,SNAME,CNO,GRADE,CNAME,TNAME,TAGE) 属性分别表示学生学号、姓名、选修课程的课程号、成绩、课程名、 任课教师姓名和年龄等意义。 如果规定,每个学号只能有一个学生姓名,每个课程号只能决定一门课 程,那么可写成下列FD形式: SNO→SNAME CNO→CNAME 每个学生每学一门课程,有一个成绩,那么可写出下列FD: (SNO,CNO)→GRADE 还可以写出其他一些FD: CNO→CNAME,TNAME,TAGE) TNAME→TAGE
英文字母表首部的大写字母“A,B,C,D,„”表示单个属性。 英文字母表尾部的大写字母“„,U,V,W,X,Y,Z”表示属性集。 大写字母R表示关系模式,小写字母r表示其关系。 属性集{A1,A2, „,An}简记为A1A2 „An 。 属性集X和Y的并集X∪Y简记为XY。 X∪{A}简写为XA或AX。
a1
a2 a3 关系模式R1的实例
t1
t1 t1 t2 t2
c1
c2 c3 c4 c5 c6 (b )
n1
n2 n3 n4 n2 n4 关系模式R2的实例
是否算最佳分解? 那末,什么样的关系 模式是最优的?标准 是什么?如何实现?
t3
图4.2 关系模式分解的实例
2012-6-21 6
本章的符号约定
2012-6-21
16
FD集的最小依赖集(1)
如果关系模式R(U)上的两个函数依赖集F和G,有F+=G+,则称F和G是 等价的函数依赖集。 函数依赖集F中的FD很多,应该从F中去掉平凡的FD、无关的FD,以 求得F的最小依赖集Fmin。形式定义如下: 定义5.6 设F是属性集U上的FD集,如果满足: ⑴ F中每一个函数依赖的右部都是单个属性; ⑵ 对F中任一个函数依赖X→A,F-{X→A}都不与F等价; ⑶ 对于F中的任一个函数依赖X→A和X的任一子集Z,{F{X→A}}∪{Z→A}都不与F等价。 则称F是一个最小函数依赖集,记为Fmin。 上述三个条件的作用分别是:条件⑴保证了每个函数依赖的右部都不 会有多个属性;条件⑵保证了F中没有多余的函数依赖;条件⑶保证了函数 依赖的左部没有重复属性。
2012-6-21
3
关系模式的冗余和异常问题(1)
在数据库设计中,如果一个关系模式设计得不好,就会出现像文 件系统一样的数据冗余、异常、不一致等问题。
例4.1 设有一个关系模式R(TNAME,ADDRESS,CNO,CNAME),其属性 分别表示教师姓名、教师地址、任教课程的编号和课程名。 TNAME t1 ADDRESS a1 CNO c1 CNAME n1
2012-6-21 14
FD和关键码的联系
定义5.4 设关系模式R的属性集是U,X是U的一个子集。如果X→U在R 上成立,那么称X是R的一个超键。如果X→U在R上成立,但对于X的任一 真子集W,都有W→U不成立,那么称X是R上的一个候选键。 例5.4 在学生选课、教师任课的关系模式中: R(SNO,SNAME,CNO, CNAME,GRADE, TNAME,TAGE) 如果规定:每个学生每学一门课只有一个成绩;每个学生只有一个姓 名;每个课程号只有一个课程名;每门课程只有一个任课教师。 根据这些规则,可以知道(SNO,CNO)能函数决定R的全部属性, 并且是一个候选键。虽然(SNO,SNAME,CNO,TNAME)也能函数决 定R的全部属性,但相比之下,只能说是一个超键,而不能说是候选键, 因为其中含有多余属性。
研究逻辑蕴涵的目的是利用推理的方法,从一组已知的函数依赖推导出另一 组函数依赖,从而找出所有函数依赖F+。
2012-6-21
12
FD的推理规则(1)
从已知的一些FD,可以推导出另外一些FD,这就需要一系列的推理 规则。 设U是关系模式R的属性集,F是R上成立的只涉及到U中属性的函数依 赖集。FD的推理规则有以下三条: A1(自反性,Reflexivity):若YXU,则X→Y在R上成立。 A2(增广性,Augmentation):若X→Y在R上成立,且ZU,则 XZ→YZ在R上成立。 A3(传递性,Transitivity):若X→Y和Y→Z在R上成立,则X→Z在 R上成立。
2012-6-21
8
函数依赖的定义(1)
函数依赖是属性间基本的一种依赖,它是关键码概念的推广。 定义5.1 设有关系模式R(U),X和Y是属性集U的子集,若对于R(U)的任 意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y 上的属性值不等,则称X函数确定Y或Y函数依赖(Functional Dependency,简记为FD)于X,记作X→Y。 FD是对关系模式R的一切可能的关系r定义的。对于r的任意两个元组, 如果X值相同,则要求Y值也相同,即对一个X值有唯一个Y值与之对应。该 定义类似于数学中的单值函数定义。
2012-6-21
5
关系模式的冗余和异常问题(3)
可以说,关系模式R不是一个好的模式。一个“好”的模式应当不会发生插入 异常、删除异常、更新异常,数据冗余应尽量少。 规范化原则:“关系模式有操作异常或冗余问题,就分解它。”
TNAME ADDRESS TNAME CNO CNAME
t1
t2 t3 (a)
2012-6-21
15
属性集的闭包
定义5.5 设有关系模式R(U),U={A1,A2,…,An},X是U的子集,F是 U上的一个函数依赖集,则称所有用Armstrong公理从F推出的函数依赖 X→Ai(i=1,2,…,n)中Ai的集合为X的属性集闭包,记为 X F,即 X F ={Ai| Ai ∈U,且X→Ai可用Armstrong公理从F推出} 例5.5 设关系模式R(ABC)的函数依赖集为F={A→B,B→C},分别求A、 B、C的闭包。 解:若X=A A→B,B→C (已知) A→C (传递性) A→A (自反性) X F ={A,B,C} (据定义) 若X=B B→B (自反性) B→C (已知) X F ={B,C} (据定义) 若X=C, C→C (自反性) X F ={C} (据定义)
2012-6-21
11
FD的逻辑蕴涵
定义5.2 设F是在关系模式R上成立的函数依赖的集合,X→Y是一个 函数依赖。如果对于R的每个满足F的关系r也满足X→Y,那么称F逻辑蕴 涵X→Y,记为F ⊨X→Y。 定义5.3 设F是函数依赖集,被F逻辑蕴涵的函数依赖全体构成的集合, 称为函数依赖集F的闭包(closure),记为F+。即 F+={ X→Y |记为 F⊨X→Y。 } 说明:即使一个小的函数依赖集F,其闭包F+也是很大的,一般情况 下总有 F F 。
2012-6-21
17
FD集的最小依赖集(2)
例:设R(A,B,C,D),F={A→B,B→C,C→D,C→B}, G={A→C,B→D,B→C,C→B}。用函数依赖图表示F、G及F+、G+,这 两个函数依赖图完全相同,所以,F与G等价。 A A
BDB来自DCF和F+
2012-6-21
C
G和G+
18
FD集的最小依赖集(3)
目的:是由F再通过这些FD推理规则找到F+
2012-6-21
13
FD的推理规则(2)
结论 FD推理规则A1、A2和A3是正确的。也就是,如果X→Y是从F用 推理规则导出,那么X→Y在F+中。 FD的其他五条推理规则: (1) A4(合并性,Union):{ X→Y,X→Z }⊨X→YZ。 (2) A5(分解性,Decomposition): { X→Y,ZY } ⊨ X→Z 。 (3) A6(伪传递性):{ X→Y,WY→Z }⊨ WX→Z。 (4) A7(复合性,Composition): { X→Y,W→Z } ⊨ XW→YZ。 (5) A8 (通用一致性):{ X→Y,W→Z }⊨X∪(W-Y)→YZ。 例5.3 设有关系模式R,A、B、C、D、E、F是它的属性集的子集, R满足下列函数依赖:F={A→BC,CD→EF},证明:函数依赖AD→F成 立。 证明: A→BC (已知) A→C (分解性) AD→CD (增广性) CD→EF (已知) AD→EF (传递性) AD→F (分解性)