欢迎光临
免费的PDF电子书下载网站

数据库原理及应用学习指导与上机实验——SQL Server 2012 PDF下载

编辑推荐

本书是《数据库原理与应用 SQLServer2012》(胡艳菊、申野编著,清华大学出版社)的配套教材。每章都由学习目标、知识脉络图、重点难点解析、典型例题讲解、课后题解析和小结组成。用图表表示的知识点,逻辑关系清楚,言简意赅,分为普通知识点、重点知识点和难点知识点,典型例题精干、深入,课后习题全部给出详尽答案,所有操作类题目都尽量配给准确的代码、操作截图和电子版的数据源供学习参考。因此本书亦可作为单独学习的数据库图书,或者课下配套练习的同步学习指导书。 ;

内容简介

本书是《数据库原理与应用 SQL Server 2012》(胡艳菊、申野编著,清华大学出版社)的配套教材。每章都由学习目标、知识脉络图、重点难点解析、典型例题讲解、课后题解析和小结组成。用图表表示的知识点,逻辑关系清楚,言简意赅,分为普通知识点、重点知识点和难点知识点,典型例题精练、深入,课后习题全部给出详尽答案,所有操作类题目都尽量配给准确的代码、操作截图和电子版的数据源供学习参考。因此本书亦可作为单独学习的数据库图书,或者课下配套练习的同步学习指导书。 全书共分3篇: 第1篇(第1~3章)为原理篇,解决数据库系统构建的历史背景、原理和理论基础部分知识点及应用问题; 第2篇(第4~13章)为应用篇,着重解决使用SSMS创建数据库、SQL语言语法、视图、事务、存储过程、触发器等高级数据库对象在SQL Server 2012中使用的知识点及应用问题; 第3篇(第14章)为开发篇。书后附录部分给出了SQL Server*版——SQL Server 2016的基础介绍以及SQL Server 2000到SQL Server 2016的主要数据库特性对照表。 本书既可作为高等院校计算机、软件工程专业高年级本科生、研究生的辅助教材,同时也可作为计算机专业开发人员、广大科技工作者和研究人员参考的工具书。

作者简介

暂无

数据库原理及应用学习指导与上机实验——SQL Server 2012 PDF下载

目录

目录

第1篇原理篇——数据库原理
第1章数据库系统概述
学习目标
知识脉络图
1.1重点难点解析
1.2典型例题讲解
1.3课后题解析
1.3.1选择题
1.3.2填空题
1.3.3简答题
1.3.4综合题
小结
第2章关系数据库数学模型
学习目标
知识脉络图
2.1重点难点解析
2.2典型例题讲解
2.3课后题解析
2.3.1选择题
2.3.2填空题
2.3.3简答题
2.3.4综合题
小结
第3章关系数据库设计理论
学习目标
知识脉络图
3.1重点难点解析
3.2典型例题讲解
3.3课后题解析
3.3.1选择题
3.3.2填空题
3.3.3简答题
小结
第2篇应用篇——数据库应用技术SQL Server 2012
第4章使用SQL Server设计数据库
学习目标
知识脉络图
4.1重点难点解析
4.2典型例题讲解
4.3课后题解析
4.3.1选择题
4.3.2上机题
4.3.3简答题
小结
第5章使用SQL语言管理和设计数据库
学习目标
知识脉络图
5.1重点难点解析
5.2典型例题讲解
5.3课后题解析
5.3.1选择题
5.3.2上机题
小结
第6章TSQL程序设计
学习目标
知识脉络图
6.1重点难点解析
6.2典型例题讲解
6.3课后题解析
6.3.1选择题
6.3.2上机题
小结
第7章高级查询
学习目标
知识脉络图
7.1重点难点解析
7.2典型例题讲解
7.3课后题解析
7.3.1选择题
7.3.2程序设计题
小结
第8章事务和并发控制
学习目标
知识脉络图
8.1重点难点解析
8.2典型例题讲解
8.3课后题解析
8.3.1选择题
8.3.2程序设计题
小结
第9章索引
学习目标
知识脉络图
9.1重点难点解析
9.2典型例题讲解
9.3课后题解析
9.3.1选择题
9.3.2程序设计题
小结
第10章视图
学习目标
知识脉络图
10.1重点难点解析
10.2典型例题讲解
10.3课后题解析
10.3.1选择题
10.3.2上机题
小结
第11章存储过程
学习目标
知识脉络图
11.1重点难点解析
11.2典型例题讲解
11.3课后题解析
11.3.1选择题
11.3.2程序设计题
小结
第12章触发器
学习目标
知识脉络图
12.1重点难点解析
12.2典型例题讲解
12.3课后题解析
12.3.1选择题
12.3.2程序设计题
小结
第13章复杂数据库设计与实现*
学习目标
知识脉络图
重点难点解析
小结
第3篇开发篇——数据库系统软件开发
第14章数据访问技术*
学习目标
知识脉络图
重点难点解析
小结
附录ASQL Server 2016版本介绍
A.1SQL Server 2016的安装
A.2SQL Server 2016的基本操作
附录BSQL Server 2000至SQL Server 2016的主要数据库特性对照表
参考文献

