《数据库原理与系统》习题解答.docx

上传人:b****4 文档编号:24669644 上传时间:2023-05-30 格式:DOCX 页数:35 大小:83.65KB
下载 相关 举报
《数据库原理与系统》习题解答.docx_第1页
第1页 / 共35页
《数据库原理与系统》习题解答.docx_第2页
第2页 / 共35页
《数据库原理与系统》习题解答.docx_第3页
第3页 / 共35页
《数据库原理与系统》习题解答.docx_第4页
第4页 / 共35页
《数据库原理与系统》习题解答.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

《数据库原理与系统》习题解答.docx

《《数据库原理与系统》习题解答.docx》由会员分享,可在线阅读,更多相关《《数据库原理与系统》习题解答.docx(35页珍藏版)》请在冰豆网上搜索。

《数据库原理与系统》习题解答.docx

《数据库原理与系统》习题解答

《数据库原理与系统》习题解答

习题一

一、名词解释

DB、DBMS、DBS、DBA、数据冗余、数据异常

二、单项选择题

1.DBMS是

A、数据库B、数据库系统C、数据库应用系统C、数据库管理软件

2.DB、DBMS和DBS三者之间的关系是

A、DB包括DBMS和DBS

B、DBMS包括DBS和DB

"

C、DBS包括DB和DBMS

D、DBS与DB和DBMS无关

3.关系数据模型的基本数据结构是

A、树B、图C、索引D、关系

4.层次数据模型的基本数据结构是

A、树B、图C、索引D、关系

5.层次模型实现数据之间联系的方法

A、连接B、指针C、公共属性D、关系

6.常见的数据模型是

A、层次模型、网状模型、关系模型B、概念模型、实体模型、关系模型

C、对象模型、外部模型、内部模型D、逻辑模型、概念模型、关系模型

7.提供数据库定义、数据操纵数据控制和数据库维护功能的软件称为

A、OSB、DSC、DBMSD、DBS

三、简答题

1.数据库系统的组成部分

2.DBA的主要职责

3.文件系统的数据管理方法

4.文件系统的主要缺陷

5.数据库系统的主要优点

6.什么是数据模型

7.层次结构的特点

8.DBTG提出的关于数掂库的3个重要规范

9.关系数据模型的基本结构

10.关系数据模型实现数据联系的方法

习题二

一、概念题

1.解释下列事业术语的合义:

关系、元组、属性、属性域、超码、候选码、主码、外码。

2.简述关系的性质。

3.说明关系数据库实现数据之间联系的方法。

4.什么是实体完整性和参照完整性

5.什么是数据字典和系统目录

6.什么是关系代数的选锈、投影、并、差、笛卡儿积、交和连接运算

7.什么是自然连接

8.什么是左外连接、右外连接和全外连接

9.外连接与自然连接的区别是什么

二、单项选择题

1.下面对关系性质的描述中,错误的是

A、表中的—行称为一个元组B、行与列交叉点不允许有多个值

C、表中的一列称为一个属性D、表中任意两行可能相同

2.“元数据”是指

A、数据结构的描述B、数据项的描述

C、数据的来源D、系统自身的各种有用信息,包括数据结构的描述

3.在数据库系统中,空值是

A、0B、空格C、空字符串D、不确定

4.实体完整性是指关系中

A、不允许有空行B、主码不允许空值

C、属性值外码取空值D、外码允许取空值

5.已知关系R与S如图所示:

在关系S中,违反参照完整性约束的元组是

A、(11,21)B、(22,NULL)

C、(33,33)A、(44,11)

6.已知关系R和S,R∩S等价于

A、(R-S)-SB、S-(S-R)

C、(S-R)-RD、S-(R-S)

7.关系R和S各有10个元组,则关系R×S的元组个数为

A、10B、20

C、100D、不确定

8.从关系中选择指定的属性组成新关系的关系运算是

}

A、选取B、投影C、连接D、笛卡儿乘积

