数据库复习题选择题.docx
- 文档编号:23838592
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:21
- 大小:74.36KB
数据库复习题选择题.docx
《数据库复习题选择题.docx》由会员分享,可在线阅读,更多相关《数据库复习题选择题.docx(21页珍藏版)》请在冰豆网上搜索。
数据库复习题选择题
二、填空题
1、数据库与文件系统的根本区别是 数据结构化 。
2、在文件系统阶段,数据管理的三个主要缺陷是 数据的冗余度高 、 数据的不一致性 和 数据的联系弱 。
3、 物理数据独立性 是指数据库的物理结构改变时,尽量不影响整体逻辑结构、用户的逻辑结构以及应用程序。
4、 逻辑数据独立性 是数据库的整体逻辑结构改变时,尽量不影响用户的逻辑结构以及应用程序。
5、数据库系统提供的数据控制功能主要包括 数据完整性控制 、 数据安全性控制 、 数据库的恢复 和 并发控制 。
6、数据库系统与文件管理系统相比较数据的冗余度 低 ,数据共享性 高 。
7、用户与操作系统之间的数据管理软件是 数据库管理系统(DBMS) 。
8、根据不同的数据模型,数据库管理系统可以分为 层次型 、 网状型 、 关系型 和面向对象型。
9、数据模型应当满足 比较真实地描述现实世界 、 容易为人所理解 和 便于在计算机上实现 三方面的要求。
10、现实世界中,事物的个体在信息世界中称为 实体 ,在机器世界中称为 记录 。
11、现实世界中,事物的每一个特性在信息世界中称为 属性 ,在机器世界中称为 字段(数据项) 。
12、能唯一标识实体的属性集,称为 码 。
13、数据描述的两种形式是 物理数据描述 和 逻辑数据描述 。
其中 物理数据描述 是指数据在存储设备上的存储方式; 逻辑数据描述 是指程序员或用户用以操作的数据形式。
14、属性的取值范围称为该属性的 域 。
15、两个不同实体集的实体间有 一对一 、 一对多 和 多对多 三种情况联系。
16、表示实体类型和实体间联系的模型,称为 概念模型 ,最著名、最为常用的概念模型是 ER模型 。
17、常用的结构数据模型有 层次模型 、 网状模型 和 关系模型 。
18、数据模型的三要素包含数据结构、 数据操纵 和 完整性约束 三部分。
19、在E-R图中,用 方框 表示实体类型;用 菱形 表示联系类型;用 椭圆 表示实体类型和联系类型的属性。
20、用树型结构表示实体类型及实体间联系的数据模型称为 层次模型 。
在该模型中,上一层记录类型和下一层记录类型间的联系是 一对多 。
21、用有向图结构表示实体类型及实体间联系的数据模型称为 网状模型 。
22、用二维表格表示实体类型及实体间联系的数据模型称为 关系模型 。
23、数据库的体系结构分为 外模式 、 内模式 和 内模式 三级。
24、DBMS提供了 三级模式 和 两级映象 功能,保证了数据库系统具有较高的数据独立性。
25、在数据库的三级模型中,单个用户使用的数据视图的描述,称为 外模式(用户模式、子模式) ;全局数据视图的描述,称为 概念模式(模式) ;物理存储数据视图的描述,称为 内模式 。
26、数据独立性是指 应用程序 和 数据 之间相互独立,不受影响。
27、数据独立性分成 逻辑 独立性和 物理 独立性两级。
28、数据库管理系统(DBMS)提供 DML(数据操纵语言) 实现对数据库中数据的检索和更新等操作。
29、数据库系统(DBS)是由 数据库 、 硬件 、 软件 、和 数据库用户 四部分组成。
30、DBS中最重要的软件是 DBMS ;最重要的用户是 DBA 。
31、采用了 数据库 技术的计算机系统称为DBS。
32、数据库用户分为四类,分别是 DBA 、 专业用户 、 应用程序员 和 最终用户 。
33、DBS中负责数据库物理结构与逻辑结构的定义和修改的人员,称为 DBA ,使用宿主语言和DML编写应用程序的人员,称为 应用程序的人员 ,使用应用程序对数据库进行操作的人员,称为 最终用户 。
34、数据库管理员DBA与DBMS的界面是 数据库模式 ;专业用户与DBMS的界面是 数据库查询 。
35、应用程序员与DBMS的界面是 子模式 ;最终用户和DBMS的界面是 应用界面 。
36、关系模型由 关系的数据结构 、 关系的操作集合 、 关系的完整性约束 三部分组成。
37、关系的完整性分为 实体完整性 、 参照完整性 、 用户定义完整性 三类。
38、关系代数运算中 并 、 差 、 笛卡儿积 、 投影 和 选择 是5个基本关系运算,其他运算可以从基本的运算中导出。
39、关系代数的连接运算中当θ为“=”的连接称为 等值连接 ,且当比较的分量是相同的属性组时,则称为 自然连接 。
40、关系运算主要有 关系代数运算 、 元组演算 、 域演算 三种,在关系的表达能力上 等价的 是可以相互转换。
41、SQL语言的功能包括 数据查询 、 数据操纵 、 数据定义 和 数据控制 。
42、SQL以同一种语法格式,提供 自含式 和 嵌入式 两种使用方式。
43、关系数据库是以 关系模型 为基础的数据库,利用 关系 描述现实世界,一个关系既可以描述 一个实体及属性 ,也可以描述 实体之间的联系 。
44、在关系数据库中,二维表称为一个 关系 ,表的每一行称为 元组 ,表的每一列称为 属性 。
45、数据完整性约束分为 静态约束 和 动态约束 两类。
46、关系数据库设计理论,主要包括三个方面内容:
数据依赖 、 范式 和 模式设计方法 。
其中 数据依赖 起着核心的作用。
54、X→Y是模式R的一个函数依赖,在当前值r的两个不同元组中,如果X值相同,就一定要求 Y值也相同 。
也就是说,对于X的每一个具体值,都有 Y唯一的具体值 与之对应。
55、设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果 从F中的函数依赖也能够推出X→Y ,则称F逻辑蕴涵X→Y,记为 F逻辑蕴涵X→Y 。
被F逻辑蕴涵的函数依赖的全体构成的集合,称为 F的闭包(函数依赖的闭包) ,记作 F+ 。
三、名词解释
1、域、关系、元组、属性
答:
域:
域是一组具有相同数据类型的值的集合。
关系:
在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)
元组:
关系中的每个元素是关系中的元组。
属性:
关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。
由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。
2、模式、内模式、外模式
答:
(1)外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用研究有关的数据的逻辑表示。
(2)模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
模式描述的是数据的全局逻辑结构。
外模式涉及的是数据的局部逻辑结构,通常是模式的子集。
(3)内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据库的物理结构和存储方式的描述。
3、候选码、主码、外码
答:
候选码:
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidatekey)。
主码:
若一个关系有多个候选码,则选定其中一个为主码(Primarykey)。
外部码:
设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外部码(Foreignkey),简称外码。
基本关系R称为参照关系(Referencingrelation),基本关系S称为被参照关系(Referencedrelation)或目标关系(Targetrelation)。
关系R和S可以是相同的关系。
4、函数依赖、部分函数依赖、完全函数依赖、传递函数依赖
答:
函数依赖:
设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。
对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。
完全函数依赖、部分函数依赖:
在R(U)中,如果XY,并且对于X的任何一个真子集X,都有X′Y,则称Y对X完全函数依赖;若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖。
传递依赖:
在关系R(U)中,如果XY(YX),YX,YZ,则称Z对X传递函数依赖。
四、SQL语言
(一)设学生-课程数据库有如下关系表,请用SQL完成下面的查询及数据操纵
STUDENT(SNO,SNAME,SEX,BIRTHDAY,ADDRESS,TELEPHONE);
//学生(学生号,学生名,性别,出生日期,家庭住址,联系电话)
COURSE(CNO,CNAME,LHOUR,CREDIT);
//课程(课程号,课程名,学时,学分)
SC_SCORE(SNO,CNO,GRADE);
//学生选课(学生号,课程号,成绩)
1、查询学生学号、姓名、性别、出生日期;(学生表的投影)
SELECTSNO,SNAME,SEX,BIRTHDAYFROMSTUDENT;
2、查询所有女生的学号、姓名及家庭住址;(学生表的选择)
SELECTSNO,SNAME,ADDRESSFROMSTUDENTWHERESEX='女';
3、查询1980年以前出生的学生学号、姓名、性别、出生日期;(学生表的选择与投影)
SELECTSNO,SNAME,SEX,BIRTHDAYFROMSTUDENTWHEREBIRTHDAY<'1980-01-01';
或
SELECTSNO,SNAME,SEX,BIRTHDAYFROMSTUDENTWHEREYear(BIRTHDAY)<1980;
4、查询1979年到1981年出生的学生姓名、性别及出生日期;
SELECTSNAME,SEX,BIRTHDAYFROMSTUDENTWHEREBIRTHDAYBETWEEN'1979-1-1'AND'1981-12-31';
或
SELECTSNAME,SEX,BIRTHDAYFROMSTUDENTWHEREYear(BIRTHDAY)BETWEEN1979AND1981;
5、查询所有姓李学生的学号,姓名,住址,电话;(模糊查询)
SELECTSNO,SNAME,ADDRESS,TELEPHONEFROMSTUDENTWHERESNAMELIKE'李%';
6、查询所有不姓李学生的学号,姓名,住址,电话;(模糊查询)
SELECTSNO,SNAME,ADDRESS,TELEPHONEFROMSTUDENTWHERESNAMENotLIKE'李%';
7、查询计算机系所开课程(课程号以CS开头)的课程号、课程名和学分数;(模糊查询)
SELECTCNO,CNAME,CREDITFROMCOURSEWHERECNOLIKE'CS%';
8、查询至少选修一门计算机系课程的女生的姓名;
SELECTDISTINCTSNAMEFROMSTUDENT,SC_SCORE
WHERESTUDENT.Sno=SC_SCORE.SnoANDCNOLIKE'CS%'ANDSEX='女';
9、查询学生选修课程的成绩:
学生名,课程名,成绩;(连接查询)
——学生名--STUDENT表中;课程名_COURSE;成绩:
SC_SCORE;——涉及了多张表,表的连接
SELECTSNAME,CNAME,SCOREFROMSTUDENT,COURSE,SC_SCORE
WHERESTUDENT.SNO=SC_SCORE.SNOANDSC_SCORE.CNO=COURSE.CNO;
10、查询学生选修课程总分(SUM(SCORE))和课程数(COUNT(*));(统计查询)
——统计:
聚集函数;GROUPBYSNO;——成绩表:
SC_SCORE
SELECTSNO,SUM(SCORE),COUNT(*)FROMSC_SCOREGROUPBYSNO;
11、分别统计男、女生的人数;(统计查询)
——使用聚集函数就要用GROUPBY;检索的结果列只能出现聚集列与GROUPBY后出现的列;
SELECTSEX,COUNT(*)FROMSTUDENTGROUPBYSEX;
12、按课程统计每门课程的平均分、总分、最高分、最低分;(统计查询)
SELECTCNO,AVG(SCORE),SUM(SCORE),MAX(SCORE),MIN(SCORE)FROMSC_SCOREGROUPBYCNO;
13、统计每门课程的选课人数、最高分、最低分和总分;(统计查询)
SELECTCNO,COUNT(CNO),MAX(SCORE),MIN(SCORE),SUM(SCORE)FROMSC_SCOREGROUPBYCNO;
14、统计学生表中的最大出生日期,最小出生日期;(统计查询)
SELECTMAX(BIRTHDAY),MIN(BIRTHDAY)FROMSTUDENT;
15、查询李民选修课程的总成绩;(统计查询)
SELECTSNAME,SNM(SCORE)FROMSTUDENT,SC_SCORE
WHERESTUDENT.sno=sc_SCORE.snoANDSNAME='李民'
GROUPBYSNAME;
16、查询李民选修课程的总成绩、平均成绩、选修的课程数(统计查询)
SELECTSNAME,sum(SCORE),avg(SCORE),count(*)
FROMSTUDENT,sc_SCORE
WHERESTUDENT.sno=sc_SCORE.snoANDSTUDENT.SNAME='李民'
GROUPBYSNAME;
17、查询所有课程成绩均在80分以上的学生的姓名、学号;(嵌套查询)
SELECTSNAME,SNOFROMSTUDENT
WHERESNOIN(SELECTSNOFROMSC_SCOREGROUPBYSNOHAVINGMIN(SCORE)>=80);
18、向sta表插入新生记录('20010649','张明','男',’汉族’,'1982-10-8');(插入操作)
INSERTINTOsta(sno,SNAME,sex,birthday)
VALUES('20010649','张明','男',’汉族’,'1982-10-8');
19、将学生表中所有女生的出生日期加上一年;(更新操作)
UPDATESTUDENT
SETBIRTHDAY=BIRTHDAY+365WHERESEX=’女’;
21、将所有选修"计算机基础"课程的学生成绩下降20%,再另增加10分;(带子查询的更新操作)
UPDATESC_SCORE
SETSCORE=SCORE-SCORE*0.2+10
WHERECNOIN
(SELECTCNOFROMCOURSE
WHERECNAME='计算机基础');
22、删除学号为20010649的学生信息;(删除操作)
DELETEFORMSC_SCOREWHERESNO=’20010649’;
DELETEFROMSTUDENTWHERESNO='20010649';
23、删除无人选修的课程。
(带子查询删除操作)
DELETEFROMCOURSE
WHERECNONOTIN(SELECTCNOFROMSC_SCORE);
24、创建名为S_G视图,用于查询每个学生的平均成绩,要求包括:
学号,姓名及平均成绩;
CREATEVIEWS_G(SNO,SNAME,GAVG)
AS
SELECTSNO,SNAME,AVG(GRADE)
FROMSTUDENT,SC_SCORE
WHERESTUDENT.SNO=SC_SCOREGROUPBYSNO;
25、将查询STUDENT表的权限授予WangLin;
GRANTSELECTONTABLESUTDENTTOWangLin;
(二)设学生课程数据库有如下关系表,请用SQL语言完成下列要求的查询及数据操纵
STUDENT(SNO,SNAME,SEX,BDATE,HEIGHT);
//学生(学生号,学生名,性别,出生日期,身高)
COURSE(CNO,CNAME,LHOUR,CREDIT,SEMESTER);
//课程(课程号,课程名,学时,学分,学期)
SC(SNO,CNO,GRADE);
//选课(学生号,课程号,成绩)
1、查询身高大于1.80米的男生的学号和姓名;
SELECTSNO,SNAMEFROMSTUDENTWHEREHEIGHT>1.8ANDSEX=’男’;
2、查询计算机系所开课程(课程号以CS开头)的课程号和学分数;
SELECTCNO,CREDITFROMCOURSEWHERECNOLIKE‘CS%’;
3、查询至少选修一门计算机系课程的女生的姓名;
SELECTSNAMEFROMSTUDENT,SC
WHERE(STUDENT.SNO=SC.SNO)AND(SEX=’女’)ANDCNOLIKE‘CS%’;
4、查询每门课程选课的学生人数、最高成绩、最低成绩和平均成绩;
SELECTCOUNT(SNO),MAX(GRADE),MIN(GRADE),AVG(GRADE)
FROMSCGROUPBYCNO;
5、查询所有课程的成绩都在80分以上的学生的姓名、学号,并按学号升序排列;
SELECTSNAME,SNOFROMSTUDENT
WHERESNOIN(SELECTSNOFROMSCGROUPBYSNOHAVINGGRADE>=80)ORDERBYSNO;
6、查询缺成绩学生的姓名、缺成绩的课程号及其学分;
SELECTSNAME,CNO,CREDIT
FROMSTUDENT,SC,COURSE
WHERESTUDENT.SNO=SC.SNOANDSC.CNO=COURSE.CNOANDGRADEISNULL;
7、查询李芳选修课程的总成绩;
SELECTSNAME,SUM(GRADE)FROMSTUDENT,SC
WHERE(STUDENT.SNO=SC.SNO)ANDSNAME=’李芳’GROUPBYSNAME;
8、将所有选修“操作系统”课程的学生成绩下降20%,再另增加10分;
UPDATESC
SETGRADE=GRADE-GRADE*0.2+10
WHERECNOIN(SELECTCNOFROMCOURSEWHERECNAME=’操作系统’);
9、请向STUDENT表中出入一条数据(学号:
982049;姓名:
张明;性别:
男;出生日期:
1988-12-/01;身高:
1.78);
INSERTINTOSTUDET(SNO,SNAME,SEX,AGE,HEIGHT)
VALUES(‘982049’,’张明’,’男’,’1988-12-01’,1.78);
INSERTINTOSC(SNO,CNO,GRADE)VALUES(982049,’CS-110’,78);
10、在STUDENT和SC关系中,删去SNO以‘91’开头的所有记录;
DELETEFORMSCWHERESNOLIKE’91%’;
DELETEFROMSTUDENTWHERESNOLIKE’91%’;
11、创建一个名为S_V视图,要求包含:
学号、姓名、选课的课程名和学分;
CREATEVIEWS_V(SNO,SNAME,CNAME,CREDIT)
AS
SELECTSNO,SNAME,CNAME,CREDIT
FROMSTUDENT,SC,COURSE
WHERESTUDENT.SNO=SC.SNOANDSC.CNO=COURSE.CNO;
12、将修改SC表成绩的权限授予张山;
GRANTUPDATE(GRADE)ONTABLESCTO张三;
(三)设零件供应数据库的关系模式如下,请用SQL语言完成下列要求的查询及数据操纵
S(SNO,SNAME,STATUS,CITY);//供应商
P(PNO,PNAME,COLOR,WEIGHT);//零件
J(JNO,JNAME,CITY);//工程
SPJ(SNO,PNO,JNO,QTY);//供应关系
请完成下列查询:
1)找出所有供应商的姓名和所在城市。
SELECTSNAME,CITYFROMS;
2)找出所有零件的名称、颜色、重量。
SELECTPNAME,COLOR,WEIGHTFROMP;
3)找出使用供应商S1所供应零件的工程号。
SELECTJNO
FROMSPJ
WHERESNO=‘S1’;
4)找出工程项目J2使用的各种零件的名称及其数量。
SELECTPNAME,QTY
FROMP,SPJ
WHEREP.PNO=SPJ.PNOANDJNO=‘J2’;
5)找出上海厂商供应的所有零件号码。
SELECTPNO
FROMS,SPJ
WHERES.SNO=SPJ.SNOANDCITY=‘上海’;
6)找出使用上海产的零件的工程名称。
SELECTJNAME
FROMS,SPJ,J
WHERES.SNO=SPJ.SNOANDJ.JNO=SPJ.JNOANDCITY=‘上海’;
7)找出没有使用天津产的零件的工程号。
SELECTJNO
FROMJ
WHERENOTEXISTS
(SELECT*
F
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 复习题 选择题