数据库技术与应用SQL习题答案

合集下载

SQL Server数据库技术及应用(第二版)第4章思考习题答案

SQL Server数据库技术及应用(第二版)第4章思考习题答案

思考习题一、选择题1.在SELECT语句中,下列子句用于对分组统计进一步设置条件的子句为(B)。

A ORDER BYB GROUP BYC WHERED HA VING2.SQL查询语句中ORDER BY子句的功能是(A)。

A 对查询结果进行排序B 分组统计查询结果C 限定分组检索结果D 限定查询条件3.SQL查询语句中HA VING子句的作用是(C)。

A 指出分组查询的范围B 指出分组查询的值C 指出分组查询的条件D 指出分组查询的字段4.采用SQL查询语言对关系进行查询操作,若要求查询结果中不能出现重复元组,可在SELECT子句后增加保留字(A)。

A DISTINCTB UNIQUEC NOT NULLD SINGLE5. 一个查询的结果成为另一个查询的条件,这种查询被称为(D)。

A 联接查询B 内查询C 自查询D 子查询6. 在SELECT语句中使用*,表示(B)。

A 选择任何属性B 选择所有属性C 选择所有元组D 选择主键7.在SQL语句中,谓词“EXISTS”的含义是(B)。

A 全称量词B 存在量词C 自然连接D 等值连接8.INSERT SELECT语句的功能(B)。

A 向新表中插入数据B 执行插入查询C 修改数据D 删除数据9.在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建(C)。

A 另一个表B 游标C 视图D 索引10.SQL中创建视图应使用(C)语句A、CREATE SCHEMAB、CREATE TABLEC、CREATE VIEWD、CREATE DATEBASE二、填空题1.在SQL Server中,使用(TOP )关键字,用于查询时只显示前面几行数据。

2.在查询条件中,可以使用另一个查询的结果作为条件的一部分,例如判定列值是否与某个查询的结果集中的值相等,作为查询条件一部分的查询称为(子查询)。

3.EXISTS谓词用于测试子查询的结果是否为空表。

数据库原理及应用SQL习题集含答案教案

数据库原理及应用SQL习题集含答案教案
数据库原理及应用 SQL习题集含答案教 案
contents
目录
• 数据库基础知识 • SQL语言基础 • 数据库查询优化与索引设计 • 存储过程、触发器和函数应用 • 数据库安全性与完整性保障措施 • 数据库恢复、并发控制及事务管理 • SQL习题集精选与答案解析
01
数据库基础知识
数据库概念及特点
位图索引
适用于低基数列(即列中不同 值的数量较少)的场景,如性 别、婚姻状况等。
全文索引
适用于文本数据的全文搜索场 景,如博客、新闻等。
索引创建、维护和删除操作
创建索引
使用CREATE INDEX语句创建索引,可以指定索 引类型、列名等参数。
删除索引
使用DROP INDEX语句删除不再需要的索引, 以释放存储空间和减少维护开销。
事务处理方式
包括事务的开始与结束、事务的 提交与回滚、事务的并发控制等。 同时,还需要考虑事务的隔离级 别和传播行为等因素。
07
SQL习题集精选与答案解析
选择题部分精选
• 题目1:SQL语言中,用于实现数据检索的 语句是____。
选择题部分精选
A. SELECT B. INSERT C. UPDATE
通过冗余数据来重建数据库, 包括日志文件和数据备份等。
数据库恢复技术
包括基于日志的恢复、基于备 份的恢复和基于镜像的恢复等。
并发操作带来问题及其解决方法
并发操作带来的问题
01
包括丢失更新、脏读和不可重复读等。
并发控制方法
02
包括封锁、时间戳和乐观并发控制等。
封锁协议
03
包括一级封锁协议、二级封锁协议和三级封锁协议,用于保证
A
B

数据库技术与应用第二版第2章习题参考答案

数据库技术与应用第二版第2章习题参考答案

第2章习题解答1.选择题(1)下列(C)不是sql 数据库文件的后缀。

A..mdf B..ldf C..tif D..ndf(2)SQL Server数据库对象中最基本的是(B)。

A.表和语句B.表和视图C.文件和文件组D.用户和视图(3)事务日志用于保存(C.)。

A. 程序运行过程B. 程序的执行结果C. 对数据的更新操作D. 数据操作(4)Master数据库是SQL Server系统最重要的数据库,如果该数据库被损坏,SQL Server将无法正常工作。

