数据库原理期中测试
数据库期中试卷及参考答案

《数据库原理与应用》一.单项选择题(每题1分,共20分)1.目前市场上常见的DBMS 90%以上都是基于( C )数据模型的。
A.层次B.网状C.关系D.面向对象2.E-R图是在数据库设计中用来表示( A )的一种常用方法。
A.概念模型B.逻辑模型C.物理模型D.面向对象模型3.( C )是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
A.外模式B.内模式C.模式D.概念模式4.( B )也称存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。
A.外模式B.内模式C.模式D.概念模式5.数据库的概念模型独立于( A )。
A.具体的机器和DBMS B.E-R图C.信息世界D.现实世界6.在数据库中存储的是( C )。
A.数据B.数据库模型C.数据以及数据之间的联系D.信息7.规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:其每一个属性都是( B )。
A.互不相关的B.不可分解的C.长度可变得D.互相关联的8.在数据模型中有“型”和“值(或实例)”两个对应的概念。
其中数据库的模式是一个( D )的概念,是一个相对()的概念,而数据库在某一时刻的状态则是一个()的概念,是一个相对()的概念。
A.型;变化;值;不变B.值;不变;型;变化C.值;变化;型;不变D.型;不变;值;变化9.关系表A的属性个数为5,元组个数为10;关系表B的属性个数为6,元组个数为20.则A与B的笛卡尔积A×B的属性有( D )个,元组个数有()个。
A.30;200B.11;30 C.30;30D.11;20010.父亲和子女的亲生关系属于( B )的关系。
A.1:1B.1:n C.m:n D.不一定11.在SQL语言中,删除关系表中的一个属性列,要用动词( D ),删除关系表中的一行或多行元组,要用动词()。
A.delete,delete B.drop,drop C.delete,drop D.drop,delete12.在SQL语言中,为关系模式增加一个属性要用动词(B),为关系表增加一行或多行元组要用动词()。
数据库期中试卷及参考答案

数据库期中试卷及参考答案《数据库原理与应用》一.单项选择题(每题1分,共 20分)1.目前市场上常见的DBMS 90% 以上都是基于(C )数据模型的。
A .层次B .网状C.关系D.面向对象2.E-R 图是在数据库设计中用来表示( A )的一种常用方法。
A .概念模型B .逻辑模型C.物理模型D.面向对象模型3.(C )是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
A .外模式B .内模式C.模式 D .概念模式4.(B )也称存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。
A .外模式B .内模式C.模式 D .概念模式5.数据库的概念模型独立于( A )。
A .具体的机器和DBMSB .E-R 图C.信息世界 D .现实世界6.在数据库中存储的是(C)。
A .数据B .数据库模型C.数据以及数据之间的联系D.信息7.规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:其每一个属性都是(B )。
A .互不相关的B .不可分解的C.长度可变得D.互相关联的8.在数据模型中有“型”和“值(或实例)”两个对应的概念。
其中数据库的模式是一个( D )的概念,是一个相对()的概念,而数据库在某一时刻的状态则是一个()的概念,是一个相对()的概念。
A .型;变化;值;不变B .值;不变;型;变化C.值;变化;型;不变D.型;不变;值;变化9.关系表 A 的属性个数为5,元组个数为10;关系表 B 的属性个数为6,元组个数为20.则 A 与 B 的笛卡尔积A× B 的属性有( D )个,元组个数有()个。
A . 30;200B . 11; 30 C.30; 30 D. 11; 20010.父亲和子女的亲生关系属于(B )的关系。
A . 1: 1B .1: n C. m: n D.不一定11.在SQL 语言中,删除关系表中的一个属性列,要用动词( D ),删除关系表中的一行或多行元组,要用动词()。
数据库期中考试题及答案二

