实验报告课程名称数据库原理及应用学生学院信息工程学院专业班级12应电(1)班学号3112002504学生姓名苏建邦指导教师田妮莉2015 年3 月31 日实验1:数据库的定义实验1.写出实验目的、实验内容、实验结果和主要实验步骤。
实验目的:要求学生熟练掌握和使用SQL、T-SQL、SQL Server 企业管理器(Enterpriser Manager Server )创建数据库、表、索引和修改表结构,并学会使用查询分析器(SQL Server Query Analyzer),接收T-SQL语句和进行结果分析。
实验内容:l)创建数据库和查看数据库属性。
2)创建表、确定表的主码和约束条件,为主码建索引。
3)查看和修改表结构。
4)熟悉SQL Server 企业管理器(Enterpriser Manager)和查询分析器(Query Analyzer)工具的使用方法具体实验任务如下。
1.基本操作实验1)启动SQL Server200下的企业管理器(Enterpriser Manager)如图1.1所示,点击“数据库”右键,利用“新建数据库”建立图书读者数据库如图1.2所示;图1.1 企业管理器界面图1.2 新建“图书_读者”界面2)在企业管理器(Enterpriser Manager)中查看图书读者数据库的属性,并进行修改,使之符合要求。
3)通过企业管理器(Enterpriser Manager),在建好了图书数据库中建立图书、读者和借阅3个表,方法是点击“图书_读者”右键“新建”下的“表”,如图1.3所示:图1.3 新建表其结构为:图书(书号,类别,出版社,作者,书名,定价);读者(编号,姓名,单位,性别,电话):借阅(书号,读者编号,借阅日期)要求为属性选择合适的数据类型,定义每个表的主键,Allow Null(是否允许空值)和Default Value(缺省值)等列级数据约束。
4)在Enterpriser Manager建立图书、读者和借阅3个表的约束:(1)每个表的Primary Key(主键)约束;(2)借阅表与图书表间、借阅表与读者表之间的Foreign Key(外码)约束;(3)实现借阅表的书号和读者编号的UNIQUE(惟一性)约束;(4)实现读者表的性别只能是“男”或“女”的check(检查)约束;如图1.4-1.9所示。
图1.4 图书表图1.5 读者表图1.6 借阅表图1.7 定义表间关系(外码参照)图1.8 定义UNIQUE(惟一性)约束(在“索引/键”中点“新建”)图1.9 定义CHECK约束2.列出实验前准备的实验数据表格,指出图书_读者数据库的属性定义和数据约束。
实验数据表格:图1.4 图书表图1.5 读者表图1.6 借阅表属性定义和数据约束:外码参照:主码定义:定义唯一约束:定义CHECK约束:3.列出实验中出现的问题和解决方法。
第一次使用SQL,对数据库界面和操作不是很熟悉。
需要慢慢地对照实验指导书进行摸索。
设置两个外码时不熟悉,不会设置。
后来在属性里找到设置的位置。
4.写出实验体会。
通过本次实验,我们学会了SQL Server 企业管理器的基本用法,不过如果要更了解数据库,需要长期的摸索和使用SQL Server 企业管理器。
实验2:数据库的建立和维护实验实验报告要求:1)写出实验目的、实验内容、实验结果和主要实验步骤。
实验目的:要求学生熟练掌握使用SQL、T-SQL和SQL Server 企业管理器(Enterpriser Manager)向数据库输入数据、修改数据和删除数据的操作。
实验内容:利用SQL Server2000企业管理器实现:(1)查看数据库的基本表的结构和数据约束,并将它们调整到正确。
(2)在数据库的基本表中正确输入数据。
(3)在数据库的基本表中插入、删除和修改数据。
(4)浏览数据库中基本表中的数据。
实验要求:1.基本操作实验1)通过企业管理器,在图书借阅数据库的图书、读者和借阅3个表中各输入10条记录。
要求记录不仅满足数据约束要求,还要有表间关联的记录。
实验方法:启用SQL Server 2000下的企业管理器,点开“图书_读者”库,点击“表”,分别点击“图书”、“读者”、“借阅”表右键“打开表”-“返回所有行”,就可以输入记录了,当然输入的记录要满足表与表之间的关系,如图2.1、2.2、2.3所示。
图2.1 图书表的记录图2.2 读者表的记录图2.3 借阅表的记录2)图书借阅数据库的三个基本表为图书(书号,类别,出版社,作者,书名,定价);读者(编号,姓名,单位,性别,电话);借阅(书号,读者编号,借阅日期)。
(1)对通过企业管理器实现对图书借阅数据库的图书、读者和借阅3个表中数据的插入、删除和修改操作;(2)启用“查询分析器”,注意当前数据库的选择,也就是在工具栏的中间那个框,默认是“master”库,我们要选择自己的数据库如图2.4所示,这个操作也就相当于命令“USE 图书_读者”,所以接下来做“插入、删除、修改”的操作时就不用再写“USE 图书_读者”这条命令,直接写“插入、删除、修改”命令就OK了,如图2.5,在输入插入命令,并点击工具栏里的“√”(命令分析)和“◢”(执行命令)后的结果。
请大家自己分别给出删除和修改命令的SQL语句。
输入查询分析器中运行,并打开相应的表进行查看。
图2.4在查询分析器窗口选择“图书_读者”库2)列出实验前准备的实验数据。
写出相关的SQL语句。
实验数据:借阅表的记录:图书表的记录:读者表的记录相关的SQL语句:插入:INSERT INTO 图书VALUES(’1000000007’,’计算机’,’机械工业出版社’,’李明’,’计算机系统’,25.00);删除:DELETE FROM 图书WHERE 作者=’李明’;修改:UPDATE 图书SET 定价=20.00 WHERE 作者=’李明’;3)写出实验中出现的问题、注意事项和解决方法。
主要问题都是在SQL语句输入时,没有注意好中英文的中英文输入法的切换,导致查询器弹出错误,只要注意好就没事了。
4)写出实验体会。
本次实验,我们学会了运用查询语句来进行数据更新,学会了查询分析器的使用。
注意事项:1)输入数据时要注意数据的类型、主码和数据约束的限制。
2)数据更改和数据删除时要注意外码约束。
思考题:1)数据库中一般不允许更改主码数据。
如果需要更改主码数据时,怎样处理?可以先去掉主键关联然后再修改,不过这个只针对没多少数据的时候,重要数据还是遵循规则比较好!2)为什么不能随意删除被参照表中的主码?RDBS会对基本表进行实体完整性规则自动进行检查。
实验3:T-SQL语言实验1)写出实验目的、实验内容、实验结果和主要实验步骤。
实验目的:要求学生熟练掌握使用T-SQL语言创建基本表和视图,同时利用SQL语言实现各种查询和更新。
实验内容:利用“查询分析器”实现“学生-课程”数据库中的各个基本表的创建。
库中表结构为:学生(学号,姓名,性别,年龄,所在系):课程(课程号,课程名,先行课,学分);选课(学号,课程号,成绩)。
要求:l)建库、建表、建立表间联系。
2)选择合适的数据类型。
3)定义必要的索引、列级约束和表级约束。
具体实验任务如下。
1.基本操作实验1)启动SQL Server2000下的企业管理器(Enterpriser Manager),逐个点开各级小图标直到打开“数据库”,点击“数据库”右键,利用“新建数据库”建立“学生_课程”数据库如图3.1所示;2)启动SQL Server2000下的“查询分析器”,选择当前正在使用的数据库“学生_课程”,在查询分析器界面输入以下代码如图3.2后,并点击工具栏里的“√”(命令分析)和“◢”(执行命令)后,从而创建“学生”表、“课程”表,“选课”表。
(在企业管理器的菜单栏中多次点击“刷新”图标,即可在“学生_课程”数据库的表对象中看到这三个表。
)2.利用T-SQL语言向各个已经设计好的表中插入具体信息。
点击“文件-新建-查询窗口-确定”,新建多个查询文件,在各个新建查询中分别输入如图3.3-3.5所示代码,点击工具栏里的“√”(命令分析)和“◢”(执行命令)后在企业管理器的“学生_课程”数据库上多次点击“刷新”图标打开各个表查看结果。
图3.1新建“学生_课程”数据库界面图3.2 利用SQL语言创建“学生”表、“课程”表,“选课”表图3.3向学生表中插入记录图3.4向课程表中插入记录图3.5向选课表中插入记录2)列出实验前准备的实验数据。
写出相关的T-SQL语句。
1)单表查询①查询全体学生的学号和姓名②查询成绩在90分以上的学生的学号③查询2号课程的平均成绩④查询计算机科学系(CS)年龄在22岁以下的学生姓名2)连接查询:①求选修课程号为2且成绩在85分以上的学生学号、姓名及成绩:②查询每一门课的间接先行课(即先行课的先行课):3)嵌套查询:①求选修了数学的学生学号和姓名。
②求其他系中比计算机系学生年龄都小的学生。
③求至少选修了学生为“200212122”的学生所选修的全部课程的学生学号的姓名。
3)写出实验中出现的问题、注意事项和解决方法。
写出实验体会。
主要问题都是在SQL语句输入时,没有注意好中英文的中英文输入法的切换,导致查询器弹出错误,只要注意好就没事了。
本次实验,我们学会了运用查询语句来进行数据更新,学会了查询分析器的使用。
实验4:数据库的视图,触发器的定义及使用实验1)写出实验目的、实验内容、实验结果和主要实验步骤。
实验目的:使学生掌握SQL Server中的视图创建向导和图表创建向导的使用方法,加深对视图和SQL Server图表作用的理解。
学会通过T-SQL创建视图和表达触发器和创建触发器的方法。
实验内容:1、数据库中视图的创建①建立计算机系学生的视图“CS_View”, 其属性包括学号、姓名、性别和年龄要求:在SQL Server 企业管理器中,用视图创建向导创建这个视图。
基本操作如下:在SQL Server 企业管理器中利用视图向导来创建视图,打开企业管理器,选中“学生_课程”数据库,点击“工具”下面的“向导”,创建视图;如图4.1所示,点击“创建视图向导”,在选择了数据库之后点击下一步后打开选择创建视图将引用的对象界面如图4.2所示,再点击下一步后打开选择将被视图显示的列界面如图4.3所示(如果不用的表下面有多个相同的列,只选中其中的一个列就行了),然后打开定义限制界面如图4.4所示,给出创建计算机系学生视图的相应的条件,然后就可以一步步创建所要的视图。
完成之后可在“学生_课程”数据库的“视图”对象中看到这个视图“CS_View”。
图4.1选择向导图4.2 选择创建视图将引用的对象图4.3 选择将被视图显示的列图4.4在创建视图的过程中给出条件界面。