该数据库记录了SQL Server系统的所有(D)。

A. 系统设置信息B. 用户信息C. 对数据库操作的信息D. 系统信息(5)SQL Server中组成数据库的文件有(B)类型。

A. 2B. 3C. 4D. 5(6)分离数据库就是将数据库从(B)中删除,但是保持组成该数据的数据文件和事务日志文件中的数据完好无损。

A. WindowsB. SQL ServerC. U盘D. 企业管理器(7)以下是指对数据库的完整备份,包括所有的数据以及数据库对象。

A. 数据库完全备份B. 数据库差异份C. 事务日志备份D. 文件或文件组备份(8)下面描述错误的是()。

A.每个数据文件中有且只有一个主数据文件。

B.日志文件可以存在于任意文件组中。

C.主数据文件默认为PRIMARY文件组。

D.文件组是为了更好的实现数据库文件组织。

(9)下列文件中不属于SQL Server数据库文件的是()。

A.device_data.MDF B.device_log.LDFC.device_mdf.DAT D.device_data.NDF(10)SQL Server 对象的完整名称不包括下面()。

A.服务器名B.数据库名C.对象名D.文件夹名2.填空题(1)数据库逻辑结构中的文件主要存储(用户数据),而且存储所有与(用户数据)相关的信息。

(2)数据库物理结构主要应用于面向计算机的(数据)组织和管理。

《数据库技术与应用》第3章习题答案

《数据库技术与应用》第3章习题答案

第3章关系数据库1. 试述关系模型的三个组成部分。

解:关系模型的三个组成部分(1) 关系数据模型的数据结构(2) 关系数据模型的操纵与完整性约束(3) 关系数据模型的存储结构2. 解释下列术语的含义:①笛卡尔积;②主码;③候选码;④外码;⑤关系;⑥关系模式;⑦关系数据库解:①笛卡尔积:两个分别为n目和m目的关系R和S的笛卡尔积是一个(n+m)列的元组的集合。

元组的前n列是关系R的一个元组,后m列是关系S的一个元组。

若R有k1个元组,S有K2个元组,则关系R和关系S的笛卡尔积有k1×k2个元组。

记作:R×S={trts|tr∈R⋀ts∈S}②主码:若关系中的某一属性组的值能唯一的标识一个元组,则称该属性组为候选码。

若一个关系有多个候选码,则选定其中一个为主码。

③候选码:若关系中的某一属性组的值能唯一的标识一个元组,则称该属性组为候选码。

④外码:如果关系模式R中的某属性集是另一个关系模式S的主码,则该属性集为关系模式R的外码。

⑤关系:关系是集合论的一个概念,也是关系模型的数据结构,它只包含单一的数据结构——关系。

在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。

在用户看来,一个关系就是一张二维表,这种简单的数据结构能够表达丰富的语义。

⑥关系模式:关系的描述称为关系模式。

它可以形式化地表示为R(U,D,DOM,F)其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。

⑦关系数据库:在关系模型中,实体以及实体之间的联系都是通过关系来表示的。

因此,在一个给定的应用领域中,所有实体以及实体之间的联系所对应的关系的集合就构成一个关系数据库。

3.关系数据库的三个完整性约束是什么?各是什么含义?解:关系模式中有3类完整性约束:实体完整性、参照完整性和用户自定义完整性。

实体完整性:若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。

数据库技术与应用课后习题答案

数据库技术与应用课后习题答案

