- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
填空,解答两题,关系代数和SQL表达式,
设计ER图及转换成关系模式,过程和触发器结果。
2、锁的种类有共享锁和排它锁两大类。
3、SQL的DML包括插入(insert)、删除(delete)、更新(update)和查询(select)四种语句。SQL语言分为数据定义(DDL)语言、数据操作(DML)语言和数据控制(DCL)语言三类,数据操作又分为更新和查询两种。
4、5、事务的 原子性 、 一致性 、 隔离性 和 持久性 被称为事务的ACID特性。
6、完整性约束包括 实体完整性 、 参照完整性 和 用户自定义完整性 三种。
7、数据库的完整性是指数据的正确性和相容性。
8、游标是用来存放嵌入式SQL语句执行的结果的,游标的使用分为说明(定义)游标、打开游标 、推进游标和 关闭游标四个步骤。
9、关系规范化不仅能解决关系中的插入异常、删除异常和更新困难,而且能减少关系中的数据冗余。在函数依赖范围内,关系模式的最高范式是BCNF。
10、专家们普遍认同的数据库设计工作的五个步骤为:需求调查与分析阶段、概念结构设计阶段、 逻辑结构设计阶段、物理结构设计阶段和数据库运行与维护阶段。
二、简答题:(每题5分,共30分)
1、在嵌入式SQL中使用游标的四个步骤是什么?分别用什么语句实现。再次打开的游标和前次打开的游标中的数据会不会相同?
(1)说明游标 sql declare游标名 cursor for select 语句;
(2)打开游标 sql open游标名;
(3)推进游标 sql fetch游标名 into 主变量[指示变量];(4)关闭游标 sql close游标名;
2、第三范式(3NF)都消除了什么样的函数依赖?为什么说BC范式(BCNF)是改进了的第三范式?
消除了部分子函数依赖
第三范式是 任何非关键字段不能传递依赖任一侯选关键字
任何字段都不能传递依赖任一侯选关键字
一个C范式一定是一个If update(sno)
Update grade set sno = (select sno from inserted)
Where sno = (select sno from deleted)
2、在gradeManager数据库中定义一个名为sel_course的存储过程,要求能查询每个班选修了某门课程且成绩不为空的学生人数及平均成绩(提示:输入参数为cname)。
Create procedure sel_course @cname varchar(20) as
Select clno,count(*) 选课人数, avg(gmark) 平均成绩
From student s,grade g
where s.sno = g.sno
and gmark is not null
and cno = (select cno from course where cname = @cname)
Group by clno
3、grade表的主码和外码分别什么?假如创建grade表时没有定义它们,请用修改grade表的语句定义它们。(第一问2分,第二问3分)
答:主码是(sno,cno),外码是sno和cno
Alter table grade
Add primary key(sno,cno),
foreign key(sno) references student(sno),
foreign key(cno) references course(cno);
4、定义一个名为stu_cmpt的视图,要求查询“计算机软件”专业各班学生的学号、姓名和出生年份。
答:create view stu_cmpt(sno,sname,birthyear) as
select sno,sname,year(date())-sage from student
where clno=(select clno from class where speciality=’计算机软件’);
5、假如stu_cmpt视图中学生人数为50人,grade表中总共有100条记录,其中有60条为stu_cmpt视图中20个学生的选课记录,则下列语句执行后的结果表中有多少条记录?
Select s.sno, cno, gmark from stu_cmpt s inner join grade g on s.sno=g.sno
将语句中“inner”分别改为“left”、“right”、“full”后,结果又是多少?
答:60,90,100,130(错一个数字扣2分,扣完为止)
6、写一条SQL语句,查询“01312”班学生的姓名、所选课程的名称及成绩。
文档评论(0)