北大数据库原理上机考题练习及参考答案 练习三(学生、书、借阅)

合集下载

数据库原理考试题库及答案(3)

数据库原理考试题库及答案(3)

数据库原理考试题库及答案一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

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.关系数据模型的三个组成部分中,不包括( )A.完整性规则B.数据结构C.恢复D.数据操作7.关系代数表达式的优化策略中,首先要做的是( )A.对文件进行预处理B.尽早执行选择运算C.执行笛卡儿积运算D.投影运算8.下列四项中,不属于关系数据库特点的是( )A.数据冗余小B.数据独立性高C.数据共享性好D.多用户访问9.数据库的并发操作可能带来的问题包括( )A.丢失更新B.数据独立性会提高C.非法用户的使用D.增加数据冗余度10.在基本SQL语言中,不可以实现( )A.定义视图B.定义基表C.查询视图和基表D.并发控制二、填空题(每空1分,共10分)1.数据库管理系统(DBMS)由以下三类程序组成:语言、控制数据库运行和维护数据库,其中的语言系统分为主语言和______。

2.通过加锁可以保证处理程序并发时的数据______。

3.关系代数中专门的关系运算包括:选择、投影、______和除法。

4.数据库中常用的四种文件组织方式是:顺序文件、______、散列文件、倒排文件。

北航《数据库原理及应用》在线作业三15秋100分答案

北航《数据库原理及应用》在线作业三15秋100分答案

北航《数据库原理及应用》在线作业三单选题一、单选题(共25 道试题,共100 分。

)1. “运行记录优先原则”只指应该在对数据库更新()A. 前先写一个日志记录到日志文件B. 后写一个日志记录到日志文件C. 前先运行记录D. 后在日志缓冲区运行记录-----------------选择:A2. 对数据库并发操作有可能带来的问题包括( )。

A. 读出“脏数据”B. 带来数据的冗余C. 未被授权的用户非法存取数据D. 破坏数据独立性-----------------选择:A3. 实体完整性是指关系中()。

A. 不允许有空行B. 主码不允许取空值C. 属性值外码取空值D. 允许外码取空值-----------------选择:B4. 有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#)。

其中S#为学生号,SNAME为学生姓名,SEX为性别,C#为课程号,CNAME为课程名。

要查询选修“计算机”课的全体女学生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE 子句。

这里WHERE 子句的内容是()A. S.S#=SC.S# and SEX=“女”and CNAME=“计算机”B. S.S#=SC.S# AND C#=SC.C# and CNAME=“计算机”C.SEX=“女”and CNAME=“计算机”D.S.S#=SC.S# and C.C#=SC.C# and SEX=“女”and CNAME=“计算机”-----------------选择:D5. 选择表中若干行使用命令SELECT时应使用子句( )。

A. INTOB. UNIQUEC. ORDER BYD. WHERE-----------------选择:D6. 在数据库系统中死锁属于( )A. 系统故障B. 程序故障C. 事务故障D. 介质故障-----------------选择:C7. SQL中,下列涉及空值的操作,不正确的是A. AGE IS NULLB. AGE IS NOT NULLC. AGE=NULLD. NOT(AGE IS NULL)-----------------选择:C8. 在数据库系统中,空值是()。

数据库系统原理复习 题集附答案

数据库系统原理复习 题集附答案

数据库系统原理复习题集附答案数据库系统是计算机科学和技术中的一个重要领域,它涉及数据的组织、存储和管理。

在数据库系统原理的学习中,复习一些题目并附带答案是非常有效的学习方法。

下面是一些数据库系统原理的复习题及其答案,希望对大家的学习有所帮助。

1. 数据库系统的三级模式分别是什么?(5分)答案:数据库系统的三级模式包括外模式(用户级模式)、概念模式(逻辑模式)和内模式(物理模式)。

2. 数据库是什么?数据库管理系统是什么?(5分)答案:数据库是一个按照一定格式存储、组织和管理数据的集合。

数据库管理系统(DBMS)是对数据库进行管理的软件系统,它提供数据定义、数据操作和数据控制等功能。

3. 数据库系统的优点有哪些?(10分)答案:数据库系统的优点包括数据共享、数据独立性、数据安全性、数据一致性、数据可靠性和数据备份与恢复等。

4. 数据库系统的完整性约束有哪些?(10分)答案:数据库系统的完整性约束包括实体完整性约束、参照完整性约束和用户定义完整性约束。