第一章习题答案1.1 选择题1. A2. C3. C4. B5. C6. A7. C8. B9. D 10. A 11. D 12. A 13. A 1.2 填空题数据数据的逻辑独立性数据的物理独立性层次数据模型,网状数据模型,关系数据模型能按照人们的要求真实地表示和模拟现实世界、容易被人们理解、容易在计算机上实现实体、记录属性、字段码域一对一、一对多、多对多E-R模型E-R模型层次模型、网状模型、关系模型数据操作、完整性约束矩形、菱形、椭圆形层次模型、一对多网状模型关系模型关系外模式、模式、内模式三级模式、两级映像外模式、模式、内模式数据、程序数据逻辑、数据物理DBMS(数据库管理系统)、DBA(数据库管理员)1.4 综合题2.(注:各实体的属性省略了)3.第二章习题答案1.1 单项选择题1. C2. A3. B4. C5. C6. D7. A8. B1.2 填空题集合2. 能唯一标识一个实体的属性系编号,学号,系编号关系,元组,属性关系模型,关系,实体,实体间的联系投影1.4 综合题1. πsno(σcno=’2’(SC))2. πsno(σcname=’信息系统’(SCCOURSE))3. πsno,SNAME,SAGE(STUDENT)第三章习题答案1.1select * from jobs1.2select emp_id,fname+'-'+lname as 'Name' from employee1.3select emp_id,fname+'-'+lname as 'Name',Year(getdate())-Year(hire_date) as 'worke time' from employee order by 'worke time'2.1select * from employee where fname like 'f%'2.2select * from employee where job_id='11'2.3select emp_id,fname+'-'+lname as 'Name', Year(getdate())-Year(hire_date) as worketimefrom employeewhere (Year(getdate())-Year(hire_date)) >5order by worketime2.4select * from employee where cast(job_id as integer)>=5 and cast(job_id as integer)<=82.5select * from employee where fname='Maria'2.6select * from employee where fname like '%sh%' or lname like '%sh%'3.1select * from sales where ord_date <'1993-1-1'4.1select distinct bh, zyh from stu_info wherebh in(select bh from stu_infogroup by (bh)having count(*)>30 and count(*)<40)order by bh或者是select bh,zyh from stu_infogroup by zyh,bhhaving count(bh)>30 and count(bh)<40order by bh4.2select * from gbanwhere bh like '计%'4.3select * from gfiedwhere zym like '%管理%'4.4select xh,xm,zym,stu_info.bh,rxsj from stu_info,gfied,gban where nl>23and stu_info.zyh=gfied.zyh and stu_info.bh=gban.bh4.5select zyh,count(*) from gbanwhere xsh='03'group by zyh第四章习题答案4.1 单项选择题:B2、A3、C4、A5、A6、C7、C8、D9、B10、A11、C(或B,即书上121页例题中from的写法)12、A13、C14、C15、C4.2 填空题:drop tablealter table add <列名或约束条件>with check option基本表基本表distinct group by roder by数据定义数据操纵数据控制distinctlike % _自含式嵌入式10、order by asc desc4.3 综合题1、SELECT XH, XM, ZYM, BH, RXSJFROM STU_INFO, GFIEDWHERE STU_INFO.ZYH = GFIED.ZYH AND NL > 23 AND XBM = '男'2、SELECT ZYM 专业名, count(*) 人数FROM STU_INFO, GFIEDWHERE STU_INFO.XSH = '03' AND STU_INFO.ZYH = GFIED.ZYHGROUP BY ZYM注意:该题目中给出的条件XSH = '03'中的03代表的是“控制科学与工程”学院,信息学院的代码是12,大家可根据具体情况来做该题。

数据库技术与应用课后习题答案

数据库技术与应用课后习题答案

