数据库实验指导书_SQL(广东工业大学)

《数据库原理及应用》

实验指导书

广东工业大学  自动化  学院


目录

实验一... 3

实验二... 6

实验三... 8

实验四... 10

实验五... 12

实验六... 14

实验七... 16


实验一

实验项目名称:数据库的定义实验

实验项目性质:普通实验

所属课程名称:数据库原理及应用

实验计划学时:2学时

一、       实验目的

使用SQL语言实现数据库的创建、删除;基本表的创建、删除、更新工作;以及索引的创建、删除工作。

二、       实验内容和要求

1、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、DROP命令实现数据库的创建及删除工作。

2、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、ALTER及DROP命令进行基本表的创建、更新、删除工作,并实现基本表中各类完整性约束条件的限定。

3、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、ALTER及DROP命令进行基本表中索引的创建、更新、删除工作。

4、完成上述工作后,在SQL SERVER 2000企业管理器中,查看是否成功创建实验所要求数据库、基本表、各类完整性约束条件及索引等内容。

三、       实验主要仪器设备和材料

PC机、SQL Server 2000数据库管理系统。

四、       实验方法、步骤及结果测试

所有实验内容必须在SQL Server 2000的查询分析器中完成,设置查询分析器的结果区为Standard Execute(标准执行)或Executed Grid(网格执行)方式.发布执行命令.并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。要求完成如下内容:

1.定义数据库

定义一个借阅数据库,要求所定义的数据库大小为1M,且数据库名称为Labery_学号。

2.定义下列数据库基本表

    在所定义的借阅数据库Labery_学号中,按要求定义如下数据库表:

1)书(book)

2)借书证(card)

3)借书记录(borrow)

3.完整性约束条件:

主要内容为:

1)确定各基本表的主码;

2)确定各基本表的外码;

3)要求在定义各基本表的同时,确定如下完整性约束条件

1、定义各基本表主码,并且要求主属性不能为空;

2、如果有外码,定义各基本表外码;

3、要求检查借书证中属性Type的值是否为('T','G','U','O'));

4、借书记录borrow基本表中borrow_date默认日期为当前时间。

4)确定各基本表哪些字段需要建立索引。

五、       实验报告要求

1)实验完成后,撰写实验报告:

报告封面必须注明以下信息:

实验名称:                   

学生学号:                   

学生姓名:                   

班    级:                   

指导老师:                   

实验时间:                   

2)实验报告必须附实现的SQL语句,并要求以截图的形式表现出数据库的创建是否成功,并满足要求,所定义基本表的各类完整性约束条件是否创建成功等。

六、       思考题

1)如果在创建关系数据库基本表时,未创建完整性约束条件,对于数据库会有何影响?

2)如果在创建关系数据库基本表时,未创建索引,对于数据库的运行性能会有何影响?


实验二

实验项目名称:数据库的建立与维护实验

实验项目性质:普通实验

所属课程名称:数据库原理及应用

实验计划学时:2学时

一、       实验目的

要求学生熟练掌握和使用Transact-SQL及SQL server 企业管理器向数据库中输入数据、修改数据和删除数据的操作。

要求学生按要求实现基本表数据更新,并在数据更新过程中,验证各类数据完整性约束条件,即实体完整性、参照完整性及用户定义完整性约束条件。

二、       实验内容和要求

1、使用SQL SERVER 2000查询分析器,并用INSERT、UPDATE、DELETE语句进行基本表数据更新,要求在进行数据的更新时,所修改的记录不仅满足数据完整性约束条件,并注意各个数据表之间的关联性;

2、在数据更新过程中,通过分析SQL命令执行后数据的差异,来验证SQL命令的正确性,并通过查看运行结果的合法性,来验证各类完整性约束条件正确性。

3、熟练使用企业管理器进行数据库的建立和维护操作,并掌握利用查询分析器进行数据维护的方法。

三、       实验主要仪器设备和材料

PC机、SQL Server 2000数据库管理系统。

四、       实验方法、步骤及结果测试

第1、2项实验内容必须在SQL Server 2000的查询分析器中完成,设置查询分析器的结果区为Standard Execute(标准执行)或Executed Grid(网格执行)方式.发布执行命令.并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。具体实验步骤如下:

1、数据输入

分别向book、card、borrow三个基本表中输入10条数据(备注:考虑到以后的可操作性,希望数据的数据具有一定的现实意义),其次插入的数据满足数据完整性约束条件及表与表之间的关联性的要求。

表1 书

表2 借书证

表3 借书记录

2、修改数据

修改book、card、borrow三个基本表的数据,并要求将book表中price属性的值全部打8折、‘清华大学出版社’的书籍总藏书量增加100本等,同时满足数据完整性约束条件。

3、删除操作

删除book、card、borrow三个数据表中的某些数据,并注意数据完整性约束条件的限制。要求删除borrow表中借书日期为1年前的数据,以及要求删除‘电子工业出版社’的书籍。