《数据库原理》期中测试题一、单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 数据库系统的核心是()A.数据库B.数据库管理系统C.数据模型D.软件工具2. 下列四项中,不属于数据库系统的特点的是()A.数据结构化B.数据由DBMS统一管理和控制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. 己知关系R和S,R∩S等价于()A. (R-S)-SB. S-(S-R)C. (S-R)-RD. S-(R-S)9.用下面的T-SQL语句建立一个基本表:CREATE TABLE Student(Sno CHAR(4) PRIMARY KEY,Sname CHAR(8) NOT NULL,Sex CHAR(2),Age INT)可以插入到表中的元组是()A. '5021','刘祥',男,21B. NULL,'刘祥',NULL,21C. '5021',NULL,男,21D. '5021','刘祥',NULL,NULL10. 下列四项中,不属于数据库系统的主要特点的是()。
数据库期中试题及答案

数据库期中试题及答案苏州科技学院数据库原理与设计试卷一、单选题(1*20=20分)1、DBMS 是DA.数据库B.操作系统C.数据库系统D.数据库管理系统2、下述哪一条不在DBA(数据库管理员)职责范围内 D 。
A.监督和控制数据库的运行B.参与数据库及应用程序设计C.设计数据库的存储策略D.设计数据库管理系统DBMS3、模式的逻辑子集通常称为(C)A.存储模式B.内模式C.外模式D.模式4、用二维表结构表示实体以及实体间联系的数据模型称为BA 层次数据模型B 关系数据模型C 网状数据模型D 树状数据模型5、下列哪一条不属于概念模型的特点D。
A.对现实世界的真实反映B.易于交流和理解C.易于变动D.在计算机实现效率高6、表之间一对多关系是指_B_____。
A.一张表与多张表之间的关系B.一张表中的一个记录对应另一张表中的多个记录C.一张表中的一个记录对应多张表中的一个记录D.一张表中的一个记录对应多张表中的多个记录7、一辆汽车由多个零部件组成,且相同的零部件可适用于不同型号的汽车,则汽车实体集与零部件实体集之间的联系是( D )A. 1:1B. 1:MC. M:1D. M:N8、设计数据库时首先应该设计 C 。
A.数据库应用系统结构B.DBMS结构C.数据库的概念结构D.数据库的控制结构9、概念设计的主要目标是产生数据库概念结构,该结构主要反映(D )A.DBA管理信息的需求B.数据库的维护需求C.应用程序开发的需求D.企业的信息需求10、设属性A是关系R的主属性,则属性A不能取空值,这是 AA.实体完整性规则B.参照完整性规则C.用户自定义完整性规则D.表完整性规则11、设关系R和S分别有m和n个元组,则R×S的元组个数是(D)A.m B.n C.m+n D.m×n12、下面不是SQL语言优点的是(D )A.语言简练,易学易用B.高度非过程化C.数据独立性好D.能方便地生成报表13、.取出关系中的某些列,并消去重复的元组的关系运算称为( B )。
数据库原理与应用期中考试试题A卷