媒体评论

评论

前沿

前言

《数据库原理与应用 SQL Server 2012》出版之后,发现有读者希望得到这本书的课后习题的答案等内容。由于教材内容充实,有难度,课后题确实不乏经典题目,所以为加深读者对教材知识点的理解,并实际提高自己的数据问题的处理能力,决定出版该教材相关学习指导书。本书是《数据库原理与应用 SQL Server 2012》(胡艳菊、申野编著,清华大学出版社)的配套教材。每章都由学习目标、知识脉络图、重点难点解析、典型例题讲解、课后题解析和小结组成。用图表表示的知识点,逻辑关系清楚,言简意赅,分为普通知识点、重点知识点和难点知识点,典型例题精练、深入,课后习题全部给出详尽答案,所有操作类题目都尽量配给准确的代码、操作截图和电子版的数据源供学习参考。因此本书亦可作为单独学习的数据库图书,或者课下配套练习的同步学习指导书。本书继续以培养创新人才为目的,不仅全面、准确地介绍数据库原理、数据库应用技术相关知识点,更通过对经典例题、课后习题的详解,展示了使用先进、专业的理论和技术全面解决具体问题的思路、方法和实用技术。对改善学生理论知识理解不深入、不连续、不完整,对具体技术很难掌握的现象有显著帮助。本书既可作为高等院校计算机、软件工程专业高年级本科生、研究生的辅助教材,同时也可作为计算机专业开发人员、广大科技工作者和研究人员参考的工具书。全书共分3篇: 第1篇(第1~3章)为原理篇,解决数据库系统构建的历史背景、原理和理论基础部分知识点及应用问题;第2篇(第4~13章)为应用篇,着重解决使用SSMS创建数据库、SQL语言语法、视图、事务、存储过程、触发器等高级数据库对象在SQL Server 2012中使用的知识点及应用问题;第3篇(第14章)为开发篇。书后附录部分给出了SQL Server最新版——SQL Server 2016的基础介绍以及SQL Server 2000到SQL Server 2016的主要数据库特性对照表。本书由胡艳菊老师统筹规划编著,全书分3篇共14章,其中带*的章节为可选学内容。学习虽如逆水行舟,但也让人体会到宇宙万物无穷的奥妙与乐趣。用心做事,时光飞逝,洒下的就不只是欢笑泪水,也会有成长镌刻在岁月中。再次感谢在编写本书过程中那些给予默默陪伴、理解与鼓励的亲人和朋友。由于编者水平有限,书中疏漏不当之处在所难免,恳请读者指正。编者2016年10月

免费在线读

第3章关系数据库设计理论

学习目标 了解数据库设计中存在的问题。 了解函数依赖的概念。 掌握范式的使用。 掌握函数依赖的公理系统。知识脉络图

3.1重点难点解析1. 数据库设计遵循设计原理的必要性学习数据库设计原理的几个疑问如表3.1所示。

表3.1关于数据库设计原理的疑问

