1、数据库原理及应用实验指导书第五版0102数 据 库 原 理 及 应 用实验指导书中原工学院计算机学院2013 01 02前 言当前计算机专业的数据库实验教材种类繁多、内容可供选择的余地很大,然而,作为专业教学重要组成部分的实践环节却缺少必要的教材,致使实践教学内容的选择存在较大的随意性,教学过程难以控制和管理,教学质量得不到保证,最终将影响到整个专业的教学质量。鉴于此,整理这本数据库实验指导书作为计算机科学与技术、软件工程专业和计算机相关专业的数据库实践教学的依据,从而使实践教学管理有据可依,进而保证教学质量。在安排实验的内容和学时的过程中,充分考虑到我校数据库教学的实验教学大纲以及学生可接受
2、的程度。在2010年修订的培养计划中,计算机相关专业的数据库原理及应用课程的实验学时更改为18个学时,加大了实践环节,更加注重学生的实际动手能力的培养。为此对数据库原理及应用实验指导书每一学期都在进行修改,使其更加贴近教材,更加贴近实际。由于萨师煊 王珊编写的数据库概论 第四版于2006年9月出版,与其第三版有了较大的改进,增加了不少内容,教材更加贴近实际,更加贴近应用,这次对实验指导书的修正也是基于此。 在执行的过程中,可能因本实验内容考虑不周,会出现一些需要改进的问题,届时,根据教学进度进行及时地修改。目 录第一章 概述4第二章 实验要求及注意事项5第三章 实验项目6实 验 一 基本表的定
3、义、删除与修改7实 验 二 SQL语言初级查询10实 验 三 SQL语言高级查询10实 验 四 视图、索引及数据更新19实 验 五 数据库安全性和完整性24实 验 六 存储过程的建立与使用25实 验 七 触发器的建立与使用26实 验 八 数据库连接与登陆28实 验 九 数据库并发控制.30实 验 十 数据库数据备份与恢复31实 验 十一 综合应用编程(一).32实 验 十二 综合应用编程(二).33第四章 实验项目涉及的主要仪器设备简介.34第五章 参考文献.35.第一章 概述数据库实践教学是数据库教学的重要组成部分,该课程强调学生的实践动手能力,是学生毕业设计以及参加工作后都要用到得课程知识
4、,是学生必须掌握的内容。 安排的前七个实验,主要是对SQL语言进行练习,达到熟练掌握,后五个实验要求掌握Windows环境下的数据库的编程,以及SQL Server2005的综合使用。第二章 实验要求及注意事项一、实验要求实验开始前,预习课本第三章 SQL语言内容以及相关知识,学习编程方法。根据教学计划安排,数据库课程总学时数为60学时,其中实验14学时。在实验中,有验证性实验、设计性的实验,综合设计性实验。DBMS和SQL认识性实验中,通过安装一个具体的DBMS软件,并通过软件的帮助文件了解DBMS的基本概念、术语、功能,并和教程中的相关内容相对照进一步掌握DBMS的有关知识。在软件向导的作
5、用下,利用DBMS建立任意一个数据库,并在此基础上学习SQL的一些简单语句。后三个实验为小型数据库系统的综合设计性实验,要求学生设计一个数据库系统,包括数据库模式设计、数据库定义、建立,并要求该系统通过宿主语言实现数据库的修改、查询功能。该实验中,为学生认识、了解数据库系统开发中的宿主语言的作用、数据库控件在数据库应用程序的作用和地位。通过该实验可使学生了解WINDOWS编程特点和语言要素,经过学生的一段时间的自学,可为以后的实验提供语言基础。在该实验中要应用本课程的大部分知识内容和计算机语言知识,并需要学生课外自修之类的编程内容和数据库控件知识,对学生具有极大的挑战性。在大纲中只规定了最基本
6、的实验内容,但为学生的能力发挥和创新能力的培养留下了较大的空间。二、注意事项掌握编程的方法与技巧,如何实现与SQL Server 的连接和访问。达到每一个同学都能够熟练掌握,并能够给出相应的理论说明,ADO、SQL Sever 之间的关系。第三章 实验项目实 验 一 基本表的定义、删除与修改一、 实验目的:熟练掌握基本表的定义、删除与修改,为后继学习作准备。二、 实验属性(验证性)(1) 了解并掌握SQL SERVER 2005管理控制器的使用;(2) 掌握基本表的定义、删除与修改。三、 实验仪器环境与要求1. 每人一台计算机。 2. 计算机安装有SQL SERVER2005。四、 实验要求(
7、预习、实验前、实验中、实验后等要求)1. 预习教材第三章,熟悉SQL语句。 2. 熟悉SQL SERVER 2005,能使用管理控制器的使用。3. 能够熟练使用SQL语句进行表的创建、删除与修改。五、 实验原理SQL语言基本应用。六、 实验步骤:(1)启动SQL SERVER 2005。(2)启动SQL SERVER 2005查询分析器;(3) 创建数据库”学生选课管理数据库”;(5) 在此数据下创建如下表:1 定义基本表1.1、学生表Student,每个属性名的意义为Sno-学号 字符型长度为12、Sname-姓名 字符型长度为20、Ssex-性别 字符型长度为4、Sage-年龄 为整型、S
8、dept-所在系 字符型长度为15。这里要求Sno为主码,Sname不能为空值,且取值唯一。1.2、建立表课程表Course,其属性名意义分别为Cno-课程号、字符型长度为15, Cname-课程名、字符型长度为20, Pre_Cno-先修课程号、字符型长度为15, Credits-学分、整型。Cno为主码。1.3选课表SC。其中的属性名意义分别为Sno-学号、字符型长度为12,Cno-课程号、字符型长度为15和Grade-考试成绩、整型。Sno和Cno为主码。1.4向创建好的各个表中每个表中至少输入5条数据。2 修改基本表2.1 向基本表Student中增加“入学时间”属性列,其属性名为Re
9、gisterDate,数据类型为DATETIME型。2.2 将Sage(年龄)的数据类型改为SMALLINT型。2.3 删除属性列RegisterDate.说明:为了保证后面例子能够顺利运行,请大家一定将属性列RegisterDate从Student表中删除。3 删除基本表3.1 创建一个test表,分别有列tno,tname。3.2 删除test表。实 验 二 SQL 数据初级查询一、实验目的:熟练掌握表中数据的各种简单的查询功能,为后继学习作准备。二、实验属性(设计性)了解并掌握SQL管理控制器的使用;掌握基本表的数据查询。三、实验仪器设备及器材1. 计算机。2. SQL SERVER 2
10、005数据库。 四、实验要求(预习、实验前、实验中、实验后等要求)1预习教材第三章,熟悉SQL语句。 2 掌握单表查询语句的一般格式。;3掌握单表无条件、有条件查询及查询结果排序与分组。五、实验原理SQL语言应用。六、实验步骤:(1)启动SQL查询分析器;(2) 选择数据库;(3) 验证如下例子:一、单表查询1 无条件查询1.1 查询全体学生的详细记录。1.2 查询全体学生的姓名(Sname)、学号(Sno)、所在系(Sdept)。SELECT子句的不仅可以是表中的属性列,也可以是表达式1.3 查询全体学生的姓名(Sname)、出生年份及学号(Sno)。由于,故可以查询经过计算的值。1.4 查
11、询全体学生的姓名、出生年份和学号,要求姓名用汉字的别名“姓名”、“出生年份”和“学号”。1.5 查询选修了课程的学生学号。2 条件查询2.1 查询“计算系”全体学生的学号(Sno)和姓名 (Sname)。2.2 查询年龄在1822岁(包括18岁和22岁)之间的学生姓名(Sname)及年龄(Sage)。2.3 查询年龄不在18-22岁之间的学生姓名(Sname)及年龄(Sage)。其命令为:2.4 查询信息、数学和计算机系学生的学号(Sno)、姓名(Sname)和性别(Ssex)。2.5 查询既不是信息系、数学系、也不是计算机系的学生的姓名(Sname)和性别(Ssex)。2.6 查询所有姓刘的
12、学生的姓名(Sname)、学号(Sno)和性别(Ssex)。2.7 查询姓“刘”且全名为2个汉字的学生的姓名(Sname)和所在系(Sdept)。2.8 查询所有不姓刘的学生姓名(Sname)和年龄(Sage)。2.9 查询课程名为“DB_设计”的课程号(Cno)和学分(Credits)。2.10 查询以DB_开头,且倒数第2个汉字字符为“设”的课程的详细情况。2.11 假设某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。试查询缺少成绩的学生的学号(Sno)和相应的课程号(Cno)。2.12 查询所有有成绩的学生学号(Sno)和课程号(Cno)。3 查询结果排序3.1 查询选修
13、了C03号课程的学生的学号(Sno)和成绩(Grade),并按成绩降序排列。3.2 查询全体学生情况,查询结果按所在系的系名(Sdpet)升序排列,同一系中的学生按年龄(Sage)降序排列。实 验 三 SQL 数据高级查询一、 实验目的:熟练掌握数据表的连接查询、嵌套查询和集合查询,为后继学习作准备。二、 实验属性了解并掌握SQL企业控制管理器的使用;掌握基本表的数据查询。三、实验仪器设备及器材a) 计算机。b) SQL SERVER 2005数据库。 四、实验要求(预习、实验前、实验中、实验后等要求)1预习教材第三章,熟悉SQL语句。 2掌握多表查询语句的一般格式。3掌握多表无条件、有条件查
14、询及查询结果排序与分组。4掌握多表连接、嵌套和集合查询语句的一般格式及各种使用方法。五、实验原理SQL语言应用。六、实验步骤:(1)启动SQL查询分析器;(2)选择SQLSERVER后,按确认;(3) 选择数据库;(4) 验证如下例子:1、 集函数的使用1.1 查询学生总人数。1.2 查询选修了课程的学生人数。1.3 查询选修C01号课程的学生平均成绩。1.4 查询选修C01号课程的学生最高分数。2、 查询结果分组2.1 求每门课的课程号(Cno)及相应的选课人数。2.2 查询选修了3门或3门以上课程的学生学号(Sno)。3 、不同表之间的连接查询3.1 查询每个学生及其选修课程的情况。3.2
15、查询每个学生的学号(Sno)、姓名(Sname)、选修的课程名(Cname)及成绩(Grade)。4 带谓词IN的嵌套查询4.1 查询选修了编号为“C02”的课程的学生姓名(Sname)和所在系(Sdept)。4.2 查询与“李勇”在同一个系学习的学生学号(Sno)、姓名(Sname)和系名(Sdept)。实 验 四 视图、索引及数据更新一、实验目的: 熟练掌握索引的建立与删除的方法,熟练掌握SQL的应用,熟练掌握数据插入、修改和删除以及视图的创建及使用,为后继学习作准备。i. 实验属性(验证性)1.了解并掌握SQL企业控制管理器的使用;2.掌握数据插入、修改、更新和删除。3掌握索引、视图的创
16、建。4. 掌握索引、视图的删除。三、实验仪器设备及器材1安装了SQL SERVER 2005的计算机。四、实验要求(预习、实验前、实验中、实验后等要求)1复习教材第三章,熟悉SQL语句。 2SQL Server 2005环境。3能够熟练掌握数据插入、修改、更新和删除。4掌握索引的建立和删除方法。5掌握sql视图建立、修改和删除;6掌握sql视图查询。7掌握sql数据插入、修改和删除语句的一般格式及使用方法。五、 实验原理SQL语言应用。六、实验步骤:(1)启动SQL查询分析器;(2)选择SQLSERVER后,按确认;(3) 选择数据库;1 建立索引1.1 为学生选课数据库中的Student,C
17、ourse,Sc三个表建立索引。其中Student表按“学号”升序建唯一索引 C1,Course表按“课程名”降序建唯一索引C2,Sc表按“学号”升序和“课程号”升序建唯一索引C3。1.2 在基本表Student的Sname(姓名)和Sno(学号)列上建立一个聚簇索引c4,而且Student中的物理记录将按照Sname值和Sno值的升序存放。2 删除索引2.1删除以上所建索引C1、C2、C3。3 建立视图3.1 建立数学系学生的视图math_stu,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。3.2 建立学生的学号(Sno)
18、、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图grade_stu。3.3 定义一个反映学生出生年份的视图Student_birth。4 删除视图4.1 删除3.3中建的视图。5 查询视图5.1 在数学系的学生视图math_stu中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄(Sage)。5.2 在grade_stu视图中查询成绩在85分以上的学生学号(Sno)、姓名(Sname)和课程名称(Cname)。6 更新视图6.1 将数学系学生视图math_stu中学号为200215123的学生姓名改为“黄海”。6.2 向数学系学生视图math_stu中插入一
19、个新的学生记录,其中学号为“S09”,姓名为“王海”,年龄为20岁。7 插入数据7.1给学生表插入一条数据(95003,黎明,男23,计算机系)7.2 给选课表插入一个数据(95003,c01,85)8 修改数据7.1 将学号为“95003”的学生年龄改为22岁,即要修改满足条件的一个元组的属性值。7.2 将所有学生的年龄增加1岁。即要修改多个元组的值。7.3将数学系所有学生的成绩置零。9 删除数据9.1 删除学号为“S04”的学生选修的课号为“C02”的记录。9.2 删除所有学生的选课记录。9.3 删除数学系所有学生的选课记录。实 验 五 数据库完整性与安全性一实验目的:理解并掌握利用SQL
20、 Server 2005进行完整性和安全性控制的基本操作和命令。二实验属性:设计性。三实验仪器设备及器材:装有SQL Server 2005的电脑。四实验要求1. 预习数据库用户的创建和使用,预习SQL Server 2005中授权和回收概念和使用方法,2. 预习SQL Server 2005中安全性架构,以及创建安全性账户和数据库角色等的方法。 2. 实验前仔细阅读实验指导书,理解实验要求。3. 实验中要求完成如下工作(其中涉及的表是实验一中建立的表):五实验内容1、使用企业管理器和Transact_SQL语句管理登录帐户。(1)在学生管理数据库上创建一个以你的名字命名的登录账户和在mast
21、er数据库上创建一个以你同学的名字命名的账号。2、使用企业管理器和Transact_SQL语句管理数据库用户。(1)创建一个以你的名字命名的用户,登陆名为你名字,和你同学的名字命名的一个用户,登录名为你同学的名字。3、使用企业管理器和Transact_SQL语句管理服务器角色和数据库角色。(1)在学生管理数据库上创建一个角色aa,角色名为你的姓名的缩写,把你和你同学的用户放入角色中。(2)给角色授权,使其可以查询、插入和更新学生管理数据库中的SC表.4、使用企业管理器和Transact_SQL语句管理语句权限和对象权限。(1)以你或你同学的用户名登陆进入数据库,查询SC表中大于80分的同学。实
22、 验 六 存储过程的建立与使用一、 实验目的:了解存储过程的概念和作用,掌握创建和使用存储过程的方法,为后继学习作准备。二、 实验属性(验证性)1了解存储过程的作用。2了解并掌握存储过程的定义及使用。三、 实验仪器设备及器材1.预习教材第三章,熟悉SQL语句。 2.熟悉SQL SERVER2005。3.能够熟练掌握SQL SERVER2005环境下的存储过程的创建。四、实验要求(预习、实验前、实验中、实验后等要求)1预习教材第三章,熟悉SQL语句。 2熟悉SQL SERVER2005开发环境。3了解并掌握查看、修改和删除存储过程的方法。4掌握如何执行存储过程。五、实验原理SQL语言应用。六、实
23、验内容:建立存储过程例1 添加学生记录的存储过程StuaddCREATE PROCEDURE Stuadd S_NO CHAR(7),S_NAME CHAR(10),S_SEX CHAR(2),S_AGE INT,S_DEPT CHAR(15)AS BEGININSERT INTO StudentVALUES(S_NO,S_NAME,S_SEX,S_AGE,S_DEPT)END例2 修改学生记录的存储过程STUDENTUpdateCREATE PROCEDURE STUDENTUpdateS_NO CHAR(5),S_NAME CHAR(20),S_SEX CHAR(2),S_AGE INT,
24、S_DEPT CHAR(15)ASBEGINUPDATE Student SET Sno=S_NO,Sname=S_NAME,Ssex=S_SEX,Sage=S_AGE,Sdept=S_DEPT WHERE Sno=SNOEND例3 删除学生记录的存储过程STUDENTDelete CREATE PROCEDURE STUDENTDelete S_NO CHAR(5) AS BEGIN DELETE FROM Student WHERE Sno=S_NOEND例4 在学生表中查询学生学号和姓名,并按姓名排序CREATE PROCEDUEN STUDENTListASBEGIN SELECT S
25、no,Sname FROM Student ORDER BY SnameEND例5 根据姓名查询学生所选课程的成绩CREATE PROCEDURE STUDENTRecord S_NAME CHAR(20)ASBEGIN IF S_NAME= BEGIN SELECT * FROM Sc ENDELSE BEGIN SELECT Cno,Grade FROM ScWHERE SC.Sno=(SELECT Sno FROM Student WHERE Sname=S_NAME) ENDEND1、利用存储过程,给Student表添加一条学生信息。2、利用存储过程Student、Course、SC表
26、的连接中返回学生的学号、姓名、所选课程和成绩。3、利用存储过程查找李勇的学号、所选课程、成绩。4、利用存储过程查找姓李并且性别为男的学生的学号、所选课程、成绩实 验 七 触发器的建立与使用一、实验目的:了解触发器的概念和作用,掌握创建和使用触发器的方法,为后继学习作准备。二、实验属性(验证性)1了解触发器的作用。2了解并掌握触发器的创建和使用。三、实验仪器设备及器材(3) 预习教材第三章,熟悉SQL语句。 (4) 熟悉SQL SERVER2005。(5) 能够熟练掌握SQL SERVER2005环境下的数据库的编程。四、实验要求(预习、实验前、实验中、实验后等要求)1预习教材第三章,熟悉SQL语句。 2熟悉SQL SERVER2005开发环境。3了解并掌握查看、修改和删除游标、存储过程的方法。4掌握创建并执行存储过程的方法。五、实验原理SQL语言应用。六、实验内容:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1