9.有关系:

学生(学号,姓名,性别,专业,宿舍编号,宿舍地址),主码是

A、宿合编号B、学号

C、宿舍地址,姓名D、宿舍编号,学号

10.有两个关系:

部门(编号,部门名称,地址.电话)和职工(职工号,姓名,性别,职务.编号)。

职工关系的外码是

A、职工号B、编号C、职工号,编号D、编号,部门名称

11.若关系R1和R2的结构相同,各有10个元组,则R1R2的元组个数为

A、10B、小于等于10C、20D、小于等于20

12.设关系R和S的属性个数分别为2和3,则与关系代数表达式

等价的是

A、B、C、D、

13.当关系R和S自然连接时,能够把R和S中不满足连接条件的元组保留在结果关系中的运算是

A、左外连接B、右外连接C、全外连接D、等值连接

14.设关系R(A,B)和S(B,C)中分别有10个和15个元组,属性B是R的主码.则R|×|S中元组数目的范围是

A、(0,15)B、(10,15)C、(10,25)D、(0,150)

l5.设有关系R和S如图2.26所示,则关系

的元组数目是

A、6B、7C、8D、9

16.设有关系R和S,如图2.27所示,R的主码是编号,S的主码是学号、外码是编号。

若有如下4个元组:

ⅠI(S3李林,C2),Ⅱ(Sl,江荷,C1),Ⅲ(S4,白玉.C4),Ⅳ(S5,康嘉,NULL),能够插入关系3的元组是

?

A、I,Ⅱ,ⅣB、I,ⅢC、I,ⅡD、I,Ⅳ

]7.已知关系R如图2.28所示,可以作为R主码的属性组是

A、XYZB、XYWC、XZWD、YZW

]8.关系R和S分别有20、15个元组,则RS、R-S、R∩S的元组数不可能是

A、29,13,6B、30,15,5C、35,20,0D、28,13,7

R-S=R-(R∩S)

]9.设关系R和S的属性数目分别是a和b、则关系RS的属性数目是

A、a十bB、a—bC、a×bD、a/b

*

三、解答题

1.设有4个关系模式:

供应商关系:

S(SNO,SNAME,CITY),属性依次是供应商号、供应商名称和所在城市

零件关系:

P(PNO,PNAME,COLOR),属性依次是是产品号、品名和颜色

工程关系:

J(JNO,JNAME,CITY),属性依次是是工程号、工程名和所在城市

供应关系:

SPJ(SNO,PNO,JNO,QTY),属性依次是供应商号、产品号、工程号和数量

试用关系代数完成下列操作:

(])J1工程零件的所有供应商号i

^

(2)求供应J1工程P1零件的供应商号;

(3)求供应J1工程红色零件的供应商号;

(4)求没有使用天津供应商生产的红色零件的工程号;

(5)求S1供应商供应零件的所有工程号。

2.设有3个关系模式:

学生(学号,姓名,性别,专业)

课程(课程号,课程名称,学分)

成绩(学号,课程号,分数)

试用关系代数表达式完成下列操作:

(1)所有学生成绩获得满分(100分)的课程号、课程名称;

@

(2)检索至少有一门课程的分数达到95分以上的学生信息,包括学号、姓名和专业

(3)检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业

(4)检索”英语”专业学生所学课程的信息,包括学号、姓名、课程名称和分数;

(5)检索“数据库原理“课程分数高于90分的所有学生的学号、姓名、专业和分数;

(6)检索没有不及格分数的学生的信息,包括学号、姓名和专业;

(7)检索“国际贸易”专业选修“数据库原理”课程的学号和姓名。

答案:

(1)所有学生成绩获得满分(100分)的课程号、课程名称;

π课程号,课程名称(σ分数=100(成绩)|×|课程)

(2)检索至少有一门课程的分数达到95分以上的学生信息,包括学号、姓名和专业