问题解答是否可以随意安排数据模式? ——不可以!因为错误的或者不合理的关系模式必然会在数据库进行增、删、改、查操作时,发生种种异常设计好的数据库是否实用、高效,或者是否合理、正确? ——按照将EER模型转化为关系模式的理论方法进行数据库模式设计是不会出现太大问题的。
——关系数据库设计理论验证、解释了转化原理的必要性和有效性为什么还需要学习关系数据库设计理论?——能够明确关系模式结构、确定属性、细致修改、验证关系模式2. (重点难点※※)函数依赖函数依赖的概念说明如表3.2所示。

表3.2与函数依赖有关的概念

概念名称概 念 内 容说明数据依赖一个实体型的诸属性之间具有内在的联系,通过对这些联系的分析,我们可以做到一个关系模式只表示一个实体型的信息,从而消除问题。在关系模型中,实体类型属性间这种相互依赖又相互制约的关系称为数据依赖函数依赖是数据依赖中最重要的数据间关系。
分析函数依赖关系可以改造性能较差的关系模式集合函数依赖设R(U)是属性集U上的关系模式,X, Y U, r是R(U)上的任意一个关系,如果对任意两个元组t 、s,若t[X] = s[X],则t[Y] = s[Y],那么称“X函数决定Y”,或“Y函数依赖于X”,记作X→Y。称X为决定因素或决定属性集
函数依赖是不随时间而变的。函数依赖与属性间的联系类型有关。当X、Y之间是“1对1”联系时,则存在函数依赖X→Y和Y→X。当X、Y之间是“多对1”联系时,则存在函数依赖X→Y。当X、Y之间是“多对多”联系时,则不存在函数依赖函数依赖不是指关系模式R的某个或某些元组满足的约束条件,而是指R的一切元组均要满足的约束条件函数依赖是现实世界中属性间关系的客观存在和数据库设计者的人为强制相结合的产物平凡函数依赖如果X→Y,YX,则称其为非平凡的函数依赖,否则称为平凡的函数依赖例: (SNO,SNAME)→SNAME是平凡的函数依赖部分函数依赖在R(U)中,如果X→Y,且对于任意X的真子集X′,都有X′→/Y,则称Y对X完全函数依赖,记作XfY,否则称为Y对X部分函数依赖,记作XpY(SNO,CNO)fG
(SNO,CNO)pSNAME传递函数依赖在R(U)中,如果X→Y,Y→Z,且X不包含Y,Y→/X,则称Z对X传递函数依赖例: SNO→DEPT,DEPT→HEAD,HEAD对SNO传递函数依赖3. 键键的概念说明如表3.3所示。

表3.3键的相关概念

概念名称概 念 内 容说明超键设K为R(U, F)的属性或属性组,若K→U,则称K为R的超键例: SNO→U,
(SNO,SNAME)→U候选键设K为R( U, F)的属性或属性组,若K满足以下条件,则称K为R的一个候选键。
条件1: K→U。
条件2: 不存在K的真子集Z使得Z→U成立。
或者: 设K为R(U, F)的超键,若KfU,则称K为R的候选键例: SNO→U
续表

概念名称概 念 内 容说明主键若R(U, F)有多个候选键,则可以从中选定一个作为R的主键。
主键是唯一确定一个实体的最少属性的集合例: S关系模式中的SNO,
SC关系模式中的(SNO,CNO)键属性包含在任何一个候选键中的属性,称作键属性非键属性不包含在任何一个候选键中的属性,称作非键属性全键关系模式的键由整个属性组构成4. (重点难点※※)范式范式的各概念如表3.4所示。

表3.4范式相关概念表

