当前位置:文档之家› 数据库实验指导及报告-2015正式版

数据库实验指导及报告-2015正式版

编号:2015版《数据库原理及应用》实验报告实验报告作者(姓名及学号):实验指导教师:鲍芳实验时间:2015-2016 秋季实验班级:自动化电气13级班实验中心三号楼广东工业大学(MS SQL SERVER 2005)第一次实验注意事项:1.携带U盘;本实验使用MS SQL SERVER 2005;2.在“我的电脑\|管理\服务及应用\SQLSERVER配置管理器\SQLSERVER2005服务”菜单下启动“SQL SERVER(MSSQLSERVER)”服务,双击应用程序“SQL Server Management Studio”,注意“服务器名称”不要使用缺省设置,通过“浏览更多”及展开“数据库引擎”选择本机号码,点击“连接”;3.在“对象资源管理器”窗口显示有绿色箭头;在对象资源管理器中附加myCapeCodd数据库:鼠标右键点击“数据库”选择“附加”,指明数据文件.mdf的位置(均指向U盘的某个文件夹);附加成功后在数据库目录下可见myCapeCodd;4.点击“新建查询”即可在窗口输入相关SQL语句,可以用截图软件保存查询结果。

(注意MS SQL SERVER 2008 不支持数据库.mdf.及log文件指向U盘。

)2015数据库原理及应用实验安排(实验一至实验七)在实验四至实验七中,务必对提交的SQL语句返回的查询结果与人工检索的结果相对比,以此方式验证SQL语句的正确性。

以下实验内容涉及学生自己创建数据库。

5.在对象资源管理器中创建自己的数据库:鼠标右键点击“数据库”选择“新建数据库”,名称取为“电气X班XXX学生成绩管理数据库”;在“新建数据库”时要指明数据文件及事务日志的位置(均指向U盘的某个文件夹),不要使用缺省设置;6.在“新建查询”下输入SQL语句,注意先选择对应的“电气X班XXX学生成绩管理数据库”,而不是缺省的master数据库;检查及执行该语句,注意每次输入新的SQL语句时先清空输入界面;注意在半角状态输入空格,若在全角状态输入空格容易导致出错;7.创建数据库中的表后(注意刷新),在对象资源管理器窗口可见该表及其所拥有的键及约束:学生:键:1,约束:1;课程:键:1;选课:键:3,约束:18.在对象资源管理器中“数据库”子菜单使用“附加”命令选中.mdf文件(对应的.log文件自动加入,注意两者名称一致),可打开自己的数据库。

“数据库”/任务下的“分离数据库”命令可关闭该数据库;9.注意性别的字符串长度(不能为1,一个汉字占位2);成绩的属性选择,要求能够进行数值计算,int或numeric(4,1);注意成绩=null与成绩=0的区别:数值型的空值输入:null;字符串型的空值输入:’’;10.出生日期设为smalldatetime或datetime类型(输入格式为’19981028’)后,查询时在select语句中可使用convert(varchar(10),出生日期,111) as出生日期,将其截短为年月日;11.建立计算机系学生信息统计的视图,要求包括计算机系学生的学号、姓名、性别和年龄;Create view 计算机系学生信息统计as(select 学号,姓名,year(getdate())-year(出生日期) as 年龄from 学生where 学院=‘计算机’)关于不同版本DBMS的实验环境问题:1.在.txt文档保存正确的create table语句及insert语句;2.使用05版本时可以将数据库指向U盘,3.使用08版本时先将U盘的.mdf.及.log文件复制到计算机D区或E区的某个文件夹,再将此文件附加到数据库DBMS。

结束后不要复制D区或E区的文件,丢弃。

实验报告要求采用学校的实验报告书(16开)。

如打印也应采用实验报告书的版头(A4纸),不接受电子版!每份实验报告必须包含以下5项:一、实验目的与要求(按实验指导书“实验目的”填写)二、实验方案(按实验指导书“实验步骤”及本文档的实验内容要求填写)三、实验结果和数据处理(按实验操作结果记录填写,查询结果使用截图表示)四、结论(可根据实验内容给出所对应数据库理论要点)五、问题与讨论(可回答思考题或实验中遇到的问题及解决方法)若在报告中描述你在实验中遇到的问题及解决方案,将有机会获得额外加分!广东工业大学实验报告______________学院________________专业_____班成绩评定_______ 学号__________姓名__________(合作者____号____) 教师签名_______实验一题目数据库系统设计第___周星期___第___节一、实验目的与要求掌握数据库的基本设计技术,熟悉数据库概念模型设计的每个任务步骤,并加深对关系数据库概念和特点的理解。

要求学生根据周围的实际情况自选一个小型的数据库应用项目并深入到应用项目的现实世界中进行系统分析和数据库设计,例如选择学生成绩管理系统、图书管理系统或仓库管理系统等。

学生成绩管理数据库的基本要求:1.能够记录学生的基本信息,包括学号、姓名、性别、出生日期及所属学院;2.能够记录课程的基本信息,包括课程号,课程名,先行课号;3.能够记录学生选课情况及选修课程的成绩;(学生成绩管理系统及图书管理系统数据库应用项目介绍可参见蔡延光《数据库原理及应用》第11章或苗雪兰《数据库原理及应用》第5章)。