5. 请简要解释事务的概念。

(10分)答案:事务是数据库操作的一个基本单位,它是一个不可分割的工作单位。

事务应具有四个特性,即原子性、一致性、隔离性和持久性。

6. 请解释ACID是什么意思。

(10分)答案:ACID是数据库事务的四个特性的缩写,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。

7. 请简要介绍数据库的并发控制。

(15分)答案:并发控制是数据库系统中保证事务并发执行的一种机制。

常用的并发控制方法包括锁定和时间戳。

8. 请解释关系数据库的概念。

(10分)答案:关系数据库是一种基于关系模型的数据库,以表(关系)为单位存储数据。

9. 数据库中的主键和外键有什么作用?(10分)答案:主键用于唯一标识表中的每一行数据,外键用于建立表之间的关系,实现数据的引用和关联。

10. 请解释数据库的范式。

北大数据库原理上机考题练习及参考答案 练习四(商品、部门、供应商、销售记录、供应记录)

北大数据库原理上机考题练习及参考答案 练习四(商品、部门、供应商、销售记录、供应记录)

题目:数据库原理练习2/*设有一个公司,分为若干部门,现需要保存商品、公司各部门、销售记录、供应商、供应记录的信息。

其中销售记录表记录了部门与其卖出的商品的联系。

供应记录表记录了供应商、购买该供应商商品的部门、供应商所提供的商品的联系。

表结构的具体描述如下:商品(商品号,商品名,颜色)部门(部门号,部门名,楼层)销售记录(部门号,商品号,商品数量)供应商(供应商号,供应商名,级别)供应记录(供应商号,部门号,商品号,商品数量)请用SQL语句完成下面的功能:1. 建表,要求满足如下约束:a) 商品名、部门名、供应商名不能为空b) 销售记录的数量要求大于1000,小于50000c) 定义必要的主外码2. 往表中插入如下数据:商品(c00001, shoe, red;c00002, shoe, blue;c00003, shoe, yellow;c00004, clothing, black;c00005, clothing, pink;c00006, clothing, red;)部门(d00001, commodity, 1;d00002, marketing, 2;d00003, service, 2;d00004, consulting, 3;)销售记录(d00001, c00001, 5000;d00001, c00002, 8000;d00001, c00006, 10000;d00002, c00005, 40000;d00003, c00004, 9000;)供应商(s00001, dangdang, 0;s00002, sina, 0;s00003, 8848, 0;)供应记录(s00001, d00001, c00001, 5000;s00001, d00002, c00005, 40000;s00002, d00001, c00002, 8000;s00002, d00001, c00006, 10000;s00003, d00003, c00004, 9000;)3. 完成如下查询a) 列出销售了所有颜色为red的商品的部门名。

数据库原理试题及答案

数据库原理试题及答案

一、单选题(每小题后的四个备选答案中只有一个是正确的,请将正确答案的字母填到下面表格的对应题号处。

每小题 1分,本大题共20分。

)1、下面对数据库特点的不正确叙述是()。

A.数据库中的数据采用统一的模型来表示。

B.数据库中数据之间的联系强。

C.数据库中数据冗余度高。

D.数据库中数据由一个软件统一管理。

2、下面对数据库三级模式结构的叙述中,不正确的是()。

A.三级模式结构可提供数据独立性。

B.三级模式结构通过两级映像来实现数据独立性。

C.模式做了修改,用户的应用程序必须修改。

D.内模式做了修改,模式不必修改。

3、不属于DBA职责的是()。

A.模式定义B.对数据库的权限管理C.完整性约束D.查看或修改数据库中的数据。

4、下面关于关系代数的不正确叙述是()。

A.对一个关系作投影运算不会改变该关系元组的个数。

B.选择运算是根据某些条件对关系的元组进行筛选。

C.自然联接运算要求两个关系必须有取值域相同的属性。

D.自然联接是F联接的一种特殊情况。

5、下面对“关系模型”的叙述中,不正确的说法是()。

A.关系模型的数据结构就是关系。

B.关系模型中属性的顺序不能任意改变。

C.关系模型不允许在关系中出现两条完全相同的元组。

D.关系模型具有三类完整性约束。

6、下面对关系“键”概念的不正确叙述是()。

A.一个关系可以有多个候选键。

B.候选键是指在一个关系中,能够唯一标识每个元组的属性集。

C.一个关系模式只能有一个“主键”。

D.候选键再添加一个属性便可构成一个“超键”。

7、设关系R和S的属性集相同,W是R的属性集的子集,下面不正确的等式是()。

A.πW(R-S)=πW(R)-πW(S)B.σ(F)(R-S)=σ(F)(R)-σ(F)(S)C.σ(F)(R∪S)=σ(F)(R)∪σ(F)(S)D.πW(R∪S)=πW(R)∪πW(S)8、在关系模式R(U)中,X⊂U,Y⊂U,X→Y,且Y不能决定X,则Y与X之间的关系是()。

数据库原理及应用模拟试题及答案3

数据库原理及应用模拟试题及答案3

模拟试题3一.单项选择题(本大题共10小题,每小题2分,共20分)1.在数据库方式下的信息处理中,占据中心位置的是 [A ] A .数据 B .程序 C .软件 D .磁盘 2.设R 和S 都是二元关系,那么与元组演算表达式{ t | R (t )∧ ( u) (S(u) ∧ u[1]≠ t[2])}不等价的关系代数表达式是 [B ] A .π1,2(σ2≠3(R ×S )) B .π1,2(σ2≠1(R ×S ))C .π1,2(R ⋈S )D .π3,4(σ1≠4(S ×R )) 3.设有规则: W (a,b,c,d )← R (a,b,x )∧ S (c,d,y )∧ x>y 与上述规则头部等价的关系表达式是 [C ] A .π1,2,4,5(σ3>6(R ⋈S )) B .π1,2,4,5(σ3>3(R ×S ))C .π1,2,4,5(R ⋈ S )D .π1,2,4,5(R ⋈ R ) 4.SQL 中,聚合函数COUNT (列名)用于 [C ] A .计算元组个数 B .计算属性的个数C .对一列中的非空值计算个数D .对一列中的非空值和空值计算个数 5.设有关系R (A ,B ,C )的值如下:A B C2 23 2 34 3 3 5下列叙述正确的是 [B ] A .函数依赖A →B 在上述关系中成立 B .函数依赖BC →A 在上述关系中成立C .函数依赖B →A 在上述关系中成立D .函数依赖A →BC 在上述关系中成立6.设关系模式R (A ,B ,C ,D ),F 是R 上成立的FD 集,F={ AB →C ,D →B },那么 ρ={ ACD ,BD }相对于F [B ] A .是无损联接分解,也是保持FD 的分解 B .是无损联接分解,但不保持FD 的分解 C .不是无损联接分解,但保持FD 的分解 D .既不是无损联接分解,也不保持FD 的分解7.在有关“弱实体”的叙述中,不正确的是 [C ] A .弱实体的存在以父实体的存在为前提B .弱实体依赖于父实体的存在C .父实体与弱实体的联系可以是1:1、1:N 或M:ND .父实体与弱实体的联系只能是1:1或1:N8.如果有n 个事务串行调度,那么不同的有效调度有 [D ] A .n 2 B .2n C .4n D .n ! 9.在传统SQL 技术中,使用“ORDER BY ”子句的SELECT 语句查询的结果,实际上为 [B ]2≠13>33>6A.数组 B.列表 C.包 D.集合10.在DDBS中,用户或应用程序应当了解分片情况,但不必了解片段的存储场地,这种透明性称为[D ] A.分片透明性 B.局部数据模型透明性 C.片段透明性 D.位置透明性二.填空题(本大题共10小题,每小题1分,共10分)11.DBS具有较高的数据独立性,其原因是三级结构之间存在着两级映象。

北大数据库原理上机考题练习及参考答案练习二(学生、班、系)

北大数据库原理上机考题练习及参考答案练习二(学生、班、系)

题目:(1)现要为学校建立一个数据库,设学校环境如下:一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生。

. 现要建立关于系、学生、班级的数据库,关系模式为:班CLASS (班号,专业名,系名,入学年份)学生STUDENT (学号,姓名,年龄,班号)系 DEPARTMENT (系号,系名)试用SQL 语言完成以下功能:1 建表,在定义中要求声明:(1 )每个表的主外码。

(2 )每个班级的人数不能超过30 人。

(3 )学生的年龄介于15 到40 岁之间。

(4 )学生姓名不能为空。

(5 )只有班里没有学生的时候,才能删除该班级。

2 插入如下数据CLASS (101 ,软件,计算机,1995 ; 102 ,微电子,计算机,1996 ;111 ,无机化学,化学,1995 ; 112 ,高分子化学,化学,1996 ;121 ,统计数学,数学,1995 ; 131 ,现代语言,中文,1996 ;141 ,国际贸易,经济,1997 ; 142 ,国际金融,经济,1996 ;)STUDENT (8101 ,张三,18 ,101 ; 8102 ,钱四,16 ,121 ;8103 ,王玲,17 ,131 ; 8105 ,李飞,19 ,102 ;8109 ,赵四,18 ,141 ; 8110 ,李可,20 ,1428201 ,张飞,18 ,111 ; 8302 ,周瑜,16 ,112 ;8203 ,王亮,17 ,111 ; 8305 ,董庆,19 ,102 ;8409 ,赵龙,18 ,101 ; 8510 ,李丽,20 ,142 )DEPARTMENT ( 001 ,数学; 002 ,计算机;003 ,化学; 004 ,中文;005 ,经济;)3 完成以下查询功能(1 )找出所有姓李的学生,并按其年龄由小到大排序。

(2 )列出所有开设超过两个专业的系的名字。

(3 )列出学生人数大于等于2 的系的编号和名称。

数据库系统原理山大考试题库及答案

数据库系统原理山大考试题库及答案

数据库系统原理山大考试题库及答案数据库系统原理—线上一、选择题1、数据是以()的方式存储于操作系统(OS)之中的。

A、数据文件B、日志文件C、存储类型D、并行标准答案是:A2、()是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。

A、数据管理B、数据处理C、数据加工D、数据收集标准答案是:A3、数据库管理系统简称()A、DDAB、DBC、DBAD、DBMS标准答案是:D4、Oracle数据库特点说法正确的是:()1支持单用户、大事务量的事务处理2数据安全性和完整性控制3提供对于数据库操作的接口4支持集中式数据处理5可移植性、可兼容性和可连接性A、12B、235C、35D、25标准答案是:B5、()是位于用户与操作系统之间的一层数据管理软件。

A、数据库管理系统B、数据库C、数据库系统D、数据库管理员标准答案是:A6、一般来说,数据库用户账号总是与某一登录账号相关联,但有一个例外那就是()用户A、saB、systemC、guestD、admin标准答案是:C7、()以自由软件为主。

A、MySQLB、SQL ServerC、DreanwaverD、Oracle标准答案是:A8、数据库的简称()A、DAB、DBC、BDD、DD标准答案是:B9、()是自由软件,因此不属于厂商产品,所以归属于应用中间件软件。

A、MSSQLB、MySQLC、oracleD、linux标准答案是:B10、MS SQL Server 能在那两种安全模式下运行A、数据库认证模式B、WINDOWS认证模式C、混合模式D、安全认证模式标准答案是:BC。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目:数据库原理练习1/*学校图书馆有如下的数据库,其中存放了如下表:学生(学号, 姓名, 所属系号)图书(书号,书名,类别,作者姓名,总册数)注:同一种书具有同一书号借阅(学号,书号,借书日期,还书日期)使用SQL语句完成如下功能:1. 建表,要求在定义中做如下声明:a) 必要的主码外码b) 学生的姓名和图书名称不能为空c) 借书日期不能为空, 还书日期必须迟于借书日期或者为空,数据类型均为datetime。

2. 往表中插入数据(注意给定数据中的日期插入时必须转换为合适的格式)学生(S0001,张三,D001;S0002,李平,D001;S0003,王玲,D002;S0004,李四,D002;S0005,王宁,D003)图书(B0001,平凡的世界,现代小说,路遥,2;B0002,王朔文集,现代小说,王朔,2;B0003,小李飞刀,武侠小说,古龙,2;B0004,数据库系统概念,计算机,杨冬青,2;B0005,数据结构,计算机,张铭,2)借阅(S0001,B0001,2001年1月1日,2001年4月30日;S0001,B0002,2002年2月2日,2002年6月2日;S0001,B0004,2003年12月7日,null)S0002,B0001,2003年3月1日,2003年4月1日;S0002,B0002,2003年3月1日,2003年5月4日;S0003,B0003,2004年1月1日,2004年4月1日;S0003,B0005,2004年10月26日,null;S0004,B0004,2004年10月26日,null;S0005,B0005,2004年10月25日,null)3. 用SQL语句完成如下查询:a) 找出借书日期超过30天的所有学生的姓名。

b) 找出至少借阅过张三同学所借阅过的图书的学生姓名和所属系(不包括张三自己)。

c) 找出借书最多的学生及其所借书的本数。

4. 今天是2004年11月14日,王玲归还了所借的全部图书,请在数据库中做相应的记录。

5. 使用游标,定位王玲同学的第二次借阅记录,列出借阅的图书。

6. 给出被借阅次数排名前2的书名。

(提示:可以使用游标实现)*/网上的参考答案:create table e032study(s_id char(20),s_name char(20) not null,x_id char(20),primary key (s_id))create table e032book(b_id char(20) UNIQUE,b_name char(20) not null,b_type char(20),b_writer char(20),b_sl char(20),primary key (b_id))create table e032brrow(s_id char(20),b_id char(20),j_datedatetime not null,h_datedatetime,primary key (s_id,b_id),foreign key (s_id) references e032study(s_id),foreign key (b_id) references e032book(b_id),check (h_date is null or h_date>j_date))insert into e032study values('S0001','张三','D001')insert into e032study values('S0002','李平','D001')insert into e032study values('S0003','王玲','D002')insert into e032study values('S0004','李四','D002')insert into e032study values('S0005','王宁','D003')select * from e032studyinsert into e032book values('B0001','平凡的世界','现代小说','路遥',2) insert into e032book values('B0002','王朔文集','现代小说','王朔',2)insert into e032book values('B0003','小李飞刀','武侠小说','古龙',2)insert into e032book values('B0004','数据库系统概念','计算机','杨冬青',2)insert into e032book values('B0005','数据结构','计算机','张铭',2)select * from e032bookinsert into e032brrow values('S0001','B0001','2001-1-1','2001-4-30')insert into e032brrow values('S0001','B0002','2002/2/2','2002/6/2')insert into e032brrow values('S0001','B0004','2003/12/7',null)insert into e032brrow values('S0002','B0001','2003/3/1','2003/4/1')insert into e032brrow values('S0002','B0002','2003/3/1','2003/5/4')insert into e032brrow values('S0003','B0003','2004/1/1','2004/4/1')insert into e032brrow values('S0003','B0005','2004/10/26',null)insert into e032brrow values('S0004','B0004','2004/10/26',null)insert into e032brrow values('S0005','B0005','2004/10/25',null)select * from e032brrow--找出借书期超过30天的所有学生的姓名。

