




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理数据库原理数据库原理与应用实验指导书数据库原理与应用实验指导书 目录目录 实验一实验一 SQLSERVERSQLSERVER 20002000 的安装的安装.2 实验二实验二 数据库及表的定义数据库及表的定义.15 实验三实验三 数据插入、删除、与更新数据插入、删除、与更新 .16 实验四实验四 数据查询数据查询.17 实验五实验五 视图的定义和使用视图的定义和使用.18 实验六实验六 数据完整性数据完整性.19 实验七实验七 存储过程的使用存储过程的使用.20 实验八实验八 事务的使用事务的使用.21 实验九实验九 安全性管理安全性管理.23 实验十实验十 数据库设计数据库设计.25 实验一验一 SQLSERVERSQLSERVER 20002000 的安装的安装 一、学时:学时 二、实验目的 了解安装 SQL SERVER 2000 的软、硬件环境以及安装过程; 三、实验准备 1SQL SERVER 2000 安装盘; 2. 计算机 四、实验方法及步骤 1. 了解 SQL SERVER 2000 的版本介绍 SQL SERVER 2000 不同版本的软件环境要求 SQL Server 版本或组件操作系统要求 企业版 Microsoft Windows NT Server 4.0、Microsoft Windows NT Server 4.0 企业版、Windows 2000 Server、Windows 2000 Advanced Server 和 Windows 2000 Data Center Server。 注意: SQL Server 2000 的某些功能必须要求在 Microsoft Windows 2000 Server(任何版本)上运行。 标准版 Microsoft Windows NT Server 4.0、Windows 2000 Server、Microsoft Windows NT Server 企业版、Windows 2000 Advanced Server 和 Windows 2000 Data Center Server。 个人版 Microsoft Windows Me、Windows 98、Windows NT Workstation 4.0、Windows 2000 Professional、Microsoft Windows NT Server 4.0、Windows 2000 Server 和所有更高级 的 Windows 操作系统。 开发版 Microsoft Windows NT Workstation 4.0、Windows 2000 Professional 和所有其它 Windows NT 和 Windows 2000 操作 系统。 桌面引擎 Microsoft Windows Me、Windows 98、Windows NT Workstation 4.0、Windows 2000 Professional、Microsoft Windows NT Server 4.0、Windows 2000 Server 和所有更高级 的 Windows 操作系统。 仅客户端工具 Microsoft Windows NT 4.0、Windows 2000(所有版本) 、 Windows Me 和 Windows 98。 仅连接 Microsoft Windows NT 4.0、Windows 2000(所有版本) 、 Windows Me、Windows 98 和 Windows 95。 2.SQL SERVER 2000 的安装 (1)将企业版安装光盘插入光驱后,出现以下提示框。 注意:如果您的计算机的操作系统是 windows 95 以上,则选择“安装 SQL Server 2000 组件” ,如果操作系统是 windows 95,则需要选择“安装 SQL Server 2000 的先决条件” 。 由于 SQL Server 2000 的某些功能要求在 Microsoft Windows 2000 Server 以上的版本 才能运行。因此安装 Windows Server 2000(建议为 Advanced 版本),可以学习和使用到 SQL Server 2000 的更多功能,以及享受更好的性能。 本安装将在 Windows 2000 Advanced Server 操作系统作为示例,详细介绍安装 SQL Server 2000 企业版的过程。大家清首先安装 Windows 2000 Advanced Server。 (2)选择 安装 SQL Server 2000 组件,出现下一个页面。 (3)选择 安装数据库服务器,出现如下界面: (4)选择下一步,出现如下界面: (5)选择本地计算机(默认)选项,选择下一步,出现如下界面: 在 安装选择 窗口,选择 创建新的 SQL Server 实例.。对于初次安装的用户,应 选用这一安装模式,不需要使用 高级选项 进行安装。 高级选项 中的内容均可在 安装完成后进行调整。选择下一步,出现如下界面: (6)在 用户信息 窗口,输入用户信息,并接受软件许可证协议。 (7)在 安装定义窗口,选择 服务器和客户端工具 选项进行安装。我们需要将服 务器和客户端同时安装,这样在同一台机器上,我们可以完成相关的所有操作,对于 我们学习 SQL Server 很有用处。如果你已经在其它机器上安装了 SQL Server,则可以 只安装客户端工具,用于对其它机器上 SQL Server 的存取。 (8)在 实例名 窗口,选择 默认 的实例名称。这时本 SQL Server 的名称将和 Windows 2000 服务器的名称相同。例如笔者的 Windows 服务器名称是 Darkroad,则 SQL Server 的名字也是 Darkroad。SQL Server 2000 可以在同一台服务器上安装多个 实例,也就是你可以重复安装几次。这时您就需要选择不同的实例名称了。建议将实 例名限制在 10 个字符之内。实例名会出现在各种 SQL Server 和系统工具的用户界面 中,因此,名称越短越容易读取。另外,实例名称不能是 Default 或 MSSQLServer 以及 SQL Server 的保留关键字等。 (9)在 安装类型 窗口,选择 典型 安装选项,并指定 目的文件夹。程序和数据 文件的默认安装位置都是 C:Program FilesMicrosoft SQL Server。因为 C 盘是系统 区、D 盘是应用区,因此选择了 D 盘。 (10)在 服务账号 窗口,请选择 对每个服务使用统一账户. 的选项。在 服务设 置 处,选择 使用本地系统账户。如果需要 使用域用户账户 的话,请将该用户 添加至 Windows Server 的本机管理员组中。 (11)在 身份验证模式 窗口,请选择 混合模式. 选项,并设置管理员sa账号的密 码。如果您的目的只是为了学习的话,可以将该密码设置为空,以方便登录。如果是 真正的应用系统,则千万需要设置和保管好该密码!如果需要更高的安全性,则可以 选择 Windows 身份验证模式 ,这时就只有 Windows Server 的本地用户和域用户才 能使用 SQL Server 了。 (12)在 选择许可模式 窗口,根据您购买的类型和数量输入(0 表示没有数量限制) 。 每客户表示同一时间最多允许的连接数,处理器许可证表示该服务器最多能安装多 少个 CPU。这里选择了 每客户 并输入了 100 作为示例。 (13)然后就是约 10 分钟左右的安装时间,单击完成系统安装完毕。 附:企业管理器和查询分析器的介绍附:企业管理器和查询分析器的介绍 企业管理器和查询分析器是 SQLSERVER 2000 实验的主要工具,下面分别对这两类工 具进行介绍: 1、企业管理器: (1)按图所示找到 SQLSERVER 2000 中的企业管理器; (2)用鼠标单击企业管理器菜单项,进入企业管理器管理界面: 根据图形界面,可进行数据库、表等的管理。 2、查询分析器: 所有的 SQL 语句操作都在查询分析器中运行,对查询分析器的使用要熟练掌握。 (1)按图所示找到 SQLSERVER 2000 中的查询分析器; (2)用鼠标单击查询分析器菜单项,进入查询分析器界面: (3)若以 Windows 身份验证进入,可直接点击确定 ;若以 SQL server 身份验证, 可输入登陆用户名及登陆密码;sa是超级用户;身份验证通过后,可进入查询分 析器界面如下: 在查询分析器界面中,左边是数据库构成对象;右边分上下两部分:上面部分是查询 分析器的 SQL 语句编辑部分,实验中的 SQL 语句在此部分进行编辑;下边部分是 SQL 语句的执行结果区域,SQL 语句的执行结果在此部分显示。查询分析器的使用注 意以下问题: (a)SQL 语句所作的操作都是基于当前数据库的,进入界面的默认数据库是 master 数据 库,如不在 master 数据上操作,请在界面上部切换到你要操作的数据库。 (b)SQL 语句执行时,用鼠标点击界面工具条中的绿色箭头;语句执行完毕后结果显示 在界面右部的下面的区域。 (c)SQL 语句的执行是从第 1 句开始执行,为了仅执行部分 SQL 语句,可采用两重方法: 第一是用鼠标选种执行的部分,然后点击绿色箭头进行执行; 第二是把不执行的 SQL 语句用注释符号屏蔽掉。注释符号有两种。 -符号是行 注释,仅注释 1 行;/* */ 是多行内容注释,把不执行的语句放在/*与 */之间。 (d)SQL 语句可保存在磁盘上。 实验二实验二 数据库及表的定义数据库及表的定义 一、学时:4 学时 二、实验目的 熟悉和掌握数据库的创建和连接方法; 熟悉和掌握数据库表的建立、修改和删除; 加深对表的实体完整性、参照完整性和用户自定义完整性的理解; 三、实验准备 1、熟悉 SQL SERVER 工作环境; 2、复习有关表的建立、修改和删除的 SQL 语言命令; 四、实验内容 在以下实验中,使用学生-课程数据库,用 SQL 语句描述学生的基本信息、课程的基本 信息及学生选修课程的信息。 1、创建学生-课程数据库(student) create database student 2、创建学生关系表 S ; 学号姓名性别年龄所在系 SnoSnameSsexSagesdept use student create table s ( sno char(8) not null, Sname char(8) not null, Ssex char(2), Sage int , Sdept char(30) ) 3、创建课程关系表 C ; 课程号课程名先行课学分 CnoCnameCpnoccredit use student create table c ( cno char(3) not null, cname char(30) not null, cpno char(3), ccredit decimal ) 4、创建课程关系表 SC ; 学号课程号成绩 SnoCnograde use student create table sc ( sno char(8) not null, cno char(3) not null, grade decimal ) 5、删除表 S 的“年龄” 属性列; use student alter table s drop column Sage 6、增加表 S 的“年龄” 属性列; use student alter table s add Sage int 7、增加表的其他属性列; 8、删除表的其他属性列; 9、在表 S 上,按 Sno 属性列的唯一值方式建立索引; use student Create unique index s on s(sno asc) 删除此索引: use student drop index s.s 10、在表 c 上,按 cno 属性列的唯一值方式建立索引; use student Create unique index c on c(cno asc) 11、在表 SC 上,按 sno、cno 属性列建立索引; use student Create unique index sc on sc(sno asc ,cno desc) 12、更改表 sc 的属性列 grade 的类型为 numeric ; use student alter table sc alter column grade numeric 13、保存上面操作的 SQL 语句到文件中; 点击菜单文件= 保存 或另存为 14、删除表; Drop table s Drop table c Drop table sc 15、删除数据库; use master drop database student 实验三实验三 数据插入、更新、与数据插入、更新、与删除删除 一、学时:学时 二、实验目的 熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用; 加深理解表的定义和数据更新的作用 三、实验准备 1、建立数据库 student、表 S、C、SC 以及索引 2、复习对表中数据的插入、修改和删除的 SQL 语言命令; 四、实验内容 1、用 SQL 语句将适量数据分别插入表 S、C、SC; Insert into s(sno,sname,ssex,sage,sdept) Values (20080001,李勇,男,20,cs) Insert into s(sno,sname,ssex,sage,sdept) Values (20080002,刘晨,女,19,cs) Insert into s(sno,sname,ssex,sage,sdept) Values (20080003,王敏,女,18,ma) Insert into s(sno,sname,ssex,sage,sdept) Values (20080004,张立,男,19,is) . Insert into c(cno,cname,cpno,ccredit) Values (1,数据库,5,4) Insert into c(cno,cname,cpno,ccredit) Values (2,数学,null,2) Insert into c(cno,cname,cpno,ccredit) Values (3,信息系统,1,4) Insert into c(cno,cname,cpno,ccredit) Values (4,操作系统,6,3) Insert into c(cno,cname,cpno,ccredit) Values (5,数据结构,7,4) Insert into c(cno,cname,cpno,ccredit) Values (6,数据处理,null,2) Insert into c(cno,cname,cpno,ccredit) Values (7,pascal 语言,6,4) . Insert into sc(sno,cno,grade) Values (20080001,1,92) Insert into sc(sno,cno,grade) Values (20080001,2,85) Insert into sc(sno,cno,grade) Values (20080001,3,88) Insert into sc(sno,cno,grade) Values (20080002,2,90) Insert into sc(sno,cno,grade) Values (20080002,3,80) . 2、求各系学生的平均成绩; use student select sdept ,avg(grade) from s,sc where s.sno=sc.sno group by sdept 3、将“CS”系全体学生的成绩置零; use student update sc set grade=0 from s,sc where s.sno=sc.sno and s.sdept=CS 4、删除“CS”系全体学生的选课记录; use student DELETE C FROM S,C,SC WHERE s.sno=sc.sno AND o=o and s.sdept=CS 5、删除学号为“20080001”的相关信息; use student delete s where sno=20080001 delete sc where sno=20080001 6、将 s 表中学号为“20080002”的学生的学号修改为“S002” ; use student update s set sno=s002 where sno=20080002 7、把平均成绩大于 80 分的男同学的学号和平均成绩存入另一个表 S_Grade(Sno,AVG_Grade) ; use student create table S_Grade ( sno char(8) not null, AVG_Grade decimal ) use student insert S_Grade(sno,AVG_Grade) select sno ,avg(grade) from sc group by sno 8、把选修了课程名为“数据结构”的学生的成绩提高 10%; use student update sc set grade = grade * 1.1 from c,sc where o=o and ame=数据结构 9、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高 5%; use student update sc set grade = grade * 1.05 from sc where o=2 and grade (select avg(grade) from sc where o=2 ) 10、把选修了“2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉; use student delete sc from sc where o=2 and grade (select avg(grade) from sc where o=2 ) 实验四实验四 数据查询数据查询 一、学时:4 学时 二、实验目的 熟悉和掌握对数据表中数据的查询操作和 SQL 命令的使用,学会灵活熟练地使用 SQL 语句的各种形式; 三、实验准备 1、熟悉 SQL SERVER 工作环境; 2、复习对表中数据查询的 SQL 语言命令; 四、实验内容 1、根据实验二、三建立的 SQL 语句,建立相关的数据库、表及插入相关信息 2、查询学生的基本信息; use student select * from s 3、查询“CS”系学生的基本信息; use student select * from s where sdept=cs 4、查询“CS”系学生年龄不在 19 到 21 之间的学生的学号、姓名; use student select sno,sname from s where sdept=cs and ( sage 21 ) 5、找出最大年龄; use student select max(sage) from s 6、找出“CS”系年龄最大的学生,显示其学号、姓名; select sno , sname from s where sdept=cs and sage=( select max(sage) from s where sdept=cs ) 7、找出各系年龄最大的学生的年龄; select sdept, max(sage) from s Group by sdept 8、统计“CS”系学生的人数; 9、统计各系学生的人数,结果按升序排列; 10、按系统计各系学生的平均年龄,结果按降序排列; 11、查询每门课程的课程名; 12、查询无先修课的课程的课程名和学时数; 13、统计无先修课的课程的学时总数; 14、统计每位学生选修课程的门数、学分及其平均成绩; 15、统计选修每门课程的学生人数及各门课程的平均成绩; 16、找出平均成绩在 85 分以上的学生,结果按系分组,并按平均成绩的升序排 列; 17、查询选修了“1”或“2”号课程的学生学号和姓名; 18、查询选修了“1”和“2”号课程的学生学号和姓名; 19、查询选修了课程名为“数据库系统”且成绩在 60 分以下的学生的学号、姓名和成 绩; 20、查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成 绩) ; 21、查询没有选修课程的学生的基本信息; 22、查询选修了 3 门以上课程的学生学号; 23、查询选修课程成绩至少有一门在 80 分以上的学生学号; 24、查询选修课程成绩均在 80 分以上的学生学号; 25、查询选修课程平均成绩在 80 分以上的学生学号; 实验五实验五 视图的定义和使用视图的定义和使用 一、学时:2 学时 二、实验目的 熟悉掌握对数据表中视图的定义操作和 SQL 命令的使用; 熟悉掌握对数据表中视图的查询操作和 SQL 命令的使用; 熟悉掌握对数据表中视图的更新操作和 SQL 命令的使用,并注意视图更新与基本表更 新的区别与联系; 学习灵活熟练的进行视图的操作,认识视图的作用; 三、实验准备 1、熟悉 SQL SERVER 工作环境; 2、复习有关视图操作的 SQL 语言命令; 四、实验内容 以 S、C、SC 表为基础完成以下视图定义及使用 1、定义“IS”系学生基本情况视图 V_IS 并查询结果; 2、将 S,C,SC 表中学生的学号,姓名,课程号,课程名,成绩定义为视图 V_S_C_G 并查询结果; 3、将各系学生人数,平均年龄定义为视图 V_NUM_AVG 并查询结果; 4、定义一个反映学生出生年份的视图 V_YEAR 并查询结果; 5、将各位学生选修课程的门数及平均成绩定义为视图 V_AVG_S_G 并查询结果; 6、将各门课程的选修人数及平均成绩定义为视图 V_AVG_C_G 并查询结果; 7、查询平均成绩为 90 分以上的学生学号、姓名和成绩; 8、查询各课成绩均大于平均成绩的学生学号、姓名、课程和成绩; 9、按系统计各系平均成绩在 80 分以上的人数,结果按降序排列; 10、通过视图 V_IS,分别将学号为“S1”和“S4”的学生姓名更改为“S1_MMM”,” S4_MMM” 并查询结果; 11、通过视图 V_IS,新增加一个学生记录 (S12,YAN XI,19,IS),并查询结果; 12、通过视图 V_IS,新增加一个学生记录 (S13,YAN XI,19,MA),并查询结果; 13、通过视图 V_IS,删除学号为“S12”和“S3”的学生信息,并查询结果; 14、要通过视图 V_S_C_G,将学号为“S12”的姓名改为“S12_MMM”,是否可以实 现? 15、要通过视图 V_AVG_S_G,将学号为“S1”的平均成绩改为 90 分,是否可以实现? 实验六实验六 数据完整性数据完整性 一、学时:2 学时 二、实验目的 熟悉和掌握使用 SQL 查询分析器用 PRIMARY KEY、CHECK、FOREIGN KEYREFERENCES、NOT NULL、UNIQUE 等关键字验证 SQL SERVER 2000 的 实体完整性、参照完整性及用户定义完整性。 三、实验准备 1、熟悉 SQL SERVER 工作环境; 2、复习有关建表操作的 SQL 语言命令; 四、实验内容 1、利用 SQL 查询分析器用 PRIMARY KEY 子句保证实体完整性 在查询分析器窗体下键入如下命令: CREATE TABLE Student1(Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(8), Ssex CHAR(1), Sage INT, Sdept CHAR(20), CONSTRAINT PK_Student PRIMARY KEY(sno) 运行后插入、更改数据并观察结果; 2、利用 SQL 查询分析器用 FOREIGN KEYREFERENCES 子句保证参照完整性 在查询分析器窗体下键入如下命令: CREATE TABLE SC(sno CHAR(5) NOT NULL UNIQUE, cno CHAR(5) NOT NULL UNIQUE, grade INT, CONSTRAINT FK-SC FOREIGN KEY(sno,cno) REFERENCES ( Student(sno),Course(cno) ON DELETE CASCADE); 运行后插入、更改数据并观察结果; 3、利用 SQL 查询分析器用短语 NOT NULL、UNIQUE、CHECK 保证用户定义完整性 CREATE TABLE Student(sno CHAR(5) , sname CHAR(8) CONSTRAINT U1 UNIQUE, ssex CHAR(1) , sage INT CONSTRAINT U2 CHECK FOR sage=28, sdept CHAR(20), CONSTRAINT PK-Student PRIMARY KEY(sno) 运行后插入、更改数据并观察结果; 实验七实验七 存储过程的使用存储过程的使用 一、学时:2 学时 二、实验目的 熟练掌握使用 SQL SERVER 2000 创建和执行存储过程的方法。 熟练掌握存储过程的删除操作。 三、实验准备 1熟悉 SQL SERVER 2000 设计环境; 2熟悉存过过程的创建方法、步骤 四、实验内容 1、利用企业管理器或查询分析器创建 proc_s 存储过程。在查询分析器中建立存储过 程的命令如下: create procedure proc_s as select * from s 2、使用 EXECUTE 语句执行存储过程并观察结果。命令如下: exec proc_s 3、利用企业管理器或查询分析器创建 proc_goods 存储过程。在查询分析器中建立存 储过程的命令如下: create procedure proc_goods toyname varchar(20) as select * from s where sname=toyname 4、使用 EXECUTE 语句执行存储过程并观察结果。命令如下: exec proc_goods 5、在查询分析器中使用 drop procedure 删除上面建立的存储过程。 实验八实验八 事务的使用事务的使用 一、学时:2 学时 二、实验目的 熟练掌握事务的概念; 掌握使用事务的方法。 三、实验准备 1熟悉 SQL SERVER 2000 设计环境; 2熟悉事务的概念及创建和结束的方法 四、 实验内容 有一个账户表,如表三所示,请用企业管理器或查询分析器创建它,并输入表四所示 的数据。 表三 账户表的结构(account) 字段名称数据类型长度主键 账号 int4Y 金额 money 表四 账户表的数据 账号金额 A7000 B5000 使用事务,完成由 A 账户向账户转 4000 元。 实验操作: 1. 打开查询分析器,输入如下代码: BEGIN TRANSACTION UPDATE 账户表 SET 金额=金额-4000 WHERE 账号=A UPDATE 账户表 SET 金额=金额+4000 WHERE 账号=B COMMIT TRANSACTION 单击工具栏中的运行按钮,运行命令,完成转账。 2. 设置事务的隔离级别 打开一个查询分析器,输入如下代码: SET TRANSACTION ISOLATION LEVEL READ COMMITTED BEGIN TRANSACTION UPDATE 账户表 SET 金额=金额-4000 WHERE 账号=A UPDATE 账户表 SET 金额=金额+4000 WHERE 账号=B 单击工具栏中的运行按钮,启动一个转账的事务,但并未提交事务。 再打开一个查询分析器,输入如下代码: BEGIN TRANSACTION SELECT * FROM 帐户表 单击工具栏中的运行按钮,看看有何反映? 在不同事务的隔离级别下,应有不同的结果,在默认事务隔离级别下(READ COMMITTED),应等待另一个事务的完成。切换到第一个查询分析器窗口,输入 “Commit”或“Ro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水族馆展示缸打蜡保护与清洁协议
- 高端写字楼租赁及综合服务合同范本
- 知识产权纠纷调解与保密合同
- 重庆社区考试试题及答案
- 2025年首脑礼仪考试题及答案
- 土木专业测试题及答案解析
- 幼教专业即兴面试题及答案
- 刘馨教授解读指南健康领域
- SMT设备工程师述职报告
- 急性坏死性肠炎患儿护理要点
- 人教部编版四年级上册语文第1单元(看拼音写词语)
- T/CAQI 70-2019管道直饮水系统安装验收要求
- 房屋在别人名下协议书
- 江苏省2025年中职职教高考文化统考数学试题
- 节能锅炉售卖合同协议
- 广东市政工程施工安全管理资料统一用表 上册
- 智能型大型变压器企业数字化转型与智慧升级战略研究报告
- 历史人物叶圣陶生平简介
- 幼儿园九一八爱国教育
- 导热油锅炉应急预案
- 燃气管道工程竣工资料
评论
0/150
提交评论