数据库作业

发布时间 : 星期六 文章数据库作业更新完毕开始阅读

作业要求:1.所有作业书写在稿纸上 2.在封面写清楚班级、姓名、学号

3.抄写题目(表可以不写),命令与题目对应。

概念基础部分:

⒈简述数据、数据库、数据库管理系统、数据库应用系统的概念。 ⒉简述数据库管理系统的功能。 ⒊什么是实体、属性、码、联系?

⒋解释关系模型的基本概念:关系、元组、属性、域、关系模式、候选关键字、主键、外键、主属性。

⒌设某工厂数据库中有四个实体集。一是“仓库”实体集,属性有仓库号、仓库面积等;二是“零件”实体集,属性有零件号、零件名、规格、单价等;三是“供应商”实体集,属性有供应商号、供应商名、地址等;四是“保管员”实体集,属性有职工号、姓名等。 (1)试为该工厂的数据库设计一个ER模型,要求标注联系类型,可省略实体属性。

1 N (2)根据转换规则,将ER模型转换成关系模型,要求标明每个关系模式的主键和外键。

6.某网上订书系统,涉及如下信息:

(1)客户:客户号、姓名、地址、联系电话。 (2)图书:书号、书名、出版社、单价。 (3)订单:订单号、日期、付款方式、总金额。

其中:一份订单可订购多种图书,每种图书可订购多本;一位客户可有多份订单,一份订单仅对应一位客户。

(1)根据以上叙述,建立ER模型,要求标注联系类型(可省略实体的属性)。

(2)根据转换规则,将ER模型转换成关系模型,要求标注每个关系模型的主键和外键(如果存在)。

7.简述关系的完整性。

8.根据给定的关系模式进行查询。