第一章习题答案1.1 选择题1. A2. C3. C4. B5. C6. A7. C8. B9. D 10. A 11. D 12. A 13. A1.2 填空题数据数据的逻辑独立性数据的物理独立性层次数据模型,网状数据模型,关系数据模型能按照人们的要求真实地表示和模拟现实世界、容易被人们理解、容易在计算机上实现实体、记录属性、字段码域一对一、一对多、多对多E-R模型E-R模型层次模型、网状模型、关系模型数据操作、完整性约束矩形、菱形、椭圆形层次模型、一对多网状模型关系模型关系外模式、模式、内模式三级模式、两级映像外模式、模式、内模式数据、程序数据逻辑、数据物理DBMS数据库管理系统、DBA数据库管理员1.4 综合题2.注:各实体的属性省略了3.第二章习题答案1.1 单项选择题1. C2. A3. B4. C5. C6. D7. A8. B1.2 填空题集合2. 能唯一标识一个实体的属性系编号, 学号,系编号关系, 元组, 属性关系模型,关系, 实体, 实体间的联系投影1.4 综合题1. πsnoσcno=’2’SC2. πsnoσcname=’信息系统’SCCOURSE3. πsno,SNAME,SAGESTUDENT第三章习题答案1.1select from jobs1.2select emp_id,fname+'-'+lname as 'Name' from employee1.3select emp_id,fname+'-'+lname as 'Name',Yeargetdate-Yearhire_date as 'worke time' from employee order by 'worke time'2.1select from employee where fname like 'f%'2.2select from employee where job_id='11'2.3select emp_id,fname+'-'+lname as 'Name', Yeargetdate-Yearhire_date as worketime from employeewhere Yeargetdate-Yearhire_date >5order by worketime2.4select from employee where castjob_id as integer>=5 and castjob_id as integer<=8 2.5select from employee where fname='Maria'2.6select from employee where fname like '%sh%' or lname like '%sh%'3.1select from sales where ord_date <'1993-1-1'4.1select distinct bh, zyh from stu_info wherebh inselect bh from stu_infogroup by bhhaving count>30 and count<40order by bh或者是select bh,zyh from stu_infogroup by zyh,bhhaving countbh>30 and countbh<40order by bh4.2select from gbanwhere bh like '计%'4.3select from gfiedwhere zym like '%管理%'4.4select xh,xm,zym,stu_info.bh,rxsj from stu_info,gfied,gban where nl>23and stu_info.zyh=gfied.zyh and stu_info.bh=gban.bh4.5select zyh,count from gbanwhere xsh='03'group by zyh第四章习题答案4.1 单项选择题:B 2、A 3、C 4、A 5、A 6、C 7、C 8、D 9、B 10、A 11、C或B,即书上121页例题中from的写法12、A 13、C 14、C 15、C4.2 填空题:drop tablealter table add <列名或约束条件>with check option基本表基本表distinct group by roder by数据定义数据操纵数据控制distinctlike % _自含式嵌入式10、order by asc desc4.3 综合题1、SELECT XH, XM, ZYM, BH, RXSJFROM STU_INFO, GFIEDWHERE STU_INFO.ZYH = GFIED.ZYH AND NL > 23 AND XBM = '男'2、SELECT ZYM 专业名, count 人数 FROM STU_INFO, GFIEDWHERE STU_INFO.XSH = '03' AND STU_INFO.ZYH = GFIED.ZYHGROUP BY ZYM注意:该题目中给出的条件XSH = '03'中的03代表的是“控制科学与工程”学院,信息学院的代码是12,大家可根据具体情况来做该题;3、SELECT bh,count as 人数 FROM STU_INFO GROUP BY bh4、SELECT XH, XM, XBM, BH FROM STU_INFOWHERE ZYH INSELECT ZYHFROM STU_INFOWHERE XM = '李明'ORDER BY XH5、SELECT DISTINCT GCOURSE.KCH, KM FROM STU_INFO, XK, GCOURSEWHERE XK.KCH = GCOURSE.KCH AND STU_INFO.XSH = '12'AND STU_INFO.XH = XK.XH该题中设计到的课程名称只有在GCOURSE表中存在,所以在题目开始的几个表中还应填加该表;另外把信息学院的代码改为12;6、SELECT COUNTDISTINCT KCH AS 选课门数, AVGKSCJ AS 平均成绩FROM STU_INFO, XKWHERE STU_INFO.XH = XK.XH AND XSH = '12'7、SELECT DISTINCT STU_INFO.XH, XM, BH, ZYM, KMFROM STU_INFO, XK, GFIED, GCOURSEWHERE KSCJ > 85 AND STU_INFO.XH = XK.XH AND XK.KCH = GCOURSE.KCH AND STU_INFO.ZYH = GFIED.ZYHORDER BY ZYM, BH, STU_INFO.XH8、SELECT STU_INFO.XH, XM, XSM, ZYM, BH, PYCCMFROM STU_INFO, XK, GDEPT, GFIEDWHERE KKNY = '20011' AND STU_INFO.XH = XK.XH AND STU_INFO.XSH = GDEPT.XSH AND STU_INFO.ZYH = GFIED.ZYHGROUP BY STU_INFO.XH, XM, XSM, ZYM, BH, PYCCMHAVING COUNT > 109、SELECT DISTINCT bhFROM STU_INFO10、DELETE FROM STU_INFOWHERE XH LIKE '2000%'或DELETE FROM STU_INFOWHERE LEFTXH,4 = '2000'11、ALTER TABLE STU_INFOADD BYSJ varchar812、UPDATE XKSET KSCJ = 60WHERE KSCJ BETWEEN 55 AND 59 andXH inSELECT xhFROM stu_infoWHERE zyh = '0501'andKCH inSELECT kchFROM gcourseWHERE km = '大学英语'前面已经考虑到在该题目中应该加入学生课程信息表GCOURSE13、UPDATE GCOURSESET KCXF=6WHERE KCH = '090101'14、CREATE TABLE CCOURSEKCH char6,KM varchar30,KCYWM varchar3015、CREATE VIEW ISE ASSELECTFROM STU_INFOWHERE XSH=’12’第五章课后答案5.11~7 BABABCB5.21 使属性域变为简单域消除非主属性对主关键字的部分依赖消除非主属性对主关键字的传递依赖2 平凡函数依赖3 Y也相同唯一的Y值5.31 函数依赖:P136定义5.1部分函数依赖:P138定义5.4完全函数依赖:P138定义5.4传递函数依赖:P138定义5.51NF:P139定义5.62NF:P141定义5.73NF:P142定义5.8BCNF:P144定义5.9在全码关系中R〈U,F〉中若存在这样的码X,属性组Y及非主属性Z 使得X→Y, Y→Z成立,所以全码关系R〈U,F〉∈3NF;在全码关系R〈U,F〉中,对于R中的函数依赖,若X→Y且X必含有码,所以全码关系R∈BCNF 2 1 R的码是Sno,Cno,R是1NF,因为Teacher和Title属性部分函数依赖于码Sno,Cno,所以R∈1NF2SCSno,Cno,GradeCTCno,teacher TTTeacher,title3 D->B C->A4 需求分析需求分析是数据库设计的第一个阶段,从数据库设计的角度来看,需求分析的任务是对现实世界要处理的对象组织、部门、企业等进行详细的调查了解,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能;概念结构设计阶段将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计;简单地说数据库概念结构设计的任务就是根据需求分析所确定的信息需求,建立信息模型;如E-R模型;逻辑结构设计阶段数据库逻辑结构设计的任务是把概念结构设计阶段所得到的与DBMS无关的数据模式,转换成某一个DBMS所支持的数据模型表示的逻辑结构;数据库物理设计阶段数据库物理设计是对给定的关系数据库模式,根据计算机系统所提供的手段和施加的限制确定一个最适合应用环境的物理存储结构和存取方法数据库实施阶段在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行;在数据库系统运行过程中必须不断地对其进行评价、调整与修改;包括:数据库的转储和恢复、数据库的安全性和完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造;P149最后一段ER图是用来描述某一组织单位的概念模型,提供了表示实体、属性和联系的方法;构成ER图的基本要素是实体、属性和关系;实体是指客观存在并可相互区分的事特;属性指指实体所具有的每一个特性;商店商店编号,商店名,地址,电话码:商店编号顾客顾客编号,姓名,性别,家庭住址,出生年月码:顾客编号消费商店编号,顾客编号,消费金额码:商店编号,顾客编号第六章习题答案6.1 单项选择题1、A2、D3、D4、D5、B6、D7、C6.2 填空题1、原子性一致性隔离性持续性 ACID2、软故障硬故障3、静态动态4、丢失修改不可重复读读“脏”数据5、自主存取控制强制存取控制6、实体完整性约束参照完整性约束用户自定义完整性约束6.4 综合题create table 读者借书证号 char10 primary key,姓名 varchar10 not null,年龄 tinyint not null,所在院系 varchar20 not nullcreate 图书图书号 char8 primary key,书名 varchar20 not null,作者 varchar10 not null,出版社 varchar30 not null,价格 real not null check价格>0 and 价格<=120create 借阅借书证号 char10 not null,图书号 char8 not null,借阅日期 datetime not null,primary key借书证号, 图书号,foreign key借书证号 references 读者借书证号,foreign key图书号 references 图书图书号实验4 答案Select xh,xm,xbm from stu_info,gdept where stu_info.xsh=gdept.xsh and gdept.xsm=’信息科学与工程’或 Select xh,xm,xbm from stu_info where xsh=select xsh from gdept where xsm=’信息科学与工程’Select stu_info.xh,xm,km from stu_info,xk,gcourse where stu_info.xh=xk.xh and xk.kch=gcourse.kch and kscj>85Select xh,xm,xsm from stu_info,gdept where stu_info.xsh=gdept.xsh and xh like ‘2000%’Select xh, xm from stu_info where xh in select xh from xk where kch=’090101’ and kscj<60或 select stu_info.xh,xm from stu_info,xk where stu_info.xh=xk.xh and kch=’090101’ and kscj<605. select stu_info.xh,xm,km from stu_info,xk,gcourse where stu_info.xh=xk.xh and xk.kch=gcourse.kch and xsh=’12’ and kscj<606. select stu_info.xh,xm,xsm from stu_info,xk,gdept where stu_info.xsh=gdept.xsh and stu_info.xh=xk.xh and kkny=’20011’ group by stu_info.xh,xm,xsm having count>=10实验5 答案1、2题参考实验4答案3. Select xh,xm,xbm,bh from stu_info where zyh in select zyh from stu_info where xm=’李明’ order by xh实验6答案Create view num_ban as select countdistinct bh from stu_infoCreate view ban as select distinct bh from stu_infoCreate view is_stu as select xm,xbm,bh from stu_info where xsh=’01’ orxsh=’02’Create view zhang_stu as select from stu_info where xsh=’01’ and xm like ‘张%’或 Create view zhang_stu as select from stu_info,gdept where xsm=’材料科学与工程’ and xm like ‘张%’ and stu_info.xsh=gdept.xsh8. Create view 材0168 as select stu_info.,xk. from stu_info,xk where bh=’材0168’ and stu_info.xh=xk.xhCreate view gaoshu _stu as select xm from stu_info,xk,gcourse where stu_info.xh=xk.xh and gcourse.kch=xk.kch and km=’高等数学’或 Create view gaoshu _stu as select xm from stu_info where xh inselect xh from xk where kch =select kch from gcourse where km=’高等数学’。

