《数据库原理实验教案.docx》由会员分享,可在线阅读,更多相关《数据库原理实验教案.docx(15页珍藏版)》请在优知文库上搜索。
1、数据库原理课程实验实验1创建数据库和数据表一、实验目的熟悉SQLServerManagementStudio界面;掌握通过图形化向导和执行Transact-SQL语句创建数据库的方法。二、实验环境WindowsXP操作系统,SQLServer2005软件。三、实验课时2课时。四、实验内容SQLServer中的一个数据库必须至少包含一个数据文件和一个事务日志文件,所以创建数据库就是建立主数据文件和日志文件。在SQLSerVer2005中创建数据库的方法主要有两种:一是在SQLServerManagementStudio窗口中使用可视化界面,通过方便的图形化向导创建,二是通过执行TranSaCt-
2、SQL语句创建。(一)向导方式创建1、从“开始”菜单选择“所有程序MicrosoftSQLServer2005,打开“SQLServerManagementStudio”窗口,使用WindOWS或者SQLSerVer身份验证建立连接。2、在“对象资源管理器”窗格中展开服务器,选择“数据库”节点右击,从弹出的快捷菜单中选择“新建数据库”命令,打开“新建数据库”窗口。3、该窗口中有3个页,分别是,嘴规”、“选项”和“文件组”,完成这3个页的内容即可完成数据库的创建。这里,我们仅设置“常规”的相应内容,其他2个页的内容按照默认设置即可。“数据库名称文本框中输入数据库的名称,如“samplJsT,再输
3、入该数据库的所有者,这里使用默认值即可。(也可以通过单击文本框右边的“浏览”按钮选择所有者。(2)“数据库文件”列表中包括两行,一个是数据文件,一个是日志文件。通过单击下面相应的按钮可以添加或者删除相应的数据文件。逻辑名称:指定该文件的文件名。文件类型:用于区别当前文件是数据文件还是日志文件。文件组:显示当前数据库文件所属的文件组。初始大小:指定该文件的初始容量。在SQLSerVer2005中数据文件的默认值为3MB,日志文件的默认值为1MB。自动增长:用于设置在文件容量不够用时,文件根据何种增长方式自动增长。路径:指定存放在文件的目录。默认情况下,SQLServer2005将存放路径设置为其
4、安装目录下的data子目录,单击该列中的按钮可以在打开的“定位文件夹”对话框中更改数据库的存储路径。完成上述操作后,单击“确定”按钮关闭“新建数据库”窗口,即完成为了数据库的创建,可以在“对象资源管理器窗格中看到新建的数据库。(二)语言方式创建SQLServer2005使用的TranSaCt-SQL语言是标准SQL的增强版本,使用它提供的CreateDatabase语句同样可以完成对数据库的建立(参考内容见附录)。1、单击“新建查询”按钮,创建一个查询输入窗口将附录中的语句复制到该窗口。选择创建数据库的命令,单击工具栏中的“分析”按钮,可以检查语法错误;单击“执行”按钮即可执行语句,在查询窗口
5、内的“查询”窗格中可以看至命令已成功完成”的提示消息。在“对象资源管理器”窗格中刷新,即可看到新建的数据库。2、继续执行CreateDatabase之后的语句,在“sample_st”数据库中用CreateTable命令挨次建立StudentCourse和SC这三个数据表,利用InSeit命令为各数据表添加数据。(参考内容见教材P84)(三)知识巩固仿照附录内容,用SQL-DDL语言创建“产品订购”数据库,包含四个数据表S、P、J和SPJ,表结构及内容见教材Pl22。实验2数据库的简单查询一、实验目的掌握单表查询中各个子句(SeIeCt、FromWhereGroupHavingOrder)的用
6、法,特殊要掌握比较运算符和逻辑运算符的使用。二、实验环境WindowsXP操作系统,SQLServer2005软件。三、实验课时2课时。四、实验内容在已建立的数据库和数据表的基础上,用Select语句完成下列查询操作。1、查询全体学生的学号和姓名。2、查询全体学生的所有基本信息(仅针对Student表)。3、对SC表查询全体学生的选课记录,在显示结果中为“Grade”列增加5分。4、查询全体学生的学号和姓名,将原来的英文列名设置中文别名。5、显示所有选课学生的学号,去掉重复结果。6、查询成绩在80分以上的学生选课记录。7、查询经济系所有学生的学号和姓名。8、查询成绩在8090分的学生选课记录。
7、9、查询年龄不在2225的学生记录。10、查询所有姓有姓的学生记录。11、查询无考试成绩(成绩为空值)的学号、课程号。12、查询考试成绩非空值的学号、课程号。13、查询数学系年龄小于20岁的学生记录。14、查询选修了“10或者“102”课程的选课记录。15、查询学生总人数。16、查询选修了课程的学生人数。17、查询选修了“101”课程的学生的平均成绩。18、查询学号为“01003”的学生的考试总成绩。19、查询“101”课程的最高分和最低分。20、查询每门课程的选课人数。21、查询每一个学生的学号、选课数、平均成绩和总成绩。22、查询选课数超过2的学生学号及其选课数。23、查询所有学生信息,查
8、询结果按年龄降序罗列。(针对StUdent表操作)24、查询所有学生信息,查询结果按系名升序,同系学生按年龄降序罗列。25、查询选课数超过2的学生学号及其选课数,查询结果按选课数降序罗列。实验3数据库的多表查询一、实验目的继续熟练SQLSELECT语句的使用;理解多表查询的概念;掌握多表连接查询中各个子句的用法,特殊要比较内连接和外连接的结果。掌握非相关子查询、相关子查询的用法,理解它们的执行过程;学会在SQLServer中用Exists实现交运算,用NotEXiStS实现差运算。二、实验环境WindowsXP操作系统,SQLServer2005软件。三、实验课时2课时。四、实验内容(一)、在
9、已建立的数据库和数据表的基础上,用SeleCt语句的连接查询完成下列操作。1、查询每一个学生的基本信息及其选课情况。2、查询选修“101”课程的学生学号、姓名和成绩。3、查询与“李平”在同一个系学习的学生记录。4、查询与“李平”年龄相同的学生记录。5、查询选修课程名为“数据库原理”的选课记录。6、查询选修课程名为“数据库原理”的学生记录。7、查询选修“101”课程且成绩N90的学号、姓名和成绩。8、查询“李平”的所有选课记录。9、查询数学系学生选修的课程号,要求结果中去掉重复记录。10、查询计算机系选修课程融2的学号、姓名及平均成绩,查询结果按平均成绩降序。11、查询每一个学生的学号、选修课程
10、号、课程名及成绩。12、查询所有学生的选修情况(包括选课和未选课的学生),要求显示学号、姓名、课程号和成绩。(二)、在已建立的数据库和数据表的基础上,用SeIeCt语句的嵌套查询完成下列操作。1、查询选修力01”课程且成绩0的学号、姓名。2、查询“李平”的所有选课记录。3、查询与“李平”在同一个系学习的学生记录。4、查询与“李平”年龄相同的学生记录。5、查询选修课程名为“数据库原理”的选课记录,输出结果包括学号和成绩。6、查询选修课程名为“数据库原理”的学生记录,输出结果包括学号、姓名和所在系。7、查询学号为“01003”学生的选修课程号和课程名。8、查询没有选修“101”课程的学生学号和姓名
11、。9、查询选修“101”课程或者“102”课程的学生姓名。10、查询选修力01”课程和“102”课程的学生学号。11、查询选修101”课程但没选修“102”课程的学生学号。12、查询没有选修任何课程的学生记录,输出结果包括学号、姓名和所在系。13、查询数学系学生选修的课程号,要求结果中去掉重复记录。14、查询选修课程至少包含“01003”选修课程的学生学号。实验4数据库更新、视图定义及使用一、实验目的掌握InsertUpdateDelete语句的使用;对于Insert语句,要求理解默认值约束、空值约束在插入记录时所起的作用。理解视图的概念,掌握CreateView、DropVieW语句的使用;
12、掌握基于视图的查询语句的使用。二、实验环境WindowsXP操作系统,SQLServer2005软件。三、实验课时2课时。四、实验内容(一)、在已建立的数据库和数据表的基础上,向数据库中添加一个临时表ST,其结构比StUdent表结构多一个sco配字段。用InSelt语句向暂时表输入数据,输入有误时用UPdate语句进行修改。再用三个更新语句完成下列操作。1、向StUdent表添加若干新记录,内容自定。(观察已定义的表的约束情况)2、向SC表添加新记录,内容自定,不低于10条(注意不能违反参照完整性)。3、为暂时表ST添加记录。4、把Student表的所有行一次性地加到暂时表ST中。5、在ST
13、表中把所有学生的成绩加2分。6、在ST表中把所有学生的年龄增加1。7、在ST表中把“李平”的所在系改为“计算机”。8、在ST表中将选修课程”数据库原理”的学生成绩加2分。9、在SC表中删除所有成绩为空值的选修记录。10、删除计算机系选修成绩不及格的选课记录。(二)、在已建立的数据库和数据表的基础上,完成下列操作。1、建立数学系学生的视图MAST。2、建立计算机系选修课程名为“数据库原理”的学生视图,视图名:CSTVIEW,该视图中应包括属性列:学号、姓名、成绩。3、创建一个名为STSUMVIEW的视图,包括所有学生的学号和总成绩。4、建立学生选课视图SCVlEW,包括所有学生的学号、姓名、课程
14、号、课程名和成绩。5、通过MAST视图查询学生基本信息。6、通过SCVlEW查询成绩大于90分的学生的学号和成绩。7、查询计算机系选修课程名为“数据库原理”并且成绩大于85分的学生的学号和成绩。8、通过MAST视图将学号为“01008”学生的年龄修改为21岁。9、通过MAST视图将学号为“01009”学生所在系改为“经济L是否能成功执行?若不能成功请说明理由;若修改成功,请再次通过MAST视图查询学生基本信息,是否能查询到该生?若不能查询请说明理由。10、通过SCVIEW视图将学号为“01004”学生的总成绩修改为380分,是否能成功执行?若不能成功请说明理由。实验5数据库的安全与保护一、实验
15、目的理解SQLSerVer的用户与权限管理机制,掌握用对象资源管理器创建服务器登录帐号,并同时建立用户。掌握如何为给定的用户分配权限。二、实验环境WindowsXP操作系统,SQLServer2005软件。三、实验课时2课时。四、实验内容用户与权限管理(1)打开“SQLServerManagementStUdiO”窗口,使用对象资源管理器创建两个服务器登录帐号Testl和Test2,并在“sampljst”数据库中创建两个对应的同名用户。设置TeStl用户和Test2用户的默认架构为guesto(2)使用TeStl身份登录,并为Test2分配创建数据表的权限;用Test2身份登录来验证权限分配成功。(3)使用Testl身份登录,收回刚刚分配给Test2的创建数据表的权限;用Test2身份登录来验证权限回收成功。五、实验步骤1、使用对象资源管理器创建两个服务器登录帐号。以系统管理员身份登录SQLServero打开“SQLServerManagementStUdio”窗口,在对象资源管理器列表中,打开展开“安全性”文件夹,选择“登录名”图标,单击鼠标右键,在弹出