五、       实验报告要求

1、实验报告必须实现的SQL语句,并对SQL语句执行前后各个基本表的数据进行分析,验证SQL命令的正确性;

2、实验报告必须附实验结果的截图,以及实验结果的分析。

六、       思考题

1、如果在实验一中,没有定义数据完整性约束条件,则在数据录入或删除过程中会对数据库造成什么影响?

    2、思考如何利用SQL Server 2000中所提供的时间函数实现对时间的操作,如需要查询当前时间50天以前的图书的借阅数据该如何处理?


实验三

实验项目名称:数据库的简单查询和连接查询实验

实验项目性质:普通实验

所属课程名称:数据库原理及应用

实验计划学时:2学时

一、       实验目的

使学生熟练掌握简单表的数据查询、数据联接查询以及数据排序的操作方法,并加深对SQL和Transact-SQL语言的查询语句的理解。

二、       实验内容和要求

使用SQL SERVER 2000查询分析器,并用SELECT语句及WHERE查询条件进行简单查询及连接查询实验,其次使用ORDER BY排序子句实现输出结果的排序。主要实验内容包括:

1、简单查询操作:该实验包括投影、选择条件表达、数据排序、使用临时表等。

2、连接查询操作。该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自然连接等。

三、       实验主要仪器设备和材料

PC机、SQL Server 2000数据库管理系统。

四、       实验方法、步骤及结果测试

所有查询必须在SQL Server 2000的查询分析器中完成,设置查询分析器的结果区为Standard Execute(标准执行)或Executed Grid(网格执行)方式.发布执行命令.并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。要求完成以下查询要求:

1、将计算机类的书存入永久的计算机图书表;

2、查询发生了借阅关系的借书证卡号,并按卡号降序排列;

3、查询清华大学出版社出版的图书情况;

4、查询目前被借出去的书籍的书号、借书证号以及借出日期,并按借出日期排序;

5、查询“李媛媛”老师所所借阅的书籍的书名;

6、查询借书者的编号,姓名,单位,所借书号,书名和借阅日期,并按读者编号排序。

五、       实验报告要求

1、实验报告必须实现的SQL语句,并对SQL语句执行前后各个基本表的数据进行分析,验证SQL命令的正确性;

2、实验报告必须附实验结果的截图,以及实验结果的分析。

六、       思考题

1、对于该条查询语句——查询"U002"所借阅的书籍的信息,分别使用左连接、右连接和自然连接命令,试比较所产生的结果有何不同,说明其原因,并指出对于该查询要求,哪种连接更符合实际要求。


实验四

实验项目名称:数据库的嵌套查询实验

实验项目性质:普通实验

所属课程名称:数据库原理及应用

实验计划学时:2学时

一、       实验目的

使学生熟练掌握数据查询中嵌套查询语句的操作方法,并加深对Transact-SQL语言的查询语句的理解。

二、       实验内容和要求

在SQL SERVER查询分析器中使用IN、比较运算符、ANY、ALL和EXISTS等操作符进行嵌套查询操作。

三、       实验主要仪器设备和材料

PC机、SQL Server 2000数据库管理系统。

四、       实验方法、步骤及结果测试

所有查询必须在SQL Server 2000的查询分析器中完成,设置查询分析器的结果区为Standard Execute(标准执行)或Executed Grid(网格执行)方式.发布执行命令.并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。要求完成以下查询要求:

1、查询哪一年的图书最多?

2、查询平均每本借书证的借书册数

3、今年未借过书的借书证

4、哪个系的同学平均借书最多?

5、今年那种书出借最多?

五、       实验报告要求

1、实验报告必须实现的SQL语句,并对SQL语句执行前后各个基本表的数据进行分析,验证SQL命令的正确性;

2、实验报告必须附实验结果的截图,以及实验结果的分析。。

六、       思考题

  1、试用多种形式表示实验中的查询语句,并进行比较。


实验五

实验项目名称:数据库的组合查询和统计查询实验

实验项目性质:普通实验

所属课程名称:数据库原理及应用

实验计划学时:2学时

一、       实验目的

使学生熟练掌握数据查询中分组、统计、计算和组合的操作方法,并加深对Transact-SQL语言的查询语句的理解。

二、       实验内容和要求

在SQL Server的查询分析器中使用UNION(并操作)完成组合查询实验,并利用SELECT语句及GROUP BY 与聚集函数实现分组、统计和计算等查询工作。实验内容主要有:

1、分组查询实验:包括分组条件表达、选择组条件的表达方法。

2、使用函数查询的实验:包括统计函数和分组统计函数的使用方法。

3、组合查询实验。

4、计算和分组计算查询的实验。

三、       实验主要仪器设备和材料

PC机、SQL Server 2000数据库管理系统。

四、       实验方法、步骤及结果测试