数据库技术与应用第3、4章 习题答案

数据库技术与应用第3、4章 习题答案

第3章关系数据库1. 试述关系模型的三个组成部分。

解:关系模型的三个组成部分 (1) 关系数据模型的数据结构 (2) 关系数据模型的操纵与完整性约束 (3) 关系数据模型的存储结构2. 解释下列术语的含义: ①笛卡尔积;②主码;③候选码;④外码;⑤关系;⑥关系模式;⑦关系数据库 解:①笛卡尔积:两个分别为n 目和m 目的关系R 和S 的笛卡尔积是一个(n+m)列的元组的集合。

元组的前n 列是关系R 的一个元组,后m 列是关系S 的一个元组。

若R 有k 1个元组,S 有K 2个元组,则关系R 和关系S 的笛卡尔积有k 1×k 2个元组。

记作:R ×S ={t r t s ̂|t r ∈R⋀t s ∈S}②主码:若关系中的某一属性组的值能唯一的标识一个元组,则称该属性组为候选码。

若一个关系有多个候选码,则选定其中一个为主码。

③候选码:若关系中的某一属性组的值能唯一的标识一个元组,则称该属性组为候选码。

④外码:如果关系模式R 中的某属性集是另一个关系模式S 的主码,则该属性集为关系模式R 的外码。