数据库原理与应用期中考试试题A卷数据库原理与应用期中考试试题A卷姓名学号一、选择题〔共10题,每题2分,共20分〕1、存在于效劳器端的组件是:〔常识〕选项A效劳器组件选项B企业管理器组件选项C查询分析器组件选项D导入导出组件2、如果希望完全安装SQL Server,那么应选择〔 P29 〕。
选项A典型安装选项B最小安装r选项C自定义安装选项D仅连接3、用于配置客户端网络连接的工具是〔〕。
选项A企业管理器选项B客户端网络实用工具选项C查询分析器选项D联机帮助文档4、提高SQL Server2022性能的最正确方法之一是〔常识〕。
选项A增大硬盘空间选项B增加内存选项C减少数据量选项D采用高分辨率显示器5、要想使SQL Server数据库管理系统开始工作,必须首先启动〔常识〕。
选项ASQL Server效劳器选项B查询分析器选项C网络实用工具选项D数据导入和导出程序6、SQL Server 2022是一个〔〕的数据库系统。
选项A网状型选项B层次型选项C关系型选项D以上都不是7、客观存在的各种报表、图表和查询格式等原始数据属于〔〕。
选项A机器世界选项B信息世界选项C现实世界选项D模型世界8、进行自然连接运算的两个关系必须具有〔〕。
选项A相同的属性个数选项B相同的主码选项C公共属性选项D相同的元组个数9、假设有两个表的连接是这样的: table_a inner join table_b 其中table_a和table_b是两个具有公共属性的表,这种连接会生成哪种结果集?P69 选项A包括table_a中的所有行,不包括table_b的不匹配行选项B包括table_b中的所有行,不包括table_a的不匹配行选项C包括和两个表的所有行选项D只包括table_a和table_b满足条件的行10、SELECT查询中,要把结果中的行按照某一列的值进行排序,所用到的子句是:〔〕选项AORDER BY选项BWHERE选项CGROUP BY选项DHAVING二、问答题〔共4题,每题5分,共20分〕1、连接到SQL Server有哪两种方式?2、一个数据库中包含哪几种文件?P1143、试说明HAVING子句与WHERE子句之间的区别?P58having子句必须结合group by子句使用,where不结合group by子句使用; where子句不能用聚集函数,而having子句可以。
计本05《数据库原理及应用》期中测验试卷