二、实验方案利用数据库设计的5个步骤(识别实体、确定关系、列出属性、确定键及属性的域,对学生成绩管理系统(必选)、图书管理系统(可选)进行相关数据库的数据建模及设计。

●使用ChenERD或鸭脚模型表示所设计的概念模型;●给出各表的关系结构和表级约束;●给出各属性域的描述,包括物理描述和语义描述;三、实验结果和数据处理(按实验操作结果记录填写)四、结论(可根据实验内容给出所对应数据库理论要点)五、问题与讨论1、关系数据库中如何保存实体之间的关系?2、学生选课系统中属性学号、课程号及成绩采用哪种数据类型更好,数值型还是字符型?为什么?3、在所设计的数据模型中体现的业务规则是什么?广东工业大学实验报告______________学院________________专业_____班成绩评定_______ 学号__________姓名__________(合作者____号____) 教师签名_______实验二题目数据库的定义实验第___周星期___第___节一、实验目的与要求要求熟练掌握和使用SQL、SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server查询分析器接受SQL语句和进行结果分析。

二、实验方案1、在企业管理器中创建及打开数据库,在“新建数据库”时指明数据文件及事务日志的位置;2、在SQL Server查询分析器中用SQL语句实现以下各表:学生(学号,姓名,性别,出生日期,所属学院);课程(课程号,课程名,先行课号);选课(学号,课程号,成绩);3、建立库、表和表间的联系,选择合适的数据类型,定义必要的列级约束(包括性别约束和成绩约束)和表级约束。

创建数据库中的表并刷新后,在对象资源管理器窗口可见该表及其所拥有的键及约束:学生:键:1,约束:1;课程:键:1;选课:键:3,约束:1。

三、实验结果和数据处理(给出实现数据库表的SQL语句)四、结论(可根据实验内容给出所对应数据库理论要点)五、问题与讨论1、举例说明创建外键的SQL语句中的参照表和被参照表各指什么?ON DELETE CASCADE关键字对删除记录有何影响?2、(可描述在实验中遇到的问题及解决方法)3、(可选)如果考虑课程表中的递归关系,应该如何修改你的sql语句?在向此表插入数据时应该注意什么问题?______________学院________________专业_____班成绩评定_______ 学号__________姓名__________(合作者____号____) 教师签名_______实验三题目数据库的建立和维护实验第___周星期___第___节一、实验目的与要求要求熟练掌握和使用SQL、SQL Server企业管理器向数据库输入数据、修改数据和删除数据操作。

二、实验方案通过SQL Server企业管理器或查询分析器实现对学生成绩管理数据库的数据增加、数据删除和数据修改操作。

要求每个表的记录在10行以上,可根据查询要求增加或完善表中记录;输入数据检验各数据约束的限制;数据更改和数据删除时检验外码约束;三、实验结果和数据处理(在报告中给出用SQL语句实现数据增加、数据删除和数据修改的共6个例句,并附上所设计的数据库表的样本数据,每张表的记录为10行)四、结论(可根据实验内容给出所对应数据库理论要点)五、问题与讨论1、举例说明如何在输入数据时检验各数据约束的限制?2、举例说明如何在数据更改和数据删除时检验外码约束?举例说明创建外键时有无ON DELETECASCADE 关键字对删除记录有何影响?3、属性“成绩”成绩输入为null或0时有区别吗?4、(可描述实验中遇到的问题及解决方法)______________学院________________专业_____班成绩评定_______ 学号__________姓名__________(合作者____号____) 教师签名_______实验四题目数据库的简单查询和连接查询实验第___周星期___第___节一、实验目的与要求要求熟练掌握和使用SQL、SQL Server企业管理器向数据库输入数据、修改数据和删除数据操作。

二、实验方案通过SQL Server查询分析器实现对学生成绩管理数据库的以下简单查询和连接查询:1.求数学系学生的学号和姓名;2.(optional)查询数学系学生的信息,包括学号、姓名、性别和年龄(提示:year(getdate())-year(出生日期) as 年龄);3.求选修了课程的学生学号;4.求选修课程C1的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列;5.求选修课程C1且成绩在80~90分之间的学生学号和期末考试成绩,其中期末考试成绩为选修表中成绩乘以系数0.8;6.求数学系或计算机系姓张的学生的信息;7.求缺少了成绩的学生的学号和课程号;8.查询每门课程的先行课程名;三、实验结果和数据处理(给出各SQL语句及对应查询结果)四、结论(可根据实验内容给出所对应数据库理论要点)五、问题与讨论1、如何提高数据查询和连接速度?2、(可描述实验中遇到的问题及解决方法)______________学院________________专业_____班成绩评定_______ 学号__________姓名__________(合作者____号____) 教师签名_______实验五题目数据库的嵌套查询实验第___周星期___第___节一、实验目的与要求进一步掌握SQL Server查询分析器的使用方法,加深SQL语言的嵌套查询语句的理解。

相关主题