⑤关系:关系是集合论的一个概念,也是关系模型的数据结构,它只包含单一的数据结构——关系。

在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。

在用户看来,一个关系就是一张二维表,这种简单的数据结构能够表达丰富的语义。

⑥关系模式:关系的描述称为关系模式。

它可以形式化地表示为R(U ,D ,DOM ,F)其中R 为关系名,U 为组成该关系的属性名集合,D 为属性组U 中属性所来自的域,DOM 为属性向域的映像集合,F 为属性间数据的依赖关系集合。

⑦关系数据库:在关系模型中,实体以及实体之间的联系都是通过关系来表示的。

因此,在一个给定的应用领域中,所有实体以及实体之间的联系所对应的关系的集合就构成一个关系数据库。

3. 关系数据库的三个完整性约束是什么?各是什么含义? 解:关系模式中有3类完整性约束:实体完整性、参照完整性和用户自定义完整性。

MySQL数据库技术及应用 课后习题答案 (1)[2页]

MySQL数据库技术及应用 课后习题答案 (1)[2页]

项目1一、选择题1、A2、D3、C4、C5、B二、填空题1、收集、分类、组织、编码、存储2、关系社区版、企业版、集群版高级集群版3、图形化向导安装版免安装版4、mysqld.exe mysql.exe5、datadir6、quit exit三、判断题1、错2、对3、对4、对5、错四、简答题1、答:数据库及其数据库管理系统均是基于某种数据模型的,数据模型的好坏,直接影响数据库的性能。