计本05《数据库原理及应⽤》期中测验试卷2007─2008学年第⼀学期《数据库原理及应⽤》课程期中测验试卷专业:计本年级:05级考试⽅式:闭卷学分:4 考试时间:120 分钟⼀、单选题 (每⼩题 2 分,共 30 分)1.在数据库中,下列说法( A )是不正确的。
A. 数据库避免了⼀切数据的重复B. 若系统是完全可以控制的,则系统可确保更新时的⼀致性C. 数据库中的数据可以共享D. 数据库减少了数据冗余2.关系模型中,⼀个码是( C )。
A. 可由多个任意属性组成B. ⾄多由⼀个属性组成C. 可有⼀个或多个其值能唯⼀标识该关系模式中任何元组的属性组成D. 以上都不是3.同⼀个关系模型的任意两个元组值( A )。
A. 不能全同B. 可全同C. 必须全同D. 以上都不是4.概念模型最常⽤的描述⽅法是( A )。
A. E-R模型B. 关系模型C. 层次模型D. ⽹状模型5.逻辑数据独⽴性是指( A )。
A. 模式改变,外模式和应⽤程序不变B. 模式改变,内模式不变C. 内模式改变,模式不变D. 内模式改变,外模式和应⽤程序不变6.SQL语⾔是( C )语⾔。
A.层次数据库B.⽹络数据库C.关系数据库D.⾮数据库7.⾃然连接是构成新关系的有效⽅法。
⼀般情况下,当对关系R和S使⽤⾃然连接时,要求R和S含有⼀个或多个共有的( D )。
A. 元组B. ⾏C. 记录D. 属性8.关系运算中花费时间可能最长的运算是( C )。
A. 投影B. 选择C. 笛卡尔积D. 除9.⽂件系统与数据库系统的最⼤区别是( C )。
A. 数据共享B. 数据独⽴C. 数据结构化D. 数据冗余10.数据库管理系统能实现对数据库中数据的查询、插⼊、和修改和删除,这类功能称为( C )。
A. 数据定义功能B. 数据管理功能C. 数据操纵功能D. 数据控制功能11.关系数据库规范化是为解决关系数据库中( A )问题⽽引⼊的。
A. 插⼊异常、删除异常和数据冗余B. 提⾼查询速度C. 减少数据操作的复杂性D. 保证数据的安全性和完整性12.在关系模式R(A,B,C,D)中,有函数依赖集F={B→C,C→D,D→A},则R能达到( B )。
2011-2012(2)数据库原理期中试卷答案
1-5 BCDCA 6-10答案:CCDAB 11-15 CCAAD 16-20 BDBAD 21-22 CD 1.答案:关系名(属性名1,属性名2,…,属性名n)2.答案:①关系名②属性名③属性类型④属性长度⑤关键字3.答案:①人工管理②文件系统②数据库系统4. 答案:①组织②共享5. 答案:①数据库管理系统②用户③操作系统6. 答案:①数据定义功能②数据操纵功能7. 答案:①逻辑数据独立性②物理数据独立性8. 答案:物理独立性9. 答案:①数据结构②数据操作③完整性约束10. 答案:①数据结构②数据操作11. 答案:①模式②外模式③内模式12. 答案:①1∶1 ②1∶m ②m∶n13. 答案:①浪费存储空间及修改麻烦②潜在的数据不一致性14. 答案:①一个或几个基本表②定义③视图对应的数据15. 答案:①INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”)②INSERT INTO R(NO,NAME,CLASS) VALUES(30,“郑和”,“95031”)③UPDATE R SET NAME=“王华”WHERE NO=10④UPDATE R SET CLASS=“95091”WHERE CLASS=“95101”⑤DELETE FROM R WHERE NO=20⑥DELETE FROMR WHERE NAME LIKE“王%”三.1. 答:(6分)2)工厂(工厂号,工厂名,地址)产品(产品号,产品名,单价)生产(工厂号,产品号,数量,日期)2. 解:本题各个查询语句对应的关系代数表达式表示如下:(15分)(1). ∏C#,CNAME(σTEACHER=‘程军’(C))(2). ∏S#,SNAME(σAGE>21∧SEX=”男”(C))(3). ∏SNAME{s♦ [∏S#,C#(sc)÷∏C#(σTEACHER=‘程军’(C))]} (2分)(4). ∏C#(C)- ∏C#(σSNAME=‘李强’(S) ♦ SC)(5). ∏S#(σ[1]=[4]∧[2]≠[5] (SC × SC))(6). ∏C#,CNAME(C♦ (∏S#,C#(sc)÷∏S#(S))) (2分)(7). ∏S#(SC♦ ∏C#(σTEACHER=‘程军’(C)))(8). ∏S#,C#(sc)÷∏C#(σC#=’k1’∨ C#=’k5’(C)) (2分)(9). ∏SNAME{s♦ [∏S#,C#(sc)÷∏C#(C)]}(10). ∏S#,C#(sc)÷∏C#(σS#=’2’(SC)) (2分)(11). ∏S#,SNAME{s♦ [∏S#(SC♦ σCNAME=‘C语言’(C))]}3. (4分)4. 答案:(1)ЛSN (ЛSNO,PNO(SP)÷ЛPNO(P) ♦ ЛSNO,SN(S))(2分)SELECT SNFROM SWHERE NOT EXISTS(SELECT *FROM PWHERE NOT EXISTS(SELECT *FROM SPWHERE SNO=S.SNO AND PNO=P.PNO));(2分)(2)ЛSN(S)-ЛSN(S♦ σPNO=‘P2’(SP) )(2分)SELECT SNFROM SWHERE NOT EXISTS(SELECT *FROM SPWHERE PNO=’P2’AND SNO=S.SNO);(2分)(3)SELECT SNFROM S, SP X, SP YWHERE S.SNO=X.SNO AND X.SNO=Y.SNO AND X.PNO=’P1’AND Y.PNO=’P2’;(2分)(4)CREATE VIEW RLSASSELECT SNO, SNFROM S, SP, PWHERE S.SNO=SP.SNO AND SP.PNO=P.PNO AND S.CITY=’London’AND COLOR=’Red’;(2分)。
数据库原理期中测试(带答案)
《数据库原理》期中小测试一、选择题。
(15题*4分)1、在ER图中,用来表示实体的图形是( )A. 矩形框B. 椭圆C. 直线D. 菱形2、列值为空值(NULL),则说明这一列:()A、值为0B、值为空格C、值是未知的D、值是非法的3、当使用INSERT语句往数据库表中插入一行数据时,在主键列值上如果出现重复值,那么会产生的情况是()。
A、出错,操作失败B、操作成功C、操作成功,但要给出警告信息D、自动把数据行的主键列值更改为没有重复的列值后在插入,操作成功4.在建立一个数据库表时,如果规定某一列的缺省值为0,则说明()A、该列的数据不可更改B、当插入数据行时,必须指定该列值为0C、当插入数据行时,如果没有指定该值,那么该列值为0D、当插入数据行时,无须显式指定该列值5、SQL Server的系统管理员的用户名为()A. dbaB. saC. adminD. administrator6、在一个查询中,使用()关键字能够除去重复列值。
A、distinctB、topC、havingD、desc7、在ORDER BY子句中,如果没有指定ASC(升序)或者DESC(降序)的话,那么缺省的情况是()A、ascB、descC、asc或者desc中的任何一个D、不进行排序8、在关系数据库中,关系之间的联系是靠()处理的。
A.连接字段值B.表格C.记录D.属性9、以下描述中不属于关系的性质的是:( )A. 列是同质的,即每一列中的分量是同类型的数据,来自同一个值域B. 行的顺序是无关紧要的,即行的次序可以任意交换C. 列的顺序不可以任意交换D. 每一个分量都必须是不可分的最小数据项10、五种基本关系代数运算是()A. ∪,-,×,π和σB. ∪,-,∞,π和σC. ∪,∩,×,π和σD. ∪,∩,∞,π和σ11、当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的操作是()A. 左外联接B. 右外联接C. 并操作D. 外联接12、SQL中,下列涉及空值的操作,不正确的是()A. AGE IS NULLB. AGE IS NOT NULLC. AGE = NULLD. NOT (AGE IS NULL)13、关系代数表达式σ2<5(S)表示()A.表示从S关系中挑选2的值小于第5个分量的元组B.表示从S关系中挑选第2个分量值小于5的元组C.表示从S关系中挑选第2个分量值小于第5个分量的元组D.表示从S关系中挑选第5个分量值大于2的元组14、关系代数中的Π(投影)运算符对应SELECT语句中的以下哪个子句?()A.SELECTB.FROMC.WHEHED.GROUP BY15、下列SQL语句中,能够实现“收回用户ZHAO对学生表(STUD)中学号(XH)的修改权”这一功能的是()A.REVOKE UPDATE(XH) ON TABLE FROM ZHAOB.REVOKE UPDATE(XH) ON TABLE FROM PUBLICC.REVOKE UPDATE(XH) ON STUD FROM ZHAOD.REVOKE UPDATE(XH) ON STUD FROM PUBLIC二、简答题。
数据库期中考试题及答案二
《数据库原理》期中测试题一、单项选择题(本大题共20小题,每小题2分,共40分) 得分在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 数据库系统的核心是()A.数据库B.数据库管理系统C.数据模型D.软件工具2.下列四项中,不属于数据库系统的特点的是()A.数据结构化B.数据由DBMS统一管理和控制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.己知关系R和S,R∩S等价于()A. (R-S)-SB. S-(S-R)C.(S-R)-RD. S-(R-S)9.用下面的T-SQL语句建立一个基本表:CREATE TABLE Student(Sno CHAR(4) PRIMARY KEY,Sname CHAR(8) NOT NULL,Sex CHAR(2),Age INT)可以插入到表中的元组是()A. '5021','刘祥',男,21B. NULL,'刘祥',NULL,21C. '5021',NULL,男,21D. '5021','刘祥',NULL,NULL10. 下列四项中,不属于数据库系统的主要特点的是()。
《数据库原理与应用》期中测试 问卷2
《数据库原理与应用》期中测试问卷2一、判断题(每题1分,共10分,正确的写 ,错误的写 )(1)E-R模型只能转换为关系模型,不能转换为层次模型和网状模型。
(2)如果一个实体A对应多个实体B,则A与B之间必然是一对多的联系。
(3)一个关系的主键可以包含多个属性。
(4)在一个关系模式中,如果A->B,B->C,则称C部分依赖于A。
(5)数据库的一个数据文件可以属于多个文件组。
(6)创建表时,对表的每列必须指明数据类型和长度,例如“生日datetime(8)”。
(7)在SQL Server中,存储逻辑型数据值的数据类型是boolean.(8)在SQL语句中,对数值型的属性赋值,应该两边用单引号将值包括起来。
(9)为了提高数据库的检索和更新速度,最好在数据表的每个字段都建立索引。
(10)聚集索引一定是唯一性索引,非聚集索引一定是非唯一性索引。
二、选择题(每题2分,共30分,单项选择)(1)E-R图用于描述数据库的()。
A. 物理模型B.存储模型 C. 逻辑模型D.概念模型(2)ER图中的主要元素是()。
A.结点、记录和文件B.记录、文件和表C. 实体、联系和属性D. 记录、表、属性(3)数据库三级模式间引入二级映射的主要作用是()。
A. 提高数据与程序的安全性B. 提高数据与程序的独立性C. 保持数据与程序的一致性D. 提高数据与程序的可移植性(4)A∩B可等价替换为()。
A. B-(A-B)B. AU(A-B)C. A-(B-A)D. A-(A-B)(5)有关系:职员(编号,姓名,生日,职务),从关系中查询所有经理的情况应使用()关系运算。
A. 选择B.投影 C. 连接 D. 笛卡儿积(6)有关系:教学(学号、教工号、课程号),每个学生可以选修多门课程,每门课程可以由多名学生来选修,每个老师可以讲授多门课程,每门课程可以由多个老师来讲授,那么该关系的主键是()。
A. 教工号B. 课程号C. (学号,教工号)D. (学号,教工号,课程号)(7)下面()不是SQL Server 2008的数据库对象。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
零件号颜色供应商号P1红A1P2蓝A3P3白A4《数据库原理与应用》期中测验1、 简答题(10分, 5分/题)1、试述数据模型的三要素。
(5分)答:数据模型的三要素包括数据的基本结构,数据的约束条件和定义在数据上的操作。
对于关系型数据库来讲,数据的基本结构是关系或者二维表;数据的约束条件包括实体完整性约束、参照完整性约束和用户自定义的完整性约束条件;定义在关系上的操作包括对数据的增加、删除和修改等。
2、设有供应商关系S 和零件关系P ,如图所示,S 和P 的主码分别是“供应商号”和 “零件号”,P 的外码是“供应商号”。
(5分)S P供应商号供应商名所在城市A1红星北京A2宇宙上海A3黎明天津A4立新重庆分析下列3个操作能否被正确执行,并说明理由。
Ⅰ.在P 中插入元组(′P2′,′白′,′A2′)Ⅱ.在P 中插入元组(NULL,′绿′,′A1′)Ⅲ.在P 中插入元组(′P4′,′白′,′A5′)答:(1)不可以,因为P 中已经有P2的元组,违反了实体完整性约束。
(2)不可以,因为主键不能为空,违反了实体完整性约束。
(3)不可以,因为‘A5’在S 中没有对应的供应商,违反了参照完整性约束。
三、已知下面四个关系模式:产品(制造厂商,型号,类型)PC 机(型号,CPU 速度,RAM 容量,硬盘容量,光驱速度和型号,价格)手提电脑(型号,CPU 速度,RAM 容量,显示器尺寸,光驱速度和型号,价格)打印机(型号,是否彩色,处理类型,价格)其中产品的类型包括PC机、手提电脑或打印机,并假设所有产品型号唯一。
打印机的处理类型包括激光、喷墨或点阵。
利用关系代数写出如下查询的表达式:(20分, 4分/题)1、哪些种型号的PC机的CPU速度大于1000?2、查询所有生产大于1G的RAM的手提电脑的制造厂商。
3、查询厂商B生产的所有产品的型号和价格。
4、查询所有激光打印机的型号。
5、查询价格在9000以下、RAM容量大于120的手提电脑的制造厂商、型号、CPU速度和价格。
四、基于图书馆数据库的3个表,用SQL语言完成以下数据操作:(20分)图书(书号,书名,作者,出版社,单价)读者(读者号,姓名,性别,办公电话,部门,读者类别编号)借阅(读者号,书号,借出日期,归还日期)读者类别(读者类别编号,读者类别,允许借阅册数,允许借阅天数)利用sql语言创建三张表,并定义它们的主键和外键约束。
create table 图书(书号 varchar(10) primary key,书名 varchar(10),作者 varchar(10),出版社 varchar(10),单价 money)create table 读者类别(读者类别编号 varchar(10) primary key,读者类别 varchar(10),允许借阅册数 int,允许借阅天数 int)create table 读者(读者号 varchar(10) primary key,姓名 varchar(10),性别 varchar(10),办公电话 varchar(10),部门 varchar(10),读者类别编号 varchar(10) references 读者类别(读者类别编号))create table 借阅(读者号 varchar(10) references 读者(读者号),书号 varchar(10) references 图书(书号),借出日期 datetime,归还日期 datetime,primary key(读者号,书号))五、利用sql语言完成以下查询(30分,2分/题)1、向借阅表插入一个借阅记录,表示读者‘王小平’(读者编号为rj450016)借阅了一本书,书号为’TP316/ZW6’,借出日期为当天的日期,归还日期为空值。
insert into 借阅 values('rj450016','TP316/ZW6',getdate(),null)2、读者‘王小平’在借出上述图书10天之后归还该书。
update 借阅 set 归还日期=dateadd(day,10,借出日期)where 读者号 = 'rj450016' and 书号 = 'TP316/ZW6'3、当读者‘王小平’按期归还图书时,删除上述借阅记录。
delete from 借阅from 借阅 join 读者 on 借阅.读者号 = 读者.读者号join 读者类别 on 读者类别.读者类别编号 = 读者.读者类别编号where 借阅.读者号 = 'rj450016' and 借阅.书号 = 'TP316/ZW6'and datediff(day,借出日期,getdate()) > 允许借阅天数4、查询全体图书的图书号、书名、作者、出版社和单价。
select * from 图书5、查找姓名以‘王’、‘张’或‘李’开头的所有读者的读者号及姓名。
select 读者号,姓名 from 读者 where 姓名 like '[王张李]%'6、查询单价在20元以上、30元以下的机械工业出版社出版的图书名及单价。
select 书名,单价 from 图书where 单价 between 20 and 30 and 出版社 = '机械工业出版社'7、查询机械工业出版社图书的平均价格、最高价、最低价。
select avg(单价),max(单价),min(单价) from 图书8、查询借阅图书数超过2本的读者号、总本数。
并按借阅本数值从大到小排序。
select 读者号,count(*) as 总本数 from 借阅where 归还日期 is nullgroup by 读者号having count(*) > 0order by count(*)9、查询借阅了机械工业出版社出版、并且书名中包含‘数据库’三个字的图书的读者,并显示读者号、姓名、书名、出版社、借出日期及归还日期。
select 读者.读者号,姓名,书名,出版社,借出日期,归还日期from 读者 join 借阅 on 读者.读者号 = 借阅.读者号join 图书 on 借阅.书号 = 图书.书号where 出版社 = '机械工业出版社' and 书名 like '%数据库%'10、查询与‘王小平’的办公电话相同的读者的姓名。
select 姓名 from 读者where 办公电话 in(select 办公电话 from 读者 where 姓名 = '王小平') and 姓名 <> '王小平'11、查询办公电话为‘88320701’的所有读者的借阅情况,要求包括借阅了图书的读者和没有借阅的读者,显示他们的读者号、姓名、书名及借阅日期。
select 读者.读者号,姓名,书名,借出日期from 读者 left outer join 借阅 on 读者.读者号 = 借阅.读者号join 图书 on 借阅.书号 = 图书.书号where 办公电话 = '88320701'12、查询‘科学出版社’的图书中单价比‘机械工业出版社’最高单价还高的图书书名及单价。
select 书名,单价 from 图书where 单价 > (select max(单价) from 图书 where 出版社 = '机械工业出版社')and 出版社 = '科学出版社'13、查询从未被借阅过的图书信息。
select * from 图书where 书号 not in (select distinct 书号 from 借阅)--或者select 图书.* from 图书left outer join 借阅 on 图书.书号 = 借阅.书号where 借阅.读者号 is null14、查询正在借阅的图书信息。
select 图书.* from 图书join 借阅 on 图书.书号 = 借阅.书号where 借阅.归还日期 is null15、查询借阅了机械工业出版社出版的书名中含有‘数据库‘三个字的图书,但没有借阅科学出版社出版的书名中含有‘数据库‘三个字的图书的读者姓名及书名。
select 姓名,书名from 读者 join 借阅 on 读者.读者号 = 借阅.读者号join 图书 on 借阅.书号 = 图书.书号where 出版社 = '机械工业出版社' and 书名 like '%数据库%'and not exists(select * from 借阅 join 图书 on 借阅.书号 = 图书.书号where 出版社 = '科学出版社' and 书名 like '%数据库%'and 读者.读者号 = 借阅.读者号)五、基于上述图书馆的关系模式,完成以下操作。
(25分)1、创建以下视图(5分)创建视图v1,统计每种类型的读者手中持有的图书册书(即已经借阅还没有归还的图书的总数)。
包括读者类型编号,读者类型,借阅册书create view v1asselect 读者.读者类别编号,读者类别,count(*) as 借阅册书from 读者 join 借阅 on 读者.读者号 = 借阅.读者号join 图书 on 借阅.书号 = 图书.书号join 读者类别 on 读者类别.读者类别编号 = 读者.读者类别编号where 归还日期 is nullgroup by 读者.读者类别编号,读者类别2、存储过程(15分)读者可以续借图书,但是每次借阅的图书只能续借一次。
试创建续借文献的存储过程p1。
题目有问题,需要添加一列是否续借alter table 借阅 add 续借次数 smallint default 0create proc p1(@书号 varchar(10))asbeginupdate 借阅 set 借出日期 = getdate(),续借次数 = 续借次数 + 1from 借阅 join 读者 on 读者.读者号 = 借阅.读者号join 读者类别 on 读者类别.读者类别编号 = 读者.读者类别编号where 借阅.续借次数 = 0 anddatediff(day, 借出日期, getdate()) < 允许借阅天数 and书号 = @书号end读者借阅图书时,需要查询是否有超期的图书没有归还,如果有则不能继续借阅图书,试创建一存储过程p2完成借阅图书的功能。
create proc p2(@读者号 varchar(10), @书号 varchar(10))asbeginupdate 借阅 set 归还日期 = getdate()where 读者号 = @读者号 and 书号 = @书号 and读者号 not in (select 读者.读者号from 读者 join 读者类别 on 读者类别.读者类别编号 = 读者.读者类别编号join 借阅 on 借阅.读者号 = 读者.读者号where 读者.读者号 = @读者号 anddatediff(day, 借阅.借出日期, getdate()) < 读者类别.允许借阅天数)end3、函数(5分)创建一个函数f1,查询指定读者的借阅图书清单,包括读者姓名,部门,读者类型,书名,出版社,借阅日期,归还日期,输入参数为读者姓名。