select s_name借书期超过30天的所有学生的姓名from e032studywheres_id in(selects_idfrom e032brrowwhereh_date-j_date>30)--找出至少借阅过张三同学所借阅过的图书的学生姓名和所属系(不包括张三自己)selectz.s_name,z.x_idfrom e032study zwhere z.s_name<>'张三'and z.s_id in(selectx.s_idfrom e032brrow x, e032brrow ywherex.b_id=y.b_id and y.s_id='S0001' and x.s_id<>'S0001')--找出借书最多的学生及其所借书的本数。

selects_id,count(s_id)from e032brrowgroup by s_idhaving count(s_id)>=all(select count(s_id)from e032brrowgroup by s_id)--今天是2004/11/14,王玲归还了所借的全部图书,请在数据库中做相应的记录。

update e032brrowseth_date='2004/11/14'where s_id=all(select s_id from e032study where s_name='王玲') and h_date is nullselect * from e032brrow--使用游标,定位王玲同学的第二次借阅记录,列出借阅的图书。

print "王玲同学的第二次借阅记录"declare @i char(20),@b_id char(20),@s_id char(20),@j_datedatetime,@h_datedatetimeset @i=1declarett cursorfor select * from e032brrow where s_id=all(select s_id from e032study where s_name='王玲') openttfetch from ttinto @s_id,@b_id,@j_date,@h_dateif (@@fetch_status<>0)print"王玲同学无借阅记录"fetch from ttinto @s_id,@b_id,@j_date,@h_dateif (@@fetch_status<>0)print"王玲同学无第二次借阅记录"IF(@@fetch_status=0)print @s_idprint @b_idprint @j_dateprint @h_dateclosettdeallocatett--给出被借阅次数排名前2的书名。

相关文档
最新文档