其中,数据库是可以长期存放在某种存储介质上的有组织可共享的一组相关数据的集合,通常情况下开发人员会针对每个应用创建一个数据库;而数据库管理系统是一个在特定操作系统支持下、帮助用户建立、管理和使用数据库的系统软件。

一个数据库服务器可以管理多个数据库。

2、答:MySQL 8.0 Command Line Client、MySQL Workbench3、答:root 33064、答:不能。

需要使用远程主机的IP地址或主机名5、答:my.ini是MySQL 数据库中使用的配置文件,MySQL服务器启动时会读取该配置文件以设置MySQL运行的相关参数。

我们可以通过修改这个文件,达到更新配置的目的。

需要注意的是,每次修改参数后,必须重新启动MySQL服务才会有效。

可以在MySQL的安装目录下找到该文件。

如果是图形化向导安装,则可以在Windows的文件资源管理器中,切换到隐藏文件夹“C:\ProgramData\MySQL\MySQL Server 8.0”中,找到MySQL配置文件my.ini。

如果是解压缩安装,则可以在安装目录的根目录下创建该文件。

6、答:Oracle、SQL Server、Access等。

其中,Oracle是一个跨平台的数据库管理系统,可以运行在Windows、UNIX、Linux等操作系统上,而SQL Server和Access只能运行在微软的操作系统上。

另外,Oracle、SQL Server都是基于服务器端的数据库,适合大容量数据的应用;而Access是一种桌面数据库,只适合于数据量少的应用系统,在处理少量数据和单机访问的数据时是很好的,效率也很高。

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

实验2 SQL Server 数据库的管理 4. 启动查询分析器,在查询分析器中使用Transact-SQL语句CREATE DATABASE创建studb数据库。然后通过系统存储过程sp_helpdb查看系统中的数据库信息

CREATE DATABASE studb sp_helpdb 5. 在查询分析器中使用Transact-SQL语句ALTER DATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小文1MB。

ALTER DATABASE studb MODIFY FILE ( NAME=studb, SIZE=5MB, MAXSIZE=20MB, FILEGROWTH=1MB ) 7. 使用企业管理器将studb数据库的名称更改为student_db。

ALTER DATABASE studb MODIFY NAME=student_db

8. 使用Transact-SQL语句DROP DATABASE删除student_db数据库。 DROP DATABASE student_db 实验3 SQL Server 数据表的管理 5. 使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade表。

CREATE TABLE grade (学号 char(4), 课程编号 char(4), 分数 decimal(5) ) 8. 使用Transact_SQL语句INSERT INTO...VALUES向studentsdb数据库的grade表插入以下数据:

学号 课程编号 分数 0004 0001 80

USE studentsdb GO INSERT INTO grade VALUES('0004','0001','80')

9. 使用Transact_SQL语句ALTER TABLE修改curriculum表的“课程编号”列,使之为非空。

ALTER TABLE curriculum ALTER COLUMN 课程编号 char(4)NOT NULL GO

10. 使用Transact_SQL语句ALTER TABLE修改grade表的“分数”列,使其数据类型为real。

ALTER TABLE grade ALTER COLUMN 分数 real

11. 分别使用企业管理器和Transact_SQL语句DELETE删除studentsdb数据库的grade表中学号为'0004'的成绩记录。

DELETE grade WHERE 学号='0004' 13. 使用Transact_SQL语句UPDATE修改studentsdb数据库的grade表中学号为'0003'、课程编号为'0005'、分数为90的成绩记录。

UPDATE grade SET 分数=90 WHERE 学号='0003' and 课程编号='0005'

14. 使用Transact_SQL语句ALTER...ADD为studentsdb数据库的grade表添加一个名为“备注”的数据列,其数据类型为VARCHAR(20)。