所有查询必须在SQL Server 2000的查询分析器中完成,设置查询分析器的结果区为Standard Execute(标准执行)或Executed Grid(网格执行)方式.发布执行命令.并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。要求完成以下查询要求:

1、查询计算机类和机械工业出版社出版的图书;

2、查询藏书在五本以上的书(书名、作者、出版社、年份);

3、查询“数据库系统,张三编,机械工业出版社”还有几本;

4、查询今年(2007)未被借过的书;

5、查询藏书种数、总册数、最高价、最低价;

6、查询哪些出版社的总藏书超过3种;

7、查询目前已借出多少册书;

8、查询年份最久远的书;

9、查询这样的图书类别:要求类别中最高的图书定价不低于全部按类别分组的图书平均定价的2倍;

10、查询“机械工业出版社”的各类图书的平均定价;

11、查询计算机类图书的书号、名称及价格,并计算册数和总价格;

12、查询计算机类图书的书号、名称及价格,并计算各出版社这类书的总价格,最后求出全部册数和总价格。

五、       实验报告要求

1、实验报告必须实现的SQL语句,并对照SQL语句执行前后,各个基本表的数据进行分析,验证SQL命令的正确性;

2、实验报告必须附实验结果的截图,以及实验结果的分析。

六、       思考题

1、对于该查询语句——查询机械工业出版社出版的各类图书的平均定价,请分别用使用GROUPBY 和GROUPBY ALL子句表示,通过比较其结果,请分析该两个子句的异同,及使用场合。

2、对于较为复杂的SELECT查询语句,比较通过创建临时表或创建视图的方式来简化查询语句的特点,并在大数据量的情况下,这三种情况对数据库性能会有何影响。


实验六

实验项目名称:数据库的视图的定义及使用实验

实验项目性质:普通实验

所属课程名称:数据库原理及应用

实验计划学时:2学时

一、       实验目的

使学生掌握SQL Server中,视图的创建方法以及利用视图简化查询语句的方法,加深对视图作用的理解。

要求学生基于简化查询语句的基础之上,合理的利用视图与一般查询语句相结合的方式来满足用户需求,从而降低SQL查询语句实现的难度。

二、       实验内容和要求

在SQL Server的查询分析器中,实现数据库视图的创建、查看、修改和删除工作,并思考如何利用视图,并与SELECT 语句相结合来简化复杂的查询命令。

三、       实验主要仪器设备和材料

PC机、SQL Server 2000数据库管理系统。

四、       实验方法、步骤及结果测试

所有查询必须在SQL Server 2000的查询分析器中完成,设置查询分析器的结果区为Standard Execute(标准执行)或Executed Grid(网格执行)方式.发布执行命令.并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。

通过创建视图及通过与SELECT语句相结合,实现如下内容:

1、  查询哪一年的图书最多;

2、  查询平均每本借书证的借书册数;

3、  今年未借过书的借书证;

4、  哪个系的同学平均借书最多;

5、  今年哪种书借出最多;

五、       实验报告要求

1、实验报告必须实现的SQL语句,并对照SQL语句执行前后,各个基本表的数据进行分析,验证SQL命令的正确性;

2、实验报告必须附实验结果的截图,以及实验结果的分析。

六、       思考题

1、使用视图的优劣。

2、在什么情况下,使用视图可以提高数据库的性能,加快数据的查询效率,并举例说明。  


实验七

实验项目名称:数据库设计

实验项目性质:综合性实验

所属课程名称:数据库原理及应用

实验计划学时:4学时

一、       实验目的

通过接触实际应用项目,使学生加深对数据库系统理论知识的理解,并提高分析问题与解决问题的能力。

二、       实验内容和要求

本实验提供SQL Server 2000数据库管理系统环境,要求学生利用所学知识,结合自选数据库模型的实际情况,设计一个合理的数据库系统,并进行相关数据完整性检查。所设计的数据库要求在数据库的安全性、数据一致性、数据库的性能等方面都比较完善。

实验内容主要包括:需求分析、概念模型设计、数据逻辑结构设计及数据库设计及实施。

三、       实验主要仪器设备和材料

PC机、SQL Server 2000数据库管理系统。

四、       实验方法、步骤及结果测试

1、对自选数据库设计课题,进行需求分析,并提交需求分析结果;

2、基于以上的需求描述,使用E-R图为该数据库设计概念模型;

3、E-R数据模型转换成关系模型;

4、利用SQL语句定义各个关系模式,装入数据,并完成各项操作要求以及查询要求。

五、       实验报告要求

提交一份设计数据库系统的综合实验报告,报告要求必须包括:

1、需求分析结果

2、E-R图、逻辑设计

3、要求体现数据库安全性,并包含约束、主码、外码等数据一致性设计。

六、       思考题

1、判断实验步骤3中,所设计的每个关系模式的规范化程度,即最高属于几范式,并说明其原因。如果低于3NF,则通过逐步分解的方法将其将规范成属于3NF的关系模式;

相关推荐