数据库原理课程实验.doc

上传人:飞****2 文档编号:78785341 上传时间:2023-03-19 格式:DOC 页数:19 大小:67.50KB
返回 下载 相关 举报
数据库原理课程实验.doc_第1页
第1页 / 共19页
数据库原理课程实验.doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《数据库原理课程实验.doc》由会员分享,可在线阅读,更多相关《数据库原理课程实验.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据库原理课程实验20109本文档介绍的是本学期课程实验内容,其中有四次实验需要提交实验报告或设计报告,前三次每份报告记平时成绩4分,第四份报告(同时要提供建立数据库、数据表的代码)记平时成绩8分并。请各位同学注意按时提交报告,按实验报告格式打印。实验1 创建数据库一、实验目的熟悉SQL Server Management Studio界面;掌握通过图形化向导和执行Transact-SQL语句创建数据库的方法。二、实验环境Windows XP操作系统,SQL Server 2005软件。三、实验课时2课时。四、实验内容SQL Server中的一个数据库必须至少包含一个数据文件和一个事务日志文件

2、,所以创建数据库就是建立主数据文件和日志文件。在SQL Server 2005中创建数据库的方法主要有两种:一是在SQL Server Management Studio窗口中使用可视化界面,通过方便的图形化向导创建,二是通过执行Transact-SQL语句创建。(一)向导方式创建1、从“开始”菜单选择“所有程序”“Microsoft SQL Server 2005”,打开“SQL Server Management Studio”窗口,使用Windows或SQL Server身份验证建立连接。2、在“对象资源管理器”窗格中展开服务器,选择“数据库”节点右击,从弹出的快捷菜单中选择“新建数据库