ALTER TABLE grade ADD 备注 VARCHAR(20) NULL 15. 分别使用企业管理器和Transact_SQL语句DROP TABLE删除studentsdb数据库中的grade表。 DROP TABLE grade 实验4 数据查询 1. 在studentsdb数据库中,使用下列SQL语句将输出什么? (1)15 (2)刘卫 张卫 马东 钱达 东方 郭文 肖海 张明 (3)KELLY (4)kellykellykelly (5)9.4868329805051381 9.3273790530888157 9.2736184954957039 9.4339811320566032 (6)2 3 8 (7)2011 10 10 2. 在studentsdb数据库中使用SELECT语句进行基本查询。 (1) SELECT 姓名,学号,姓名,出生日期 from student_info (2) SELECT 姓名,家庭住址 from student_info where 学号=0002 (3) 刘卫平 0001 张卫民 0002 马东 0003 钱达理 0004 东方牧 0005 3.使用SELECT语句进行条件查询 (1) SELECT 学号,分数 from grade where 分数<'90' and 分数>'80' (2) SELECT avg(分数) from grade where 学号=0003 (3) SELECT 课程编号, count(课程编号) from grade group by 课程编号 (4) SELECT 姓名,出生日期 from student_info order by 出生日期 asc (5) SELECT 学号,姓名 FROM student_info WHERE 姓名 LIKE '张%' 4. 嵌套查询 (4) SELECT 课程编号,分数 FROM grade where 学号=0001 and 分数>(SELECT max(分数) from grade where 学号=0002) 5. 多表查询 (3) SELECT s.学号,s.姓名,c.课程名称,g.分数 FROM student_info s,grade g,curriculum c where s.学号=g.学号 and s.性别='男' and c.课程编号=g.课程编号 (4) select 学号,max(分数) from grade group by 学号 (5) SELECT s.学号,姓名,sum(g.分数) FROM student_info s left outer join grade g on s.学号=g.学号 group by s.学号,姓名 (6) insert into grade(学号,课程编号,分数) values('0004','0006','76') SELECT c.课程编号,课程名称,count(g.学号) FROM curriculum c right outer join grade g on g.课程编号=c.课程编号 group by c.课程编号,课程名称 6. 使用UNION运算符将student_info表中姓“张”的学生的学号、姓名与curriculum表的课程编号、课程名称返回在一个表中,且列名为u_编号、u_名称,如图1-8所示。 select 学号 u_编号,姓名 u_名称 from student_info where 姓名 like '张%' union select 课程编号,课程名称 from curriculum 7. 数据更新 (4) delete from totalgrade where 总成绩=null

实验5 索引和视图 1. 分别使用企业管理器和Transact-SQL语句为studentsdb数据库的student_info表格和curriculum表创建主键索引。 ALTER table student_info ALTER column 学号 char(4) not null go ALTER table student_info add constraint PK_student_info primary key(学号)

ALTER table curriculum ALTER column 课程编号 char(4) not null go ALTER table curriculum add constraint PK_curriculum primary key(课程编号)

5. .分别使用企业管理器和系统存储过程sp_helpindex查看grade表和student_info表上的索引信息。 use studentsdb go exec sp_helpindex grade go use studentsdb go exec sp_helpindex student_info go

16. 在studentsdb数据库中,使用Transact-SQL语句 CREATE VIEW 建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用视图查询学号为0003的学生情况 create view v_stu_c as select student_info.学号,student_info.姓名,curriculum.课程名称,grade.课程编号 from student_info inner join grade on student_info.学号=grade.学号 inner join curriculum on grade.课程编号=curriculum.课程编号

select * from v_stu_c where 学号='0003'

17. 基于student_info表、curriculum表和grade表,建立一个名为v_stu_g的视图,视图中具有所有学生的学号、姓名、课程名称、分数。使用视图v_stu_g查询学号为0001的学生的所有课程和成绩 create view v_stu_g as select student_info.学号,student_info.姓名,curriculum.课程名称,grade.分数 from student_info inner join grade on student_info.学号=grade.学号 inner join curriculum on grade.课程编号=curriculum.课程编号

select * from v_stu_g where 学号='0001'

18. 分别使用企业管理器和Transact-SQL语句修改视图v_stu_c,使之显示学号、姓名、每个学生所学课程数目。 alter view v_stu_c(学号,姓名,课程数目) as select student_info.学号,student_info.姓名,count(grade.课程编号) as 课程数目 from student_info,grade where student_info.学号=grade.学号 group by student_info.学号,student_info.姓名

21. 利用视图v_stu_i为student_info表添加一行数据:学号为0015、姓名为陈婷、性别为女。 insert into v_stu_info values('0015','陈婷','女')

相关文档
最新文档