关系模型课后习题
- 格式:doc
- 大小:98.00 KB
- 文档页数:4
关系代数习题.作者: 日期:1.下面的选项不是关系数据库基本特征的是()。
A.不同的列应有不同的数据类型B .不同的列应有不同的列名C.与行的次序无关D.与列的次序无关2.—个关系只有一个()。
A.候选码B. 外码C.超码D.主码3.关系模型中,一个码是()。
A.可以由多个任意属性组成B.至多由一个属性组成C.可有多个或者一个其值能够唯一表示该关系模式中任何元组的属性组成D .以上都不是4.现有如下关系:患者(患者编号,患者姓名,性别,出生日起,所在单位)医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是()。
A.患者编号B .患者姓名C. 患者编号和患者姓名D.医生编号和患者编号5.现有一个关系:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本,则该关系模式的外码是()。
A.书号B.读者号C .书号+读者号D.书号+读者号+借期6.关系模型中实现实体间 N:M联系是通过增加一个()。
A.关系实现B.属性实现C.关系或一个属性实现D.关系和一个属性实现7.关系代数运算是以()为基础的运算。
A.关系运算B.谓词演算C.集合运算D.代数运算8.关系数据库管理系统应能实现的专门关系运算包括()A.排序、索引、统计B .选择、投影、连接C. 关联、更新、排序D.显示、打印、制表9.五种基本关系代数运算是()。
A.U - X (T nB.U - (T nC.U n X (T nD.U n (T n11.关系数据库中的投影操作是指从关系中()。
A.抽出特定记录B.抽出特定字段C.建立相应的影像D.建立相应的图形12. 从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是()操作。
A.投影B.联接C.选择D.复制13.关系代数中的联接操作是由()操作组合而成。
A.选择和投影B.选择和笛卡尔积C .投影、选择、笛卡尔积 D.投影和笛卡尔积1 4.自然联接是构成新关系的有效方法。
第2章关系模型习题参考答案1.解释下列术语:(1)候选键、主键、外键答:若表中某一列(或若干列的组合)的值能惟一标识一个行,称该列或列组为候选键。
如果一个表有多个候选键,通常选择其中一个候选键作为区分行的惟一性标识符,称为主键(PRIMARY KEY,简写为PK)。
如果一个表只有一个候选键,那么这个候选键就作为主键。
外键(foreign key,简称FK):指—个表R1中的一个列或列组对应另一个表R2的主键,那么该列或列组称为表R1的外键。
(2)关系、关系模式、关系数据库答:关系是关系模型的数据结构。
关系模式是关系的形式化描述。
最简单的表示为:关系名(属性名1,属性名2,……,属性名n)其中的某个属性名i或某些属性名组为主键,要用下划线表明。
关系数据库是表或者说关系的集合(3)完整性规则、实体完整性规则、参照完整性规则答:完整性规则是为了保证关系(表)中数据的正确、一致、有效而确定的规则。
包括实体完整性(规则)、参照完整性(规则)和用户自定义完整性(规则)三大类。
实体完整性规则是表中任意一行的主键值不能为空值。
参照完整性规则是一个表的外键值可以为空值。
若不为空值,则必须等于另一个表中主键的某个值。
2.如何判断一个表是否与一个关系等价?答:根据关系的性质来判断。
关系的性质是:(1)关系中每一属性都是最小的。
(2)关系中同一属性的所有属性值属于同一数据类型。
(3)关系中的属性名不能重复。
(4)关系的属性位置从左到右出现的顺序无关紧要。
(5)关系中任意两个元组不能完全相同。
(6)关系中的元组从上到下出现的顺序无关紧要。
因此,要使一个表与一个关系等价,则:(1)表中每一个行与列的交叉点上只能存放一个单值。
(2)表中同一列中的所有列值都必须属于同一数据类型。
(3)表中每一列都有惟一的列名,不允许有两个列有相同的列名。
(4)表中的列从左到右出现的顺序无关紧要。
(5)表中任意两个行不能完全相同,即每一行都是惟一的,没有重复的行。
第3部分习题及其解答第一章的两道题3-2 习题22.6 分别把习题1.10、习题1.11的ER图转换成关系模型数据结构。
【参考答案】1.习题1.10的ER图可转换成如下的关系模型数据结构。
①程序员(编号,,性别,年龄,单位,职称),其中编号是关键字;②程序(程序名称,,专利号,价格),其中程序名称是关键字;③设计(编号,程序名称,开始时间,结束时间),其中(编号,程序名称)是关键字。
2.习题1.11的ER图可转换成如下的关系模型数据结构。
①工厂(工厂名称,厂址,联系),其中工厂名称是关键字;②产品(产品号,产品名,规格,单价),其中产品号是关键字;③工人(工人编号,,性别,职称,工厂名称,雇用期,月薪),其中工人编号是关键字,工厂名称是外关键字,雇用期和月薪是联系属性;④生产(工厂名称,产品号,月产量),其中(工厂名称,产品号)是关键字,生产关系是表示联系的。
2.8 判断下列情况,分别指出它们具体遵循那一类完整性约束规则?1.用户写一条语句明确指定月份数据在1~12之间有效。
2.关系数据库中不允许主键值为空的元组存在。
3.从A关系的外键出发去找B关系中的记录,必须能找到。
【解答】1.用户用语句指定月份数据在1~12之间有效,遵循用户定义的完整性约束规则。
2.关系数据库中不允许主键值为空的元组存在,遵循实体完整性约束规则;3.从A关系的外键出发去找B关系的记录,必须能找到,遵循引用完整性约束规则。
2.9 判断下列情况,分别指出他们是用DML还是用DDL来完成下列操作?1.创建“学生”表结构。
2.对“学生”表中的学号属性,其数据类型由“整型”修改为“字符型”。
3.把“学生”表中学号“021”修改为“025”。
【解答】1.创建“学生”表结构,即定义一个关系模式,用DDL完成。
2.修改“学生”表中学号属性的数据类型,即修改关系模式的定义,用DDL完成。
3.修改“学生”表中学号属性的数据值,即对表中的数据进行操作,用DML完成。
数据库系统原理第二章基本概念及课后习题有答案一、数据库系统生存期1.数据库系统生存期:数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间。
2.数据库系统生存期分七个阶段:规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护。
3.规划阶段三个步骤:系统调查、可行性分析、确定数据库系统总目标。
4.需求分析阶段:主要任务是系统分析员和用户双方共同收集数据库系统所需要的信息内容和用户对处理的需求,并以需求说明书的形式确定下来。
5.概念设计阶段:产生反映用户单位信息需求的概念模型。
与硬件和DBMS无关。
6.逻辑设计阶段:将概念模型转换成DBMS能处理的逻辑模型。
外模型也将在此阶段完成。
7.物理设计阶段:对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程。
数据库的物理结构主要指数据库的存储记录格式、存储记录安排和存取方法。
8.数据库的实现:包括定义数据库结构、数据装载、编制与调试应用程序、数据库试运行。
二、ER模型的基本概念ER模型的基本元素是:实体、联系和属性。
2.实体:是一个数据对象,指应用中可以区别的客观存在的事物。
实体集:是指同一类实体构成的集合。
实体类型:是对实体集中实体的定义。
一般将实体、实体集、实体类型统称为实体。
3.联系:表示一个或多个实体之间的关联关系。
联系集:是指同一类联系构成的集合。
联系类型:是对联系集中联系的定义。
一般将联系、联系集、联系类型统称为联系。
4.同一个实体集内部实体之间的联系,称为一元联系;两个不同实体集实体之间的联系,称为二元联系,以此类推。
5.属性:实体的某一特性称为属性。
在一个实体中,能够惟一标识实体的属性或属性集称为实体标识符。
6. ER模型中,方框表示实体、菱形框表示联系、椭圆形框表示属性、实体与联系、实体与其属性、联系与其属性之间用直线连接。
实体标识符下画横线。
联系的类型要在直线上标注。
注意:联系也有可能存在属性,但联系本身没有标识符。
习题四1.试述关系模型的三个组成部分。
2.试述关系数据语言的特点和分类。
3.定义并解释下列术语,说明它们之间的联系与区别。
1)主码、候选码、外码。
2)笛卡尔积、关系、元组、属性、域。
3)关系、关系模式、关系数据库。
4. 试述关系模型的完整性规则。
在参照完整性中,为什么外码属性的值也可以为空?什么情况下才可以为空?5. 试述等值连接与自然连接的区别和联系。
6. 对于学生选课关系,其关系模式为:学生(学号,姓名,年龄,所在系);课程(课程名,课程号,先行课);选课(学号,课程号成绩)。
用关系代数完成如下查询。
1)求学过数据库课程的学生的姓名和学号。
2)求学过数据库和数据结构的学生姓名和学号。
3)求没学过数据库课程的学生学号。
4)求学过数据库的先行课的学生学号。
7. 设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNANE,CITY);SPJ(SNO,PNO,JNO,QTY)。
其中:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J 由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量组成(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
试用关系代数完成如下查询:1)求供应工程J1 零件的供应商号码SNO。
2)求供应工程J1 零件P1的供应商号码SNO。
3)求供应工程J1 零件为红色的供应商号码SNO。
4)求没有使用天津供应商生产的红色零件的工程号。
5)求至少用了供应商S1所供应的全部零件的工程号。
《客户关系管理》第二版课后习题答案册第一章 (3)1. 结合实际讨论客户关系管理产生的背景。
(3)2. 谈谈你对客户关系管理定义的理解及认识。
(3)3. 客户关系管理对企业有哪些积极的作用?试举例说明。
(4)4. 常有哪些CRM研究视角?你是如何理解CRM研究的分类? (4)第二章 (5)1. 客户关系有哪些基本类型及其特征?企业如何选择客户关系类型? (5)2. 谈谈你对客户满意与客户忠诚定义的理解及认识。
(6)3. 客户满意度指数测评模型包括哪些潜在变量及其因果关系构成?试举例说明。
.. 64. 结合自身体会分析与客户忠诚有关的客户心理因素和购买行为。
(7)5. 结合实际分别进行客户满意与客户忠诚关系的静态和动态分析。
(7)第三章 (7)1. 什么是客户的终生价值?它常有哪些部分组成? (7)2. 影响客户终生价值常有哪些因素?它们是怎么影响的?举例说明。
(8)3. 假设客户与公司保持交易时间n=10年,公司最初吸引每个客户的成本Co=¥500,客户第一次购买的产品价格Po=¥3000,公司期望每年从每个客户处增加的收入In=¥1000,利率r=8%,每年的直接服务成本Cs=¥100,用模型一和模型三分别计算客户的终生价值? (8)4. 设客户A、客户B与公司保持交易时间均为10年,公司期望每年从客户A处增加的收入为Ina=¥500,从客户B处增加的收入为Inb=¥550,但每年用于客户A的直接服务成本为Csa=¥200,用于B的直接服务成本Csb=¥300,请用模型一和模型三计算客户A和客户B的终身价值?并分析这两种模型的适用性。
(8)第四章 (9)1.客户关系发展有哪些类型及其特征?企业如何对待? (9)2.客户关系发展的四阶段模型由哪些阶段组成并进一步说明各阶段的特点? (9)3.客户生命周期有哪些阶段组成?谈谈你对客户生命周期的理解及认识。
第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. 单选题 C C D B C2. 判断题对错错错对3填空题网状模型用户商业智能数据挖掘系统设计4简答题1)数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。
数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。
数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。
3)数据约束:用于描述数据结构中数据之间的语义联系、数据之间的制约和依存关系,以及数据动态变化的规则。
主流数据库采用关系图模型。
数据库典型数据模型:层次数据模型网状数据模型关系数据模型其它数据模型(如对象数据模型、键值对数据模型、列式数据模型。
)2)数据库——是一种依照特定数据模型组织、存储和管理数据的文件,数据库文件一般存放在辅助存储器以便长久保存。
数据库具有如下特点:数据不重复存放;提供给多种应用程序访问;数据结构独立于使用它的应用程序;对数据增、删、改、检索由统一软件进行管理和控制。
3)数据库(Database)是一种依照特定模型组织、存储和管理数据的数据结构。
在数据库中,不仅存放了数据,而且还存放了数据与数据之间的关系。
数据库内部元素:用户表:用户在数据库中创建的数据库表;系统表:数据库中系统自带的数据库表;视图:数据库中用于对数据进行查询的虚拟表;索引:数据库中用于加快数据查询的索引项;约束:数据库中对数据、数据关系施加的规则;存储过程:数据库内部完成特定功能处理的程序;触发器:数据库内部因数据变化自动执行的一类存储过程等等4)数据库系统包括:用户、数据库应用程序、数据库管理系统和数据库四个组成要素。
5)数据库管理系统(Database Manage System,DBMS )——是一种专门用来创建数据库、管理数据库、维护数据库,并提供对数据库访问的系统软件。
数据库管理系统(DBMS)主要功能:创建数据库和表; 创建支持结构,如索引等; 读取数据库数据 ; 修改数据库数据; 维护数据库结构; 执行规则; 并发控制; 提供安全性;执行备份和恢复等等第二章作业参考答案1 单选题 C B D A A2. 判断题对对错对错3填空题全外连接数据约束候选键用户定义完整性4简答题外码键1)在关系模型中,使用“关系”来存储“实体”中的数据。
数据库课后习题作业答案《数据库系统概论》课程习题及参考答案第⼀章绪论(教材37页)1.试述数据、数据库、数据库系统、数据库管理系统的概念。
答:数据:描述事物的符号记录称为数据。
数据的种类有⽂字、图形、图像、声⾳、正⽂等等。
数据与其语义是不可分的。
数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。
数据库中的数据按⼀定的数据模型组织、描述和储存,具有较⼩的冗余度、较⾼的数据独⽴性和易扩展性,并可为各种⽤户共享。
数据库系统:数据库系统(DBS)是指在计算机系统中引⼊数据库后的系统构成。
数据库系统由数据库、数据库管理系统(及其开发⼯具)、应⽤系统、数据库管理员构成。
数据库管理系统:数据库管理系统(DBMS)是位于⽤户与操作系统之间的⼀层数据管理软件。
⽤于科学地组织和存储数据、⾼效地获取和维护数据。
DBMS 主要功能包括数据定义功能、数据操纵功能、数据库的运⾏管理功能、数据库的建⽴和维护功能。
2.使⽤数据库系统有什么好处?答:使⽤数据库系统的好处是由数据库管理系统的特点或优点决定的。
使⽤数据库系统的好处很多,例如可以⼤⼤提⾼应⽤开发的效率,⽅便⽤户的使⽤,减轻数据库系统管理⼈员维护的负担等。
为什么有这些好处,可以结合第 5题来回答。
使⽤数据库系统可以⼤⼤提⾼应⽤开发的效率。
因为在数据库系统中应⽤程序不必考虑数据的定义、存储和数据存取的具体路径,这些⼯作都由 DBMS来完成。
此外,当应⽤逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独⽴性。
数据逻辑结构的改变是 DBA的责任,开发⼈员不必修改应⽤程序,或者只需要修改很少的应⽤程序。
从⽽既简化了应⽤程序的编制,⼜⼤⼤减少了应⽤程序的维护和修改。
使⽤数据库系统可以减轻数据库系统管理⼈员维护系统的负担。
因为 DBMS 在数据库建⽴、运⽤和维护时对数据库进⾏统⼀的管理和控制,包括数据的完整性、安全性,多⽤户并发控制,故障恢复等等都由DBMS执⾏。
数据库课后习题答案第一章1.数据(DB):数据实际上是描述事物的符号纪录。
2.数据库: 数据库实际上是长期存储在计算机内的有组织的、可共享的数据集合。
3.从文件系统的视角上看去,文件是无结构的,文件只是一个字节流,因此,我们经常把文件叫做流式文件,实际上文件的数据是有结构的,数据的结构需要程序员通过编写程序来建立和维护。
4.数据库应用可以分为两大类:联机事务处理(OLTP),联机分析处理(OLAP).联机事务处理解决了组织结构业务自动化问题,而联机分析处理帮助管理层更好的分析组织结构的运站情况。
5. 数据库管理系统(DBMS):数据库管理系统是一类重要的软件,由一组程序组成。
其主要功能是完成对数据库的定义、数据操作。
提供给用户一个简明的接口,实现事务处理等。
6.数据库管理系统的基本功能:数据的定义功能数据操作功能数据库的运行和管理数据库的建立和维护功能7.数据库管理系统由两大部分组成:查询处理器存储管理器8.层次结构:应用层语言翻译层数据存取层数据存储层操作系统数据库9. 数据库系统:数据库系统是基于数据库的计算机应用的系统,有四部分组成数据库数据管理系统应用系统用户。
10. 数据库管理员的职责:(1)决定数据库中要存储的数据及数据结构(2)决定数据库的存储结构和存取策略(3)保证数据的安全性和完整性(4)监控数据库的使用和运行(5)数据库的改进和重组重构11.数据模型的三要素:数据结构数据操作完整性约束12. 数据结构是所研究的对象的类型的集合,这些对象是数据库的组成成分,他们包含两类:一类是与数据之间联系有关的对象。
一类是与数据之间联系有关的对象。
13. 数据操作:数据库主要有检索和更新(插入、删除、修改)两大类操作。
14.在关系模型中任何关系都要满足实体完整性和参照完整性。
15.三种数据模型:概念模型逻辑模型物理模型逻辑模型中有:层次模型网状模型关系模型面向对象模型对象关系模型其中层次模型和网状模型统称为非关系模型。
1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:S C SCS# SNAME AGE SEX1 李强23 男2 刘丽22 女5 张友22 男C# CNAME TEACHERk1 C语言王华k5 数据库原理程军k8 编译原理程军S# C# GRADE1 k1 832 k1 855 k1 922 k5 905 k5 845 k8 80(1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。
(2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
(3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。
(4) 检索”李强”同学不学课程的课程号(C#)。
(5) 检索至少选修两门课程的课程号(S#)。
(6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。
(8) 检索选修课程号为k1和k5的学生学号(S#)。
(9) 检索选修全部课程的学生姓名(SNAME)。
(10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。
(11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。
(12)检索没有一门课程成绩不及格的学生学号,姓名。
答:本题各个查询语句对应的关系代数表达式表示如下:(1) ΠC#,CNAME(σTEACHER ='程军'(C))(2) ΠS#,SNAME(σAGE>21^SEX ='男'(S))(3) ΠSNAME(S(ΠS#,C#(SC)÷ΠC#(σTEACHER ='程军'(C))))(4) ΠC#(C)-ΠC#(σSNAME ='李强'(S)∞SC)(5) ΠS# (σ1=4^2≠5 (S C×SC))(6) ΠC#,CNAME(C∞(ΠS#,C#(SC)÷ΠS#(S)))(7) ΠS# (SC∞ΠC# (σTEACHER ='程军'(C)))(8) ΠS#,C#(SC)÷ΠC#(σC#=’K1’VC#=’K5’ (C))(9) ΠSNAME(S∞(ΠS#,C#(SC)÷ΠC#(C)))(10) ΠS#,C#(SC)÷ΠC#(σC#=’2’ (S C))(11) ΠS#,SNAME(S∞ΠS#(SC∞(σCNAME ='C语言'(C))))(12)П学号,姓名(学生)-П学号,姓名(σ分数<60(学生∞学习))。
数据库课后习题一、选择题1.下列说法中,不正确的是()A.二维表中的每一列均有唯一的字段名B.二维表中不允许出现完全相同的两行C.二维表中行的顺序、列的顺序不可以任意交换D.二维表中行的顺序、列的顺序可以任意交换答案:C2.关系模型中,超关键字()。
A.可由多个任意属性组成B.仅能由一个属性组成C.可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成D.以上都不是答案:C3.ViualFo某Pro是一个()。
A.数据库管理员B.数据库C.数据库系统D.数据库管理系统答案:DA.矩形框B.数据的客观性和结论的准确性C.研究的相对独立性D.以上全是5.DBMS与文件系统的最主要区别是()。
件量D.文件系统不能解决数据冗余和数据独立性问题,而DBMSC.文件系统管理的数据量较小,而DBMS可以管理庞大的数据A.数据库系统复杂,而文件系统简单B.文件系统只管理程序文件,而DBMS能够管理各种类型的文可以解决答案:D6.一个关系相当于一张二维表,二维表中的各栏目相当于该关系的()。
A.数据项B.元组C.结构D.属性答案:DA.索引表示B.指针链表示C.关系表示D.文件表示答案:C8.关系模型的基本结构是()。
A.二维表B.树形结构C.无向图D.有向图答案:A9.由计算机、操作系统、DBMS、数据库、应用程序等组成的整体称为()。
A.数据库系统B.数据库管理系统C.文件系统D.软件系10.打开ViualFo某Pro“项目管理器”的“文档”(Doc)选项卡,其中包含()文件。
答案:D11.实体是信息世界的术语,与之对应的数据库术语为()。
A.文件B.数据库C.记录D.字段答案:C二、填空题:1.数据库的数据用它们的应用程序。
答案:独立性2.一个关系相当于一张二维表,二维表中的各列相当于该关系的。
答案:属性3.二维表中能唯一确定记录的一列或多列的组合称为超关键字。
若一个超关键字去掉其中任何一个列后不再能唯一确定记录,则称其为。
1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:S C SCS# SNAME AGE SEX1 李强23 男2 刘丽22 女5 张友22 男C# CNAME TEACHERk1 C语言王华k5 数据库原理程军k8 编译原理程军S# C# GRADE1 k1 832 k1 855 k1 922 k5 905 k5 845 k8 80(1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。
(2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
(3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。
(4) 检索”李强”同学不学课程的课程号(C#)。
(5) 检索至少选修两门课程的课程号(S#)。
(6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。
(8) 检索选修课程号为k1和k5的学生学号(S#)。
(9) 检索选修全部课程的学生姓名(SNAME)。
(10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。
(11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。
(12)检索没有一门课程成绩不及格的学生学号,姓名。
答:本题各个查询语句对应的关系代数表达式表示如下:(1) ΠC#,CNAME(σTEACHER ='程军'(C))(2) ΠS#,SNAME(σAGE>21^SEX ='男'(S))(3) ΠSNAME(S(ΠS#,C#(SC)÷ΠC#(σTEACHER ='程军'(C))))(4) ΠC#(C)-ΠC#(σSNAME ='李强'(S)∞SC)(5) ΠS# (σ1=4^2≠5 (S C×SC))(6) ΠC#,CNAME(C∞(ΠS#,C#(SC)÷ΠS#(S)))(7) ΠS# (SC∞ΠC# (σTEACHER ='程军'(C)))(8) ΠS#,C#(SC)÷ΠC#(σC#=’K1’VC#=’K5’ (C))(9) ΠSNAME(S∞(ΠS#,C#(SC)÷ΠC#(C)))(10) ΠS#,C#(SC)÷ΠC#(σC#=’2’ (S C))(11) ΠS#,SNAME(S∞ΠS#(SC∞(σCNAME ='C语言'(C))))(12)П学号,姓名(学生)-П学号,姓名(σ分数<60(学生∞学习))。
第四章关系数据库设计理论练习题一、选择题1、关系规范化中的删除操作异常是指A、不该删除的数据被删除.B、不该插入的数据被插入。
C、应该删除的数据未被删除。
D、应该插入的数据未被插入.2、关系数据库规范化是为解决关系数据库中()问题而引入的。
A、插入异常、删除异常和数据冗余;B、提高查询速度。
C、减少数据操作的复杂性。
D、保证数据的安全性和完整性。
3、假设关系模式R(A,B)属于3NF,下列说法中()是正确的。
A、R一定消除了插入和删除异常;B、R仍可能存在一定的插入和删除异常。
C、R一定属于BCNF;D、A和C都是.4、关系模式的分解A、唯一B、不唯一.5、设有关系W(工号,姓名,工种,定额),将其规范化到第三范式正确的答案是()A、W1(工号,姓名),W2(工种,定额);B、W1(工号,工种,定额),W2(工号,姓名);C、W1(工号,姓名,工种),W2(工种,定额)。
D、以上都不对.6、设学生关系模式为:学生(学号,姓名,年龄,性别,平均成绩,专业),则该关系模式的主键是()A、姓名;B、学号,姓名;C、学号。
D、学号,姓名,年龄.7根据数据库规范化理论,下面命题中正确的是()A、若R∈2NF,则R∈3NFB、若R∈1NF,则R不属于BCNFC、若R∈3NF,则R∈BCNFD、若R∈BCNF,则R∈3NF8、关系数据库设计理论中,起核心作用的是A、范式;B、模式设计;C、函数依赖。
D、数据完整性.9、设计性能较优的关系模设称为规范化,规范化的主要理论依据是()A、关系规范化理论。
B、关系运算理论;C 、关系代数理论;D 、数理逻辑。
10、规范化理论是关系数据库进行逻辑设计的理论依据。
根据这个理论,关系数据库中的关系必须满足:其每一属性都是( )A 、互不相关的;B 、不可分解的C 、长度可变的;D 、互相关联的。
11、规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常以及( )的缺陷。
第1、2章1.1 名词解释:◆ DB:数据库(Database),DB是统一管理的相关数据的集合。
DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。
◆ DBMS:数据库管理系统(Database Management System),DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。
◆ DBS:数据库系统(Database System),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。
◆ 1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,好么实体集E1对E2的联系称为“一对一联系”,记为“1:1”。
◆ 1:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是“一对多联系”,记为“1:N”。
◆ M:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系”,记为“M:N”。
◆ 数据模型:表示实体类型及实体类型间联系的模型称为“数据模型”。
它可分为两种类型:概念数据模型和结构数据模型。
◆ 概念数据模型:它是独门于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。
◆ 结构数据模型:它是直接面向数据库的逻辑结构,是现实世界的第二层抽象。
这类模型涉及到计算机系统和数据库管理系统,所以称为“结构数据模型”。
结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。
它主要有:层次、网状、关系三种模型。
第1章1.试恳数据、数据库、数据库系统、数据库管理系统的概念。
答:(1)数据:描述事物的符号记录成为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
数据与其语义是不可分的。
(2)数据库:数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按照一定的数据模型组织。
描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
(3)数据库系统:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发人具)、应用系统、数据库管理员构成。
(4)数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS的主要功能包括数据定义功能、数据操作功能、数据库的建立和维护功能。
6. 试述数据库系统三级模式结构,这种结构的优点是什么?答:数据库系统的三级模式机构由外模式、模式和内模式组成。
外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
模式亦称逻辑模式,是数据库中全体数据呃逻辑结构和特征的描述,是所有用户的公共数据视图。
模式描述的是数据的全局逻辑结构。
外模式涉及的是数据的内部逻辑结构,通常是模式的子集。
内模式,亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。
数据库系统的三级模式是对数据的三个抽象级别,它对数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。
为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。
正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
7. 定义并解释下列术语。
1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:S C SCS# SNAME AGE SEX1 李强23 男2 刘丽22 女5 张友22 男C# CNAME TEACHERk1 C语言王华k5 数据库原理程军k8 编译原理程军S# C# GRADE1 k1 832 k1 855 k1 922 k5 905 k5 845 k8 80(1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。
(2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
(3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。
(4) 检索”李强”同学不学课程的课程号(C#)。
(5) 检索至少选修两门课程的课程号(S#)。
(6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。
(8) 检索选修课程号为k1和k5的学生学号(S#)。
(9) 检索选修全部课程的学生姓名(SNAME)。
(10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。
(11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。
(12)检索没有一门课程成绩不及格的学生学号,姓名。
答:本题各个查询语句对应的关系代数表达式表示如下:(1) ΠC#,CNAME(σTEACHER ='程军'(C))(2) ΠS#,SNAME(σAGE>21^SEX ='男'(S))(3) ΠSNAME(S(ΠS#,C#(SC)÷ΠC#(σTEACHER ='程军'(C))))(4) ΠC#(C)-ΠC#(σSNAME ='李强'(S)∞SC)(5) ΠS# (σ1=4^2≠5 (S C×SC))(6) ΠC#,CNAME(C∞(ΠS#,C#(SC)÷ΠS#(S)))(7) ΠS# (SC∞ΠC# (σTEACHER ='程军'(C)))(8) ΠS#,C#(SC)÷ΠC#(σC#=’K1’VC#=’K5’ (C))(9) ΠSNAME(S∞(ΠS#,C#(SC)÷ΠC#(C)))(10) ΠS#,C#(SC)÷ΠC#(σC#=’2’ (S C))(11) ΠS#,SNAME(S∞ΠS#(SC∞(σCNAME ='C语言'(C))))(12)П学号,姓名(学生)-П学号,姓名(σ分数<60(学生∞学习))。
2.现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1-4小题:1. 检索"英语"专业学生所学课程的信息,包括学号、姓名、课程名和分数。
П学号,姓名,课程名,分数(σ专业='英语'(学生∞学习∞课程))。
2. 检索"数据库原理"课程成绩高于90分的所有学生的学号、姓名、专业和分数。
П学号,姓名,专业,分数(σ分数>90∧名称='数据库原理'(学生∞学习∞课程))。
3. 检索不学课程号为"C135"课程的学生信息,包括学号,姓名和专业。
П学号,姓名,专业(学生)-П学号,姓名,专业(σ课程号='C135'(学生∞学习))。
4. 检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业。
П学号,姓名,专业(学生)-П学号,姓名,专业(σ分数<60(学生∞学习))。
5.检索选修全部课程的学生姓名6.检索至少选修了李强同学所选修的全部课程的学生姓名。
3.现有关系数据库如下:学生(学号,姓名,性别,专业、奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1—4小题:1. 检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数。
Π学号,姓名,课程名,分数(σ奖学金>0∧专业=国际贸易(学生∞学习∞课程))。
2. 检索学生成绩得过满分(100分)的课程的课程号、名称和学分。
Π课程号,名称,学分(σ分数=100(学习∞课程))。
3. 检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业。
Π学号,姓名,专业(σ奖学金<=0∧分数>95(学生∞学习))。
4. 检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业。
关系模型课后习题 2.1 名词解释 (1)关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。 (2)关系模式:关系模式实际上就是记录类型。它的定义包括:模式名,属性名,值域名以及模式的主键。 关系模式不涉及到物理存储方面的描述,仅仅是对数据特性的描述。 (3)关系实例:元组的集合称为关系和实例,一个关系即一张二维表格。 (4)属性:实体的一个特征。在关系模型中,字段称为属性。 (5)域:在关系中,每一个属性都有一个取值范围,称为属性的值域,简称域。 (6)元组:在关系中,记录称为元组。元组对应表中的一行;表示一个实体。 (7)超键:在关系中能唯一标识元组的属性集称为关系模式的超键。 (8)候选键:不含有多余属性的超键称为候选键。 (9)主键:用户选作元组标识的一个候选键为主键。(单独出现,要先解释“候选键”) (10)外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键, 如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。 (11)实体完整性规则:这条规则要求关系中元组在组成主键的属性上不能有空值。 如果出现空值,那么主键值就起不了唯一标识元组的作用。 (12)参照完整性规则:这条规则要求“不引用不存在的实体”。 其形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中, K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值。 这条规则在使用时有三点应注意: 1)外键和相应的主键可以不同名,只要定义在相同值域上即可。 2)R1和R2也可以是同一个关系模式,表示了属性之间的联系。 3)外键值是否允许空应视具体问题而定。 (13)过程性语言:在编程时必须给出获得结果的操作步骤,即“干什么”和“怎么干”。如Pascal和C语言等。 (14)非过程性语言:编程时只须指出需要什么信息,不必给出具体的操作步骤。 各种关系查询语言均属于非过程性语言。 (15)无限关系:当一个关系中存在无穷多个元组时,此关系为无限关系。 如元组表达式{t|┐R(t)}表示所有不在关系R中的元组的集合,这是一个无限关系。 (16)无穷验证:在验证公式时需对无穷多个元组进行验证就是无穷验证。 如验证公式(u)(P(u))的真假时需对所有的元组u进行验证,这是一个无穷验证的问题。 2.2 为什么关系中的元组没有先后顺序? 因为关系是一个元组的集合,而元组在集合中的顺序无关紧要。因此不考虑元组间的顺序,即没有行序。 2.3 为什么关系中不允许有重复元组? 因为关系是一个元组的集合,而集合中的元素不允许重复出现,因此在关系模型中对关系作了限制, 关系中的元组不能重复,可以用键来标识唯一的元组。 2.4 关系与普通的表格、文件有什么区别? 关系是一种规范化了的二维表格,在关系模型中,对关系作了下列规范性限制: 1)关系中每一个属性值都是不可分解的。 2)关系中不允许出现相同的元组(没有重复元组)。 3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序。 4)元组中,属性在理论上也是无序的,但在使用时按习惯考虑列的顺序。 2.5 笛卡尔积、等值联接、自然联接三者之间有什么区别? 笛卡尔积对两个关系R和S进行乘操作,产生的关系中元组个数为两个关系中元组个数之积。 等值联接则是在笛卡尔积的结果上再进行选择操作,从关系R和S的笛卡儿积中选择对应属性值相等的元组; 自然连接则是在等值联接(以所有公共属性值相等为条件)的基础上再行投影操作,并去掉重复的公共属性列。 当两个关系没有公共属性时,自然连接就转化我笛卡尔积。
2.6 设有关系R和S(如下:) 计算: 2.7 设有关系R和S(如下:) 计算:
2.8 如果R是二元关系,那么下列元组表达式的结果是什么? {t|(u)(R(t)∧R(u)∧(t[1]≠u[1]∨t[2]≠u[2]))} 这个表达式的意思是:从关系R中选择元组,该元组满足:第1分量值或第2分量值至少有一个不等于其他某元组。 由于R是二元关系,只有两个分量,由于没有重复元组,上述条件显然满足。 所以,这个表达式结果就是关系R。 2.9 假设R和S分别是三元和二元关系,试把表达式π1,5(σ2=4∨3=4(R×S))转换成等价的:(1)汉语查询句子;(2)元组表达式;(3)域表达式。 (1)汉语表达式: 从R×S关系中选择满足下列条件的元组: 第2分量(R中第2分量)与第4分量(S中第1分量)值相等,或第3分量(R中第3分量)与第4分量(S中第1分量)值相等;并取第1列与第5列组成的新关系。 (2)元组表达式:{t|(u)(v)(R(u)∧S(v)∧(u[2]=v[1]∨u[3]=v[1])∧t[1]=u[1]∧t[2]=v[2])} (3)域表达式:{xv|(y)(z)(u)(R(xyz)∧S(uv)∧(y=u∨z=u))} 2.10 假设R和S都是二元关系,试把元组表达式{t|R(t)∧(u)(S(u)∧u[1]≠t[2])}转换成等价的: (1)汉语查询句子;(2)域表达式:(3)关系代数表达式。 (1)汉语表达式:选择R关系中元组第2分量值不等于S关系中某元组第1分量值的元组。 (2)域表达式:{xy|(u) (v)(R(xy)∧S(uv)∧(u≠y))} (3)关系代数表达式:π1,2(σ2≠3(R×S)) 2.11 试把域表达式{ab|R(ab)∧R(ba)}转换成等价的: (1)汉语查询句子;(2)关系代数表达式;(3)元组表达式。 (1)汉语查询句子:选择R中元组第1分量值与第2分量值互换后仍存在于R中的元组。 (2)关系代数表达式:π1,2(σ1=4∧2=3(R×R)); (3)元组表达式:{t|(u)(R(t)∧R(u)∧t[1]=u[2]∧t[2]=u[1])} 2.12 设有两个关系R(A,B,C)和S(D,E,F),试把下列关系代数表达式转换成等价的元组表达式: (1)πA(R);(2)σB='17'(R);(3)R×S;(4)πA,F(σC=D(R×S)) (1){t|(u)(R(u)∧t[1]=u[1])} (2){t|R(t)∧t[2]='17')} (3){t|(u)(v)(R(u)∧S(v)∧t[1]=u[1]∧t[2]=u[2]∧t[3]=u[3]∧t[4]=v[1]∧t[5]=v[2]∧t[6]=v[3])} (4){t|(u)(v)((R(u)∧S(v)∧u[3]=v[1]∧t[1]=u[1]∧t[2]=v[3])} 2.13 设有三个关系: S(S#,SNAME,AGE,SEX) SC(S#,C#,GRADE) C(C#,CNAME,TEACHER) 试用关系代数表达式表示下列查询语句。(见下一题) 2.14 试用元组表达式表示上题中各个查询语句。 (1)检索LIU老师所授课程的课程号、课程名。 πC#,CNAME(σTEACHER='LIU'(C))
{t|(u)(C(u)∧C[3]='LIU'∧t[1]=u[1]∧t[2]=u[2])}
(2)检索年龄大于23岁的男学生的学号与姓名。 πS#,SNAME(σAGE>'23'∧SEX='男'(S))
{t|(u)(S(u)∧u[3]>'23'∧u[4]='男'∧t[1]=u[1]∧t[2]=u[2])}
(3)检索学号为S3学生所学课程的课程名与任课教师名。 πCNAME,TEACHER(σS#='S3'(SCC))
{t|(u)(v)(SC(u)∧C(v)∧u[1]='S3'∧v[1]=u[2]∧t[1]=v[2]∧t[2]=v[3])}
(4)检索至少选修LIU老师所授课程中一门课程的女学生的姓名。 πSNAME(σSEX='女'∧TEACHER='LIU'(SSCC))
{t|(u)(v)(w)(S(u)∧SC(v)∧C(w)∧u[4]='女'∧v[1]=u[1]∧v[2]=w[1]∧w[3]='LIU'∧t[1]=u[2])}
(5)检索WANG同学不学的课程号。 πC#(C)-πC#(σSNAME='WANG'(SSC))
或者, πC#(SC)-πC#(σSNAME='WANG'(SSC)) (全部课程号减去WANG同学所学的课程号)
{t|(u)(v)(C(u)∧SC(v)∧(u[1]=v[2]=>(w)(s(w)∧w[1]=v[1]∧W[2]≠'wang'))∧t[1]=u[1])} (从C中选择满足条件的元组:SC中的所有元组,如果学号与C中所选元组相同的话,其在S中对应的姓名肯定不是'wang'。) Notice:"p1=>p2"的含义是:如果p1为真,则p2为真。
(6)检索至少选修两门课程的学生学号。 πS#(σ1=4∧
2≠5
(SC×SC))
SC自乘之后,再选择(同一个学号中两个课程号不同的元组),投影。 {t|(u)(v)(SC(u)∧SC(v)∧u[1]=v[1]∧u[2]≠v[2])∧t[1]=u[1]}
(7)检索全部学生都选修的课程的课程号与课程名。 πC#,CNAME(C(πS#,C#(SC)÷πS#(S))) (涉及到全部值时,应用除法,“除数”是"全部")
{t|(u)(v)(w)(S(u)∧SC(v)∧C(w)∧u[1]=v[1]∧v[2]=w[1]∧t[1]=v[1]∧t[2]=V[2])}
(8)检索选修课程包含LIU老师所授课程的学生学号。 πS#(σTEACHER='LIU'(SCC))
{t|(u)(v)(SC(u)∧C(v)∧u[2]=v[1]∧v[3]='LIU'∧t[1]=u[1])}
如果LIU老师有多门课程,则选修课程包含LIU老师所授全部课程的学生学号为: πS#,C#(SC)÷πC#(σTEACHER='LIU'(C))
2.15 在教学数据库S、SC、C中,用户有一查询语句:检索女同学选修课程的课程名和任课教师名。(1)试写出该查询的关系代数表达式;(2)试写出查询优化的关系代数表达式。 (1)πCNAME,TEACHER(σSEX='女'(SSCC))
(2)优化为:πCNAME,TEACHER(CπC#(πS#,C#(SC)πS#(σSEX='女'(S)))) (基本思路:尽量提前做选择操作;在每个操作后,应做个投影操作,去掉不用的属性值。
2.16 在2.15题中, (1)画出该查询初始的关系代数表达式的语法树。 (2)使用2.4.4节的优化算法,对语法树进行优化,并画出优化后的语法树。
该查询初始的关系代数表达式的语法树 优化后的语法树 2.17 为什么要对关系代数表达式进行优化? 在关系代数运算中,各个运算所费时间和空间是不一样的。如何安排若干关系的运算操作步骤, 直接影响到整个操作所需要的时间和空间。对关系代数表达式进行优化, 可以提高系统的操作效率,达到执行过程即省时间又省空间的目的。