第3章关系代数与关系数据库理论
- 格式:docx
- 大小:25.10 KB
- 文档页数:3
《数据库原理》课程教学大纲课程代码:090131118课程英文名称:Principles of Database课程总学时:48 讲课:40 实验(上机):8适用专业:信息与计算科学大纲编写(修订)时间:2017.11一、大纲使用说明(一)课程的地位及教学目标数据库原理是全面介绍数据库理论的一门基础课程,数据库技术已经成为计算机信息系统与应用系统的核心技术和重要基础,信息与计算技术都离不开数据库。
因此《数据库原理》已经成为我们信息与计算科学专业的专业必修课之一。
(二)知识、能力及技能方面的基本要求1. 基本知识:要求学生能够掌握数据库相关基本知识。
例如掌握数据模型、数据库系统构成、SQL语句等。
2. 基本理论和方法:关系数据库、关系数据理论、数据库系统维护和数据库设计等。
3. 基本技能:学生能够应用数据库设计技术、规范化理论、E-R图的绘制、SQL语言等技术设计和解决数据库应用管理系统方面的问题,具有相关的应用技术和能力。
(三)实施说明1.教学方法:课堂讲授中要重点对基本概念、基本方法和解题思路的讲解;采用启发式教学,培养学生思考问题、分析问题和解决问题的能力;引导和鼓励学生通过实践和自学获取知识,培养学生的自学能力;增加讨论课,调动学生学习的主观能动性;注意培养学生提高利用标准、规范及手册等技术资料的能力。
讲课要联系实际并注重培养学生的创新能力。
2.教学手段:在教学中采用电子教案及多媒体教学系统等先进教学手段,结合实际的软件环境,动手实践,以确保在有限的学时内,全面、高质量地完成课程教学任务。
3.课程各章节内容在重点、深度和广度方面的说明:1) SQL语言的讲解为全书的重点,学生必须掌握。
2)第五部分重点为关系数据库的规范化的几个范式,数据依赖的公理系统,模式的分解为较高要求,可视学生理解情况删减。
3)课程内容中带星号的部分为较高要求,可酌情省略。
4)本课可安排一定的用高级语言实际开发存取数据库的应用程序的内容,让学生切身体会数据库的作用。
数据库系统概论复习资料:第一章:一选择题:1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
在这几个阶段中,数据独立性最高的是阶段。
A.数据库系统 B.文件系统 C.人工管理 D.数据项管理答案:A2.数据库的概念模型独立于。
A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界答案:A3.数据库的基本特点是。
A.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余大,易移植 (4)统一管理和控制B.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制C.(1)数据可以共享(或数据结构化) (2)数据互换性 (3)数据冗余小,易扩充 (4)统一管理和控制D.(1)数据非结构化 (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制答案:B4. 是存储在计算机内有结构的数据的集合。
A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构答案:B5.数据库中存储的是。
A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息答案:C6. 数据库中,数据的物理独立性是指。
A.数据库与数据库管理系统的相互独立 B.用户程序与DBMS的相互独立C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D.应用程序与数据库中数据的逻辑结构相互独立答案:C7. .数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指。
A.同一个应用中的多个程序共享一个数据集合 B.多个用户、同一种语言共享数据C.多个用户共享一个数据文件D.多种应用、多种语言、多个用户相互覆盖地使用数据集合答案:D8.数据库系统的核心是。
A.数据库B.数据库管理系统C.数据模型D.软件工具答案:B9. 下述关于数据库系统的正确叙述是。
A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据答案:A10.将数据库的结构划分成多个层次,是为了提高数据库的①和②。
数据库系统概论复习重点第一章绪论1.数据库系统的基本概念:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员构成。
2.数据库管理系统的主要功能:数据定义功能、数据操作功能、数据库的运行管理、数据库的建立和维护。
3.数据模型的分类:概念模型、逻辑模型。
4.概念模型的表示:层次模型、网状模型、关系模型、面向对象模型、对象关系模型。
5.数据管理技术的产生和发展经历的三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。
6.实体是现实世界中客观存在,且能相互区别的。
7.数据模型的组成要素:数据结构、数据操作、数据的完整性的约束条件。
8.DBS包括DB和DBMS,而DB与DBSM是相互独立的。
9.概念模型独立于操作。
10.数据库三级结构有利于保证数据的安全性和独立性。
11.数据库物理存储视图为内模式12.用户通过DML语言对数据进行操作,其实是在操作外模式中的记录。
13.数据库系统的三级模式结构:外模式、模式、内模式。
14.有了“模式/内模式映像”可以保证数据的物理独立性。
15.数据库系统的核心是——数据库。
16.数据库系统的三级模式存在有二级映像,使之可以有较高的数据独立性。
17.数据库的外部存储方法和存储设备变化不影响逻辑结构,这种情况为物理数据独立性。
第二章关系数据库1.本章重点:关系数据库概念,可以用关系表达式来表达实际问题,可以用元祖表达式来表达实际问题,可以用域表达式来表达实际问题。
可以将这三种表达式相互转换。
2.关系代数运算:并、交、笛卡儿积、选择、投影。
3.常用的关系运算:关系代数、关系演算。
5.“列”可以出自一个域。
6.DBMS和OS之间的关系是:DBMS可以调用OS。
7.关系演算谓词变元可分为:元祖关系、演算关系、域关系演算。
8.若Sno由八位数组成,则此种情况称为:用户定义完整性。
9.一般情况下“R”“S”连接,则“R”“S”必有相同的属性。
数据库中的关系代数理论关系数据库是现代计算机科学中最重要的一部分。
管理数据和信息,为构建复杂的应用程序提供了基础平台。
关系数据库是结构化数据库管理系统(DBMS)中最常见的一种,这是一种基于关系模型的数据存储方式。
在一个关系数据库中,您将数据组织成表,其中每个表代表一种特定的实体类型。
每个表都有列,这些列表示该实体的属性。
这些表还关联到其他表,以描述实体之间的复杂关系。
但是,如何处理这些关系呢?这时候就需要用到关系代数。
首先,关系代数定义了一些基本操作,如选择、投影和连接,它们允许我们处理和组合关系。
下面是这些操作的详细介绍。
选择选择操作允许您从一个表中选择满足特定条件的行。
具体来说,选择操作使用一个称为谓词的条件,该条件根据表中的值评估为true或false。
只有评估为true的所有行才会出现在结果中。
例如,在一个包含所有员工的表中,如果您只想选择属于某个部门的员工,您可以使用选择操作。
投影投影操作允许您从表中选择出特定的列,并形成新的表。
例如,在一个包含所有员工的表中,如果您只需要显示雇员姓名和薪金,您可以使用投影操作。
连接连接操作允许您将两个表中符合特定条件的行结合起来。
通常,连接的一个条件是两个表都具有相同的列,例如,同一个公司中的两个部门各自有一个“负责人”列,这些列应该匹配为连接条件。
连接的结果是一个新表,其中包含两个原始表的所有列。
容易理解的关系代数操作是以上面三个基本操作的组合方式。
这种组合形成了一些额外的操作,例如集合操作,并且可以创建更复杂的查询和分析。
例如,您可以将选择和投影操作结合起来来查找所有工资超过某个金额的员工的姓名和薪资。
另一个广泛使用的操作是聚合操作。
聚合允许您在行组之间执行操作,然后将单个值返回给结果表。
这些操作包括计算平均值、求和、最大值、最小值等。
例如,您可以找到平均工资最高的部门,这需要将工资字段加起来,然后通过部门表将结果分组。
总之,关系代数是关系数据库的核心理论。
数据库系统概论复习资料:第一章:三:简答题:1. 什么是数据库?答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。
数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。
因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。
2. 什么是数据库的数据独立性?答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。
当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。
物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。
3. 什么是数据库管理系统?答:数据库管理系统(DBMS)是操纵和管理数据库的一组软件,它是数据库系统(DBS)的重要组成部分。
不同的数据库系统都配有各自的DBMS,而不同的DBMS各支持一种数据库模型,虽然它们的功能强弱不同,但大多数DBMS的构成相同,功能相似。
一般说来,DBMS具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言及其翻译程序、数据操纵语言及其处理程序和数据库管理的例行程序。
4. 什么是数据字典?数据字典包含哪些基本内容?答:数据字典是数据库系统中各种描述信息和控制信息的集合,它是数据库设计与管理的有力工具,是进行详细数据收集和数据分析所获得的主要成果。
数据字典的基本内容有:数据项、数据结构、数据流、数据存储和处理过程5个部分。
第一章补充作业部分:假设教学管理规定:①一个学生可选修多门课,一门课有若干学生选修;②一个教师可讲授多门课,一门课只有一个教师讲授;③一个学生选修一门课,仅有一个成绩。
1.3 自测题1.3.1 填空题1.数据管理技术的发展,与__________、__________和__________有密切的联系。
2.文件系统中的数据独立性是指__________独立性。
3.文件系统的缺陷是:_________、_________和__________。
4.就信息处理的方式而言,在文件系统阶段,__________处于主导地位,_________只起着服从程序设计需要的作用;而在数据库方式下,_________占据了中心位置。
5.对现实世界进行第一层抽象的模型,称为__________模型;对现实世界进行第二层抽象的模型,称为__________模型。
6.层次模型的数据结构是__________结构;网状模型的数据结构是__________结构;关系模型的数据结构是__________结构;面向对象模型的数据结构之间可以__________。
7.在层次、网状模型中,用__________导航数据;而在关系模型中,用__________导航数据。
8.数据库的三级模式结构是对__________的三个抽象级别。
9.DBMS为应用程序运行时开辟的DB系统缓冲区,主要用于__________和__________。
10.在数据库技术中,编写应用程序的语言仍然是C一类高级语言,这些语言被称为__________语言。
11.在DB的三级模式结构中,数据按__________的描述提供给用户,按__________的描述存储在磁盘中,而__________提供了连接这两级的相对稳定的中间观点,并使得两级中的任何一级的改变都不受另一级的牵制。
12.层次、网状的DML属于________语言,而关系型DML属于_________语言。
13.DBS中存放三级结构定义的DB称为__________。
1.3.2 单项选择题(在备选答案中选出一个正确答案)1.在DBS中,DBMS和OS之间关系是[ ] A.并发运行B.相互调用C.OS调用DBMS D.DBMS调用OS2.在数据库方式下,信息处理中占据中心位置的是[ ] A.磁盘 B.程序 C.数据 D.内存3.DB的三级体系结构是对_________抽象的三个级别。
第三章关系数据库一、单项选择题1、实体是信息世界中的术语,与之对应的关系数据库术语为(A)。
A、元组B、数据库C、字段D、文件2、关系数据表的主关键字由(D)个字段组成。
A、一个B、两个C、多个D、一个或几个3、在概念模型中,一个实体集对应于关系模型中的一个(D)。
A、元组B、字段C、属性D、关系4、下列叙述中,(A)是不正确的?A、一个关系中可以出现相同的行B、关系中的列称为属性C、关系中的行称为元组D、属性的取值范围称为域5、下列关于关系模式的码的叙述中,(C)是不正确的?A、从候选码中选出一个作为主码,在关系中只能有一个主码B、主码可以是单个属性,也可以是属性组C、在关系中只能有一个候选码D、若一个关系模式中的所有属性构成码,则称为全码6、关于关系模式的关键字,以下说法正确的是(B)。
A、一个关系模式可以有多个主关键字B、一个关系模式可以有多个侯选关键字C、主关键字可以取空值D、关系模式必须有主关键字7、在关系数据库中,关系是指(D)。
A、视图B、属性C、实体D、二维表8、如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示(A)。
A、所有可能选课的情况B、所有学生选部分课程的情况C、所有课程被部分学生选课的情况D、均不是9、如果集合A含2个元素,集合B含3个元素,则A与B的笛卡尔积包含(B)个元素。
A、2B、6C、3D、510、数据的完整性是指(C)。
A、数据的存储和使用数据的程序无关B、防止数据被非法使用C、数据的正确性、一致性D、减少重复数据11、关系模型中有三类基本的完整性约束,定义外部关键字实现的是(C)。
A、实体完整性B、域完整性C、参照完整性D、实体完整性、参照完整性和域完整性12、某表的性别字段只能输入男或女,属于(B)约束。
A、实体完整性B、域完整性C、参照完整性D、实体完整性、参照完整性和域完整性113、关系代数运算是以(C)为基础的运算。
A、关系运算B、谓词演算C、集合运算D、代数运算14、对关系s和关系r进行集合运算,结果中既包含s中元组也包含r中元组,这种集合运算称为(A)。
数据库系统概论复习资料:第一章:10. 数将数据库的结构划分成多个层次,是为了提高数据库的① B 和②B 。
①A.数据独立性 B.逻辑独立性 C.管理规范性 D.数据的共享②A.数据独立性 B.物理独立性 C.逻辑独立性 D.管理规范性13. 数据库管理系统(DBMS)是 D A.数学软件B.应用软件 C.计算机辅助设计D.系统软件14. 数据库管理系统(DBMS)的主要功能是 B 。
A.修改数据库 B.定义数据库 C.应用数据库D.保护数据库15. 数据库系统的特点是 A 、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。
A.数据共享 B.数据存储 C.数据应用 D.数据保密17. 数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作,这种功能称为 C 。
A.数据定义功能 B.数据管理功能 C.数据操纵功能 D.数据控制功能20据库系统的数据独立性是指 B 。
A.不会因为数据的变化而影响应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构 D.不会因为某些存储结构的变化而影响其他的存储结构21.信息世界中的术语,与之对应的数据库术语为 D A.文件 B.数据库 C.字段 D.记录23.传统的数据模型分类,数据库系统可以分为三种类型 C 。
A.大型、中型和小型 B.西文、中文和兼容 C.层次、网状和关系 D.数据、图形和多媒体答案:C24. 层次模型不能直接表示 C A. 1 :1关系 B.1 :m关系 C. m :n关系 D.1 :1和1 :m关系二、填空题1. 数据管理技术经历了人工管理、文件系统和数据库系统三个阶段。
第2章关系数据库一、选择题2、关系模型中,一个关键字是 C 。
A.可由多个任意属性组成 B.至多由一个属性组成C.可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成 D.以上都不是6.在关系代数运算中,五种基本运算为 C 。
第3章关系模型及关系代数关系数据库以关系模型为基础,是目前各类数据库中最重要、最流行的数据库,它应用数学方法来处理数据库数据,是目前使用最广泛的数据库系统。
1970年,IBM公司研究员E.F.Codd博士发表题为“大型共享数据库的关系模型”论文,文中首次提出关系模型,而后又发表了多篇文章提出关系代数和关系演算的概念,并于1972年提出第一范式、第二范式等关系模型的规范化理论,进一步对关系模型的概念进行完善。
【学习目标】●关系模型的三类完整性约束:实体完整性、参照完整性和用户自定义完整性●三种关系数据语言:关系代数、关系演算、基于映像的语义SQL●关系的运算:传统的集合运算和专门的关系运算●关系代数表达式3.1关系模型三要素关系模型相比非关系模型最大的优点就是其数据结构单一,实体集和实体集间联系的数据均用关系表示,数据操作方法统一,易于用户掌握和理解。
关系操作采用集合操作,即操作对象和结果都是集合。
关系模型中常用的关系操作包括:并、交、差、广义笛卡尔积、选择、投影、连接、除等查询操作和添加、删除、修改等更新操作两个部分,查询的表达能力是其最主要的部分。
关系模型提供了丰富的完整性控制机制,允许定义三类完整性约束:实体完整性、参照完整性和用户自定义完整性。
3.1.1关系数据结构1.关系的相关名词(1)关系(2)元组(3)属性(4)候选码和主码(5)主属性和非主属性2.关系的数学定义(1)域(Domain)(2)笛卡尔积(3)关系3.关系的限定关系数据库中关系要满足的基本特性如下:(1)关系中每个分量必须取原子值(2)关系中同一列的数据应具有相同的数据类型(3)关系中不能有相同的属性名(4)关系中不能有两个完全相同的元组(5)关系中的元组和列的位置具有顺序无关性4.关系模式和关系关系的结构用关系模式表示,是相对稳定,一个关系数据库的结构一旦定义好就不能随便修改;关系的数据是动态的,反映了关系在某一时刻的状态,随着数据库使用过程中对数据的更新操作,关系中的数据会实时发生变化。
关系代数是关系数据库系统查询语言的理论基础一、关系代数的9种操作:关系代数中包括了:并、交、差、乘、选择、投影、联接、除、自然联接等操作。
五个基本操作:并(∪)、差(-)、笛卡尔积(×)、投影(σ)、选择(π)四个组合操作:交(∩)、联接(等值联接)、自然联接(R S)、除法(÷)注2:等值连接表示先做笛卡尔积(×)之后,对相应列进行选择或等值关联后的结果(仅筛选行、不筛选列)注2:自然连接表示两个关系中若有相同名称的属性,则自动作为关联条件,且仅列出一列二、关系代数表达式:由关系代数运算经有限次复合而成的式子称为关系代数表达式。
这种表达式的运算结果仍然是一个关系。
可以用关系代数表达式表示对数据库的查询和更新操作。
三、举例说明:设教学数据库中有3个关系:学生关系S(SNO, SNAME,AGE,SEX)学习关系SC(SNO,O,GRADE)课程关系C(O,AME,TEACHER)(1) 检索学习课程号为C2的学生学号与成绩------------------------------------SELECT SNO,GRADEFROM SCWHERE O='C2'------------------------------------π SNO, GRADE (σ O='C2' (SC))************************************(2) 检索学习课程号为C2的学生学号与XX------------------------------------SELECT SC.SNO,S.SNAMEFROM SC,SWHERE SC.SNO=S.SNOAND SC.O='C2'------------------------------------π SNO,SNAME (σ O='C2' (S SC))此查询涉及S和SC,先进行自然连接,然后再执行选择投影操作。
数据库系统原理及MySQL应用教程(第2版)
课后习题参考答案
第3章关系代数与关系数据库理论
1、候选码:若关系中的某一属性或属性组的值能唯一地标识一个元组,则该属性或属性组为候选码。
主码:若一个关系中有多个候选码,则选定其中一个为主码
组合码:多个属性构成的主码。
外码:关系R中的一个属性组,它不是R的主属性,但它与另一个关系S中的主码相对应,则称这个属性组为R的外码或外键。
2、关系模型的完整性有三类:实体完整性,参照完整性和用户定义完整性。
实体完整性:例如学生关系中,学号为主码,则学号的值必须唯一且非空。
参照完整性:成绩关系中,学号是外码,则学号的取值必须是学生关系中学号的有效值或取空值。
3、连接运算符是“=”的连接运算称为等值连接。
它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组;自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。
4 D
5 B
6 B
7 A
8 B
9 A 10 DBC 11 B 12 D 13 C 14 B 15 C 16 C 17 D 18 A 19 D 20 C 21 B 22 A 23 AD 24 D 25 A
26 (1)不能,因为一个关系主键取值必须唯一。
表中已有主键值“09088”,所以违背了实体完整性
(2)不可以,因为专业表中为专业名称设置唯一约束;插入的新记录违背了这一完整性约束
(3)不可以,参照完整性要求外键取值必须是另一个关系主键的有效值或空值,
教师表中的专业为外键,参照专业表中的专业号,“JK”不是专业表中的主键值,所以不可以更改。
(4) 不能,因为教师表中有专业为“CS”的记录,若删除,则违背了实体完整性。
27
1)
))
(
(
女
S
ssex
sage
sname
sno'
'
20
,=
Λ
<
σ
π
2)
))
(
(
'
张晓东
'
,
C
teacher
cname
cno=
σ
π
3)
))
(
(
王明
S
SC
C
sname
grade
cname
cno
∞
∞
='
'
,
,
σ
π
4)
))
(
(SC
SC
sname
sno
⨯
≠
Λ
=5
2
4
1
,
σ
π
28、(1)基本的FD有三个:
(职工编号,日期)→日营业额
职工编号→部门名
部门名→部门经理
R的关键码为(职工编号,日期)。
(2)R中有两个这样的FD:
(职工编号,日期)→(部门名,部门经理)
职工编号→(部门名,部门经理)
可见前一个FD是局部依赖,所以R不是2NF模式。
R应分解成R1(职工编号,部门名,部门经理)
R2(职工编号,日期,日营业额)
此处,R1和R2都是2NF模式。
(3)R2已是3NF模式。
在R1中,存在两个FD:职工编号→部门名
部门名→部门经理
因此,“职工编号→部门经理”是一个传递依赖,R1不是3NF模式。
R1应分解成R11(职工编号,部门名)
R12(部门名,部门经理)这样,ρ= { R11,R12,R2 }是一个3NF模式集。
29、(1)基本的FD有:
教师编号→教师姓名,教师职称
系编号→系名称,系地址
课程号→课程名,学分
教师编号→系编号,系名称,系地址
R的关键码为(教师编号,课程号)。
部分依赖:教师编号→教师姓名,教师职称
课程号→课程名,学分
传递依赖:教师编号→系名称,教师编号→系地址
(2)设计不合理,存在插入异常,更新异常,删除异常和数据冗余
(3)规范化为R1(教师编号,教师姓名,教师职称)R2(系编号,系名称,系地址)R3(课程号,课程名,学分)。