数据库系统原理-第二章 关系数据模型
- 格式:ppt
- 大小:2.42 MB
- 文档页数:86
第一章数据库系统概述本章学习重点:1.数据库系统的三级模式结构2.数据模型中概念层模型(E-R)模型域逻辑层模型(关系模型)第一节数据库基本概念一、数据(Data):是描述事物的符号记录,是指用物理符号记录下来的、可以鉴别的信息包括数字、字母、文字、特殊字符组成的文本数据,也可以是图形、图像、动画、影像、声音、语言等多媒体数据。
例如,日常生活和工作中使用的客户档案记录、商品销售记录等都是数据二、数据库(Database,简称DB)1.定义:是长期储存在计算机中的有组织的、可共享的(大量)数据集合2.数据库中存储的数据具有永久存储、有组织和可共享三个基本特点三、数据库管理系统(Data Management System,简称DBMS)数据库管理系统产生的时期是20世纪60年代后期DBMS必须具有将数据库从错误状态恢复到某一已知的正确状态的功能,这就是数据库的故障恢复1.定义:是位于应用程序(用户)与操作系统之间的一层数据管理软件2.主要功能(1)数据定义功能:提供数据定义语言(DDL)定义数据库中的数据对象例如:表、视图、存储过程、触发器等(2)数据操纵功能:提供数据操纵语言(DML)操纵数据实现对数据库的基本操作例如:查询、插入、删除和修改(3)数据库的运行管理:保证数据的安全性(用户只能使用视图定义中的数据,而不能使用视图定义外的其它数据)、完整性(数据的正确性、有效性和相容性,防止错误的数据进入数据库)、多用户对数据的并发使用以及发生故障后的系统恢复(4)数据库的建立和维护功能:创建数据库及对数据库空间的维护、数据库的备份与恢复功能、数据库的重组织功能和性能监视、分析等数据库恢复采用的方法:建立检查点、建立副本、建立日志文件(5)数据组织、存储和管理功能例如:索引查找、顺序查找(6)其他功能:主要包括与其他软件的网络通信功能、不同数据库管理系统之间的数据传输以及相互访问功能等四、数据库系统(Database System,DBS):是指在计算机中引入数据库技术之后的系统1.通常一个完整的数据库系统包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户2.数据库管理员(Database Administrator,DBA):专门负责对数据库进行维护,并保证数据库正常、高效运行第二节数据管理技术的发展一、人工管理阶段(20世纪50年代中期以前)特点:1.数据不保存2.应用程序管理数据3.数据面向应用注意:记录内无结构,整体无结构二、文件系统阶段(20世纪50年代后期到60年代中期)缺陷:数据冗余、数据不一致、数据联系弱特点:1.数据的管理者:文件系统,数据可长期保存2.数据面向的对象:某一应用程序3.数据的共享程度:共享性差、冗余度大4.数据的结构化:记录内有结构,整体无结构5.数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序6.数据控制能力:应用程序自己控制三、数据库系统阶段(20世纪60年代后期以来)特点:1.数据集成2.数据共享性高3.数据冗余度小4.数据一致性5.数据独立性高6.实施统一管理与控制7.减少应用程序开发与维护的工作量第三节数据库系统的结构一、数据库系统的三级模式结构1.模式:也称为概念模式或逻辑模式,它是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图2.外模式:也称为子模式(Subschema)或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述DBMS提供子模式描述语言(Subschema DDL)来严格地定义子模式3.内模式:也称为存储模式(Storage Schema),它是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示形式4.三级模式结构的两层映像与数据独立性(1)外模式/模式映像(逻辑独立性)(2)模式/内模式映像(物理独立性)数据独立性:不会因为系统数据库存储(物理)结构与数据逻辑结构的变化而影响应用程序二、数据库系统的运行与应用结构1.客户/服务器(Client/Server,C/S)模式(需要下载)例如:QQ、桌面客户端游戏2.浏览器/服务器(Browser/Server,B/S)模式例如:网站、在线web游戏第四节数据模型一、数据特征与数据模型组成要素1.数据结构:描述的是系统的静态特性及数据对象的数据类型、内容、属性以及数据对象之间的联系2.数据操作:描述的是系统的动态特性,是对各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则3.数据约束:描述数据结构中数据间的语法和语义关联,包括相互制约与依存关系以及数据动态变化规则,以保证数据的正确性,有效性与相容性二、数据模型的分类1.概念层数据模型(1)信息世界中的基本概念A.实体(Entity): 客观存在并可相互区别的事物称为实体,可以是具体的人、事、物或抽象的概念,B.属性(Attribute):实体所具有的某种特性称为实体的属性,一个实体可以由多个属性来描述C.码或键(Key):唯一标识实体的属性集称为码D.域(Domain):属性的取值范围称为该属性的域E.实体型(Entity Type):用实体名及其属性名集合来抽象和刻画同类实体,称为实体型F.实体集(Entity Set):同型实体的集合称为实体集G.联系(Relationship):现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系实体型间联系:★一对多1:N★一对一1:1★多对多N:M(2)概念模型的表示方法概念模型:用来描述现实世界的事物,与具体的计算机系统无关表达用户需求观点的数据全局逻辑结构的模型最典型的概念模型是实体联系(E-R)2.逻辑层数据模型(1)层次模型(2)网状模型(3)关系模型(4)面向对象模型在面向对象技术中,相同元素的有序集合,并且允许有重复的元素的复合数据类型是列表类型3.物理层数据模型:也称为数据的物理模型(Physical Model),其描述数据在存储介质上的组织结构,是逻辑模型的物理实现,即每一种逻辑模型在实现时都有与其相对应的物理模型逻辑模型是从数据库实现的观点出发,对数据建模第二章关系数据库本章学习重点:1.关系数据库的相关概念2.关系规范化理论,各个范式之间的转化关系第一节关系数据库概述系统而严格地提出关系模型的是美国IBM公司的E.F.Codd1.1970年提出关系数据模型2. E.F.Codd在1970年发表了论文《Communication of the ACM》3.之后,提出了关系代数和关系演算的概念4.1972年提出了关系的第一、第二、第三范式5.1974年提出了关系的BC范式关系数据库应用数学方法来处理数据库中的数据80年代后,关系数据库系统成为最重要、最流行的数据库系统典型实验系统:System R、University INGRES典型商用系统:ORACLE(占有率最高)、SYBASE、INFORMIX、IBM DB2课程中使用的是MySQL第二节关系数据模型一、关系数据结构关系模型的数据结构非常简单,只包含单一的数据结构,即关系基本术语:1.表(Table):表,也称为关系,是一个二维的数据结构,它由表名构成表的各个列(如学号、姓名等)及若干行数据(各个学生的具体信息)组成。
第2章关系数据库一、选择题1、关于关系模型,下列叙述不正确的是()。
A. 一个关系至少要有一个候选码B. 列的次序可以任意交换C. 行的次序可以任意交换D. 一个列的值可以来自不同的域2、下列说法正确的是()。
A. 候选码都可以唯一地标识一个元组B. 候选码中只能包含一个属性C. 主属性可以取空值D. 关系的外码不可以取空值3、关系操作中,操作的对象和结果都是()。
A. 记录B. 集合C. 元组D. 列4、假设存在一张职工表,包含“性别”属性,要求这个属性的值只能取“男”或“女”,这属于()。
A. 实体完整性B. 参照完整性C. 用户定义的完整性D. 关系不变性5、有两个关系R(A, B, C)和S(B, C, D),将R和S进行自然连接,得到的结果包含几个列()A. 6B. 4C. 5D. 2二、判断题1、关系模型的一个特点是,实体以及实体之间的联系都可以使用相同的结构类型来表示。
()2、关系模型中,非主属性不可能出现在任何候选码中。
()3、关系模式是对关系的描述,关系是关系模式在某一时刻的状态或内容。
()三、填空题1、在关系模型中,关系操作包括查询、____________、____________和_____________等。
2、关系模型的三类完整性约束是指______________、_______________和_____________。
3、关系模型包括8种查询操作,其中__________、_________、并、________和笛卡儿积是5种基本操作,其他操作可以用基本操作定义和导出。
4、职工(职工号,姓名,年龄,部门号)和部门(部门号,部门名称)存在引用关系,其中________________是参照关系,____________是外码。
四、综合题假设有一个数据库包含以下关系模式:Teacher(Tno, Tname, Tage, Tsex)Department(Dno, Dname, Tno)Work(Tno, Dno,Year, Salary)教师表Teacher由教师代码Tno、教师名字Tname、教师年龄Tage、教师性别Tsex组成。
数据库系统概论第二章笔记一、关系数据结构及形式化定义。
1. 关系的定义。
- 关系是一个元组的集合。
在关系数据库中,关系以二维表的形式表示。
例如,一个学生关系(表)可能包含学号、姓名、年龄等列,每一行(元组)代表一个学生的信息。
- 关系模式是对关系的描述,包括关系名、组成该关系的属性名集合等。
例如,学生(学号,姓名,年龄)就是一个关系模式。
2. 关系的性质。
- 列是同质的,即每一列中的数据类型相同。
比如学生关系中的年龄列都是数值类型。
- 不同列可出自同一个域,例如学生关系中的性别列和另一个关系中的人员性别列都来自{男,女}这个域。
- 列的顺序无所谓,行的顺序也无所谓。
这意味着在关系中调整列或行的顺序不影响关系的本质。
- 关系中的任意两个元组不能完全相同。
3. 关系的完整性约束。
- 实体完整性。
- 主属性(组成主键的属性)不能为空值(NULL)。
例如在学生关系中,如果学号是主键,那么每个学生的学号必须有确定的值,不能为NULL。
这是为了保证实体的可区分性。
- 参照完整性。
- 设F是基本关系R的一个或一组属性,但不是关系R的码,K是基本关系S的主码。
如果F与K相对应,则称F是R的外码,并称基本关系R为参照关系,基本关系S为被参照关系。
参照关系中的外码值或者为空值,或者是被参照关系中某个元组的主码值。
例如,选课关系(学号,课程号,成绩)中的学号是参照学生关系(学号,姓名,年龄)中学号的外码,选课关系中的学号值必须是学生关系中存在的学号或者为空值(如果允许未注册学生选课的特殊情况)。
- 用户定义完整性。
- 这是针对某一具体应用环境下的关系数据库所制定的约束条件。
例如,学生的年龄可能被限制在一定范围内(如15 - 40岁),成绩可能被限制在0 - 100分之间等。
二、关系代数。
1. 传统的集合运算。
- 并(Union)- 关系R和关系S具有相同的目n(即两个关系都有n个属性),相应的属性取自同一个域。
R∪S是由属于R或属于S的元组组成的集合。
A .外码C.主码第二章关系数据库一、选择题:1、对于关系模型叙述错误的是_ _。
A •建立在严格的数学理论、集合论和谓词演算公式基础之一B •微机DBMS绝大部分采取关系数据模型C •用二维表表示关系模型是其一大特点D •不具有连接操作的DBMS也可以是关系数据库管理系统2、关系模式的任何属性 _______ 。
A •不可再分B •可再分C •命名在该关系模式中可以不唯一D •以上都不是3、在通常情况下,下面的表达中不可以作为关系数据库的关系的是 _________ 。
A . R1 (学号,姓名,性别)B. R2 (学号,姓名,班级号)C. R3 (学号,姓名,宿舍号)D . R4 (学号,姓名,简历)4、关系数据库中的码是指。
A .能唯一关系的字段B.不能改动的专用保留字C.关键的很重要的字段 D •能惟一表示元组的属性或属性集合5、根据关系模式的完整性规则,一个关系中的“主码”。
A •不能有两个B.不能成为另外一个关系的外码C.不允许为空 D •可以取值6关系数据库中能唯一识别元组的那个属性称为___________ oA •唯一性的属性B.不能改动的保留字段C.关系元组的唯一性 D •关键字段7、在关系R (R#,RN,S#)和S (S#,SN,SD)中,R的主码是R#,S的主码是S#,贝U S#在R 中称为oB.候选码D .超码8、关系模型中,一个码是 ______ oA .可由多个任意属性组成B. 至多由一个属性组成C. 可由一个或多个其值能唯一标识该关系模式中任意元组的属性组成D. 以上都不是9、一个关系数据库文件中的各条记录—A .前后顺序不能任意颠倒,一定要按照输入的顺序排列B .前后顺序可以任意颠倒,不影响库中的数据关系C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果可能不同D .前后顺序不能任意颠倒,一定要按照码段的顺序排列10、关系数据库管理系统应能实现的专门关系运算包括一A .排序、索引、统计B.选择、投影、连接C.关联、更新、排序 D .显示、打印、制表11、同一个关系模型的任意两个元组值—A .不能全同B.可全同C.必须全同 D .以上都不是C. i (r j)(R S)D. i j(R S)B.笛卡儿积操作D .无意义的操作12、自然连接是构成新关系的有效方法。
第二章 关系数据模型一、选择题1.常见的数据模型是A.层次模型、网状模型、关系模型B.概念模型、实体模型、关系模型C.对象模型、外部模型、内部模型D.逻辑模型、概念模型、关系模型答案:A2. 一个结点可以有多个双亲,结点之间可以有多种联系的模型是A.网状模型B.关系模型C.层次模型D.以上都有答案:A3.层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系答案:D4.层次模型不能直接表示A)1:1关系B)1:m关系C)m:n关系D)1:1和1:m关系答案:C5.层次数据模型的基本数据结构是A.树B.图C.索引D.关系答案:A6.层次模型实现数据之间联系的方法是A.连接B.指针C.公共属性D.关系答案:B7.用二维表结构表示实体以及实体间联系的数据模型称为A.网状模型B.层次模型C.关系模型D.面向对象模型答案:C8.关系数据模型的基本数据结构是A.树B.图C.索引D.关系答案:D9.下面关于关系性质的说法,错误的是A.表中的一行称为一个元组B.行与列交叉点不允许有多个值C.表中的一列称为一个属性D.表中任意两行可能相同答案:D10.下列所述数据模型概念,不正确的是A)不同记录型的集合B)各种记录型及其联系的集合C)E-R图表示的实体联系模型D)数据库的概念模型答案:A11.关系数据模型A)只能表示实体之间1:1联系B)只能表示实体之间1:m联系C)只能表示实体之间m:n联系D)可以表示实体间的任意联系答案:D12.存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,简化程序员和数据库开发建立工作的模型是A.网状模型B.关系模型C.层次模型D.以上都有答案:B13.对关系模型叙述错误的是A)在严格的数学理论、集合论和谓词基础之上B)微机DBMS绝大部分采取关系数据模型C)用二维表表示关系模型是其一大特点D)不具有连接操作的DBMS也可以是关系数据库系统答案:D14.关系数据模型是目前最重要的一种数据模型,它的三个要素分别是A.实体完整性、参照完整性、用户自定义完整性B.数据结构、关系操作、完整性约束C.数据增加、数据修改、数据查询D.外模式、模式、内模式答案:B15.实体是信息世界中的术语,与之对应的数据库术语为A)文件B)数据库C)字段D)记录答案:D16.同一个关系模型的任两个元组值A)不能全同B)可全同C)必须全同D)以上都不是答案:A17.在通常情况下,下面关系中不可以作为关系数据库的关系是A)R1(学生号,学生名,性别)B)R2(学生号,学生名,班级号)C)R3(学生号,学生名,宿舍号)D)R4(学生号,学生名,简历)答案:D18.一个关系数据库文件中的各条记录A)前后顺序不能任意颠倒,一定要按照输入的顺序排列B)前后顺序可以任意颠倒,不影响库中的数据关系C)前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同 D)前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列答案:B19.下面的选项不是关系数据库基本特征的是A. 不同的列应有不同的数据类型B. 不同的列应有不同的列名C. 与行的次序无关D. 与列的次序无关答案:A20.关系模式的任何属性A)不可再分B)可再分C)命名在该关系模式中可心不惟一D)以上都不对答案:D21.关系中任何一列的属性取值A)可以再分成更小的数据项,并可取自不同域中的数据B)可以再分成更小的数据项,不能取自不同域 中的数据C)不可再分的数据项,只能取自同一域 中的数据D)不可再分的数据项,可取自大在不同域中数据答案:C22.关系模型中,一个关键字是A)可由多个任意属性组成B)至多由一个属性组成C)可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成D)以上都不是答案:C23.关系数据库中的关键字是指A)能惟一决定关系的字段B)不可改动的专用保留字C)关键的很重要的字段D)能惟一标识元组的属性或属性集合答案:D24.一个关系只有一个A. 候选关键字B.外关键字C.超关键字D.主关键字答案:D25.关系模型中,一个关键字是A. 可以由多个任意属性组成B. 至多由一个属性组成C. 由一个或多个属性组成,其值能够惟一标识关系中一个元组D. 以上都不是答案:C26.有一名为”销售”实体,含有:商品名、客户名、数量等属性,该实体主键A)商品名B)客户名C)商品名+客户名D)商品名+数量答案:C27.有殒为”列车运营”实体,含有:车次、日期、实际发车时间、实际抵达时间、情况摘要等属性,该实体主键是A)车次B)日期C)车次+日期D)车次+情况摘要答案:C28.在订单管理系统中,客户一次购物(一张订单)可以订购多种商品。
;3.简述如下概念,并说明它们之间的联系与区别:。
(1)域,笛卡尔积,关系,元组,属性答:域:域是一组具有相同数据类型的值的集合。
笛卡尔积:给定一组域D1,D2,…,Dn,这些域中可以有相同的。
这组域的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n }其中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)。
元素中的每一个值di叫作一个分量(Component)。
关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)元组:关系中的每个元素是关系中的元组。
属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。
由于域可~以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。
(2)超码,主码,候选码,外码答:超码:对于关系r的一个或多个属性的集合A,如果属性集A可以唯一地标识关系r中的一个元组,则称属性集A为关系r的一个超码 (superkey) 。
候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。
主码:若一个关系有多个候选码,则选定其中一个为主码(Primary key)。
外码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S 的主码Ks相对应,则称F是基本关系R的外码(Foreign key),简称外码。
基本关系R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。
关系R和S可以是相同的关系。
(3)关系模式,关系,关系数据库}答:关系模式:关系的描述称为关系模式(Relation Schema)。