3、”命令,打开“新建数据库”窗口。3、该窗口中有3个页,分别是“常规”、“选项”和“文件组”,完成这3个页的内容即可完成数据库的创建。这里,我们仅设置“常规”的相应内容,其他2个页的内容按照默认设置即可。(1)“数据库名称”文本框中输入数据库的名称,如“sample_st”,再输入该数据库的所有者,这里使用默认值即可。(也可以通过单击文本框右边的“浏览”按钮选择所有者。(2)“数据库文件”列表中包括两行,一个是数据文件,一个是日志文件。通过单击下面相应的按钮可以添加或删除相应的数据文件。l 逻辑名称:指定该文件的文件名。l 文件类型:用于区别当前文件是数据文件还是日志文件。l 文件组:显示当前数

4、据库文件所属的文件组。l 初始大小:指定该文件的初始容量。在SQL Server 2005中数据文件的默认值为3MB,日志文件的默认值为1MB。l 自动增长:用于设置在文件容量不够用时,文件根据何种增长方式自动增长。l 路径:指定存放在文件的目录。默认情况下,SQL Server 2005将存放路径设置为其安装目录下的data子目录,单击该列中的按钮可以在打开的“定位文件夹”对话框中更改数据库的存储路径。完成上述操作后,单击“确定”按钮关闭“新建数据库”窗口,即完成了数据库的创建,可以在“对象资源管理器”窗格中看到新建的数据库。(二)语言方式创建SQL Server 2005使用的Transa

5、ct-SQL语言是标准SQL的增强版本,使用它提供的Create Database语句同样可以完成对数据库的建立(参考内容见附录)。1、单击“新建查询”按钮,创建一个查询输入窗口将附录中的语句复制到该窗口。选择创建数据库的命令,单击工具栏中的“分析”按钮,可以检查语法错误;单击“执行”按钮即可执行语句,在查询窗口内的“查询”窗格中可以看到“命令已成功完成”的提示消息。在“对象资源管理器”窗格中刷新,即可看到新建的数据库。2、继续执行Create Database之后的语句,在“sample_st”数据库中用Create Table命令依次建立Student、Course和SC这三个数据表,利用

6、Insert命令为各数据表添加数据。(参考内容见附录)(三)知识巩固仿照附录内容,用SQL-DDL语言创建“产品订购”数据库,包含四个数据表S、P、J和SPJ,表结构及内容见教材P74。附录:USE masterCREATE DATABASE sample_stON PRIMARY( NAME=sample_st_data,FILENAME=C:Program FilesMicrosoft SQL ServerMSSQLdatasample_st.mdf,SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=1MB)LOG ON( NAME=sample_st_log,

7、FILENAME=C:Program FilesMicrosoft SQL ServerMSSQLdatasample_st.ldf,SIZE=2MB,MAXSIZE=UNLIMITED,FILEGROWTH=1MB)GOUSE sample_stCREATE TABLE student(sno char(5) not null primary key,sname char(8),sex char(2),sage tinyint,sdept char(10)CREATE TABLE course(cno char(3) not null primary key,cname char(12),c

8、pno char(3),credit tinyint)CREATE TABLE sc(sno char(5), cno char(3),grade smallint,Primary Key(sno,cno),Foreign Key(sno) References student(sno),Foreign Key(cno) References course(cno)USE sample_stinsert student values(01001,李平,男,22,经济)insert student values(01002,周灵,女,22,经济)insert student values(010

9、03,李芳,女,21,数学)insert student values(01004,刘小冬,男,23,计算机)insert student values(01005,刘岳,男,22,计算机)insert student values(01006,吴京,男,22,计算机)insert student values(01007,王芳,女,21,经济)insert student values(01008,黄明明,女,22,数学)insert student values(01009,赵飞,男,21,数学)insert student values(01010,刘冰,男,22,数学)insert s

10、tudent values(02001,孙雨,男,20,计算机)insert student values(02002,韩雨晴,女,21,经济)insert student values(02003,张天一,男,22,数学)insert student values(02004,李伟,男,20,数学)insert student values(02005,孙小丽,女,22,管理)insert student values(02006,张海涛,男,21,管理)insert student values(02007,宋涛,男,21,计算机)insert student values(02008,王

11、依然,女,20,经济)insert student values(02009,周冠军,男,22,经济)insert student values(02010,王海波,男,22,计算机)insert student values(02011,李静,女,20,管理)insert course values(101,高等数学,6)insert course values(102,大学英语,5)insert course values(103,计算机基础,3)insert course values(104,政治经济学,3)insert course values(201,离散数学,101,4)ins

12、ert course values(202,专业英语,102,3)insert course values(203,程序设计,103,4)insert course values(204,计算机网络,103,3)insert course values(205,管理学概论,4)insert course values(206,西方经济学,104,4)insert course values(301,数学分析,101,4)insert course values(302,数据库原理,201,3)insert course values(303,多媒体技术,203,3)insert course

13、values(304,系统分析,302,3)insert sc values(01001,101,82)insert sc values(01002,101,66)insert sc values(01003,101,75)insert sc values(01004,101,88)insert sc values(01005,101,72)insert sc values(01006,101,45)insert sc values(01008,101,75)insert sc values(01009,101,62)insert sc values(01010,101,72)insert s

14、c values(02001,101,52)insert sc values(02002,101,82)insert sc values(02003,101,60)insert sc values(02004,101,71)insert sc values(02005,101,70)insert sc values(02006,101,82)insert sc values(02007,101,90)insert sc values(02008,101,86)insert sc values(02009,101,64)insert sc values(02010,101,76)insert s

15、c values(01004,302,80)insert sc values(01005,302,77)insert sc values(01006,302,85)insert sc values(02001,302,82)insert sc values(02007,302,60)insert sc values(02010,302,89)insert sc values(01003,201,78)insert sc values(01008,201,76)insert sc values(01009,201,94)insert sc values(01010,201,85)insert s

16、c values(02004,201,82)insert sc values(01004,201,80)insert sc values(01005,201,77)insert sc values(01006,201,85)insert sc values(02001,201,82)insert sc values(02007,201,60)insert sc values(02004,304,null)insert sc values(02007,304,null)实验2 数据库的简单查询一、实验目的掌握单表查询中各个子句(Select、From、Where、Group、Having、Ord

17、er)的用法,特别要掌握比较运算符和逻辑运算符的使用。二、实验环境Windows XP操作系统,SQL Server 2005软件。三、实验课时2课时。四、实验内容在已建立的数据库和数据表的基础上,用Select语句完成下列查询操作。1、查询全体学生的学号和姓名。2、查询全体学生的所有基本信息(仅针对Student表)。3、对SC表查询全体学生的选课记录,在显示结果中为“Grade”列增加5分。4、查询全体学生的学号和姓名,将原来的英文列名设置中文别名。5、显示所有选课学生的学号,去掉重复结果。6、查询成绩在80分以上的学生选课记录。7、查询经济系所有学生的学号和姓名。8、查询成绩在8090分

18、的学生选课记录。9、查询年龄不在2225的学生记录。10、查询所有姓“刘”的学生记录。11、查询无考试成绩(成绩为空值)的学号、课程号。12、查询考试成绩非空值的学号、课程号。13、查询数学系年龄小于20岁的学生记录。14、查询选修了“101”或“102”课程的选课记录。15、查询学生总人数。16、查询选修了课程的学生人数。17、查询选修了“101”课程的学生的平均成绩。18、查询学号为“01003”的学生的考试总成绩。19、查询“101”课程的最高分和最低分。20、查询每门课程的选课人数。21、查询每个学生的学号、选课数、平均成绩和总成绩。22、查询选课数超过2的学生学号及其选课数。23、查

19、询所有学生信息,查询结果按年龄降序排列。(针对Student表操作)24、查询所有学生信息,查询结果按系名升序,同系学生按年龄降序排列。25、查询选课数超过2的学生学号及其选课数,查询结果按选课数降序排列。五、实验要求本次实验要求学生独立完成并提交SQLSelect命令的具体内容,请各位同学于实验后的下一周提交实验报告,记平时成绩4分。实验3 数据库的多表连接查询一、实验目的继续熟练SQL-SELECT语句的使用;理解多表查询的概念;掌握多表连接查询中各个子句的用法,特别要比较内连接和外连接的结果。二、实验环境Windows XP操作系统,SQL Server 2005软件。三、实验课时2课时

20、。四、实验内容在已建立的数据库和数据表的基础上,用Select语句的连接查询完成下列操作。1、查询每个学生的基本信息及其选课情况。2、查询选修“101”课程的学生学号、姓名和成绩。3、查询与“李平”在同一个系学习的学生记录。4、查询与“李平”年龄相同的学生记录。5、查询选修课程名为“数据库原理”的选课记录。6、查询选修课程名为“数据库原理”的学生记录。7、查询选修“101”课程且成绩90的学号、姓名和成绩。8、查询“李平”的所有选课记录。9、查询数学系学生选修的课程号,要求结果中去掉重复记录。10、查询计算机系选修课程数2的学号、姓名及平均成绩,查询结果按平均成绩降序。11、查询每个学生的学号

21、、选修课程号、课程名及成绩。12、查询所有学生的选修情况(包括选课和未选课的学生),要求显示学号、姓名、课程号和成绩。五、实验要求本次实验要求学生自主复习并完成SQLSelect命令。实验4 数据库的子查询、组合查询一、实验目的继续熟练SQL-SELECT语句的使用;掌握非相关子查询、相关子查询的用法,理解它们的执行过程;学会在SQL Server中用Exists实现交运算,用Not Exists实现差运算。二、实验环境Windows XP操作系统,SQL Server 2005软件。三、实验课时2课时。四、实验内容在已建立的数据库和数据表的基础上,用Select语句的嵌套查询完成下列操作。1

22、、查询选修“101”课程且成绩90的学号、姓名。2、查询“李平”的所有选课记录。3、查询与“李平”在同一个系学习的学生记录。4、查询与“李平”年龄相同的学生记录。5、查询选修课程名为“数据库原理”的选课记录,输出结果包括学号和成绩。6、查询选修课程名为“数据库原理”的学生记录,输出结果包括学号、姓名和所在系。7、查询学号为“01003”学生的选修课程号和课程名。8、查询没有选修“101”课程的学生学号和姓名。9、查询选修“101”课程或“102”课程的学生姓名。10、查询选修“101”课程和“102”课程的学生学号。11、查询选修“101”课程但没选修“102”课程的学生学号。12、查询没有选

23、修任何课程的学生记录,输出结果包括学号、姓名和所在系。13、查询数学系学生选修的课程号,要求结果中去掉重复记录。14、查询选修课程至少包含“01003”选修课程的学生学号。五、实验要求本次实验要求学生独立完成并提交SQLSelect命令的具体内容,请各位同学于实验后的下一周提交实验报告,记平时成绩4分。实验5 数据库更新一、实验目的掌握Insert、Update、Delete语句的使用;对于Insert语句,要求理解默认值约束、空值约束在插入记录时所起的作用。二、实验环境Windows XP操作系统,SQL Server 2005软件。三、实验课时2课时。四、实验内容在已建立的数据库和数据表的

24、基础上,向数据库中添加一个临时表ST,其结构与Student表结构相同。用Insert语句向临时表输入数据,输入有误时用Update语句进行修改。再用三个更新语句完成下列操作。1、向Student表添加若干新记录,内容自定。(观察已定义的表的约束情况)2、向SC表添加新记录,内容自定,不低于10条(注意不能违反参照完整性)。3、为临时表ST添加记录。4、把Student表的所有行一次性地加到临时表ST中。5、在ST表中把所有学生的成绩加2分。6、在ST表中把所有学生的年龄增加1。7、在ST表中把“李平”的所在系改为“计算机”。8、在ST表中将选修课程“数据库原理”的学生成绩加2分。9、在SC表

25、中删除所有成绩为空值的选修记录。10、删除计算机系选修成绩不及格的选课记录。五、实验要求本次实验要求学生自主复习并完成SQL的更新命令。实验6 数据库的视图定义及使用一、实验目的理解视图的概念,掌握Create View、Drop View语句的使用;掌握基于视图的查询语句的使用。二、实验环境Windows XP操作系统,SQL Server 2005软件。三、实验课时2课时。四、实验内容在已建立的数据库和数据表的基础上,完成下列操作。1、建立数学系学生的视图MAST。2、建立计算机系选修课程名为“数据库原理”的学生视图,视图名:CSTVIEW,该视图中应包括属性列:学号、姓名、成绩。3、创建

26、一个名为STSUMVIEW的视图,包括所有学生的学号和总成绩。4、建立学生选课视图SCVIEW,包括所有学生的学号、姓名、课程号、课程名和成绩。5、通过MAST视图查询学生基本信息。6、通过SCVIEW查询成绩大于90分的学生的学号和成绩。7、查询计算机系选修课程名为“数据库原理”并且成绩大于85分的学生的学号和成绩。8、通过MAST视图将学号为“01008”学生的年龄修改为21岁。9、通过MAST视图将学号为“01009”学生所在系改为“经济”,是否能成功执行?若不能成功请说明理由;若修改成功,请再次通过MAST视图查询学生基本信息,是否能查询到该生?若不能查询请说明理由。10、通过SCVI

27、EW视图将学号为“01004”学生的总成绩修改为380分,是否能成功执行?若不能成功请说明理由。五、实验要求本实验要求学生独立完成并提交SQL视图操作的具体内容,请各位同学于实验后的下一周提交实验报告,记平时成绩4分。实验7 数据库的安全与保护一、实验目的理解SQL Server的用户与权限管理机制,掌握用对象资源管理器创建服务器登录帐号,并同时建立用户。掌握如何为给定的用户分配权限。二、实验环境Windows XP操作系统,SQL Server 2005软件。三、实验课时2课时。四、实验内容用户与权限管理(1)打开“SQL Server Management Studio”窗口,使用对象资源

28、管理器创建两个服务器登录帐号Test1和Test2,并在“sample_st”数据库中创建两个对应的同名用户。设置Test1用户和Test2用户的默认架构为guest。(2)使用Test1身份登录,并为Test2分配创建数据表的权限;用Test2身份登录来验证权限分配成功。(3)使用Test1身份登录,收回刚刚分配给Test2的创建数据表的权限;用Test2身份登录来验证权限回收成功。五、实验步骤1、使用对象资源管理器创建两个服务器登录帐号。以系统管理员身份登录SQL Server。打开“SQL Server Management Studio”窗口,在对象资源管理器列表中,打开展开“安全性”

29、文件夹,选择“登录名”图标,单击鼠标右键,在弹出的菜单中选择“新建登录名”。在打开的对话框中依次建立Test1和Test2,选择“SQL Server身份验证”,同时还要输入密码,默认数据库为“sample_st”。(2)在“用户映射”中列出了当前登录帐号可以选择访问的数据库如“sample_st”,在其左侧的复选框中打勾,表示当前登录帐号可以访问对应的数据库,默认用户名与登录帐号相同。(3)单击“确定”按钮完成创建。2、创建新的数据库用户。在对象资源管理器中选中要访问操作的数据库,展开“安全性”文件夹,在“用户”文件夹中查找是否已建立与登录名Test1和Test2同名的数据库用户,若已建立,

30、则在属性中修改其默认架构为guest;否则右击鼠标在菜单中选择“新建用户”选项,出现“数据库用户-新建”对话框,建立相应的用户。3、用Grant、Revoke命令实现对用户的授权和收权。4、用Create命令创建数据表验证授权和收权是否成功。5、以系统管理员身份登录SQL Server。使用:“GRANT SELECT ON SC TO Test1 WITH GRANT OPTION”命令,再分别以Test1和Test2身份登录,进行授权及查询数据表,验证“WITH GRANT OPTION”能否成功执行。6、以系统管理员身份使用“REVOKE”命令回收上述授权。实验8 数据库的完整性一、实验

31、目的通过实验掌握数据库完整性概念,掌握利用SQL Server 2005实现数据库完整性的基本方法和步骤。二、实验环境Windows XP操作系统,SQL Server 2005软件。三、实验课时2课时。四、实验内容1、建立关系模式。完成教材P164第6题,用SQL语言定义“职工”和“部门”两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),职工号为主码部门(部门号,名称,经理名,电话), 部门号为主码要求在模式中完成以下完整性约束条件的定义:(1)定义每个模式的主码;(2)定义参照完整性;(3)定义职工年龄不得超过60岁;(4)定义部门名称必须取值唯一。2、验证完整性约束。使用In

32、sert Values语句向两个表中各插入510条记录,对下列内容进行验证。(1)验证主键约束:“职工”和“部门”两个表中是否能接受主码值相同的记录,通过实例验证。(2)验证唯一约束:“部门”表中是否能接受名称相同的两个不同记录?为什么?(3)验证检查约束:“职工”表中能否接受年龄不满足条件的记录?为什么?(4)验证参照完整性:若“部门”表中不存在部门号为“008”的记录,是否能在“职工”表中插入部门号为“008”的职工记录?若删除“001”部门的所有信息,正确的操作步骤是什么?实验9 数据库设计实验一、实验目的通过实验掌握数据库设计的基本方法和步骤。二、实验环境Windows XP操作系统,

33、SQL Server 2005软件。三、实验课时2课时。四、实验内容1、选定实验题目,为某个单位或部门设计数据库应用系统,比如:学生成绩管理、机房上机管理、职工档案管理、商品库存管理、图书管理、工资管理等。2、根据选定的题目进行需求分析,重点分析数据需求和功能需求。3、概念结构设计:画出E-R图。需求分析:需求分析是管理系统开发的第一步也是最重要的一步。需求分析就是描述系统的需求,通过定义系统中的关键域/类来建立模型。分析的根本目的是在开发者和提出需求的用户之间,建立一种理解和沟通的机制。 这是一个管理系统,设计目标是赋予系统基本的职工信息管理功能。以尽量方便使用单位,而且使用起来也很容易。分

34、析那些理论中对实际操作有价值的功能,如工资查询功能,还有考勤查询,以及修改,删除,添加,学校快速高效的工作。对于系统管理员,也力求尽最大可能方便其进行操作。调查的重点是“数据”和“处理”,通过调查,收集与分析,获得用户对数据库要求如下:(!)信息要求:指用户需要从数据库中获得信息的内容性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。(2)处理要求:指用户要求完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。(3)安全性与完整性要求确定拥护的最终需求是一件很困难的事,这是因为一方面用户缺少计算机知识,开始时无法确定计算机究竟能为自己做什么,不能做什么,因

35、此往往不能准确地表达自己的需求,所提出的需求往往不断地变化。另一方面,设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求。因此身机人员不必不断深入地与用户交流,才能逐步确定用户的实际需求。调查用户需求的具体步骤是:(1)调查组织机构情况.通过分析我们总结出需要了解各位职工的基本信息,所在职位的等情况。(2)调查各部门的业务活动情况.包括了解各部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出结果的格式是什么等 (3)在熟悉了系统的基本情况的基础上,协助用户明确对系统的各种要求.信息要求,指用户需要从数据库中获得信息的内容与性质.由信息要求可以导

36、出数据要求,指的是在数据库中需要存储哪些数据.根据第二步骤的各属性填入符合要求的数据.处理要求,安全性与完整性要求.(4)确定系统的边界.对前面调查的结果进行初步分析,确定哪些功能由计算机完成或将来准备让计算机完成,哪些由人工完成.由计算机完成的功能就是新系统应该实现的功能。重点分析数据需求:职工的基本信息表包括职工号,姓名,性别,所属部门,进入公司日期等属性及数据.部门表包括职工号,职员部门等属性及数据.工资表包括职工号,职称工资,奖金,分红等属性及数据。功能需求:职工档案管理的功能需求分析,我们设计的这个系统能够满足职工档案管理主要提供工资查询,方便管理的网上的信息查阅平台,职工可以通过该系统查阅与自己相关信息,管理者可以通过职工档案管理查看职工的详细情况。4、逻辑结构设计:设计数据库和数据表的具体结构,指出各表的属性名称、数据类型;说明各表的主码及表之间的关联情况;说明本设计是否已达到3NF要求。5、简要评价系统设计的优点和不足。五、实验要求本次实验学生可以独立完成,也可以由23人合作完成,并提交应用系统设计报告,请各位同学于第十八周之前提交设计报告,记平时成绩8分。具体要求如下:1、提交设计报告,涵盖实验内容的全部信息,不低于1000字。2、提交建立应用系统数据库的代码,所有数据表中的记录总数不低于50条。(请参照实验2的附录建立数据库,将电子版发至老师的邮箱)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