π学号,姓名,专业(σ分数>=95(成绩)|×|学生)

(3)检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业

π学号,姓名,专业(学生)-π学号,姓名,专业(σ分数<80(成绩)|×|学生)

(4)检索”英语”专业学生所学课程的信息,包括学号、姓名、课程名称和分数;

π学号,姓名,课程名称,分数(课程|×|成绩|×|σ专业=‘英语’(学生))

(5)检索“数据库原理“课程分数高于90分的所有学生的学号、姓名、专业和分数;

π学号,姓名,专业,分数(σ课程名称=‘数据库原理’(课程)|×|σ分数>90(成绩)|×|学生)

(6)检索没有不及格分数的学生的信息,包括学号、姓名和专业;

π学号,姓名,专业(学生)-π学号,姓名,专业(σ分数<60(成绩)|×|学生)

(7)检索“国际贸易”专业选修“数据库原理”课程的学号和姓名。

(三表连接,投影)

π学号,姓名,专业(σ课程名称=‘数据库原理’(课程)|×|成绩|×|σ专业=‘国际贸易’(学生))

3、设有3个关系模式:

员工(职工姓名,街道,城市)

工作(职工姓名,公司名称,工资)

公司(公司名称,城市)

用关系代数表达式来表达下列问题:

(1)列出泰斗公司所有员工的姓名;

(2)列出泰斗公司所有员工的姓名和居住的城市;

(3)列出泰斗公司所有年收入在10万元以上的员工姓名、居住的街道和城市

(4)列出所有居住地与工作的公司在同一城市的员工姓名;

@

(5)列出不在泰斗公司的所有员工的姓名

答案:

(1)列出泰斗公司所有员工的姓名;

π职工姓名(σ公司名称=‘泰斗公司’(工作))

(2)列出泰斗公司所有员工的姓名和居住的城市;

