数据库实验指导书

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

数据库实验指导书

电气与电子工程学院

实验项目

实验一认识DBMS及数据库的建立

实验二交互式SQL(数据库查询与更新) 实验三数据控制(安全性部分)

实验四数据控制(完整性部分)

实验一认识DBMS及数据库的建立

一、实验目的:

1.掌握使用SQL SERVER企业管理器及SQL语言创建数据库与表。

2.掌握使用SQL SERVER企业管理器及SQL语言修改数据库与表。

3.掌握使用SQL SERVER企业管理器及SQL语言删除数据库与表。

二、实验内容及步骤:

1.通过用企业管理器创建一个指定多个数据文件和日志文件的数据库,该数据库名称为jiaoxuedb,要求:

有1个10MB和1个20MB的数据文件和2个10MB的事务日志文件。数据文件逻辑名称为jiaoxuedb1和jiaoxuedb2,物理文件名为jiaoxuedb1.mdf和jiaoxuedb2.mdf。主文件是jiaoxuedb1,由primary指定,两个数据文件的最大尺寸分别为无限大和100MB,增长速度分别为10%和1MB。事务日志文件的逻辑名为jiaoxuedblog1和jiaoxuedblog2,物理文件名为jiaoxuedblog1.df和jiaoxuedblog2.ldf,最大尺寸均为50MB,文件增长速度为1MB。

2.用企业管理器在jiaoxuedb数据库中建立如下表:

学生表: jiaoxuedbdent

课程表: Course

选课表: SC

3.查看表格:显示当前数据库中所有对象的信息。

4.利用企业管理器删除表:

在企业管理器中,展开指定的数据库和表格项,用右键单击要删除的表,从快捷菜单中选择“除去表”选项,则会出现除去对象对话框。单击“全部删除”按钮,即可去除表。

5.利用企业管理器删除数据库jiaoxuedb。

6.用SQL语言创建数据库jiaoxuedb:

7.用SQL语言创建jiaoxuedb中的表:

实验二交互式SQL(数据库查询与更新)

一、实验目的:

1.掌握SELECT查询语句在单表查询、连接查询、嵌套查询和集合查询中的常规用法。

2.掌握常用聚集函数的用法。

3.掌握LIKE、DISTINCT、ORDER BY、GROUP BY及UNION的用法。

4.掌握带EXISITS的查询语句。

5.掌握用SQL语句实现数据的插入、修改和删除。

二、实验内容及步骤:

基于jiaoxuedb实验,需按实验一中的数据值建立数据库及其中的表。

1.重建实验一中的数据库jiaoxuedb和其中的表,并插入相应数据值。

插入jiaoxuedb库中各表值:

2.重建实验一中的数据库jiaoxuedb和其中的表,并插入相应的数值。

创建数据库jiaoxuedb:

创建jiaoxuedb中的表:

插入jiaoxuedb库中各表值:

3.将数据库jiaoxuedb中信息系全体学生的成绩置0。

4.将数据库jiaoxuedb中电子商务系学生年龄增加1岁。

5.将数据库jiaoxuedb中计算机系所有学生的选课记录删除。

6.查询成绩在80~90之间的记录。

SELECT jiaoxuedbdent.Sno,Sname,Dept,o,Score FROM jiaoxuedbdent,SC,Course

WHERE jiaoxuedbdent.Sno=SC.Sno

AND SC.Score BETWEEN 80 AND 90

AND o=o;

7.查询至少有4个同学选修的课程名。

USE jiaoxuedb

SELECT Cno AS 课程号,Cname AS 课程名

FROM Course

WHERE Cno=ANY

(SELECT

Cno AS 课程号

FROM SC

GROUP BY Cno

HAVING COUNT(*)>=4)

GO

8.查询其他系中比“信息系”所有学生年龄都打的学生名单及年龄,并按年龄降序输出。USE jiaoxuedb

SELECT Sno AS 学号,Sname AS 姓名,Age AS 年龄,Dept AS 专业

FROM jiaoxuedbdent

WHERE Age>ALL

(SELECT Age

FROM jiaoxuedbdent

WHERE Dept='信息')

AND Dept <> '信息'

ORDER BY Age DESC

GO

9.查询与学生张建国同岁的所有学生的学号、姓名和系别。

/*方法一*/

USE jiaoxuedb

SELECT Sno AS 学号,Sname AS 姓名,Age AS 年龄,Dept AS 专业

FROM jiaoxuedbdent

WHERE Age=ANY

(SELECT Age

FROM jiaoxuedbdent

WHERE Sname='张建国')

AND Sname <> '张建国'

ORDER BY Age DESC

GO

/*方法二*/

USE jiaoxuedb

SELECT s2.Sno,s2.Sname,s2.Dept

FROM jiaoxuedbdent s1, jiaoxuedbdent s2

WHERE s1.age=s2.age AND s1.Sname='张建国' AND s2.Sname <> '张建国'

相关文档
最新文档