第2章 数据库系统的数据模型
- 格式:doc
- 大小:64.00 KB
- 文档页数:35
数 据 模 型2。
1 练习题2及参考答案1。
什么是关系?什么是关系框架?关系之间实现联系的手段是什么?什么是关系数据库?答:关系是一张二维表,即元组的集合.关系框架是一个关系的属性名表。
形式化表示为:R (A1,A2,…,An),其中:R 为关系名,Ai 为关系的属性名。
关系之间实现联系的手段是通过关系之间的公共属性来实现联系。
关系数据库是指对应于一个关系模型的所有关系的集合。
2. 某医院病房计算机管理中需如下信息:科室:科名、科地址、科电话、医生姓名 病房:病房号、床位数、所属科室名医生:姓名、职称、所属科室名、年龄、工作证号 病人:病历号、姓名、性别、诊断医生、病房号其中,一个科室有多个病房、多个医生;一个病房只能属于一个科室;一个医生只属于一个科室,但可负责多个病人的诊治;一个病人的主治医生只有一个。
设计该计算机管理系统的E-R 图.答:对应的E —R 图如图2。
1所示.第 章2图2.1 E—R图3。
学校有若干个系,每个系有若干名教师和学生;每个教师可以教授若干门课程,并参加多个项目;每个学生可以同时选修多门课程。
请设计某学校的教学管理的E-R模型,要求给出每个实体、联系的属性。
答:该学校的教学管理E-R模型有以下实体:系、教师、学生、项目、课程。
各实体属性如下:系(系编号,系名,系主任)教师(教师编号,教师姓名,职称)学生(学号,姓名,性别,班号)项目(项目编号,名称,负责人)课程(课程编号,课程名,学分)各实体之间的联系如下:教师担任课程的1:n“任课”联系教师参加项目的n:m“参加"联系学生选修课程的n:m“选修"联系系、教师和学生之间的所属关系的1:m:n“领导”联系对应的E—R模型如图2。
2所示。
第2章 数据模型3系领导项目 系编号 系名 课程编号 系主任 学生 姓名 学号 性别班号选修 教师课程任课课程名学分成绩职称参加 项目编号 负责人名称 教师编号教师姓名1m nmn 1nnm 图2。
第2章数据模型1.试述数据模型的概念、数据模型的作用和数据模型的三个要素。
解:数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。
一般地讲,数据模型是严格定义的概念的集合。
这些概念精确描述了系统的静态特性、动态特性和完整性约束条件。
因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。
(1)数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。
(2)数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
(3)数据的约束条件:是一组完整性规则的集合。
完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
2.模型的作用。
解:模型用于对客观事物及其联系进行有效的描述与刻画。
模型是对现实世界特征的模拟和抽象。
数据模型是现实世界数据特征的抽象,是用来描述数据的一组概念和定义。
不同的数据模型提供给我们模型化数据和信息的不同工具。
3.概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图(E-R图)解:实体:客观存在并可以相互区分的事物叫实体。
实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
实体集:同型实体的集合称为实体集。
属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。
码:惟一标识实体的属性集称为码。
实体联系图(E-R 图):提供了表示实体型、属性和联系的方法:·实体型:用矩形表示,矩形框内写明实体名;·属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;·联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n 或 m:n)。
不同的联系。
第二章 关系数据模型一、选择题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.在订单管理系统中,客户一次购物(一张订单)可以订购多种商品。
第2章 数据模型与概念模型一、教学目的1、使学生了解信息世界的描述方法、常见的三种数据模型。
2、使学生掌握概念模型的表示方法。
二、教学重点及难点概念模型的表示方法。
三、教学时数2h四、教学内容2.1 信息的三种世界及其描述在数据库中存储和管理的数握,都来自客观事物,那么怎样把现实世界中的客观事物抽象为能用计算机存储和处理的数据呢?这有一个逐步转化的过程,一般讲,它分为3个阶段,又称为三个世界,即现实世界、信息世界及计算机世界。
一、信息的三个世界1、现实世界现实世界即客观存在的世界。
在现实世界中客观存在着各种运动着的物质,即各种事物及事物之间的联系。
客观世界中的事物都有一些特征,人们正是利用这些特征来区分事物。
现实世界通过实体、特征、实体集及联系进行划分和认识。
⑴实体现实世界中存在的可以相互区分的事物或概念称为实体(Entity)。
实体可以分为事物实体和概念实体,例如,一个学生、一个工人、一台机器、一部汽车等是事物实体,一门课、一个班级等称为概念实体。
⑵实体的特征每个实体都有自己的特征,利用实体的特征(Entity Characteristic)可以区别不同的实体。
例如学生通过“学号”、“姓名”、“年龄”、“性别”、“所在系”几个特征来描述自己。
⑶实体集及实体集之间的联系具有相同特征或能用同样特征描述的实体的集合称为实体集(Entity Set)。
例如学生、课程等都是实体集。
实体集不是孤立存在的,实体集之间有着各种各样的联系,例如学生和课程之间有“选课”联系。
2、信息世界对现实世界中的事物及其联系进行整理、归类等综合分析,就进入信息世界。
信息世界一般通过实体联系模型(E-R图)。
“学生”和“课程”两个实体集及这两个实体集之间的联系用实体联系模型表示见图2.1所示。
3、计算机世界信息世界中的信息,经过数字化处理形成计算机能够处理的数据,就进入了计算机世界。
计算机世界也叫机器世界或数据世界。
也就是将信息世界的实体联系模型转换为符合DBMS所要求的数据模型。
第2章习题解答〖2.1〗定义并解释术语:实体实体型实体集属性码实体联系图(E-R图)数据模型答:①实体:现实世界中存在的可以相互区分的事物或概念称为实体。
②实体型:现实世界中,对具有相同性质、服从相同规则的一类事物(或概念,即实体)的抽象称为实体型。
③实体集:具有相同特征或能用同样特征描述的实体的集合称为实体集。
④属性:属性为实体的某一方面特征的抽象表示。
⑤码:也称为关键字,能够唯一标识一个实体。
⑥实体联系图(E-R图):实体联系方法(E-R图法)是用来描述现实世界中概念模型的一种著名方法,提供了表示实体集、属性和联系的方法。
⑦数据模型:一组严格定义的概念集合。
这些概念精确地描述了系统的数据结构、数据操作和数据完整性约束条件。
〖2.2〗试述数据模型的概念、数据模型的作用和数据模型的三个要素。
答:①数据模型是一组严格定义的概念集合,这些概念精确地描述了系统的数据结构、数据操作和数据完整性约束条件。
数据模型是通过概念模型数据化处理得到的。
②数据库是根据数据模型建立的,因而数据模型是数据库系统的基础。
③数据模型的三要素是数据结构、数据操作和完整性约束条件。
数据结构是所研究的对象类型的集合;数据操作是指对数据库中各种数据对象允许执行的操作集合;数据约束条件是一组数据完整性规则的集合。
〖2.3〗试述信息模型的作用。
答:信息模型是对信息世界的管理对象、属性及联系等信息的描述形式。
信息模型不依赖于计算机及DBMS,它是现实世界的真实而全面的反映。
信息模型数据化处理后可得到数据模型。
〖2.4〗试给出三个实际部门的E-R图,要求实体型之间具有一对一、一对多、多对多各种不同的联系。
答:见图。
题2.4 E-R图图中:部门和负责人间的联系是一对一的联系;一个学生可以借阅多本书,一本书只能一个人借,学生和借阅间的联系为一对多的联系;一个学生可以参加多个社会团体,一个社会团体有多个学生参加,学生和社会团体间的联系为多对多的联系。
第2章数据库系统的数据模型第二章数据库系统的数据模型本章主要内容数据库是个具有一定数据结构的数据集合,这个结构是根据现实世界中事物之间的联系来确定的。
在数据库系统中不仅要存储和管理数据本身,还要保存和处理数据之间的联系,这种数据之间联系与就是实体之间的联系。
研究如何表示和处理这种联系是数据库系统的一个核心问题,用以表示实体以及实体之间联系的数据库的数据结构称为数据模型。
本章将着重介绍一下概念模型、层次模型、网状模型、关系模型、面向对象模型等数据库系统的数据模型的基本概念和设计方法,为后面的数据库设计打下基础。
2.1 数据模型概述数据模型(Data Model)是对现实世界数据特征的抽象,是用来描述数据的一组概念和定义。
为了把现实世界的具体事物抽象、组织为某一DBMS现实世界支持的数据模型,通常首先把现实世界中的客观对象抽象认识抽象为概念模型,然后把概念模型转换为某一DBMS支持的数据模型,这一过程如图2,1所示。
概念数据模型:信息世界数据模型按不同的应用层次可划分为两类:转换 (1)概念数据模型(又称概念模型)是一种面向客观世界、面向用户的模型,独立于计算逻辑数据模型:DBMS支持的数据模型机系统的数据模型,完全不涉及信息在计算机中的表示,只是用来描述某个特定组织所关心的信息结构。
概念模型是按用户的观点对数据建模,是用户和数据设计人员之间进行交流的工具,主要是用于数据库设计。
例如E,R模型、扩充E,R模型属于这一类模型。
(2)逻辑数据模型(又称数据模型)是一种直接面向数据库系统的模型,主要用于DBMS的实现。
例如层次模型、网状模型、关系模型均属于这一类模型。
这类模型有严格的形式化定义,以便于在计算机系统中实现。
2.1.1 数据模型的基本组成数据模型是现实世界中的事物及其间联系的一种抽象表示,是一种形式化描述数据、数据间联系以及有关语义约束规则的方法。
通常一个数据库的数据模型由数据结构、数据操作和数据的约束条件三个部分组成。
(1)数据结构是指对实体类型和实现间联系的表达实现。
它是数据模型最基本的组织部分,规定了数据模型的静态特性。
在数据库系统中通常按照数据结构的类型来命名数据模型,例如,采用层次型数据结构、网状型数据结构、关系型数据结构的数据模型分别称为层次模型、网状模型和关系模型。
(2)数据操作是指对数据库进行的检索和更新(包括插入、删除和修改)两类操作。
它规定了数据模型的动态操作。
(3)数据的约束条件数据的约束条件是一组完整性规则的集合,它定义了给定数据模型中数据及其联系应具1有的制约和依赖规则。
以确保数据库中数据的正确性、有效性和相容性。
2.1.2 数据模型的发展20世纪60年代后期,在文件系统基础上发展起来的层次模型、网状模型和关系模型等传统数据模型,这些传统数据模型都是在记录的基础上定义了各自数据的基本结构、操作和完整性约束条件以及不同类型记录间的联系。
传统数据模型在数据库产生以来得到了广泛的应用,但随着数据库应用系统使用范围的不断扩大,传统数据模型中这种过于面向机器实现、模拟现实世界的能力不足、语义贫乏等弱点日益突出,导致抽象级别更高、表达能力更强的新型数据模型即非传统数据模型的发展。
例如20世纪70年代后期产生的E,R数据模型是一种概念模型,它提供了丰富的语义和直接模拟现实世界的能力,且具有直观、自然、易于用户理解等优点。
以及CAD/CAM、CASE等专用概念数据模型的产生。
由于数据库新的应用不断扩大,对数据模型的要求也越来越多。
附着新一代数据库研究工作的不断深入,20世纪80年代以来又相继推出面向对象数据模型、基于逻辑的数据模型等新的模型。
下面几节我们将着重对概念模型、传统数据模型、面向对象数据模型进行讨论。
2.2 E,R数据模型概念模型是从现实世界到数据世界的一个中间层次,是数据库设计人员进行数据库设计的重要工具。
长期以来在数据库设计中广泛使用的概念模型当属是E,R数据模型。
2.2.1 基本概念E,R数据模型(即Entity-Relationship data model,实体,联系数据模型)是P. Chen(Peter Pin-Shan Chen)于1976年提出的一种语义数据模型。
E-R数据模型不同于传统数据模型,它不是面向实现,而是面向现实世界。
设计E-R数据模型的目标是有效和自然地模拟现实世界,而不是它在机器中如何实现,因此E-R数据模型只应包含那些对描述现实世界有普遍意义的抽象概念。
下面介绍一下E-R数据模型的3个抽象概念。
1)实体(Entity)实体是客观存在的且可以区别的事物。
现实世界是由各种各位的实体组成。
实体可以是有生命的,也可以是无生命的;可以是具体的,也可以是抽象的;可以是物理上存在的,也可以是概念性的。
例如学生、教师、文化艺术、梦、兴趣等等都是实体。
所以凡是可以互相区别又可以被人们识别的事、物、概念等统统抽象为实体。
在数据库设计中,人们常常关心的是具有相同性质的实体的集合。
这种具有相同性质的一类实体的集合称为实体集。
例如全校学生的集合组成学生实体集。
实体集中的各个实体是借助实体标识符(称关键字)加以区别的。
在E,R数据模型中,也有型与值之分;实体集作为型来定义,而每一个实体是它的实例或值。
2)联系(Relationship)实体之间会有各种关系,例如学生实体与课程实体之间可能有选课关系,教师实体与学生实体之间可能有讲授关系等。
这种实体与实体间的关系抽象为联系。
根据参与联系的实体个数n的不同,通常将联系分为如下几类:(1)二元联系只有两个实体参与的联系称为二元联系,这是现实世界大量存在的联系。
在二元联系中,E,R数据模型又把联系区分为一对一(1:1)、一对多(1:n)、和多对多(m:n)三种。
, 一对一(1:1)联系若两个实体集中E、E中的每一个实体至多和另一个实体集中的一个实体有联系,则122称E和E是一对一的联系,记为1:1。
12例如,学校实体集与校长实体集间的联系是一对一联系。
, 一对多(1:n)联系设两个实体集E、E,若E中每一个实体与E中任意个实体(包括零个)相联系,而1212E中每个实体至多和E中一个实体有联系,则称E和E是一对多的联系,记为1:n。
2112例如,系实体集与教师实体集、班长与同学之间是一对多联系。
, 多对多(m:n)联系设两个实体集E、E,若E中每一个实体都和另一个实体集中任意个实体(包括零个)121有联系,则称E和E是多对多的联系,记为m:n。
12例如,教师实体集T与课程实体集C间是一对多联系。
因为教师实体集T中的某个教师可能讲授一门课程或几门课程,也可能不讲课;因为课程实体集C中的一门课程可能由一个教师或几个教师讲授。
再如:学生与课程、供应商与商品等m:n 都是m:n联系。
1:1联系是1:n联系的特例,而1:n联系又是m:n联系1:n 的特例。
它们之间是包含关系。
如图2,2所示。
1:1 (2)多元联系在E,R数据模型中,二元联系这种表示方法还可推广到多元联系,即参与联系的实体个数n?3。
例如,三元联系也可区分1:1:1、1:1:p、1:n:p、m:n:p等联系。
(3)自反联系表示同一个实体集两部分实体之间的联系,是一种特殊的二元联系。
这两部分实体之间的联系也可以区分为1:1、1:n和m:n三种。
例如,在“人”这个实体集中存在夫妻之间的1:1联系;教师实体集中为了描述领导与被领导关系,可用1:n 联系描述;在课程实体集中存在一门课程与另外一门或几门课程之间的预选课联系。
3)属性实体或联系所具有的特征称为属性。
实体是由特征来表征和区分的,通常一个实体可以由多个属性来描述。
例如,学生具有姓名、学号等属性。
, 一个实体可以有若干个属性,但在数据库设计中通常只选择部分数据管理需要的属性。
, 属性往往是来可再细分的原子属性,如姓名、性别等。
, 属性有型和值的区别。
例如,学生实体中的学号、姓名等属性名是属性型,而“021231142”、“李定”等具体数据称为属性值。
, 每个属性值都有一定的变化范围,通常称属性取值的变化范围为属性值的域。
例如,性别属性域是男、女,年龄属性域是1~200。
, 能唯一标识实体集中某一实体的属性或属性组称为实体集的标识关键字或称关键字。
2.2.2 E,R图E,R图是E,R数据模型的图形表示法,是一种直观表示现实世界的有力工具,目前E-R图已用于数据库的概念设计。
31)E,R图的表示方法用矩形框表示实体集,矩形框中是实体集名。
实体集名用菱形表示联系,菱形框中是联系名。
与其相关的实体集之间用无向边连接,连线边上标明联系类型。
联系用椭圆表示属性,并用无向边连向与其相关的实体集或联系。
属性在E,R图,为了突出实体集之间的联系,通常采用略去实体集或联系的属性的E,R简图来表示。
上述提到的几种联系的E,R简图如图2,3、图2,4所示。
校长系部教师 1 1 1 m 1 m人教师夫妻课程负责领导聘任教学预选1 n n 1 n n 学校教师学生图2,3 二元联系E,R简图图2,4 自反联系E,R简图2)E,R图的构成规则(1)画出实体集及它们之间的联系, 如果实体集A中实体之间有联系A,A,则可根据联系类型的不同,分别用图2,5的(a)、(b)、(c)表示。
m 1 1 A A-A A A-A A A-An n 1(a)A,A联系类型为1:1 (b)A,A联系类型为1:n (c)A,A联系类型为m:n图2,5 实体集A中实体之间的联系, 如果实体集A和实体集B之间有联系A,B,则可根据联系类型的不同,分别用图2,6的(a)、(b)、(c)表示。
A A A 1 1 mA-B A-B A-B1 n nB B B(a)A,B联系类型为1:1 (b)A,B联系类型为1:n (c)A,B联系类型为m:n图2,6 实体集A和实体集B之间的联系, 如果三个上实体集之间有联系,则可根据其联系类型画出E,R图。
为简单起见,这里以三个实体集A、B、C及其联系A-B-C为例,根据它们之间联系类型的不同分别用图2,7的(a)、(b)、(c)表示。
4A A A A1 m 1 1A-B-C A-B-C A-B-C A-B-C1 1 n p 1 n p pB C B C B B C C(a)A-B-C联系类型为1:1:1 (b)A-B-C联系类型为1:1:p (c)A-B-C联系类型为1:n:p (d)A-B-C联系类型为m:n:p图2,7 实体集A、实体集B和实体集C之间的联系(2)画出实体集及联系的属性用无向边把属性框连向与其相关的实体集或联系。
在E,R图中有些属性连线上加有短垂线,表示该属性是实体标识关键字或标识关键字的一部分。
例如学校和教师实体集间存在聘任联系,联系有“聘任日期”属性,则一个描述学校和教师实体集及其联系的E,R图如图2,8所示。