关系代数及SQL语言的习题
- 格式:doc
- 大小:21.50 KB
- 文档页数:3
一、关系运算1、设有两个关系R(A,B)和S(B,C),请写出与下面关系代数表达式等价的SQL语句。
πB(R) -πB(σc=`C56`(S))2、已知关系R、S如下所示,以表的形式给出下列运算结果。
(1)σX=Z(R ╳ S)已知关系模式如下:学生:S(Sno,Sname,Ssex,Sage,Sdept) 对应学生的学号,姓名,性别,年龄,系;课程:C(Cno,Cname,Tname) 对应课程的课程号,课程名,授课教师名字;学生选课:SC(Sno,Cno,Grade)对应学生选修课程的成绩。
3、检索至少选修两门课程的学生学号及姓名。
4、查询王力同学不学课程的课程名。
5、查询既选修了课程1也选修了课程2的学生学号。
6、检索全部学生都选修的课程的课程号与课程名。
7、查询刘宏老师所授课程的每门课程的学生平均成绩。
8、为“三建”工程项目建立一个供应情况视图,包括SNO、PNO、QTY。
9、试修改Student表结构,实现学生性别取值为‘男’,‘女’的约束。
答案:1、SELECT BFROM RWHERE B NOT IN(SELECT BFROM SWHERE C=`C56`);2、(bebb,cccc) ,(ccc)3、检索至少选修两门课程的学生学号及姓名。
select sno,sname from student where sno in(select sno from scgroup by snohaving count(*)>=2);4、查询王力同学不学课程的课程名。
SELECT CNAME FROM CWHERE NOT EXISTS(SELECT*FROM SCWHERE O=O AND SNO =(SELECT SNO FROM STUDENT WHERE SNAME=’王力’));5、查询既选修了课程1也选修了课程2的学生学号。
SELECT SnoFROM SCWHERE Cno='1' AND Sno IN(SELECT SnoFROM SCWHERE Cno='2');6、检索全部学生都选修的课程的课程号与课程名。
关系代数补充习题(摘自数据库系统导论)单项选择:1. 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为________。
(1)主码(2)候选码(3)主属性(4)外码2.________由数据结构、关系操作集合和完整性约束三部分组成。
(1)关系模型(2)关系(3)关系模式(4)关系数据库3.SQL 语言属于________。
(1)关系代数语言(2)元组关系演算语言(3)域关系演算语言(4)具有关系代数和关系演算双重特点的语言4.关系演算是用________来表达查询要求的方式。
(1)谓词(2) 关系的运算(3)元组(4)域5.实体完整性要求主属性不能取空值,这一点可以通过________来保证。
(1)定义外码(2)定义主码(3)用户定义的完整性(4)由关系系统自动6.一组具有相同数据类型的值的集合称为________。
(1)关系(2)属性(3)分量(4)域7.在一个关系中,不能有相同的________。
(1)记录(2)属性(3)分量(4)域8.关系是________。
(1)型(2)静态的(3)稳定的(4)关系模型的一个实例9.所谓空值就是________的值。
(1)数值0 (2)空的字符串(3)未知的值(4)任何值10.集合R 与S 的差表示为________。
(1){t|t∈R∨t∈S} (2){t|t∈R∧フt∈S} (3) {t|t∈R∧t∈S}(4) {trts|tr∈R ∧ts∈S}问答题2.1 本章中,我们声称并、交、积和(自然)连接都具有交互性和结合性。
证明之。
2.2 在Codd 最初定义的八个操作符中,并、差、积、选择和投影可以被认为是基本的。
试用这五种基本操作来表示自然连接、交和除。
2.3 如果A 和B 没有共同的属性,则A JOIN B 等价于A TIMES B。
对其进行证明。
如果A 和B 有相同的表头,则上述表达式等价于什么?2.4 证明2.2 中提到的五个基本操作符是基本的(证明任意一个不能被其余四个来表示)。
SQL练习题,非题库选择题1. 取出关系中的某些列,并消去重复的元组的关系运算称为(投影运算)。
2. 在学生数据库中,用SQL语句列出所有女生的姓名,应该对学生关系进行(选择和投影)操作。
3. 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是(多对一)。
4. 在一个关系中,不能有相同的(属性)。
5. (数据库管理系统)是位于用户与操作系统之间的一层数据管理软件。
6. 数据库系统不仅包括数据库本身,还要包括相应的硬件,软件和(各类相关人员)。
7. SQL语言属于(据有关系代数和关系演算双重特点的语言)。
8. SQL Server采用的体系结构是(单进程、多线程)。
9. SQL语言是(结构化查询语言)。
10.SQL语言最主要功能是(数据查询)。
11.SQL Server2005在安装之前,应注意的事项是(SQL Server2005在安装之前,必须在操作系统级启用TCP/IP)。
12.下列关于身份验证模式叙述正确的是(只有Windows的当前用户才可选择Windows身份验证模式)。
13.在连接SQL Server时需要提供用户名和密码的身份验证模式是(SQL Server身份验证)。
14.在连接到数据库引擎时,有两种连接认证方式,其中在(SQL Server身份验证)方式下,需要客户端提供登录时需要的用户名和密码。
15.下列(pubs)不是SQL Server2005的系统数据库。
16.关于数据库事务日志文件叙述错误的是(如果未指定事务日志文件的增长量,则文件大小保持不变)。
17.每个数据库有且只能有一个(主数据文件)。
18.下面(队列、约束)不是SQL Server2005数据库对象。
19.如果数据库中的数据量非常大,除了将数据存储在主数据文件中,还可以将一部分数据存储在(次数据文件)。
20.用以交互地设计和测试T-SQL语句的是(查询命令窗口)。
36.设教学用的四个基本表(S,C,T,SC)(2)查询年龄大于23岁的女同学的学号和姓名select 姓名,学号from swhere 性别='女' and 年龄>23(3)查询至少选修了刘老师所讲授课程中的一门课程的女同学姓名select s.姓名from s,scwhere s.性别='女'and s.学号=sc.学号and sc.课程编号in(select c.课程编号from c,twhere c.教师编号=t.教师编号and t.姓名='刘%')(4)查询至少选修了2门课程的学生学号select sc.学号from scgroup by 学号having count(课程编号)>2(5)查询全部学生都选修的课程号与课程名select c.课程编号,c.课程名称from c,scwhere sc.课程编号=c.课程编号and sc.学号=(select distinct s.学号from s)(6)计算机系每个教师讲授的课程号select t.教师编号,课程编号from c,twhere t.所在系='计算机系(7)查询没有选修过任何一门课程的学生的学号select s.学号from swhere s.学号not in(select distinct sc.学号from sc)(10)统计个系教师的人数select count (教师编号)from tgroup by 所在系(11)统计出教师人数超过10人的系的名称select t.所在系from tgroup by 所在系having count(教师编号)>10(12)在选课表SC中查询成绩为NULL的学生的学号和课程号select 学号课程编号from scwhere 成绩='NULL'(13)姓王的同学的年龄、姓名、选课名称、成绩select 年龄,姓名,课程名称,成绩from s,c,scwhere s.学号=sc.学号and c.课程编号=sc.课程编号and s.姓名='王%'(14)查询年龄大于女同学平均年龄的男同学姓名和年龄select 姓名,年龄from swhere 性别='男' and 年龄>(select avg(年龄)from swhere 性别='女')37.在数据库{USER、ORDER}中,用户需要查询“所有于2009年5月25日下订单的女顾客姓名”。
第4章习题一.单项选择1.SQL语言是____的语言,易学习.A 过程化B 非过程化C 格式化D 导航式提示:SQL是一种介于关系代数与关系演算之间的结构化查询语言,它是高度非过程化的.2.SQL语言是____语言.A 层次数据库B 网络数据库C 关系数据库D 非数据库提示:SQL是关系数据库标准语言.3.SQL语言具有____的功能.A 关系规范化,数据操纵,数据控制B 数据定义,数据操纵,数据控制C 数据定义,关系规范化,数据控制D 数据定义,关系规范化,数据操纵提示:SQL语言自身不具备关系规范化功能.4.在SQL中,用户可以直接操作的是____.A 基本表B 视图C 基本表和视图5.在SQL语言中,实现数据检索的语句是_____.A SELECTB INSERTC UPDATED DELETE6.SELECT语句执行结果是_____.A 数据项B 元组C 表D 数据库7.在SQL语句中,对输出结果排序的语句是_____.A GROUP BYB ORDER BYC WHERED HA VING8.在SELECT语句中,需对分组情况满足的条件进行判断时,应使用____.A WHEREB GROUP BYC ORDER BYD HA VING9.在SELECT语句中使用*表示____.A 选择任何属性B 选择全部属性C 选择全部元组D 选择主码10.在SELECT语句中,使用MAX(列名)时,该”列名”应该____.A 必须是数值型B 必须是字符型C 必须是数值型或字符型D 不限制数据类型11.使用CREATE TABLE语句创建的是____.A 数据库B 表C 试图D 索引12.下列SQL语句中,修改表结构的是____.A ALTERB CREATEC UPDATED INSERT13.在SQL中使用UPDA TE语句对表中数据进行修改时,应使用的语句是____.A WHEREB FROMC V ALUESD SET14.视图建立后,在数据库中存放的是____.A 查询语句B 组成视图的表的内容C 视图的定义D 产生视图的表的定义15.以下叙述中正确的是_____.A SELECT命令是通过FOR子句指定查询条件B SELECT命令是通过WHERE子句指定查询条件C SELECT命令是通过WHILE子句指定查询条件D SELECT命令是通过IS子句指定查询条件16.与WHERE AGE BETWEEN 18 AND 23完全等价的是____.A WHERE AGE>18 AND AGE<23B WHERE AGE<18 AND AGE>23C WHERE AGE>18 AND AGE<=23D WHERE AGE>=18 AND AGE<=2317.在查询中统计记录(元组)的个数时,应使用____函数.A SUMB COUNT(列名)C COUNT(*)D A VG18.在查询中统计某列中值的个数应使用____函数.A SUMB COUNT(列名)C COUNT(*)D A VG19.已知基本表SC(S#,C#,GRADE),其中S#为学号,C#为课程号,GRADE为成绩.则”统计选修了课程的学生人数”的SQL—SELECT语句为_____.A SELECT COUNT(DISTINCT S#)FROM SCB SELECT COUNT(S#)FROM SCC SELECT COUNT()FROM SCD SELECT COUNT(DISTINCT *)FROM SC20.在数据库中有如图所示的两个表,若职工表的主码是职工号,部门表的主码是部门号,SQL操作____不能执行.A 从职工表中删除行(‘025’,’王芳’,’03’,720)B 将行(‘005’,’乔兴’,’04’,750)插入到职工表中C 将职工号为”001”的工资改为700D 将职工号为”038”的部门号改为’03’提示:由于职工表中的职工号为主码,不能向其中插入同主码的记录.21.若用如下SQL语句创建一个表studentCREATE TABLE student(NO CHAR(4) NOT NULL,NAME CHAR(8) NOT NULL,SEX CHAR(2),AGE INT)可以插入到student表中的是_____.A (‘1031’,’曾华’,男,23)B (‘1031’,’曾华’,NULL,NULL)C (NULL,’曾华’,’男’,’23’)D (‘1031’,NULL,’男’,23)提示:A中性别SEX属性值格式不正确,C中NO属性值不能为空,D中NAME属性值不能为空.22.假设学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE).要查询选修”COMPUTER”课程的”女”同学的姓名,将涉及关系____.A SB SC,CC S,SCD S,SC,C二.填空1.SQL语言的数据定义功能包括定义数据库,定义基本表,定义视图,定义索引2.SELECT命令中,WHERE子句用于选择满足给定条件的元组,使用GROUP BY子句可按指定列的值分组,同时使用HA VING子句可提取满足条件的组.3.在SELECT命令中进行查询,若希望查询的结果不出现重复元组,应在SELECT语句中使用DISTINCT保留字.4.视图是一个虚表,它是从一个或几个基本表(或视图)导出的表.在数据库中,只存放视图的定义不存放视图对应的数据接第一章10._____是对数据库系统静态特征的描述,_____是对数据库系统的动态特征的描述.11.数据库体系结构按照_____,____和_____三级结构进行组织.12.外模式是_____的子集.13.实体之间的联系可抽象为三类,它们是____,____和____.14.关系操作的特点是_____操作15.关系模型的完整性规则包括_____,_____和_____.16.自然连接运算是由_____,_____和_____操作组合而成的.17.关系模式的定义格式为_____.18.关系数据库中可命名的最小数据单位是。
一、单项选择1、createtableemp(empnochar(10)primarykey,deptnochar(10)foreignkeyreferencedept(deptno));根据这一定义可知___B___。
A、'dept不能引用emp中不存在的deptnoB、emp不能引用dept中不存在的deptnoC、dept中删除记录时,emp中记录跟着删除D、emp中不可以插入dept中不存在的empno2、E-R方法的三要素是(C)。
A、实体、属性、实体集B、实体、键、联系C、实体、属性、联系D、实体、域、候选键单选3、SQL语言中视图(view)对应数据库系统三级模式结构中的(C)。
A、内模式B、模式C、外模式D、都不对4、SQL语言最主要功能是(C)。
A、数据定义功能B、数据管理功能C、数据查询D、数据控制5、集合R与S的交可以用关系代数的5种基本运算表示为(A)。
A、R-(R-S)B、σF(R×S)C、空D、06、视图最主要的优点是什么? (A)A、提高数据的逻辑独立性B、提高查询效率C、操作灵活D、节省存储空间7、数据的正确、有效和相容称之为数据的(B)。
A、安全性B、一致性C、独立性D、完整性8、数据库系统不仅包括数据库本身,还要包括相应的硬件,软件和什么_?(D)A、数据库管理系统B、数据库应用系统C、相关的计算机系统D、各类相关人员9、数据库中只存放视图的(C)。
A、操作B、对应的数据C、定义D、限制10、下述哪一条是并发控制的主要方法(B)。
A、授权B、封锁C、日志D、索引11、与WHEREgradenotin(60,100)语句等价的子句是(B)。
A、WHEREgrade!=60ANDgrade<100B、WHERE grade!=60 ANDgrade!=100C、WHEREgrade!=60orgrade!=100D、WHEREgrade<60ORgrade>10012、SQL语言的GRANT,REVOKE语句主要用来维护数据库的(D)。
第二章 关系代数(补充习题)1. 根据下面图给出的三个关系S1、S2、S3,求运算结果:S1∪S2、S2-S1、S1∩S2、∏A ,C (S2)、σA=“a1”(S1)、S2S32. 设有一数据库GradeManager (成绩管理),包括四个表:学生表(Student )、课程表(Course )、班级表(Class )以及成绩表(Grade )。
StudentCourseClassGrade1)找出所有被学生选修了的课程号;2)找出01311班女学生的个人信息;3)找出01311班、01312班的学生姓名、性别、出生日期;4)找出年龄介于14与20岁之间的学生信息;5)找出选修了课程操作系统的学生学号和姓名;6)找出所有没有选修1号课程的学生姓名;7)找出选修了全部课程的学生姓名。
8)找出选修了1号课程和4号课程的学生学号。
9)找出“贾向东”同学不学课程的课程号。
第三章 SQL基础(补充习题)1.设有一数据库GradeManager(成绩管理),包括四个表:学生表(Student)、课程表(Course)、班级表(Class)以及成绩表(Grade)。
四个表的结构如图下所示,具体数据如第二章习题2所示。
用SQL语句创建四个表。
StudentGrade2.针对以上四个表,用SQL语言完成以下各项操作:①给学生表增加一属性Nation(民族),数据类型为Varchar(20);②删除学生表中新增的属性Nation;③向成绩表中插入记录(”2001110”,”3”,80);④修改学号为”2001110”的学生的成绩为70分;⑤删除学号为”2001110”的学生的成绩记录;⑥为学生表创建一个名为IX_Class的索引,以班级号的升序排序;⑦删除IX_Class索引。
3.针对以上四个表,用SQL语言完成以下各项查询:①找出所有被学生选修了的课程号;②找出01311班女学生的个人信息;③找出01311班、01312班的学生姓名、性别、出生日期;④找出所有姓李的学生的个人信息;⑤找出学生李勇所在班级的学生人数;⑥找出课程名为操作系统的平均成绩、最高分、最低分;⑦找出选修了课程的学生人数;⑧找出选修了课程操作系统的学生人数;⑨找出2000级计算机软件班的成绩为空的学生姓名。
一、选择题1.SQL语言是()的语言,容易学习.BA. 过程化B.非过程化C.格式化D.导航式2.在视图上不能完成的操作是()。
CA.更新视图B.查询C.在视图上定义新的表D.在视图上定义新的视图3.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREA TE、DROP、ALTER语句是实现哪种功能()。
CA.数据查询B.数据操纵C.数据定义D.数据控制4.SQL语言中,删除一个视图的命令是()。
BA.DELETEB.DROPC.CLEARD.REMOVE5.在SQL语言中的视图VIEW是数据库的()。
AA.外模式B.模式C.内模式D.存储模式6.下列的SQL语句中,()不是数据定义语句。
DA.CREA TE TABLEB.DROP VIEWC.CREA TE VIEWD.GRANT7.若要撤销数据库中已经存在的表S,可用()。
CA.DELETE TABLE SB.DELETE SC.DROP TABLE SD.DROP S8.若要在基本表S中增加一列CN(课程名),可用()。
CA. ADD TABLE S (CN CHAR(8))B. ADD TABLE S ALTER (CN CHAR(8))C. ALTER TABLE S ADD CN CHAR(8)D. ALTER TABLE S (ADD CN CHAR(8))9.学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。
要在表S中删除一个属性“年龄”,可选用的SQL语句是()。
BA.DELETE Age from SB.ALTER TABLE S DROP COLUMN AgeC.UPDA TE S AgeD.ALTER TABLE S ‘Age’10.有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。
其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄,C#是课程号,CNAME是课程名称。
sql参考题(单项选择题)一、单项选择1、create table emp(empno char(10) primary key ,deptno char(10) foreign key reference dept(deptno));根据这一定义可知___B___。
A、' dept不能引用emp中不存在的deptnoB、emp不能引用dept中不存在的deptnoC、dept中删除记录时,emp中记录跟着删除D、emp中不可以插入dept中不存在的empno2、E-R方法的三要素是( C )。
A、实体、属性、实体集B、实体、键、联系C、实体、属性、联系D、实体、域、候选键单选3、SQL 语言中视图(view)对应数据库系统三级模式结构中的( C )。
A、内模式B、模式C、外模式D、都不对4、SQL语言最主要功能是( C )。
A、数据定义功能B、数据管理功能C、数据查询D、数据控制5、集合R与S的交可以用关系代数的5种基本运算表示为( A )。
A、R-(R-S)B、σF(R×S)C、空D、06、视图最主要的优点是什么? (A)A、提高数据的逻辑独立性B、提高查询效率C、操作灵活D、节省存储空间7、数据的正确、有效和相容称之为数据的( B )。
A、安全性B、一致性C、独立性D、完整性8、数据库系统不仅包括数据库本身,还要包括相应的硬件,软件和什么_?(D)A、数据库管理系统B、数据库应用系统C、相关的计算机系统D、各类相关人员9、数据库中只存放视图的( C )。
A、操作B、对应的数据C、定义D、限制10、下述哪一条是并发控制的主要方法( B )。
A、授权B、封锁C、日志D、索引11、与WHERE grade not in (60,100)语句等价的子句是( B )。
A、WHERE grade!=60 AND grade<100B、WHERE grade!=60 AND grade!=100C、WHERE grade!=60 or grade!=100D、WHERE grade<60 OR grade>10012、SQL 语言的GRANT,REVOKE语句主要用来维护数据库的( D )。
一、单项选择题:1.SQL语言是( )的语言,容易学习。
A.过程化B. 非过程化C.格式化D. 导航式2.关系操作方式的特点是( )操作。
A. 导航方式B. 一次一集合方式C.一次一记录方式 D. 记录或集合方式3.下列关于基本表与存储文件之间关系的叙述中,正确的是( )。
A. 一个基本表只能存储于一个文件中,一个存储文件中也只能存储一个基本表B. 一个基本表只能存储于一个文件中,但一个存储文件中可存储多个基本表C. 一个基本表可以存储于一个或多个文件中,但一个存储文件中只能存储一个基本表D. 一个基本表可以存储于一个或多个文件中,一个存储文件中也可以存储一个或多个基本表4.视图是从一个或多个基本表(视图)导出的表。
它相当于三级模式结构中的( )A. 外模式B. 模式C.内模式 D. 存储模式5.SQL的GRANT与REVOKE命令属于数据库保护中的( )控制。
A.完整性 B. 安全性 C. 并发控制 D. 恢复机制6.1986年,( )被定为关系数据库标准语言。
A. 关系代数B. 关系演算C.SQL语言D.QBE7.在SQL语言中授权的操作是通过( )语句实现的。
A. CREATE B.REVOKE C.GRANT D.INSERT8.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE,DELETE等.其中最重要的,也是使用最频繁的语句是( )。
A. DELETEB. INSERTC. UPDATED. SELECT9.SQL语言中,实现数据检索的语句是( )。
A.SELECT B.INSERT C. UPDATE D.FIND10.下列SQL语句中,修改表结构的是( )。
A. ALTERB. CREATEC.UPDATED. DELETE11.实体完整性约束和SQL语言中的()相对应。
A.primary key B.foreign key C.check D.unique12.参照完整性约束和SQL语言中的()相对应。
《关系数据库与SQL语言》第一章练习题一、选择题1. 实体完整性要求主属性不能取空值,这一点通常是通过(B)A. 定义外键来保证B. 定义主键来保证C. 用户定义完整性来保证D. 关系系统自动保证2. 建立在计算机外部设备上的结构化的、有联系的数据集合是(A)。
A. 数据库B. 数据库管理系统C. 数据结构D. 数据文件3. 英文缩写 DBA 是代表(B)。
A. 数据库管理系统B. 数据库管理员C. 数据定义语言D. 数据操纵语言4. 数据库设计中,在概念设计阶段可用 E — R 方法,其设计出的图称为(A)。
A. 实体联系图B. 实用概念图C. 实体表示图D. 实物示意图5. 在概念设计阶段可用 E —R 图,其中“矩形框”表示实体,(D)表示实体间联系。
A. 圆形框B. 椭圆框C. 箭头D. 菱形框6. 一个教师能开多门课程,一门课程有许多教师会开,实体课程与实体教师间是(C)。
A. 一对一的联系B. 一对多的联系C. 多对多的联系D. 多对一的联系7. 两个不同型实体间(B)。
A. 只有一种联系B. 可以有多种联系C. 不能有联系D. 只有多对多的联系8. 不是数据库系统中的数据模型是(D)。
A. 层次模型B. 网状模型C. 关系模型D. 多用户型9. 对于两实体间 m:n 联系,必须对“联系”单独建立(D),用来联系双方实体。
A. 一个实体B. 一个属性C. 一个指针D. 一个关系10. 模式的逻辑子集通常称为(C)A .存储模式B .内模式C .外模式D .模式11.要保证数据库物理数据独立性,需要修改的是 ( B ) 。
A. 模式B. 模式与内模式的映射C. 模式与外模式的映射D. 内模式12. 下列四项中,不属于数据库特点的是 ( C ) 。
A. 数据共享B. 数据完整性C. 数据冗余很高D. 数据独立性高13. 数据库中存储的是 ( D ) 。
A. 数据B. 数据模型C. 数据之间的联系D. 数据以及数据之间的联系14.表示数据库的概念模型一般使用 ( C) 。
一、关系代数题1.设有关系R 和S 如下图所示。
计算:R ∪S ,R-S ,R ×S ,R ∩S ,Π3,2(S ),σB<5(R),R ∞S 。
2.设有如下图所示的关系R ,S 和T ,计算: (1)R1= R ∪S (2)R2= R-S(3)R3=σA=C (R ×T) (4)R4=ΠA (S ) (5)R5=R ∞T3.设有如下图所示的关系R ,S 和T ,计算: (1)R1= R ∪S (2)R2= R-S (3)R3=σA=C (R ×T) (4)R4=ΠA (S ) (5)R5=R ∞T二、SQL 语言题1、设有一个顾客商品关系数据库,有三个基本表,表结构如下:商品表:Article (商品号,商品名,单价,库存量)客户表:Customer (顾客号,顾客名,性别,年龄,电话) 订单表:OrderItem (顾客号,商品号,数量,购买价,日期)(1)请用SQL语言创建一个视图GM_VIEW,检索顾客的顾客号、顾客名和订购商品的商品名、金额和日期。
(金额等于数量*购买价)CREA T VIEW GM_VIEW ASSELECT ___________FROM Artcle, Customer, OrderItemWHERE ___________;(2)请用SQL语言检索一次订购的商品数量最多的顾客名。
SELECT 顾客名FROM Customer, OrderItemWHERE___________=(SELECT___________FROM OrderItem);(3)请用SQL语言找出女顾客购买的商品号、商品名和数量合计。
SELECT ___________FROM OrderItem, Artcle, Customer,WHERE ___________GROUP BY OrderItem.商品号,商品名;(4)请用SQL语言检索所有未下订单的顾客的顾客号和顾客名。
数据库技术试题三、操作题1. 设有关系数据库:职工关系EMPLOYEE (职工号,职工名,街道,城市)工作关系WORKS (职工号,公司号,工资)公司关系COMPANY (公司号,公司名,城市)假设职工可在多个公司兼职,请用关系代数表达式写出至少在公司号为‘C2’和‘C5’公司兼职的职工的职工号。
2. 设有关系数据库:职工关系EMPLOYEE (职工号,职工名,街道,城市)工作关系WORKS (职工号,公司号,工资)公司关系COMPANY (公司号,公司名,城市)试用SQL语句写出下列操作:将所有在“联华公司”工作的职工加薪5﹪。
3. 图书出版管理数据库中有两个基本表:图书 (书号,书名,作者编号,出版社,出版日期)作者 (作者编号,作者名,年龄,地址)试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。
4. 设有商店和顾客两个实体,“商店”有属性商店编号、商店名、地址、电话,“顾客”有属性顾客编号、姓名、地址、年龄、性别。
假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。
试画出ER图,并注明属性和联系类型。
5. 学校有多名学生,财务处每年要收一次学费。
为财务处收学费工作设计一个数据库,包括两个关系:学生 (学号,姓名,专业,入学日期)收费 (学年,学号,学费,书费,总金额)假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。
列的宽度自定义。
试用SQL语句定义上述表的结构。
(定义中应包括主键子句和外键子句)6. 用SQL语言定义(1) 学生关系S,包括学号SNo、姓名SN、年龄SA、系别SD;(2) 课程关系C,包括课程号CNo、课程名CN、学分CC;(3) 学生选课关系SC,包括SNo、CNo和成绩G。
注意:说明主键码和外键码(如果有的话)。
#include <stdio.h>void main(){int b,i,c=0,a[30];scanf("%d",&b);while(b!=0){i=b%2;a[c]=i;c++;b=b/2;}for(;c>=1;c--){printf("%d",a[c-1]);}printf("\n");}数据库原理模拟试卷(1)一、项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
每小题1分,共15分)1.数据库系统的体系结构是(C )A、两级模式结构和一级映象B、三级模式结构和一级映象C、三级模式结构和两级映象D、三级模式结构和三级映象2.SQL语言称为(C )。
A、结构化定义语言B、结构化控制语言C、结构化查询语言D、结构人操纵语言3.在视图上不能完成的操作是(D)。
A、在视图上定义新的视图B、查询操作C、更新视图D、在视图上定义新的基本表4.数据库的并发操作有可能带来的三个问题中包括(D)。
A、数据独立性降低B、无法读出数据C、权限控制D、丢失更新5.当前应用最广泛的数据模型是(B)。
A、ER模型B、关系模型C、网状模型D、层次模型16.现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。
则该关系模式的码是(D )。
A、书号B、读者号C、书号+读者号D、书号+读者号+借期7.要保证数据库物理数据独立性,需要修改的是( B )A.模式B.模式与内模式的映射C.模式与外模式的映射D.内模式8.下列四项中,不属于数据库特点的是( D )A.数据共享B.数据完整性C.数据冗余较小D.数据独立性低9.数据库中存储的是( D )A.数据B.数据模型C.数据之间的联系D.数据以及数据之间的联系10.反映现实世界中实体及实体间联系的信息模型是( D )A.关系模型B.层次模型C.网状模型D.E—R模型11. 五种基本关系代数运算是( a)A. ∪,-,×,π和σB. ∪,-,∞,π和σC. ∪,∩,×,π和σD. ∪,∩,∞,π和σ12.数据库保护的几个方面中,不包括的是( A )A.控制数据冗余B.并发控制C.完整性保护D.故障恢复13.下列四项中,关系规范化程度最高的是关系满足( B )A.非规范关系B.第三范式C.第二范式D.第一范式14.单个用户使用的数据视图的描述称为(a )A.外模式B.概念模式C.内模式D.存储模式15. 子模式DDL用来描述( b )A.数据库的总体逻辑结构B.数据库的局部逻辑结构C.数据库的物理存储结构D.数据库的概念结构二、填空题(每空1分,共15分)1、在三大传统的数据模型中,具有严格的数学理论基础的是_关系模型___。
CH3关系数据库标准语言SQL一、选择题1、SQL属于()数据库语言A、关系型B、网状型C、层次型D、面向对象型2、SQL中创建基本表应使用()语句A、CREATE INDEXB、CREATE TABLEC、CREATE VIEWD、CREATE DATEBASE3、SQL中创建视图应使用()语句A、CREATE SHCEMAB、CREATE TABLEC、CREATE VIEWD、CREATE DATEBASE4、关系代数中的Π运算对应SELECT语句中的()子句A、SELECTB、FROMC、WHERED、GROUP BY5、关系代数中的σ运算对应SELECT语句中的()子句A、SELECTB、FROMC、WHERED、GROUP BY6、WHERE子句的条件表达式中,可以匹配0个到多个字符的通配是()A、*B、%C、_D、?7、WHERE子句的条件表达式中,可以匹配单个字符的通配是()A、*B、%C、_D、?8、SELECT语句中与HA VING子句同时使用的是()子句A、ORDER BYB、WHEREC、GROUP BYD、无需配合9、与WHERE G BETWEEN 60 AND 100 语句等价的子句是()A、WHERE G>60 AND G<100B、WHERE G>=60 AND G<100C、WHERE G>60 AND G<=100D、WHERE G>=60 AND G<=10010、若用如下的SQL语句创建一个表student:CREATE TABLE student ( NO CHAR(4) NOT NULL,NAME CHAR(8) NOT NULL,SEX CHAR (2),AGE INT)可以插入到student表中的是()A、(‘1031’,‘刘华’,男,23)B、(‘1031’,‘刘华’,NULL,NULL)C、(NULL,‘刘华’,‘男’,‘23’)D、(‘1031’,NULL,‘男’,23)11、SQL语言支持建立聚簇索引,这样可以提高查询效率,但是,并非所有属性列都适宜建立聚簇索引,下面()属性列不适宜建立聚簇索引。
SQL数据库习题及答案1.模型中,同一个关系中的不同属性,其属性名__B__。
A. 可以相同 B. 不能相同C. 可以相同,但数据类型不同 D. 必须相同2.数据库系统由数据库、A组成。
A.DBMS、应用程序、支持数据库运行的软硬件环境和DBA3.计算机数据管理技术的发展可以划分为三个阶段,在某个阶段数据是以文件形式长期存储在辅助存储器中,程序和数据之间具有相对的独立性,数据不再属于某个特定的应用程序,数据可以重复使用,该阶段是B。
B.文件管理阶段C.数据库管理阶段D.信息管理系统阶段4.在数据库的三级体系结构中,数据库的模式对应于数据库的D B.内部视图C.存储视图D.概念视图5.在数据库的三级体系结构中,数据的逻辑独立性是通过D来实现的。
D.外模式-模式映射6.三层C/S结构包括客户机、应用服务器和数据库服务器三部分。
7.DDL是指数据描述语言,DML是指数据操纵-查询语言,DBMS是指数据库管理系统,DD是指数据字典。
8.在SPARC结构中,定义的数据库三层结构分别是外模式、模式和内模式。
9.数据的独立性包括物理独立性和逻辑独立性两个方面。
10.实体集之间的联系有三种,分别是一对一的联系,一对多的联系,多对多的联系11.试说明数据管理的数据库阶段的主要特点。
答:数据库管理的数据库阶段主要特点是:1、数据共享性;2、具有较高的数据与程序的独立性;3、便于对数据实行集中统一的控制。
12.试说明DBMS的组成。
答:DBMS是由一系列软件构成的复杂系统,一般来说DBMS由下列三类软件组成:语言系统;控制数据库运行的程序;数据库维护程序;13.数据模型的三要素是什么?答:数据模型的三要素是数据结构、数据操作、数据的约束条件。
14.关系模型有什么特点?答:关系模型有什么特点:1、关系模型与非关系模型不同,它是建立在严格的数学概念基础上的;2、关系模型的概念单一,无论实体或实体之间的联系都用关系表示3、存取路径对用户透明。
针对书上的学生选课数据库S_T,用关系代数和SQL语言完成以下查询:
1、查询“CS”系所有学生的学号和姓名。
2、Slelect sno,sname from student where sdept =’CS’
3、查询所有姓“刘”的学生的信息。
4、Select * from student where sname like ‘刘%’
5、查询年龄在18至20岁之间的学生信息。
6、Select * from student where sage between 18 and 20
7、查询不在“CS”系也不在“MA”系的学生的所有信息。
8、Select * from student where sdept not in (‘CS’,’MA’)
9、查询“CS”系所有学生的平均年龄。
10、Select avg(sage) from student where sdept like ‘CS’
11、查询课程名是以“系统”结尾的课程信息。
12、Select * from course where cname like ‘%系统’
13、查询先行课为“6”号课程的课程信息。
14、Select * from course where cpno=6
15、查询间接先行课为“5”号课程的课程号及课程名。
16、Select , from c c1,c c2 where = and =5
17、Select cno ,cname from course where cpno in (select cno from course
where cpno=5)
18、查询没有先行课的课程名。
19、Select cname from course where cpno is null
20、查询选修了“1”号课程的学生选课信息。
21、Select * from sc where cno=1
22、查询成绩为90分以上的学生姓名和课程名。
23、Select sname ,cname from s,c,sc where = and = and grade>=90
24、查询被选修了的课程号及课程名。
25、Select cno ,cname from course where cno in (Select distinct(cno )
from sc)
26、Select cno ,cname from course where exists (select * from sc where
=
27、查询没有选修课程的学生学号及姓名。
28、Select sno,sname from s where sno not in (select distinct(sno) from
sc)
29、Select sno ,sname from s where not exists(select * from sc where
=
30、查询没有选修“1”号课程的学生姓名。
31、Select sname from s where sno not in (select distinct(sno) from sc
where cno=1)
32、Select sname from s where not exists (select * from sc where = and
=1)
33、查询既选修了“数据结构”又选修了“操作系统”的学生姓名。
34、Select sname from ,sc where = and = and cname=’数据结构’
35、Select sname from s where sno in (select sno from sc where
cno=(slect cno from c where cname=’数据结构’) and sno in (select sno from sc where cno=(select cno from c where cname=’操作系
统’)))
36、Select sname from s where sno in (select sno from sc sc1,sc sc2 where
= and =(slect cno from c where cname=’数据结构’) and =(select cno from c where cname=’操作系统’))
37、查询既选修了“2”号又选修了“4”号课程的学生学号。
38、Select sno from sc where cno=2 and sno in(select sno from sc where
cno=4)
39、Select sno from sc sc1,sc sc2 where = and =2 and =4
40、查询选修了“2”号或“4”号课程的学生学号。
41、Select sno from sc where cno=2 or cno=4
42、查询至少选修了“95002”学生所选课程的学生学号。
43、Select from sc scx where not exists (select * from sc scy where
=’95002’ and not exists (select * from sc scz where = and =)
44、查询至少选修了一门其间接先行课为“7”号课程的学生姓名。
45、Select sname from s where sno in(Select sno from sc where cno in
(Select from c c1,c c1 where = and =7))
46、查询选修了所有课程的学生姓名。
47、Select sname from s where not exists (select * from c where not
exists (select * from sc where = and =)
48、查询“李勇”同学所选课程的平均成绩。
49、Select avg(grade) from sc where sno =(Select sno from s where sname
=’李勇’)
50、查询“操作系统”这门课的最高分及最低分。
51、Select max(grade),min(grade) from sc where cno=(select cno from
course where cname =’操作系统’)
52、查询“数据结构”这门课的选课人数。
53、Select count(sno) from sc where cno =(select cno from course where
cname=’数据结构’)
54、查询“CS”系的所有学生的学号、姓名、课程名及成绩。
55、Select sno,sname,cname,grade from s,sc,c where = and = and
sdept=’CS’
56、查询“CS”系选修课程的成绩在90分以上的所有女生的姓名、课程名和
成绩。
57、Select sname,cname,grade from s,sc,c where = and = and sdept=’CS’
and grade >=90 and ssex like ‘女’。