概 念 名 称概 念 内 容说明范式范式是对关系的不同数据依赖程度的要求。如果一个关系满足某个范式所指定的约束集,则称它属于某个特定的范式规范化一个低一级范式的关系模式,通过模式分解可以转换为若干个高级范式的关系模式的集合,这一过程称作规范化1NF关系中每一分量必须是原子的,不可再分。即不能以集合、序列等作为属性值2NF若R∈1NF,且每个非键属性完全依赖于键,则称R∈2NF将1NF的关系模式规范化为2NF的关系模式,其方法是消除1NF的关系模式中非键属性对键的部分依赖传递函数依赖在关系模式R(U)中,如果X→Y,Y→Z,并且X不包含Y,Y→/X,则称Z对X传递函数依赖3NF关系模式R( U, F)中,若不存在这样的键X,属性组Y及非键属性Z(Z\Y),使得X→Y,Y→Z, Y→/X成立,则称R∈3NF将2NF的关系模式规范化为3NF的关系模式,其方法是消除2NF的关系模式中非键属性对键的传递依赖BCNF范式若关系模式R(U, F)∈1NF,如果对于R的每个函数依赖X→Y,且YX时,X必含有键,则R(U , F)∈BCNF由BCNF的定义可以看到,每个BCNF的关系模式都具有如下3个性质: ;
(1) 所有非键属性都完全函数依赖于每个候选键。
(2) 所有键属性都完全函数依赖于每个不包含它的候选键。
(3) 没有任何属性完全函数依赖于非键的任何一组属性。
即如果关系模式R的每一个决定因素都包含键,则R属于BCNF范式(不存在非键决定因素)
续表

概 念 名 称概 念 内 容说明
多值依赖描述型定义: 设R(U)是属性集U上的一个关系模式,X、Y、Z是U的子集,并且Z= U-X-Y,关系模式R(U)中多值依赖X→→Y成立,当且仅当在R(U)的任一关系r中,对给定的X属性值,都有一组Y的值与之对应,而与其他属性Z值无关例: 在关系模式TEACH中,对(物理,普通物理学)有一组P#值(张明,张平),对(物理,光学原理)也有一组P#值(张明,张平),这组值仅取决于C#的取值,而与B#的取值无关。因此,P#多值依赖于C#,记作C#→→P#,同样有C#→→B#形式化定义: 在R(U)的任一关系r中,如果存在元组t、s,使得t[x]=s[x],那么就必然存在元组w、v∈r(w,v可以与s,t相同),使得: ;

