河北工程大学电子信息系数据库复习题.docx
《河北工程大学电子信息系数据库复习题.docx》由会员分享,可在线阅读,更多相关《河北工程大学电子信息系数据库复习题.docx(22页珍藏版)》请在冰点文库上搜索。
河北工程大学电子信息系数据库复习题
一、单项选择题(在每个小题的四个备选答案中,选择一个正确答案,并将答案写在答题纸上。
每小题2分,共20分)
1.在数据库的三级模式结构中,内模式有。
A.1个B.2个C.三个D.任意多个
2.下面列出的条目中,不是数据库技术的主要特点。
A.数据的结构化B.数据的冗余度小
C.较高的数据独立性D.程序的标准化
3._____属于信息世界的模型,实际上是现实世界到机器世界的一个中间层次。
A.数据模型B.E-R图
C.概念模型D.关系模型
4.有关系模式A(C,T,H,R,S),其中各属性的含义是:
C:
课程,T:
教员,H:
上课时间,R:
教室,S:
学生。
根据语义有如下函数依赖集F={C→T,(H,R)→C,(H,T)→R,(H,S)→R}。
关系模式A的规范化程度最高达到。
A.1NFB.2NFC.3NFD.BCNF
5.SQL语言集数据查询、数据操作、数据定义、和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现下列哪类功能。
A.数据查询B.数据操纵
C.数据定义D.数据控制
6.下面列出的关于视图的条目中,不正确的是。
A.视图是外模式
B.视图是虚表
C.使用视图可以加快查询语句的执行速度
D.使用视图可以简化查询语句的编写
7.第一次对数据库进行备份时,必须要使用方式。
A.差异备份B.完全备份C.事务日志备份D.文件和文件组备份
8.下列有关E-R模型向关系模型转换的叙述中,不正确的是——。
A.一个实体模型转换为一个关系模式
B.一个1:
1联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并
C.一个1:
n联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并
D.一个m:
n联系转换为一个关系模式
9.设属性A是关系R的主属性,则属性A不能取空值(NULL),这是。
A.实体完整性规则B.参照完整性规则
C.用户定义完整性规则D.域完整性规则
10.下面对于关系的叙述中,不正确的是。
A.关系中的每个属性是不可分解的
B.在关系中元组的顺序是无关紧要的
C.任意的一个二维表都是一个关系
D.每一个关系只有一种记录类型
1.在下面所列出的条目中,哪个不是数据库管理系统的基本功能。
A.数据库定义B.数据库的建立和维护
C.数据库的存取D.数据库和网络中其他软件系统的通信
2.在数据库的三级模式结构中,内模式有。
A.1个B.2个C.三个D.任意多个
3.下面列出的条目中,哪个不是数据库技术的主要特点。
A.数据的结构化B.数据的冗余度小
C.较高的数据独立性D.程序的标准化
4.用二维表结构表示实体以及实体间联系的数据模型称为。
A.网状模型B.层次模型
C.关系模型D.面向对象模型
5.
6.SQL语言集数据查询、数据操作、数据定义、和数据控制功能于一体,语句ALTERTABLE实现哪类功能。
A.数据查询B.数据操纵
C.数据定义D.数据控制
7.下列有关E-R模型向关系模型转换的叙述中,不正确的是。
A.一个实体模型转换为一个关系模式
B.一个1:
1联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并
C.一个1:
n联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并
D.一个m:
n联系转换为一个关系模式
8._____是位于用户与操作系统之间的一层数据管理软件。
A.数据库系统B.数据库管理系统
C.数据库D.数据库应用系统
9.SQL语言集数据查询、数据操作、数据定义、和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现下列哪类功能。
A.数据查询B.数据操纵
C.数据定义D.数据控制
10.下面列出的关于视图的条目中,不正确的是。
A.视图是外模式
B.视图是虚表
C.使用视图可以加快查询语句的执行速度
D.使用视图可以简化查询语句的编写
选择题
1.关于存储过程,下列说法正确的是()
A.存储过程存放在用户的客户机上,使用时直接调用即可。
B.存储过程中可以使用任意的Transact-SQL语句。
C.存储过程可以使用控制流语句和变量,且在一个存储过程中可以调用其他的存储过程。
D.存储过程在每次执行时,都要经过语法分析、解析、编译和执行共4个阶段。
2.关于触发器,下列说法错误的是()
A.触发器是一种特殊类型的存储过程。
B.DDL触发器和DML触发器可以通过CREATETRIGGER语句来创建,都是为了响应事件而被激活。
C.触发器可以同步数据库中的相关数据表,进行级联更改。
D.DDL触发器包括INSERT触发器、UPDATE触发器、DELETE触发器等基本触发器,以及INSTEADOF触发器、组合触发器、递归触发器等特殊触发器。
3.可以响应INSERT语句的触发器是()
A.INSERT触发器
B.DELETE触发器
C.UPDATE触发器
D.DDL触发器
1.SQL中,下列涉及空值的操作,不正确的是()
A.AGEISNULLB.AGEISNOTNULL
C.AGE=NULLD.NOT(AGEISNULL)
2.SQL语言中,SELECT语句的执行结果是()
A.属性B.表C.元组D.数据库
3.SQL语言中,条件“年龄BETWEEN20AND30”表示年龄在20至30之间,且()
A.包括20岁和30岁B.不包括20岁和30岁
C.包括20岁但不包括30岁D.包括30岁但不包括20岁
4.在SQL语言中使用FOREIGNKEY时,与之配合的是()
A、EXISTSB、EXCEPTC、TABLED、REFERENCES
1.关于存储过程,下列说法正确的是()
A.存储过程存放在用户的客户机上,使用时直接调用即可。
B.存储过程中可以使用任意的Transact-SQL语句。
C.存储过程可以使用控制流语句和变量,且在一个存储过程中可以调用其他的存储过程。
D.存储过程在每次执行时,都要经过语法分析、解析、编译和执行共4个阶段。
2.关于触发器,下列说法错误的是()
A.触发器是一种特殊类型的存储过程。
B.DDL触发器和DML触发器可以通过CREATETRIGGER语句来创建,都是为了响应事件而被激活。
C.触发器可以同步数据库中的相关数据表,进行级联更改。
D.DDL触发器包括INSERT触发器、UPDATE触发器、DELETE触发器等基本触发器,以及INSTEADOF触发器、组合触发器、递归触发器等特殊触发器。
3.可以响应INSERT语句的触发器是()
A.INSERT触发器
B.DELETE触发器
C.UPDATE触发器
D.DDL触发器
如果要为某数据库用户名赋予一些特殊权限,用户可以单独为其授权,也可以通过创建()来实现。
A.服务器角色B.固定数据库角色
C.用户定义数据库角色D.应用程序角色
在某登录名下创建数据库用户名时,系统默认该数据库用户拥有的架构是().
A.dboB.myjiagouC.bulkadminD.db_ddladmin
下列约束中,可用实现数据表之间依赖关系的是()
A.主键约束B.CHECK约束C.DEFAULT约束D.主键和外键约束
在下列数据库常见故障中,需要DBA进行恢复的是()。
A.CPU故障B.操作系统故障C.用户误操作D.病毒侵袭
()备份是进行所有其他备份的基础。
A.完整B.差异C.事务日志D.文件组
如果要想将数据库恢复到发生故障前固定的时间点,应该对数据库进行()备份
A.完整B.差异C.事务日志D.文件组
判断题
1.SQLServer2005采用的是一种分层授权和加密策略,越顶层的授权,其权限越大。
(对)
2.架构是数据库级的安全对象,SQLServer2005实现了架构和用户的分离。
(对)
3.SQLServer2005中角色分为两种:
服务器角色和数据库角色,其中对于服务器角色和固定数据库角色,用户是不能进行修改的。
(对)
4.用户名是数据库级的安全对象,而登录名是服务器级的安全对象,两者相比,登录名的层次高于用户名。
(对)
5.DEFAULT约束可随INSERT命令向数据表中插入没有指定值的列的默认值,一个列通常可以拥有一个或多个DEFAULT约束。
(错)
6.在数据表中只能指定一个列为主键,且该列的值必须是唯一的。
(错)
7.在SQLServer2005中,离线数据库不能进行备份,在创建文件和收缩文件的过程中,不能进行完整备份。
(对)
8.完整备份就是备份整个数据库,包括数据库文件、这些文件的地址以及从备份开始到结束时的事务日志。
(对)
9.通过视图,用户可以更新数据表中的任何列值。
(错)
10.用户表是由用户创建的用于存储原始数据的表,因而普通用户就可以将其删除。
(错)
1.数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变。
()
2.描述实体的特性称为实体属性。
()
3.关系的投影运算是指从一个关系中找出满足给定条件的那些元组,由它们构成一个新关系。
()
4.如果一个关系中的属性或属性组并非该关系的主码,但它是另一个关系的主码,则称其为本关系的外码。
()
5.一门课可以由多个老师教,每一个老师可以教多门课。
课程与老师之间是m:
n的联系。
()
6.DDL触发器包括INSERT触发器、UPDATE触发器、DELETE触发器等基本触发器,以及INSTEADOF触发器、组合触发器、递归触发器等特殊触发器。
()
7.DDL触发器和DML触发器可以通过CREATETRIGGER语句来创建,都是为了响应事件而被激活。
()
8.存储过程可以使用控制流语句和变量,且在一个存储过程中可以调用其他的存储过程。
()
9.存储过程在每次执行时,都要经过语法分析、解析、编译和执行共4个阶段。
()
10.可以使用WITHENCRYPTION语句来加密存储过程,防止未授权用户通过SELECT语句查看存储过程的程序代码。
()
一、填空题
8、现实世界中,实体之间联系的类型有如下几种:
一对一联系、一对多联系、多对多联系
1、数据库系统的三级模式是:
外模式、概念模式和内模式
1.存储过程是SQLServer2005中封装的程序模块,包括3种类型,分别用户自定义存储过程、系统存储过程、扩展存储过程。
2.存储过程有多种调用方式,其中比较常用的是使用EXEC语句
3.可以使用WITHENCRYPTION语句来加密存储过程,防止未授权用户通过SELECT语句查看存储过程的程序代码。
4.系统存储过程常以sp_开头,扩展存储过程常以xp_开头。
5.触发器是一种特殊类型的存储过程,但触发器与它又有明显不同;触发器不是通过EXEC命令调用,而是在执行某些事件时被激活。
6.触发器分为DML和DDL两种类型,其中前者是针对数据操作事件被激活,后者时针对数据定义时间被激活。
7.当用户操作违背触发器时,可以使用PRINT语句或RAISERROR命令来向用户显示出错信息。
8.当一个触发器临时不使用时,可以将其禁用,当需要再次使用该触发器时,可以将其重新激活。
三、用E-R图刻画概念模型(共10分)
学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教师,其中一些教授和副教授每人各带若干研究生。
每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。
用E-R图画出此学校的概念模型。
四、设工程—零件数据库中有四个基本表:
供应商(供应商代码,姓名,所在城市,联系电话);
工程(工程代码,工程名,负责人,预算);
零件(零件代码,零件名,规格,产地,颜色);
供应零件(供应商代码,工程代码,零件代码,数量)
试用SQL语句完成下列操作:
(共20分)
(1)找出天津市供应商的姓名和电话。
(2)查找预算在50000~100000元之间的工程的信息,并将结果按预算降序排列。
(3)找出使用供应商S1所供零件的工程号码。
(4)找出工程项目J2使用的各种零件名称及其数量。
(5)找出上海厂商供应的所有零件号码。
(6)找出使用上海产的零件的工程名称。
(7)找出没有使用天津产的零件的工程号码。
(8)把全部红色零件的颜色改成蓝色。
(9)将由供应商S5供给工程代码为J4的零件P6改为由S3供应,并作其他必要的修改。
(10)从供应商关系中删除S2的记录,并从供应零件关系中删除相应的记录。
五、综合题:
(共20分)
某医院病房计算机管理中需要如下信息:
科室:
科名、科地址、科电话、医生姓名
病房:
病房号、床位号、所属科室名
医生:
姓名、职称、所属科室名、年龄、工作证号
病人:
病历号、姓名、性别、诊断、主管医生、病房号
其中,一个科室可以有多个病房,多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
完成如下设计:
(1)设计该计算机管理系统的E-R图
(2)将该E-R图转换成关系模型的结构
(3)指出转换结果中每个关系模式的候选码
五、综合题(共20分)
设职工---社团数据库有三个基本表:
职工(职工号,姓名,年龄,性别);
社会团体(编号,名称,负责人,活动地点);
参加(职工号,编号,参加日期);
其中:
1)职工表的主码为职工号。
2)社会团体表的主码为编号;外码为负责人,被参照表为职工表,对应属性为职工号。
3)参加表的职工号和编号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;编号为外码,其被参照表为社会团体表,对应属性为编号。
试用SQL语句表达下列操作:
1)定义职工表、社会团体表和参加表,并说明其主码和参照关系。
2)建立下列两个视图。
社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别);
参加人情况(职工号,姓名,社团编号,社团名称,参加日期)
3)查找参加唱歌队或篮球队的职工号和姓名。
4)查找没有参加任何团体的职工情况。
5)查找参加了全部社会团体的职工情况。
6)查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。
7)求每个社会团体的参加人数。
8)求参加人数最多的社会团体的名称和参加人数。
9)求参加人数超过100人的社会团体的名称和负责人。
10)把对社会团体和参加两个表的数据查看、插入和删除数据的权力赋给用户李平,并允许他将此权力授予其他用户。
2、下图画出供应商、零件和项目和仓库四者相互关系的E-R模型图,图中给出"库存"和"供应"两个联系的属性,其他每类实体的属性自定。
完成下列设计工作:
(1)请设计出相应的关系数据库的关系模式,标明主码。
(2)请设计一个SQL查询语句,查询供应零件品种数目大于10种的供应商的名字和供应零件品种数。
答:
(1)关系模式(表格结构)如下,红色为主码:
零件表(零件号,零件名,………)。
供应商表(供应商号,供应商名称,供应商地址……)
项目表(项目号,项目名,………)
项目供应零件表(供应商号,零件号,项目号,供应数量)
仓库表(仓库号,仓库名,………)
库存表(仓库号,零件号,库存量,……..)
(2)SQL查询语句如下:
SELECT供应商名称,COUNT(*)FROM供应商表S,项目供应零件表M,零件表P,项目表O
WHERES.供应商号=M.供应商号ANDM.零件号=P.零件号ANDM.项目号=O.项目号GROUPBY供应商名称HAVINGCOUNT(*)>10
1、完成下面的数据库设计:
请设计某单位的科研项目管理数据库,主要的实体包括:
科研项目组、科研人员和科研项目。
他们之间的关系如下:
每个科研项目组可以有多个科研人员,每个科研人员可以属于多个科研项目组;每个科研项目组可以负责多个科研项目,每个科研项目只能由一个科研项目组负责;每个科研人员可以参与多个科研项目的工作,每个科研项目由多个科研人员参与工作。
学生自己设计每类实体的主要属性。
要求完成如下设计工作:
(1)画出该系统的E-R模型图,包括实体及实体之间的联系,并标出:
(a)实体的主要属性,
(b)实体之间联系的主要属性;
(2)把E-R模型图转换为关系表(标明主关键字)。
(3)请设计一个SQL查询语句,显示参与科研项目数大于5项的科研人员的姓名、参与的科研项目数目。
答:
E_R模型图如下:
实体关系表,红色为主码:
(1)项目表:
(项目号,项目名,……………)
(2)科研组表:
(科研组号,科研组名,……………)
(3)科研人员表:
(人员号,人员名,……………)
两个多对多的联系转换为两个关系表:
(1)属于表:
(人员号,科研组号,……………)
(2)参与项目表:
(人员号,项目号,……………)
SQL语句如下:
SELECT人员名称,COUNT(*)
FROM科研人员表 R,参与项目表 M
WHERER.人员号=M.人员号
GROUPBY人员名称
HAVINGCOUNT(*)>5
12、完成如下设计:
请设计某单位的库存管理数据库系统,系统要求如下:
存储供应商信息,库存零件信息,仓库信息,仓库管理员的信息。
该单位有多个仓库,每个仓库可以存放多种零件,一种零件可以存放在多个仓库中;每个仓库只有一个仓库管理员,一个仓库管理员只能管理一个仓库;每个供应商可以供应多种零件,同一种零件可以由多个供应商供应。
要求完成如下设计工作:
(1)画出该系统的E-R模型图,包括实体及实体之间的联系,并标出:
(a)实体的主要属性,(b)实体之间联系的主要属性;
(2)把E-R模型图转换为关系表(标明主关键字)。
(3)请定义一个视图,该视图的列信息包括零件名称以及零件所在仓库名称的信息。
问答第12题
*实体关系表,红色为主码:
(1)供应商表:
(供应商号,供应商名,……………)
(2)零件表:
(零件号,零件名,……………)
(3)仓库表:
(仓库号,仓库名,管理员号,…………)
(4)仓库管理员表:
(仓库号,仓库名,管理员号,…………)
*两个多对多的联系转换为两个关系表:
(1)供应表:
(供应商号,零件号,供应量,……………)
(2)存放表:
(仓库号,零件号,存放量,……………)
*定义一个视图,该视图的列信息包括零件名称以及零件所在仓库名称,SQL语句如下:
CREATEVIEWpart
AS
SELECT零件名,仓库名
FROM零件表,仓库表,存放表
WHERE零件表.零件号=存放表.零件号
AND仓库表.仓库号=存放表.仓库号
6.对于学生选课关系,其关系模式为:
学生(学号,姓名,年龄,所在系);
课程(课程名,课程号,先行课);
选课(学号,课程号,成绩)。
用关系代数完成以下查询:
1) 求学过的数据库课程的学生的姓名和学号。
2) 求学过的数据库和数据结构的学生的姓名和学号。
3) 求没有学过数据库课程的学生学号。
4) 求学过的数据库的先行课的学生学号。
7.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
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由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
试用关系代数完成如下查询:
1) 求供应工程J1零件的供应商号码SNO。
2) 求供应工程J1零件P1的供应商号码SNO。
3) 求供应工程J1零件为红色的供应商号码SNO。
4) 求没有使用天津供应商生产的红色零件的工程号。
5) 求至少用了供应商S1所供应的全部零件的工程号。
1. 用SQL语句创建学生表,表中字段及其数据类型如下所示:
学生(学号char(10),姓名char(8),性别char
(2),籍贯char(20)),其中学号字段设置为主键字段。
(注:
籍贯只存储省份信息)
2. 用SQL语句将学生表的籍贯字段数据类型改为char(26)。
3. 用SQL语句为学生表增加一个新的字段:
班级char(20)。
4. 用SQL语句删除学生表的班级字段。
5. 用SQL语句为学生表添加如下记录:
(’0001',’张三’,’男’,’河北’)。
6. 用SQL语句将学生表中所有籍贯为‘河北’的记录改为‘河北省’。
7. 用SQL语句删除学生表中的学号为‘0003’的记录。
8. 用SQL语句查出所有男同学的学号、姓名、籍贯。
9. 用SQL语句查出籍贯为‘浙江’或者‘江苏’的学生信息
10用SQL语句查出每个省份的学生人数。
1. CREATETABLE学生(
学号char(10)PRIMARYKEY,
姓名char(8),
性别char
(2),
政治面貌char(20)),
)
2. ALTERTABLE学生
ALTERCOLUMN籍贯char(26)
3. ALTERTABLE学生
ADD班级char(20)
4. ALTERTABLE学生
DROP班级
5. INSERTINTO学生
VALUES(’0001',’张三’,’男’,’河北’)
6. UPDATE学生
SET籍贯=‘河北省’
WHERE籍贯=‘河北’
7. DELETEFROM学生
WHERE学号=‘0003’
8. SELECT学号,姓名,籍贯FROM学生
WHERE性别=’男’
9. SELECT*FROM学生
WHERE政治面貌IN