江西师范大学计算机信息工程学院学生实验报告一
专业 计算机科学与技术(师范) 姓名 十年 学号 0908061187 日期 2011-09-27
课程名称 实验名称 指导教师 1、 数据库原理 实验室名称 数据库的创建与管理 X4313a 张练兴 成绩 实验目的 熟悉有关数据表的创建和修改等工作,理解数据库模式的概念,了解主键约束、外键约束、UNIQUE约束和CHECK约束的创建和应用。要求熟练掌握使用企业管理器和SQL语句CREATE TABLE、ALTER TABLE及DROP TABLE语句对数据表进行管理 2、 实验原理和内容 在企业管理器中实现对数据库的管理及使用SQL语句CREATE DATABASE、ALTER DATABASE及DROP DATABASE来实现数据库的创建、修改及删除。 3、 实验步骤 (1)、设计表:
我崇尚简约之美
我崇尚简约之美
(2)输入数据:
我崇尚简约之美
(3).通过输入数据的方法可以修改数据库的内容,在企业管理器中,直接点击右键,删除表或是删除数据库即可删除相应的选项 4、 运行结果: 参看每一步的截图
我崇尚简约之美
江西师范大学计算机信息工程学院学生实验报告二
专业 计算机科学与技术(师范) 姓名 十年 学号 0908061187 日期 2011-10-11
课程名称 实验名称 指导教师 数据库原理 实验室名称 表的创建与约束机制 X4313a 张练兴 成绩 1、实验目的 (1).学会使用SQL创建表结构,并输入数据; (2).会使用CREATE TABLE 定义表结构; (3).会使用ALTER TABLE 修改表结构; (4).会建立有关约束。 2、实验原理和内容 (1)、利用SQL Server2000创建s-t数据库,在此数据库中创建学生(student)表、课程(course)表、选课信息(sc)表,并创建有关约束。 (2)、利用SQL语句在表中实现修改 3、实验步骤 (1)、采用SQL语句创建数据库s-t (2)、分别创建表课程表course、学生信息表student、选课表sc,并建立有关约束。 SQL语句如下: course 表: CREATE TABLE course ( cno char (4) PRIMARY key , cname char (20) , cpno char (4) , ccredit smallint , foreign key cpno reference course(cno) /*表级完整性约束条件,cpno是外码,被参照表是course,被参照列是cno*/ )
我崇尚简约之美
student表
CREATE TABLE student(
sno char (10) primary key ,/*列级完整性约束条件,sno是主码*/ sname char (8) unique,/*sname取唯一值*/ ssex char (2) , sage smallint, sdept char (20) )
sc 表
CREATE TABLE sc( sno char (10) , cno char (4), grade int ,
primary key(sno,cno),/*主码由两个属性构成,必须作为表级完整性约束*/ foreign key(sno) reference student(sno)
/*表级完整性约束条件,sno是外码,被参照表是student */ foreign key(cno) reference course(cno)
/*表级完整性约束条件,cno是外码,被参照表是course */ )
(3)、修改基本表
向student表中增加“入学时间”列,其数据类型为char alter table student add entrance char(10);
我崇尚简约之美
4、运行结果 course表
student表和sc表
我崇尚简约之美
修改表结果:
我崇尚简约之美
江西师范大学计算机信息工程学院学生实验报告三
专业 计算机科学与技术(师范) 姓名 十年 学号 0908061187 日期 2011-10-18
课程名称 实验名称 指导教师 数据库原理 实验室名称 X4313a 数据查询(单表查询) 张练兴 成绩 1、实验目的 数据库查询是数据库的核心操作,SQL提供了SELECT语句进行数据库的查询,该语句具有灵活的使用方式和丰富的功能。在很多情况下,用户只对表中的一部分属性列感兴趣,这时可以通过单表查询指定的属性列。 2、实验原理和内容 (1)、原理:SQL语法,SELECT语句的应用 (2)、内容:新建数据库,库中包含课程表(course)、学生表(student)、选课表(sc);分别选择单表进行查询操作。 3、实验步骤 (1)、新建数据库s-t (2)、在数据库中建立课程表(course)、学生表(student)、选课表(sc) (3)、 a、查询选修了课程的学生学号,采用distinct取消重复项 select distinct sno from sc; b、查询年龄在20~23岁之间的学生学号与姓名; select sno ,sname from student where ssage between 20 and 23; c、使用order by子句降序排序。 select sno, grade from sc where cno = ‘3’ order by grade DESC;
我崇尚简约之美
4、运行结果: a、
b、
c、
我崇尚简约之美
江西师范大学计算机信息工程学院学生实验报告四
专业 计算机科学与技术(师范) 姓名 十年 学号 0908061187 日期 2011-10-25
课程名称 实验名称 指导教师 数据库原理 实验室名称 X4313a 数据查询(多表查询) 张练兴 成绩 1、实验目的 数据库查询是数据库的核心操作,SQL提供了SELECT语句进行数据库的查询,该语句具有灵活的使用方式和丰富的功能。在某些情况下,用户对多个表中属性列感兴趣,这时可以通过多表查询指定的属性列。 2、实验原理和内容 (1)、原理:SQL语法,SELECT语句的应用 (2)、内容:新建数据库,库中包含课程表(course)、学生表(student)、选课表(sc);进行多表查询操作。 3、实验步骤 (1)、导入已经备份的数据库s-t,该数据库中包含课程表(course)、学生表(student)、选课表(sc) (2)、 a、(复合条件)查询选修2号课程且成绩在90分以上(包括90分)的所有学生 select student.sno,sname from student,sc where student.sno=sc.sno and sc.cno='2'and sc.grade>=90; b、(自身连接)查询每一门课的先修课 select first.cno,secend.cpno from course first,course secend where first.cpno=secend.cno
我崇尚简约之美
c、(带有比较运算符的子查询)查询每个学生超过他选修课平均成绩的课程号 select sno,cno from sc x
where grade >=(select avg (grade) from sc y
where y.sno=x.sno)
4、运行结果 a、
b、
c、
我崇尚简约之美
江西师范大学计算机信息工程学院学生实验报告五
专业 计算机科学与技术(师范) 姓名 十年 学号 0908061187 日期 2011-11-8
课程名称 实验名称 指导教师 1、实验目的 数据库原理 实验室名称 视图 X4313a 张练兴 成绩 理解视图的定义、视图的优点与视图的工作原理。掌握在企业管理器和查询分析器中创建、修改及删除视图。能够熟练掌握利用视图向表中插入、删除和修改数据。 2、实验原理和内容 (1)原理:利用CREATE VIEW、ALTER VIEW 、DROP VIEW语句创建、修改及删除视图。由于视图是虚表,通过视图向表中添加数据时必须满足一定的条件。如果视图引用了多个数据表,那么在通过视图向数据表中添加数据时,这个语句只能指定同一个表中的字段。如果通过一个引用了多个数据表的视图向这些数据表中添加数据时,必须书写多个INSERT语句。通过使用多个表的视图对数据表进行更新也需要书写多个UPDATE语句,另外适用于INSERT操作的许多同UPDATE操作。使用DELETE语句可以通过视图将数据表中的数据删除。但如果视图应用了两个或两个以上的数据表,则不允许删除视图中的数据。另外,通过视图删除的记录,不能违背视图定义的WHERE子句中的条件。 (2)、内容:创建信息系学生的视图S_STUDENT,并通过视图对表进行插入、删除和修改数据
我崇尚简约之美
3、实验步骤 (1)、导入数据库s-t (2)、创建信息系学生的视图IS_STUDENT,并保证进行修改和插入操作时仍需保证该视图只有信息系的学生。 create view IS_STUDENT as select sno,sname,sage from student where sdept='is' with check option (3)、查询视图:通过视图IS_STUDENT查询信息系学生中年龄小于20岁的学生 select sno,sage from IS_STUDENT where sage<20; (4)、更新视图:将信息系学生视图IS_STUDENT中学号为200215125的学生姓名改为“刘辰”(因为学号为200215122的学生不是信息系的,所以更新操作被拒绝) uadate IS_STUDENT SET sname='刘辰' where sno='200215122
我崇尚简约之美
4、运行结果: (2)、 (3)、 (4)、
我崇尚简约之美
江西师范大学计算机信息工程学院学生实验报告六
专业 计算机科学与技术(师范) 姓名 十年 学号 0908061187 日期 2011-11-15
课程名称 实验名称 指导教师 数据库原理 实验室名称 存储过程 X4313a 张练兴 成绩 1、实验目的 了解存储过程的基本概念、用途和类型,掌握存储过程的创建、修改、执行和删除等操作,灵活运用存储过程提高系统开发效率 2、实验原理和内容 存储过程(Stored Procedure)是一组为了完成特定功能的T-SQL语句集,经编译后存储在SQL Server服务器端数据库中,利用存储过程可以加速SQL语句的执行。 3、实验步骤 (1)、创建一个含输入参数的存储过程并执行,用于查询某个学生的信息 创建: create procedure Slec_sno @sno char(10)='20215122'/*赋初值*/ as select sno,sname,ssex,sage,sdept from student where sno=@sno 执行: exec Slec_sno @sno='200215123'
我崇尚简约之美
(2)、创建一个含输入参数和输出参数的存储过程并执行,用于输出某个学生的平均成绩 创建: create procedure Sc_Avg @sno char(10)='200215121', @avg int output as select @avg=avg(grade) from sc where sno=@sno group by sno 执行: declare @SNO char(10),@AVG int set @SNO='200215122' exec Sc_AVG @SNO,@AVG output print '学号:'+@SNO+'所学课程平均分:'+cast(@AVG as char(3)) 4、运行结果: (1)
我崇尚简约之美
(2)、
我崇尚简约之美
江西师范大学计算机信息工程学院学生实验报告七
专业 计算机科学与技术(师范) 姓名 十年 学号 0908061187 日期 2011-11-22
课程名称 实验名称 指导教师 数据库原理 实验室名称 触发器 X4313a 张练兴 成绩 1、实验目的 理解触发器的功能和特点;学会使用SQL2000编写触发器的方法; 学会如何使用查询分析器创建触发器 2、实验原理和内容 原理:触发器实际上就是一种特殊类型的存储过程,它是在执行某些特定的SQL语句时自动执行的一种存储过程。 内容:创建触发器;执行触发器;删除新建的触发器 3、实验步骤 (1)、还原备份数据库s-t (2)、通过查询分析器为student表创建insert触发器S_insert,当向student表中插入数据时,要求学号必须以“2002”开头,否则拒绝插入: 创建: CREATE TRIGGER S_insert ON student FOR INSERT AS DECLARE @S_no VARCHAR(4), @S_cno INT SELECT @S_no=sno FROM INSERTED IF (LEFT(@S_no,4)!='2002') BEGIN ROLLBACK TRANSACTION RAISERROR('输入的学号:%s不是2002级的学生,请确认后重新录入!',16,4, @S_no) END
我崇尚简约之美
执行: INSERT INTO student VALUES('200115128','李明','男',22,'cs') (3)、为student表创建update触发器Up_student,当更新了某位学生的学号时,就激活触发器级联更新sc表中相关成绩记录中的学号信息,将学号‘200215121’更新为‘200215126’之后查看sc表,并与未更新之前比较,以验证级联更新是否成功 创建: create trigger Up_student on student for update as declare @oldsno char(10),@newsno char(10) select @oldsno=Deleted.sno,@newsno=inserted.sno from inserted,deleted where inserted.sname=deleted.sname update sc set sno=@newsno where sno=@oldsno 更新: update student set sno='200215126' where sno='200215121' (4)、删除触发器:删除(2)中创建的触发器S_insert,由(2)可知删除之前不能插入非2002级的学生学号,删除之后再插入学号为2009级的学生相关信息,通过企业管理器查看删除触发器S_insert之后是否插入成功,验证结果见运行截图。 删除触发器: drop TRIGGER S_insert 插入学生信息 insert into student values ('0908081187','十年','男','22','cs')
我崇尚简约之美
4、运行结果: (2)运行结果、 (3)运行结果、 更新之前: 更新之后:
我崇尚简约之美
(4)验证结果:
我崇尚简约之美
江西师范大学计算机信息工程学院学生实验报告八
专业 计算机科学与技术(师范) 姓名 十年 学号 0908061187 日期 2011-12-06
课程名称 实验名称 指导教师 数据库原理 实验室名称 数据库管理 X4313a 张练兴 成绩 1、实验目的 了解SQL Sever数据库的逻辑结构;熟悉企业管理器的使用;熟悉查询分析器的使用;掌握利用企业管理器查询和查询分析器创建和管理数据库的过程。 2、实验原理和内容 原理:SQL相关语法 内容:创建s-t数据库;修改表;备份数据库;删除数据库;还原数据库 3、实验步骤 (1)、创建数据库s-t,在此数据库中创建学生(student)表、课程(course)表、选课信息(sc)表,并创建有关约束 CREATE TABLE course ( cno char (4) PRIMARY key , cname char (20) , cpno char (4) , ccredit smallint , foreign key cpno reference course(cno) /*表级完整性约束条件,cpno是外码,被参照表是course,被参照列是cno*/ ) CREATE TABLE student( sno char (10) primary key ,/*列级完整性约束条件,sno是主码*/ sname char (8) unique,/*sname取唯一值*/ ssex char (2) , sage smallint, sdept char (20) )
我崇尚简约之美
CREATE TABLE sc( sno char (10) , cno char (4), grade int , primary key(sno,cno),/*主码由两个属性构成,必须作为表级完整性约束*/ foreign key(sno) reference student(sno) /*表级完整性约束条件,sno是外码,被参照表是student */ foreign key(cno) reference course(cno) /*表级完整性约束条件,cno是外码,被参照表是course */ ) (2)、删除表student中学号为0908081187的学生信息,保存 delete from student where sno='0908081187' (3)、备份删除学号为0908081187信息后的数据库,取名s-t备份: 所有任务—>备份数据库—>名称为s-t备份,勾选追加到媒体,添加备份到的文件夹—>确定 (4)、还原s-t备份,查看student表中是否还有0908081187的信息: 所有任务—>还原数据库—>名称为s-t,单选从设备按钮,添加,找到(3)中备份的数据库—>确定
我崇尚简约之美
4、运行结果: (2)运行结果、 删除前: 删除后(由图可知学号为090808061187的学生信息已被删除): (3)运行结果、
我崇尚简约之美
(4)运行结果、
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- howto234.com 版权所有 湘ICP备2022005869号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务