w[X] = s[X] = v[X] = t[X]
w[Y] = t[Y],v[Y] = s[Y]
w[Z] = s[Z], v[Z] = t[Z]
则称Y多值依赖于X,记作X→→Y例: 若(C#, P#, B#)满足C#→→P#,含有元组t=(物理,张明,普通物理学),s=(物理,张平,光学原理),则也一定含有元组w=(物理,张明,光学原理),v=(物理,张平,普通物理学)多值依赖性质: ;
(1) 多值依赖具有对称性,即若X→→Y,则X→→Z,其中Z=U-X-Y。
(2) 函数依赖是多值依赖的特例,即若X→Y,则X→→Y。
(3) 若X→→Y,U-X-Y=φ,则称X→→Y为平凡的多值依赖
4NF关系模式R( U , F)∈ 1NF,如果对于R到每个非平凡的多值依赖X→→Y(YX),X都含有键,则称R∈4NF4NF就是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。因为根据定义,对于每一个非平凡的多值依赖X→→Y,X都含有候选键,于是就有X→Y,所以4NF所允许的非平凡的多值依赖实际上是函数依赖。
例: 关系模式CPB,C#→→P#,C#→→B#,键为(C#, P#, B#),所以CPB4NF。如果一门课Ci有m个教师,n本参考书,则关系中分量为Ci的元组共有m×n个,数据冗余非常大。改造: 将CPB分解为CP(C#,P#),CB(C#,B#)5. (重点※)范式之间的关系范式(简称NF)从低级到高级依次可分为1NF、2NF、3NF、BCNF、4NF、5NF乃至更高。即5NF4NFBCNF3NF2NF1NF。3.2典型例题讲解【例3.1】请说明1NF、2NF、3NF、BCNF、4NF之间的联系和区别。答: 联系: 范式(简称NF)从低级到高级依次可分为1NF、2NF、3NF、BCNF、4NF,它们的规范化程度是依次加强的,并且4NFBCNF3NF2NF1NF。区别: ;1NF的主要判断依据是: 每个属性是否满足原子性。2NF的主要判断依据是: 所有非键属性必须完全函数依赖于键。将满足1NF的关系模式中的部分函数依赖取消,可得规范化的2NF关系模式。3NF的主要判断依据是: 属性之间不存在传递函数依赖。将满足2NF的关系模式中的传递依赖取消,可得规范化的3NF关系模式。BCNF的主要判断依据是: 起决定作用的属性必须包含键。将满足3NF的关系模式中的不含键的起决定作用的属性及其函数依赖进行化简,得到明确的满足BCNF的关系模式。BCNF之前的所有范式适用于规范两个实体及其之间的关系。4NF是用来规范化三个实体之间关系的,做法一般是将模式分解为两两实体之间的关系。【例3.2】请把以下两个关系模式分别规范化到BCNF范式,并给出规范原因。(1) BuyerIDName11班石磊22班张明33班刘丽44班陈英(2) Student(SNO,SNAME,DEPT,HEAD,CNO,G),对应的字段含义依次是学号,学生姓名,教学院,院长,科目号,成绩。答: (1)不符合1NF,表中字段破坏了属性的原子性。修改结果: ;BuyerIDClassName
11石磊
22张明
33刘丽
44陈英(2) 既不符合2NF、3NF,也不符合BCNF。① Student(SNO,SNAME,DEPT,HEAD,CNO ,CNAME,G)中SNO→SNAME,SNO→DEPT→HEAD,CNO→CNAME,(SNO,CNO)→G,存在不完全依赖于键的属性,所以经过2NF审核修改的结果是: ;Student(SNO, SNAME, DEPT, HEAD)Cource(CNO,CNAME)Score(SNO, SNAME, CNO, CNAME,G)② 但是Student(SNO, SNAME, DEPT, HEAD )中HEAD传递依赖于SNO,所以经过3NF审核修改的结果是: ;Student(SNO, SNAME, DEPT )DEPT(DEPT, HEAD )③ 但是Score(SNO, SNAME, CNO, CNAME,G)中SNO→SNAME,CNO→CNAME,(SNO,CNO)→G,不是所有起决定作用的属性中都包含键,所以不符合BCNF范式。经过修改: ;Score(SNO, CNO, G)3.3课后题解析3.3.1选择题
1. 关系模式中数据依赖问题的存在,可能会导致库中数据插入异常,这是指()。
A. 插入了不该插入的数据B. 数据插入后导致数据库处于不一致状态C. 该插入的数据不能实现插入D. 以上都不对答案: C※知识点说明: ;假设有关系模式S(SNO, SNAME, DEPT, HEAD, CNO, G)(学生(学号,学生姓名,系,系领导,科目号,学生成绩)),如果一个系刚成立没有学生,或者有了学生但学生尚未选课,那么就无法将这个系及其负责人的信息插入数据库,从而导致插入异常。可能产生的其他异常有如下几种。删除异常: 如果某个系的全部学生都毕业了,则删除该系学生及其选修课程的同时,把这个系及其负责人的信息也丢掉了。数据冗余: 学生及其所选课程很多,而系主任只有一个,但其却要和学生及其所选课程出现的次数一样多。更新异常: 如果某个系要更换系主任,就必须修改这个系学生所选课程的每个元组,修改其中的系主任信息。若有疏忽,就会造成数据的不一致。2. 关系模式中的候选键()。A. 有且仅有一个B. 必然有多个C. 可以有一或多个D. 以上都不对答案: C※知识点说明: ;关于关系模式候选码的定义: 可唯一标识每一元组的属性(组),一个元组中满足这样条件的候选码至少是有一个的。从键的定义也可看出,满足这样条件的候选键不是唯一的。候选键: 设K为R(U, F)的属性或属性组,若K满足以下条件,则称K为R的一个候选键: 条件1: K→U; 条件2: 不存在K的真子集Z使得Z→U成立。或者: 设K为R(U, F)的超键,若KfU,则称K为R的候选键。3. 规范化的关系模式中,所有属性都必须是()。A. 相互关联的B. 互不相关的C. 不可分解的D. 长度可变的答案: C※知识点说明: ;1NF: 关系中每一分量必须是原子的,不可再分。即不能以集合、序列等作为属性值。而1NF是规范的关系模式所需满足的最低级别的范式约束。4. 设关系模式R属于第一范式,若在R中消除了部分函数依赖,则R至少属于()。A. 第一范式B. 第二范式C. 第三范式D. 第四范式答案: B※知识点说明: ;2NF: 若R∈1NF,且每个非键属性完全依赖于键,则称R∈2NF。将1NF的关系模式规范化为2NF的关系模式,其方法是消除1NF的关系模式中非键属性对键的部分依赖。5. 若关系模式R中的属性都是主属性,则R至少属于()。A. 第三范式B. BC范式C. 第四范式D. 第五范式答案: B※知识点说明: ;根据关系模式形式化的定义: “主码( Primary key),候选码中选择其一称为主码。相应属性组为主属性。”所以,当关系模式中的属性都是主属性的时候,意味着这个关系模式只有一个主码,即主键。而由于键定义“全键: 关系模式的键由整个属性组构成。”所以此关系模式为全键的关系模式。所以,完全满足BCNF的要求: 每一个决定因素都包含键的要求。从4NF的定义可以看出,为了保证在关系模式的每一个多值依赖中,起决定作用的属性组必须包含有键,因此全键形式的模式不属于4NF,是需要经过规范化操作,才能符合4NF的。3.3.2填空题1.一个不好的关系模式会存在异常、异常和等弊端。答案: 一个不好的关系模式会存在插入异常、删除异常和修改异常等弊端。2. 设X→Y为R上的一个函数依赖,若,则称Y完全函数依赖于X。答案: 设X→Y为R上的一个函数依赖,若对于任意X的真子集X′,都有X′ →Y,则称Y完全函数依赖于X。3. 包含R中全部属性的候选键称。不在任何候选键中的属性称。答案: 包含R中全部属性的候选键称全键。不在任何候选键中的属性称非键属性。4. Armstrong公理系统是的和的。答案: Armstrong公理系统是有效性的和完备的。※知识点说明: ;函数依赖的公理系统各概念说明如表3.5所示。

表3.5函数依赖的公理系统相关概念

概 念 名 称概 念 内 容Armstrong公理设有关系模式R(U),U是R的属性集,X、Y、Z和W均是U的子集,F是R的函数依赖集推理规则

A1(自反律,Reflexivity)如果YXU,则X→Y; ;A2(增广律,Augmentation)如果X→Y,则XZ→YZ; ;A3(传递律,Transitivity)如果X→Y, Y→Z,则X→Z公理的正确性【定理】【定理】Armstrong公理是正确的Armstrong公理系统的有效性和完备性

Armstrong公理系统的有效性指的是: 由R出发根据Armstrong公理系统推导出来的每一个函数依赖一定是R所逻辑蕴含的函数依赖Armstrong公理系统的完备性指的是: 对于R所逻辑蕴含的一函数依赖,必定可以由R出发根据Armstrong公理系统推导出来公理的推论

(1) 合成规则(Union Rule)
若X→Y与X→Z成立,则X→YZ成立。因为X→Y,所以X→XY; 又X→Z,于是XY→YZ,所以有X→YZ。(2) 伪传递规则(Pseudotransitivity Rule)
若X→Y与WY→Z成立,则XW→Z成立。
因为X→Y,于是XW→WY,所以有XW→Z。(3) 分解规则(Decomposition Rule)
若X→Y成立,且ZY,则X→Z成立。
因为ZY,于是Y→Z,根据已知条件X→Y,所以X→Z成立从合成规则和分解规则可得出一个重要的结论: 如果A1,A2,…,An是关系模式R的属性,则X→A1,A2,…,An的充分必要条件是X→Ai(i=1,2,…,n)均成立
5. 第三范式是基于依赖的范式,第四范式是基于依赖的范式。答案: 第三范式是基于函数依赖的范式,第四范式是基于多值依赖的范式。3.3.3简答题1. 解释术语的含义: 函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、范式、无损连接性、依赖保持性。答案: 其余的术语解释详见教材或者本书本章节的3.1重点难点解析。这里只给出无损连接性和依赖保持性的术语解释。根据函数依赖的公理系统中的模式分解理论,其含义解释如下。无损连接性:  ;设有关系模式R(U,F),分解成关系模式ρ ={R1(U1,F1),…,Rk(Uk,Fk)},其中,UiUj(i≠j),若对于关系R(U,F)的任一关系r都有r=πU1(r)πU2(r)…πUk(r)
则称ρ具有无损连接性,其中πU1(r)是关系r在Ui上的投影,为自然连接。依赖保持性: ;设有关系模式R(U,F),分解成关系模式ρ={R1(U1,F1),…,Rk(Uk,Fk)},若F =∪ki=1Fi则称ρ保持函数依赖,或ρ没有丢失语义。2. 给出2NF、3NF、BCNF的形式化定义,并说明它们之间的区别和联系。答案: 2NF、3NF、BCNF的形式化定义详见教材或者本书本章的3.1重点难点解析。联系: 3个范式的规范化程度逐步加深,并且BCNF3NF2NF。区别: 满足2NF的关系模式,取消其属性中的传递依赖,进行规范化后,形成的新关系模式满足3NF; 而在满足3NF的关系模式中,要求所有起决定作用的属性必须包含键,如此简化和明确关系模式中的属性,如此规范化后的新的关系模式满足BCNF。3. 试证明全码的关系必是3NF,也必是BCNF。证明: 因为全码的关系模式中的主键是由关系模式所有的属性组成的。
所以满足BCNF的: 起决定作用的属性必须包含键的要求。
因此这样的关系必是BCNF。
又因为BCNF3NF,
所以此关系模式也必是3NF。4. 要建立关于系、学生、班级、研究会等信息的一个关系数据库。规定: 一个系有若干专业、每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区。每个学生可参加若干研究会,每个研究会有若干学生。学生参加某研究会,有一个入会年份。描述学生的属性有: 学号、姓名、出生年月、系名、班号、宿舍区。描述班级的属性有: 班号、专业名、系名、人数、入校年份。描述系的属性有: 系号、系名、系办公室地点、人数。描述研究会的属性有: 研究会名、成立年份、地点、人数。试给出上述数据库的关系模式; 写出每个关系的最小依赖集(即基本的函数依赖集,不是导出的函数依赖); 指出是否存在传递函数依赖; 对于函数依赖左部是多属性的情况,讨论其函数依赖是完全函数依赖还是部分函数依赖,指出各关系的候选键、外部键。答案: ;① 分析此关系数据库系统,根据给定的条件,首次得到数据库系统中有实体: 学生、班级、系、研究会。各实体之间的关系: 系和班级是一对多的强制关系,班级和学生是一对多的强制关系,学生和研究会是多对多的参会关系。由此初步得到如下的关系模式: ;学生(学号,姓名,出生年月,系名,班号,宿舍区); ;班级(班号,专业名,系名,人数,入校年份); ;系(系号,系名,系办公室地点,人数); ;研究会(研究会名,成立年份,地点,人数); ;参会(学号,姓名,研究会名,入会时间,活动信息)。② 使用范式规范化如上关系模式: ;学生模式中的函数依赖,学号→姓名学号→出生年月学号→班号→系名学号→宿舍区其中,学号→班号→系名属于传递函数依赖。取消此传递函数依赖,而系名已经在系的关系模式中说明,因此学生关系模式最终确定为: ;学生(学号,姓名,出生年月,班号,宿舍区)。班级模式中的函数依赖: 班号→专业名→系名班号→人数班号→入校年份其中,班号→专业名→系名属于传递函数依赖。取消此传递函数依赖,得到关系模式如下: ;班级(班号,专业号,人数,入校年份); ;专业(专业号,专业名称,系号); ;系(系号,系名,系办公室地点,人数)。其中系的关系模式中的函数依赖关系: 系号→系名系号→系办公室地点系号→人数考虑到研究会有可能重名的情况,所以增加属性: 研究会号。得到: ;研究会(研究会号,研究会名,成立年份,地点,人数)。研究会模式中的函数依赖: 研究会号→研究会名研究会号→成立年份研究会号→地点研究会号→人数尤其可将模式参会补充: 参会(学号,姓名,研究会号,研究会名,入会时间,活动信息)参会模式中的函数依赖: 假设没有重名的学生和研究会,学号→姓名研究会号→研究会名(学号,研究会号)→姓名(学号,研究会名)→姓名(学号,研究会号)→研究会名(姓名,研究会号)→研究会名(学号,研究会号)→入会时间(学号,姓名,研究会号,研究会名)→入会时间(学号,姓名,研究会号)→入会时间(学号,姓名,研究会名)→入会时间(学号,研究会号,研究会名)→入会时间(姓名,研究会号,研究会名)→入会时间(学号,研究会名)→入会时间(姓名,研究会名)→入会时间(学号,研究会号)→活动信息(学号,姓名,研究会号,研究会名)→活动信息(学号,姓名,研究会号)→活动信息(学号,姓名,研究会名)→活动信息(学号,研究会号,研究会名)→活动信息(姓名,研究会号,研究会名)→活动信息(学号,研究会名)→活动信息(姓名,研究会名)→活动信息由部分函数依赖的定义,若起决定作用的属性组中存在子集仍能决定右侧的属性组,即属于部分函数依赖,否则是完全函数依赖,所以: ;(学号,研究会号)→姓名: 部分函数依赖(学号,研究会名)→姓名: 部分函数依赖(学号,研究会号)→研究会名: 部分函数依赖(姓名,研究会号)→研究会名: 部分函数依赖(学号,研究会号)→入会时间: 完全函数依赖(学号,姓名,研究会号,研究会名)→入会时间: 部分函数依赖(学号,姓名,研究会号)→入会时间: 部分函数依赖(学号,姓名,研究会名)→入会时间: 部分函数依赖(学号,研究会号,研究会名)→入会时间: 部分函数依赖(姓名,研究会号,研究会名)→入会时间: 部分函数依赖(学号,研究会名)→入会时间: 完全函数依赖(姓名,研究会名)→入会时间: 完全函数依赖(学号,研究会号)→活动信息: 完全函数依赖(学号,姓名,研究会号,研究会名)→活动信息: 部分函数依赖(学号,姓名,研究会号)→活动信息: 部分函数依赖(学号,姓名,研究会名)→活动信息: 部分函数依赖(学号,研究会号,研究会名)→活动信息: 部分函数依赖(姓名,研究会号,研究会名)→活动信息: 部分函数依赖(学号,研究会名)→活动信息: 完全函数依赖(姓名,研究会名)→活动信息: 完全函数依赖
为了消除操作可能产生的异常,要求满足每一个起决定作用的属性必须包含键,而函数依赖: 学号→姓名,研究会号→研究会名不满足此要求,所以规范化关系如下: ;参会(学号,研究会号,入会时间,活动信息)。③ 最终得到关系模式如下,其中属性下画横线的是键,属性下画虚线的是外键,如下所示: ;学生(学号,姓名,出生年月,班号,宿舍区); ;班级(班号,专业号,人数,入校年份); ;专业(专业号,专业名称,系号); ;系(系号,系名,系办公室地点,人数); ;研究会(研究会号,研究会名,成立年份,地点,人数); ;参会(学号,研究会号,入会时间,活动信息)。小结平凡函数依赖: 如果X→Y,但YX,则称其为非平凡的函数依赖,否则称为平凡的函数依赖。如(SNO,SNAME)→SNAME是平凡的函数依赖。部分函数依赖: 在R(U)中,如果X→Y,且对于任意X的真子集X′,都有X′→/Y,则称Y对X完全函数依赖,记作XfY,否则称为Y对X部分函数依赖,记作XpY。例如: ;
(SNO,CNO)fG(SNO,CNO)pSNAME传递函数依赖: 在R(U)中,如果X→Y,Y→Z,且X不包含Y,Y→/X,则称Z对X传递函数依赖。1NF的主要判断依据是: 每个属性是否满足原子性。2NF的主要判断依据是: 所有非键属性必须完全函数依赖于键。3NF的主要判断依据是: 属性之间不存在传递函数依赖。BCNF的主要判断依据是: 起决定作用的属性必须包含键。BCNF之前的所有范式适用于规范两个实体及其之间的关系。4NF是用来规范化三个实体之间关系的,做法一般是将模式分解为两两实体之间的关系。范式之间的关系是: 4NFBCNF3NF2NF1NF。范式是检查数据库设计是否合理的标准,函数依赖是理解范式的重要概念。各级别的范式规范,是解释数据库设计所遵循的理论的重要依据。

数据库原理及应用学习指导与上机实验——SQL Server 2012 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:数据库原理及应用学习指导与上机实验——SQL Server 2012