π职工姓名,城市(σ公司名称=‘泰斗公司’(员工|×|工作)

(3)列出泰斗公司所有年收入在10万元以上的员工姓名、居住的街道和城市

π职工姓名,街道,城市(σ公司名称=‘泰斗公司’AND工资>100000(员工|×|工作)

(4)列出所有居住地与工作的公司在同一城市的员工姓名;

π职工姓名(σ员工.城市=公司.城市(员工|×|工作|×|公司)

[

(5)列出不在泰斗公司的所有员工的姓名

π职工姓名(员工)-π职工姓名(σ公司名称=‘泰斗公司’(员工|×|工作|))

习题三

一、单项选择题

1.SQL语言是

A、高级语言B、宿主语言C、汇编语言D、非过程化语言

2.在SQL语言查询语句中,SELECT子句实现关系代数的

A、投影运算B、选择运算C、连接运算D、交运算

3.在SQL语言查询语句中,WHERE子句实现关系代数的

&

A、投影运算B、选择运算C、连接运算D、交运算

4.为在查询结果中去掉重复元组.应该使用保留字

A、UNIQUEB、UNIONC、COUNTD、DISTINCT

5.当关系R和S做自然连接时,能够保留R中不满足连接条件元组的操作是

A、左外连接B、右外连接C、内部连接D、全外连接

6.SQL语言中,更新表结构的的命令是

A、UPDATETABLEB、MODIFYTABLE

C、ALTERTABLED、CHANGETABLE

7.下列聚合函数中不忽略空值(NULL)的是

A、SUM(列名)B、MAX(列名)C、AVG(列名)D、COUNT(*)

8.SQL语言中,下列涉及空值操作的短语,不正确的是(VFP全部正确,SQLSERVER中C错)

A、AGEISNULLB、AGEISNOTNULL

C、AGE=NULLD、NOT(AGEISNULL)

9.SQL语言中,删除一个表的命令是

A、CLEARTABLEC、DROPTABLE

C、DELETETABLED、REMOVETABLE

10.设有一个关系:

DEPT(DNO,DNANE).如果要找出倒数第三个字母为W.并且至少包含4个字母的DNAME,则查询条件子句应写成WHEREDNANCLIKE01”03”02”

务员姓名FROM业务员,订单,客户WHERE业务员.业务员编号=订单.业务员编号AND订单.客户编号=客户.客户编号AND客户.客户姓名=‘王明’

SELECT业务员.业务员姓名FROM业务员innerjoin订单innerjoin客户on业务员.业务员编号=订单.业务员编号on订单.客户编号=客户.客户编号where客户.客户姓名=‘王明’

SELECT业务员姓名FROM业务员WHERE业务员.业务员编号IN(SELECT业务员编号FROM订单WHERE客户编号IN(SELECT客户编号FROM客户WHERE客户姓名=‘王明’))

(7)统计每个业务员签定500元以上订单的数目;

SELECT业务员编号,COUNT(*)订单数目FROM订单where金额>500GROUPBY业务员编号

(8)检索签定2个以上订单的业务员姓名;

SELECT业务员姓名FROM业务员WHERE业务员编号IN(SELECT业务员编号FROM订单GROUPBY业务员编号HAVINGCOUNT(*)>2)

(9)将所有业务员的月薪增加10%;

UPDATE业务员SET月薪=月薪*

(10)将业务员关悦的月薪改为3500元;

UPDATE业务员SET月薪=3500WHERE业务员姓名=‘关悦’

(11)检索超过平均月薪的业务员姓名和年龄;

SELECT业务员姓名,年龄FROM业务员WHERE月薪>(SELECTAVG(月薪)FROM业务员)

(12)将签定订单总金额超过2万元的月薪增加5%。

UPDATE业务员SET月薪=月薪*WHERE业务员编号IN(SELECT业务员编号FROM业务员GROUPBY业务员编号HAVINGSUM(金额)>20000)

2.设有3个关系模式:

学生(学号,姓名,性别,专业,籍贯)

课程(课程号,课程名,学时,性质)

成绩(学号,课程号,分数)

回答下列

(1)-(10)题。

(1)检索所有女同学的姓名。

试写出实现该查询的关系代数表达式;

(2)检索选修“数据库”课程的学生姓名。

要求写出关系代数表达式和实现这个查询的SQL语句;

(3)检索课程号等于“C101”,且分数90分以上(含90分)学生的姓名。

要求写出关系代数表达式和实现这个查询的SQL语句;

(4)写出SQL语句,检索学习“Cl01”课程中分数最高的学生姓名;

(5)写出SQL语句,检索所有未选修“Cl01”课程的学生姓名;

(6)写出SQL语句,在成绩表中增加“学分”列,并根据学分=学时/18的算法,填上每门课程的学分;

(7)写出SQL语句,实现关系代数表达式:

成绩-分数>=60(成绩);

(8)写出SQL语句,检索选修5门以上课程的学生姓名;

(9)创建一个查询成绩的视图VSK,其属性有姓名、课程名和分数;

(10)检索学生选课情况,显示姓名、课程名和分数,其中包括没有选课的学生。

答案:

(1)检索所有女同学的姓名。

试写出实现该查询的关系代数表达式;

π姓名(σ性别=‘女’(学生))

}

(2)检索选修“数据库”课程的学生姓名。

要求写出关系代数表达式和实现这个查询的SQL语句;

π姓名(σ课程名=‘数据库’(课程|×|成绩)|×|学生)

SELECT姓名FROM课程,成绩,学生WHERE课程.课程名=‘数据库’AND课程.课程号=成绩.课程号AND成绩.学号=学生.学号

(3)检索课程号等于“C101”,且分数90分以上(含90分)学生的姓名。

要求写出关系代数表达式和实现这个查询的SQL语句;

π姓名(σ课程号=‘C101’分数>=90(成绩)|×|学生)

SELECT姓名FROM成绩,学生WHERE成绩.课程号=‘C101’AND成绩.分数>=90AND成绩.学号=学生.学号

(4)写出SQL语句,检索学习“Cl01”课程中分数最高的学生姓名;

SELECT姓名FROM学生WHERE学号IN(SELECT学号FROM成绩WHERE课程号=‘C101’AND分数=(SELECTMAX(分数)FROM成绩WHERE课程号=‘C101’))

(5)写出SQL语句,检索所有未选修“Cl01”课程的学生姓名;

SELECT姓名FROM学生WHERE学号NOTIN(SELECT学号FROM成绩WHERE课程号=‘C101’)

{

SELECT姓名FROM学生WHERE学号IN(SELECT学号FROM成绩WHERENOT课程号=‘C101’)

(6)写出SQL语句,在成绩表中增加“学分”列,并根据学分=学时/18的算法,填上每门课程的学分;

ALTERTABLE成绩ADD学分INTEGER

UPDATE成绩SET学分=课程.学时/18FROM成绩INNERJOIN课程ON成绩.课程号=课程.课程号

(7)写出SQL语句,实现关系代数表达式:

成绩-分数>=60(成绩);

SELECT*FROM成绩WHERENOT分数<60

SELECT*FROM成绩MINUSSELECT*FROM成绩WHERE分数>=60

(8)写出SQL语句,检索选修5门以上课程的学生姓名;

SELECT姓名FROM学生WHERE学号IN(SELECT学号FROM成绩GOUPBY学号HAVINGCOUNT(*)>5)

(9)创建一个查询成绩的视图VSK,其属性有姓名、课程名和分数;

>

CREATEVIEWVSKASSELECT学生.姓名,课程.课程名,成绩.分数FROM课程,成绩,学生WHERE课程.课程号=成绩.课程号AND成绩.学号=学生.学号

(10)检索学生选课情况,显示姓名、课程名和分数,其中包括没有选课的学生。

SELECT学生.姓名,课程.课程名,成绩.分数FROM学生leftouterjoin成绩innerjoin课程on成绩.学号=学生.学号ON课程.课程号=成绩.课程号(错误的写法)

SELECT学生.姓名,课程.课程名,成绩.分数FROM学生leftouterjoin成绩on成绩.学号=学生.学号innerjoin课程ON课程.课程号=成绩.课程号inner、outer可省略

SELECT,,

FROMstudentleftouterjoinscon

=innerjoincourse

ON=

习题四

{

一、名词解释

实体、实体集、属性、属性域、主码、单值属性、多值属性、派生属性、基数

二、单项选择题

1.数据库设计中,概念模型

A、依赖于计算机的硬件B、依赖于DBMS

C、独立于DBMSD、独立于计算机的硬件和DBMS

2.将E-R模型转换为关系数据模型属于数据库的

A、概念设计B、物理设计C、逻辑设计D、运行设计

3.设在某个公司环境中,一个部门有多名职工,一名职工只能属于一个部门,则部门与职工之间的联系是

A、—对一B、一对多C、多对多D、不确定

4.概念结构设计的主要目标是真实地反映

A、企业对信息的需求B、DBA的管理信息需求

C、数据库系统的维护需求D、应用程序员的编程需求

5.数据库设计人员和用户之间沟通信息的桥梁是

A、程序流程图B、实体-联系图C、模块结构图D、数据结构图

6.在E-R模型转换成关系模型的过程中,下列不正确的做法是

A、每个联系均转换成一个关系B、每个实体集均转换成一个关系

C、1:

N联系不必转换成关系D、M:

N联系转换成—个关系

7.假设任一个E-R模型中,存在10个不同的实体集和12个不同的二元联系(二元联系是指两个实体集之目的联系),其中3个1:

1联系、4个1:

N联系、5个M:

N联系,则这个E-R模型转换成关系的数目可能是

A、14B、15C、19D、22

"

8.当同一个实体集内部实体之间存在着一个M:

N的关系时,根据E-R模型转换成关系模型的规则,转换成关系的数目为

A、1B、2C、3D、4

三、简答题

1.简述数据库设计的基本步骤。

2.概念设计的主要内容有哪些

3.使用派生属性有什么好处

4.确定基数的依据是什么基数的用途是什么

5.举例说明一元、二元、三元和N元联系。

6.举例说明实体之间的联系方式

7.简述E-R模型转换为关系模型的规则。

四、设计题

1.假设图书馆业务规则:

(1)读者需要凭借书证借阅图书,借书证有借书证号、姓名、年龄、单位等属性;

(2)每一本图书有书号、书名、作者、出版社等属性;

(3)每一本借出的图书有借书证号、书号、借出日期、应还日期。

试:

①根据上述业务规则设计E-R模型,要求E-R图中注明属性和联系的类型。

②将E-R模型转换成关系模型。

③用SQL语句创建表、定义完整性规则。

*

答案:

②三个关系模式:

借书证(借书证号,姓名,年龄,单位),主码为{借书证号};

图书(书号,书名,作者,出版社),主码为{书号};

借阅(借书证号,书号,借出日期,应还日期),主码为{借书证号,书号},{借书证号}为外码,{书号}为外码。

 

 

③略

2.假设城市交通管理业务规则:

(1)每个驾车者必须有驾驶执照,驾照有编号、姓名、性别、年龄、身份证号、工作单位、发证日期等属性

(2)每个机动车要有一个牌照,牌照有车号、型号、制造商、生产日期、所有者等属性;

(3)如果司机违反交通规则,将受到惩罚,惩罚记录有日期、车号、驾照编号、违章情节记载、处罚方式等属性。

/

试:

①根据上述业务规则设计E-R模型,要求E-R图中注明属性和联系的类型。

②将E-R模型转换成关系模型。

③用SQL语句创建表、定义完整性规则。

答案:

 

·

 

②三个关系模式:

③略

3.假设某集团公司生产多种产品,公司在全国没有多个代理两,由代理商经销本公司的所有产品。

每个代理商可以经销公司的多种产品,且在每一个代理商处都能够买到公司的任何一种产品。

代理商有编号、代理商名称和地址等属性;产品有产品号、品名、规格、单价等属性。

代理商与产品之间存在供货联系,每次供货将记录供贷日期、产品号、数量、单价和经办人。

试:

*

①根据上述业务规则设计E-R模型,要求E-R图中注明属性和联系的类型。

②将E-R模型转换成关系模型。

③用SQL语句创建表、定义完整性规则。

答案:

习题五

一、单项选择题

1.如果关系模式R属于1NF,且每个非主属性都完全函数依赖于R的主码,则R属于

A、2NFB、3NFC、BCNFD、4NF

2.有关系R(P,Q,M,N),F是R上成立的函数依赖集,F={(P→Q,Q→M)|,则R的候选码是

A、PB、QC、PQD、PN

3.有学生关系R(学号,姓名,系名称,系地址),每一名学生属于一个系,每一个系有一个地址,则R属于

A、1NFB、2NFC、3NFD、4NF

4.下列陈述中.错误的是

A、2NF必然属于1NFB、3NF必然属于2NF

C、3NF必然属于BCNFD、BCNF必然属于3NF

5.已知关系R(A,B,C,D),F是R上成立的函数依赖集,F={(A,B→C,D),B→D},则R应分解成

A、R1(A,B)和R2(C,D)B、R1(A,B,C)和R2(B,D)

C、R1(A,C)和R2(B,D)D、R1(A,B,D)和R2(B,C)

6.在订单管理中,客户—次购物(一张订单)可以订购多种商品。

设有订单关系R(订单号,日期,客户名称,商品编码,数量),则R的主码是

A、订单号B、订单号,客户名称C、商品编码D、订单号,商品编码

7.第6题中的关系R最高属于

A、1NFB、2NFC、3NFD、4NF({

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 制度规范

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1