设有学生-课程关系数据库,它由三个关系组成,它们的模式是:学生S(学号S#,姓名SN,所在系SD,年龄SA)、课程C(课程号C#,课程名CN,先修课号PC#)、SC(学号S#,课程号C#,成绩G)。请用关系代数分别写出下列查询: (1)检索学生的所有情况。

(2)检索学生年龄大于等于20岁的学生姓名。 (3)检索先修课号为C2的课程号。

(4)检索课程号C1的成绩为A的所有学生姓名。

(5)检索学号为S1的学生选修的所有课程名及先修课号。 (6)检索年龄为23岁的学生所选修的课程名。

9.解释下列术语的含义:函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、完全

函数依赖、传递函数依赖、范式。

10.简述数据库设计过程的各个阶段上的设计任务。 11.将图1学生信息数据库系统的E-R图转换为关系模型。

课程名 学分 学号 姓名 课程 M 选修 N 学生 N 属于 1 班级 课程号 成绩 性别 年龄 班级名 班主任 图1 习题11图

12.一个图书馆理系统中有如下信息: 图书:书号、书名、数量、位置 借书人:借书证号、姓名、单位

出版社:出版社名、邮编、地址、电话、E-mail

其中约定:任何人都可以借多种书,任何一种书可以被多个人借,借书和还书时,要登记相应的借书日期和还书日期;一个出版社可以出版多种书籍,同一本书仅为一个出版社所出版,出版社名具有唯一性。

根据以上情况,完成如下设计: (1)设计系统的E-R图; (2)将E-R图转换为关系模式;

(3)指出转换后的每个关系模式的主码。 T-SQL语句部分:

13.在D盘DATABASE文件夹下创建”学生管理”数据库,主数据文件的逻辑文件名为“学生管理_Data”,实际文件名为“学生管理_Data.mdf”,事务日志文件的逻辑文件名为“学生管理_Log”,实际文件名为“学生管理_Log.ldf”。上述文件的初始容量均为5MB,最大容量均为50MB,递增两均为2MB。

14.在“学生管理”数据库中建立“学生”、“课程”和“成绩”数据表,其中:

学生(学号CHAR(8),姓名CHAR(8),性别CHAR(2),出生日期DATATIME,邮政编码CHAR(6),住址VARCHAR(50),简历TEXT),其中学号为主键。

课程(课程号CHAR(4),课程名称VARCHAR(50),学分INT),其中课程号为主键。 成绩(学号CHAR(8),课程号CHAR(4),期中成绩INT,期末成绩INT),其中学号与课程号的组合为主键。 表中数据如下:

“学生”表 学号 20060001 20060002

姓名 黎明 张扬 性别 男 男 出生日期 1980-10-1 1978-12-1 班级 土木工程 市场营销 住址 东阳市八一路 长岭市五一路 简历 2006年入学 2006年入学

20060003 20060004 20060005 文海 肖晓 刘烨 男 女 女 1980-12-3 1979-3-4 1978-5-4 工商管理 软件工程 交通运输 东方市中山路 兰州市安宁路 衡山市东风路 2006年入学 2006年入学 2006年入学 “课程”表 课程号 0001 0002 0003 0004 学号 20060001 20060002 20060001 20060004 20060005 课程号 0001 0002 0003 0004 0002 课程名称 大学计算机基础 C语言程序设计 高等数学 数据结构 学分 3 3 4 4 平时成绩 总成绩 “成绩”表 期中成绩 78 65 85 56 67 期末成绩 89 90 88 78 68 15. 根据上面表中数据,插入每一张表的前两条记录。 16. 在“学生”表中,查询前5条的所有记录。 17. 在“学生”表中,查询20%的所有记录。 18. 在“学生”表中查询班级不能重复的记录。

19. 在“学生”表中查询学号和班级连接显示的记录并将合成的列名为“学号班级”。 20.在“成绩”表中查询期末成绩大于80的并期中成绩成绩大于70分的记录。 21. 在“成绩”表中查询期末成绩在70--85的所有记录。

22.在“学生”表中,查询学号为20060001,20060002, 20060003的学生的班级,性别。 23. 在“学生”表中,查询姓刘同学的所有记录。

24.在“学生”表中,查询姓刘或姓张同学的学号,姓名和班级的记录。 25. 在“学生”表中,查询叫刘某同学的所有记录。 26. 在“学生”表中,查询除了姓刘同学的所有记录。

27. 在“学生”表中,查询学号以2006开头,是以2结尾的,长度为8位的所有记录。 28. 在“学生”表中,查询出生日期在1985年内出生的所有女生的所有记录。

29. 在“成绩”表中,查询期末成绩在前3名同学的学号,期中成绩和期末成绩的记录。 30.在“成绩”表中,查询期中成绩在后4名同学的所有记录。

31. 通过“学生”、“课程”、“成绩”表,查询学号是20060002的学生的姓名、所选课程名和期末成绩的记录。

32.修改“成绩”表,添加“平时成绩”列,数据类型为int,默认值为0;再添加“总成绩”列,数据类型为int。

33.更新“成绩”表:期中成绩和期末成绩均大于80平时成绩为20。 34. 将学号为“20060004”的学生删除。

35.利用基表“学生”创建名为“视图1”的视图,要求列名为:学号、姓名、性别、班级

和住址。

36.在“成绩”表中查询期中成绩大于80,且平时成绩为18分的记录。 37.在“成绩”表中查询期中成绩在前3名的同学的所有记录。

38.从“学生”表中获取学生的学号、姓名、班级,从“成绩”表中获取学生的期中成绩和期末成绩。

39. 统计“学生”表中每个班级的人数。

40.在“成绩”表中查询高于期末成绩的平均成绩的行。 41.统计有学生选修的课程门数。 42.求选修C004课程的学生的平均年龄。 43. 求学分为3的每门课程的学生平均成绩。

44.统计每门课程的学生选修人数,超过3人的课程才统计。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。 45.检索学号比王非同学大,而年龄比他小的学生姓名。 46.在选课表中检索成绩为空值的学生学号和课程号。 47.求年龄大于女同学平均年龄的男学生姓名和年龄。 48.求年龄大于所有女同学年龄的男学生姓名和年龄。 49.检索所有比王华年龄大的学生姓名、年龄和性别。 50.检索选修课程C002的学生中成绩最高的学生的学号。 51.检索学生姓名及其所选修课程的课程号和成绩。

52.检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。

53.利用T-SQL语句创建一个查询每个学生的平均成绩的视图,要求包含学生的学生号和姓名。

54.按照成绩表的总成绩列升序创建一个普通索引(非唯一、非聚集)。 55.聚集索引和非聚集索引有何异同?

56.创建存储过程,从课程表中返回指定的课程的信息。该存储过程对传递的参数进行模式匹配,如果没有提供参数,则返回所有课程的信息。

57.为“学生”表创建一个实现插入、更新的触发器,当执行插入操作时,激活该触发器同时显示表中记录。

58.利用T-SQL扩展方式声明一个游标,查询学生表中所有男生的信息,并读取数据。关闭游标,最后释放游标。

59. 写出事务的基本操作命令。

60. 简述数据库备份和还原的基本概念?

联系合同范文客服:xxxxx#qq.com(#替换为@)