完整版数据库原理课后题答案文档格式.docx
《完整版数据库原理课后题答案文档格式.docx》由会员分享,可在线阅读,更多相关《完整版数据库原理课后题答案文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
外模式涉及的是数据的内部逻辑结构,通常是模式的子集。
内模式,亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。
数据库系统的三级模式是对数据的三个抽象级别,它对数据的具体组织留给
DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。
为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:
外模式/模式映像和模式/内模式映像。
正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
7.定义并解释下列术语。
外模式:
亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
内模式:
亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。
模式:
亦称逻辑模式,是数据库中全体数据逻辑结构和特征的描述,是所有用户的公共数据视图。
外模式涉及的是数据的内部逻辑结构,通常是模式的子集。
DDL数据库定义语言,用来定义数据库模式、外模式、内模式的语言。
DML:
数据操纵语言,用来对数据库中数据进行查询、插入、删除和修改的语句。
8.什么叫数据与程序的物理独立性?
什么叫数据与程序的逻辑独立性?
为什么数据库系统具有数据与程序的独立性?
数据与程序的逻辑独立性:
当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员各个外模式/模式的映像做相应改变,可以使外模式保持不变。
应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
数据与程序的物理独立性:
当数据库的存储结构改变了,有数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。
数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性。
第2章数据模型
3.试描述数据模型的三个要素。
数据模型由数据结构、数据操作和完整性约束三部分组成。
(1)数据结构:
是所研究的对象类型的集合,是对系统静态特性的描述。
(2)数据操作:
是对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
(3)数据的约束条件:
是一组完整性规则的集合。
完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
7.试述关系模型的概念,定义并解释以下术语。
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
(1)关系:
一个关系对应通常说法的一张表
(2)关系模式:
对关系的描述,一般表示为:
关系名(属性1,属性2,…,属性n)
(3)元祖:
表中的一行即为一个元组
(4)属性:
表中的一列即为一个属性
(5)码:
表中的某个属性组,它可以惟一确定一个元组
(6)域:
属性的取值范围
(7)分量:
元组中的一个属性值
第3章关系数据库
3.定义并理解下列术语,说明它们之间的联系与区别。
(1)域:
域是一组具有相同数据类型的值的集合;
笛卡儿积:
给定一组域D1,D2,…,Dn,这些域中可以有相同的。
D1,D2,…,Dn的笛卡尔积为:
D1XD2X-XD(h={,d2,…,dn)|di€Di,i=1,2,…,
n}其中每一个元素(di,d2,…,dn)叫做一个n元组或简称元组。
元素中的每一个值di叫做一个分量。
关系:
在域Di,D2,…,Dn上笛卡尔积DiXD2X---X)n的子集称为关系,表示为R(Di,D2,…Dn)
元组:
关系中的每个元素是关系中的元组。
属性:
关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。
由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。
(2)候选码:
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。
主码:
若一个关系有多个候选码,则选定其中一个为主码。
外部码:
设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外部码,简称外码。
基本关系R称为参照关系,基本关系S称为被参照关系或目标关系。
关系R和S可以是相同的关系。
(3)关系模式:
关系的描述称为关系模式。
它可以形式化地表示为R(U,D,dom,F)其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映像集合,F为属性间数据的依赖关系集合。
在域D1,D2,…,Dn上笛卡儿积D1XD2X---XDn的子集称为关系,表示为R(D1,D2,…Dn),关系是关系模式在某一时刻的状态或内容。
关系模式是静止的、稳定的;
而关系是动态的、随时间不断变化的,因为关系操作在不断更新着数据库中的数据。
关系数据库:
关系数据库也有型和值之分。
关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。
关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通
常就称为关系数据库。
4.试述关系模型的完整性规则。
在参照完整性中,为什么外部码属性的值也可以为空?
什么情况下才可以为空?
答:
关系模型的完整性规则是对关系的某种约束条件。
关系模型中可以有三类完整性约束:
实体完整性、参照完整性和用户定义的完整性。
其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称
做事关系的两个不变性,应该由关系系统自动支持。
(1)实体完整性规则:
若属性A是基本关系R的主属性,则属性A不能取空值。
(2)参照完整性规则:
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
1)或者取空值(F的每个属性值均为空值)
2)或者等于S中的某个元组的主码值。
(3)用户定义的完整性是针对某一具体关系数据库的约束条件。
它反映某一具体应用所涉及的数据必须满足的语义要求。
在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定,但前提条件是该外部码属性不是其所在关系的主属性。
例如,在下面的“学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空,其语义是,该学生的专业尚未确定。
学生(学号姓名,性别,专业号,年龄)专业(专业号,专业名)
而在下面的“选修”表中的“课程号”虽然也是一个外部码属性,但它又是“课程”表的主属性,所以不能为空,因为关系模型必须满足实体完整性。
课程(课程号,课程名,学分)选修(学号,课程号,成绩)
p615、设有一个SPJ数据库,包括SP、JSPJ四个关系模式:
S(SNO,SNAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY);
供应商表S由供应商代码(SNO)、供应商姓名(SNAME卜供应商状态(STATUS)供应商所在城市(CITY组成;
零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)重量(WEIGHT)组成;
工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY组成;
供应情况表SPJ由供应商代码(SNC)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
今有若干数据如下:
S表
SNO
SNAME
STATUS
CITY
S1
精益
20
天津
S2
盛锡
10
北京
S3
东方红
30
S4
丰泰盛
S5
为民
上海
P表
PNO
PNAME
COLOR
WEIGHT
P1
螺母
红
12
P2
螺栓
绿
17
P3
螺丝刀
蓝
14
P4
P5
凸轮
40
P6
齿轮
J表
JNO
JNAME
J1
三建
J2
一汽
长春
J3
弹簧厂
J4
造船厂
J5
机车厂
唐山
J6
无线电厂
常州
J7
半导体厂
南京
SPJ表
QTY
200
100
700
400
500
300
试分别用关系代数完成如下查询:
(1)求供应工程J1零件的供应商号SNO;
答
关系代数
nsNO(cjno='
1'
(SPJ)
(2)求供应工程J1零件P1的供应商号SNO;
(3)求供应工程J1零件为红色的供应商号SNO;
答
T[SNO(nSNO,PNO((JNO='
J1(SPJ)?
兀"
°
(CC°
LOR=红'
(P)))
(4)求没有使用天津供应商生产的红色零件的工程