数据库原理实验指导书_参考答案

数据库原理实验指导书_参考答案
数据库原理实验指导书_参考答案

《数据库原理与应用》实验指导 / 学年第学期

姓名:______________

学号:______________

班级:______________

指导教师:______________

计算机科学与工程学院

2009

实验一SQL Server使用初步

一、实验目的

1、熟悉SQL Server2000的组成及基本功能。

2、掌握SQL Server2000的登录及注册。

3、掌握SQL Server2000企业管理器的使用方法。

4、熟悉查询分析器的基本使用。

二、实验预习

1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些?

2、SQL Server 2000(2005)的安装步骤?

三、实验内容和要求

1、注册服务器

基本步骤:

(1)打开企业管理器

(2)右击SQL Server组→新建SQL Server注册

(3)添加可用的服务器(实际数据库服务器的名称或IP地址)

(4)选择身份验证模式(选“系统管理员分配给我的登录信息”)

(5)输入正确的登录名和密码

(6)选择SQL Server组(选“在现有的SQL Server组中添加SQL Server”)(7)完成注册

若注册成功,则显示注册成功的信息。

2、连接SQL Server服务器

(1)右键单击上面注册的数据库服务器,选择连接,建立与数据库服务器的连接。观察连接后服务器图标的变化;

(2)右键单击选择编辑SQL Server注册属性,观察已注册数据库服务器的属性信息;

(3)右键单击选择删除SQL Server注册。为保证数据库的安全性,使用完毕自己

的数据库后,可采取删除的方式,断开与数据库的连接;

(4)重复注册服务器的步骤,再次建立与数据库的连接;

3、熟悉企业管理器

(1)单击建立的服务器连接,观察服务器的7个项目,写出它们的名称。通过查看联机帮助,总结7个项目的基本功能。

(2)单击数据库,观察Northwind数据库下的11个项目,写出项目名称,通过联机帮助了解它们的基本功能。

(3)查看Northwind的表项目,单击表,观察表的名称、所有者、类型以及创建日期。回答:

?这些表的所有者有哪几种?

?这些表的类型有哪几种?

?选择表Employees,在右键菜单中选择打开表->返回所有行,观察表中的数据,说出这些数据的实际含义。观察其他用户类型的表,你还能说出它们数据的实际含义吗?

(4)查看Northwind的视图项目,单击视图,观察视图的名称、所有者、类型以及创建日期。选择视图Product Sales for 1997,同上面观察表中数据的方法一样,观察视图中的数据,说出这些数据的意义。

(5)查看Northwind的用户项目,单击用户。回答:

?有哪类用户?查看它们的属性对话框,它们的角色和权限是否相同?

?通过联机帮助,写出dbo、Guest用户的区别。

(6)查看Northwind的角色项目,单击角色。回答:

?有哪些角色类型?通过查看联机帮助,写出它们各自的含义和作用。

(7)查看Northwind的安全性项目,单击项目中的登录,观察不同的登录名称、类型、服务器访问、默认数据库,找到你自己的登录名称,右键单击打开属性对话框,观察对话框中的设置,写出登录属性对话框中的设置作用。

4、熟悉查询分析器

(1)打开查询分析器。基本步骤:

?单击注册的数据库服务器,确定服务器已经连接;

?在主菜单“工具”中选择“SQL查询分析器”;

?在打开的查询分析器窗口中,左侧的对象浏览器为注册的服务器,在工具栏的数据库选择中选择Northwind数据库为当前数据库;右侧窗口为查询窗口。

(2)分别在查询窗口中输入如下查询语句,观察查询结果,写出结果的数据记录个数:

查询语句1:

SELECT *

FROM Shippers

ORDER BY CompanyName

结果记录数:

查询语句2:

SELECT FirstName, HomePhone

FROM Northwind.dbo.Employees

ORDER BY FirstName ASC

结果记录数:

查询语句3:

SELECT ROUND( (UnitPrice * .9), 2) AS DiscountPrice

FROM Products

WHERE ProductID = 58

结果记录数:

查询语句4:

SELECT OrderID,

DATEDIFF(dd, ShippedDate, GETDATE() ) AS DaysSinceShipped FROM Northwind.dbo.Orders

WHERE ShippedDate IS NOT NULL

结果记录数:

查询语句5:

SELECT ProductID, ProductName

FROM Northwind.dbo.Products

WHERE CategoryID = 1 OR CategoryID = 4 OR CategoryID = 5 结果记录数:

四、实验小结

五、评阅成绩

实验二数据定义

一、实验目的

1、掌握SQL数据定义功能:数据库定义、表的定义、索引定义。

2、掌握利用企业管理器和SQL语句定义表、索引的方法。

二、实验预习

1、SQL中基本表定义语句格式:

2、SQL中修改基本表语句格式:

三、实验内容和要求

1、在企业管理器中,利用菜单操作的方式在各自的数据库中建立如下四个基本表:(1)供应商表S:

(2)零件表P:

(3)工程项目表J:

(4)供应情况表SPJ:

2、用CREATE语句建立如下三个表,并写出相应的语句。

语句:

CREATE TABLE Student(

Sno char(7) PRIMARY KEY,

Sname char(10) not null,

Ssex char(2) CHECK(Ssex='男' or Ssex='女') ,

Sage smallint CHECK(Sage>=15 and Sage<=45),

Sdept char(20) DEFAULT '计算机系'

)

(2)课程表Course:

语句:

CREATE TABLE Course(

Cno char(10) PRIMARY KEY,

Cname varchar(20) NOT NULL,

Ccredit smallint check(ccredit>0),

semster smallint check(semster >0),

period smallint check(period>0)

)

语句:

CREATE TABLE SC(

Sno char(7) ,

Cno char(10),

Grade smallint check(grade>=0),

PRIMARY KEY (Sno,Cno),

FOREIGN KEY (Cno) REFERENCES Course(Cno),

FOREIGN KEY (Sno) REFERENCES Student(Sno)

)

3、利用SQL语句对表结构进行修改。

(1)为零件表P增加一个规格(GUIGE)列,数据类型为字符,长度50;

Alter Table P Add GUIGE char(50)

(2)修改课程表Course的CNAME属性列的类型为VARCHAR(30);

Alter Table Course Alter Column CNAME varchar(30)

(3)为供应情况表SPJ添加参照完整性约束;

SPJ的SNO列参照S表SNO列

Alter Table SPJ Add Foreign Key (SNO) References S(SNO)

SPJ的PNO列参照P表PNO列

Alter Table SPJ Add Foreign Key (PNO) References P(PNO)

SPJ的JNO列参照J表JNO列

Alter Table SPJ Add Foreign Key (JNO) References J(JNO)

(4)删除零件表P的规格(GUIGE)列

Alter Table P Drop Column GUIGE

4、利用企业管理器向表中添加数据

(1)供应商表S:

继续往表中增加一条记录:四个字段的数据分别是S1,东方红,30,北京,会出现什么情况?为什么?

(2)零件表P:

是否能够正常输入三条数据?如果否,问题出在哪里,为什么?(3)工程项目表J:

第三条记录是否能够正常输入,若否,会出现什么问题,为什么?(4)供应情况表SPJ:

输入过程中是否会遇到问题,若有,出在哪,为什么?

四、实验小结

五、评阅成绩

实验三数据查询

一、实验目的

1、掌握查询语句的基本组成和使用方法

2、掌握常用查询技巧

二、实验预习

1、SQL中查询语句格式:

2、连接查询有哪些不同的连接方式?有什么特点。

三、实验内容和要求

1、按照下表中的内容,在企业管理器中为数据库表输入相应的数据。

选课表:SC

2、完成下列查询

(1)查询全体学生的信息。

select * from student

(2)查询“信息系”学生的学号,姓名和出生年份。

select Sno,Sname,2009-Sage as Birthyear from student where Sdept='信息系' (3)查询考试不及格的学生的学号。

select Distinct Sno from SC where Grade<60

(4)查询无考试成绩的学生的学号和相应的课程号。

select Sno,Cno from SC where Grade is null

(5)将学生按年龄升序排序。

select * from student order by Sage asc

(6)查询选修了课程的学生的学号和姓名。

Select Sno,Sname from Student Where Sno in (Select Sno From Sc)

或:

select distinct student.Sno,Sname from student,SC where student.Sno=SC.Sno (7)查询年龄在20-23岁之间的学生的姓名,系,年龄。

select Sname,Sage,Sdept from student where Sage between 20 and 23

(8)查询同时选修了“计算机导论”,“高等数学”课程的学生的学号,姓名。

select student.Sno,Sname from student where NOT EXISTS(

select* from course where

Cname in('高等数学','计算机导论') AND NOT EXISTS(select * from SC where Sno=student.Sno and Cno=https://www.360docs.net/doc/008111788.html,o))

或:

select student.Sno,Sname from student,sc,Course where student.sno=sc.sno and https://www.360docs.net/doc/008111788.html,o=https://www.360docs.net/doc/008111788.html,o and cname='高等数学' and student.sno in (select sno from sc where cno=(select cno from course where cname='计算机导论'))

或:

select student.Sno,Sname from student where sno in (select sno from sc where cno=(select cno from course where cname='高等数学')) and sno in (select sno from sc where cno=(select cno from course where cname='计算机导论'))

(9)查询姓“张”的学生的基本信息。

select * from student where Sname like '张%'

(10)查询“95211”班学生的选课情况,要求输出学号,姓名,课程名,成绩,按照学号升序排序。

select student.Sno,Sname,Cname,Grade from student,SC,course where student.Sno=SC.Sno and https://www.360docs.net/doc/008111788.html,o=https://www.360docs.net/doc/008111788.html,o

and student.Sno like '95211%' order by student.Sno

或:

select student.Sno,Sname,Cname,Grade from student,SC,course where student.Sno=SC.Sno and https://www.360docs.net/doc/008111788.html,o=https://www.360docs.net/doc/008111788.html,o

and left(student.sno,5)= '95211' order by 1

(11)查询选修了课程的学生的总人数。

select count(distinct sno) from SC

(12)查询选修了“C05”课程的的学生成绩单,要求输出学号,姓名,成绩,结果按班级升序,成绩降序排列。

select student.Sno,Sname,Grade from student,SC where student.Sno=SC.Sno and Cno='C05' order by left(student.Sno,5) asc,Grade desc

(13)统计各门课程的成绩,要求输出课程代号,课程名,平均成绩,选修人数。(成绩为NULL值的不统计)

select https://www.360docs.net/doc/008111788.html,o,Cname,avg(Grade),count(Sno) from course,Sc where https://www.360docs.net/doc/008111788.html,o=https://www.360docs.net/doc/008111788.html,o and Grade is not null group by https://www.360docs.net/doc/008111788.html,o,Cname

(14)统计各门课程的不及格人数,要求输出课程代号,课程名,不及格人数。

select https://www.360docs.net/doc/008111788.html,o,Cname,count(Sno) from SC,Course where https://www.360docs.net/doc/008111788.html,o=https://www.360docs.net/doc/008111788.html,o and Grade<60 group by https://www.360docs.net/doc/008111788.html,o,Cname

(15)查询选修平均成绩在75分以上的学生的学号,姓名,所在系。

select sc.sno,sname,sdept from student,sc where student.sno=sc.sno group by sc.sno,sname,sdept having avg(grade)>75

或:

select sno,sname,sdept from student where Sno in (Select Sno From SC Group By Sno Having Avg(Grade)>75)

(16)查询与“王大力”同一个系的学生的基本信息

select * from student where sdept in(select sdept from student where sname='王大力')

(17)查询选修平均分高于所有学生平均分的学生的学号,并按学号升序排列。

select student.Sno from student,SC where student.Sno=SC.Sno group by student.Sno having avg(Grade)>(select Avg(Grade) from SC) order by student.Sno asc

(18)查询未选修“VB”或“数据库基础”两门课的学生的学号,姓名,系名。(要

求用嵌套查询)

select sno,sname,sdept from student where sno not in(select sno from sc where cno in(select cno from course where cname in('VB','数据库基础')))

或:

select sno,sname,sdept from Student where exists(

select * from Course where cname='VB' and not exists(

select * from SC where sno=Student.sno and cno=https://www.360docs.net/doc/008111788.html,o and

https://www.360docs.net/doc/008111788.html,ame!='数据库基础'))

(19)查询选修了全部课程的学生的学号,姓名,系名。

select sno,sname,sdept from student

where not exists(select * from course where not exists

(select * from sc where sno=student.sno and cno=https://www.360docs.net/doc/008111788.html,o ) ) 或:

select sno,sname,sdept from student

where sno in (select sno from sc group by sno having count(cno)=(select coount(*) from course))

(20)输出“高等数学”课程成绩前三名的学生的学号,姓名,系名

select top 3 student.sno,sname,sdept from student,sc,course where student.sno=sc.sno and https://www.360docs.net/doc/008111788.html,o=https://www.360docs.net/doc/008111788.html,o and cname='高等数学' order by grade desc

四、实验小结

五、评阅成绩

实验四数据更新

一、实验目的

1、掌握SQL语言的数据更新操作

2、掌握SQL Server 2000企业管理器的数据导入和导出功能

二、实验预习

1、数据插入语句格式:

2、数据修改语句格式:

3、数据删除语句格式:

4、SQL Server中可进行批量数据导入和导出,可支持哪些格式的数据导入导出?(举常见格式类型)

三、实验内容和要求

(执行操作后,将语句填写在下面的空白处)

1、插入数据

(1)在学生表Student中插入数据:

Sno:9512102 Sname:刘晨 Ssex:男Sage:20 Sdept:计算机系

insert into Student

values ('9512102','刘晨','男',20,'计算机系')

(2)在课程表Course中插入数据:

Cno:C06 Cname:数据结构Ccredit:5 Semster:4

insert into Course(cno,cname,ccredit,semster)

values ('C06','数据结构',5,4)

或:

insert into Course values ('C06','数据结构',5,4,null)

(3)在选课表SC中插入95211班学生选修C04的选课信息。

提示:插入的数据的Sno从Student表中查询而来,插入的Cno为“C04”

insert into SC(sno,Cno)

select sno,'c04' from Student where sno like '95211%'

(4)查询高等数学的成绩,包括学号,成绩,并按学号升序排序。将查询的结果输出到一个名为gs_cj的表中。

select sno,grade into gs_cj

from sc,course where https://www.360docs.net/doc/008111788.html,o=https://www.360docs.net/doc/008111788.html,o and cname='高等数学' order by sno

(5)将SC表中“C05”课程的选课记录输出至一个新表中,表名为Gs01。

select * into Gs01

from sc where cno='c05'

2、修改数据

(1)将所有学生的年龄增加1岁。

update student set sage=sage+1

(2)修改“9512101”学生的“C01”课程成绩为85。

update sc set grade=85

where sno='9512101' and cno='c01'

(3)修改“9531102”学生的“C01”课程成绩为70。

update sc set grade=70

where sno='9531102' and cno='c01'

(4)将所有平均分为75分以上的学生的各门课成绩在原来基础上增加1%。

update sc set grade=grade*1.01

where sno in

(select sno from sc group by sno having avg(grade)>=75)

3、删除数据

(1)删除“9531102”学生“C05”课程的成绩记录

delete from sc where sno='9531102' and cno='c05'

(2)删除所有课程为“C05”的选课记录

delete from sc where cno='c05'

4、数据的导出

(1)将数据库中的S,P,J,SPJ表导出为一个ACCESS数据库,名为DB_SPJ。(2)Student表中数据导出到一个文本文件,用,作为数据项的分隔符。(3)将Course表中数据导出到一个Excel文件中。

5、批量增加数据

(1)利用查询,将其他表中的数据增加到需要的数据表中。

将Gs01表中的数据添加到SC表中。(用Insert 语句实现)

insert into sc select * from Gs01

(2)从外部其他数据源导入数据(选做)

?从文本文件中导入

?从ACCESS中导入数据

?从EXECEL中导入数据

#(16课时)数据库实验指导书

《数据库原理及使用》实验指导书 (适用于计算机科学和技术、软件工程专业) 热风器4 计算机科学和技术学院 2011年12月 ⒈本课程的教学目的和要求 数据库系统产生于20世纪60年代末。30多年来,数据库技术得到迅速发展,已形成较为完整的理论体系和一大批实用系统,现已成为计算机软件领域的一个重要分支。数据库原理是计算科学和技术专业重要的专业课程。 本课程实验教学的目的和任务是使学生通过实践环节深入理解和掌握课堂教学内容,使学生得到数据库使用的基本训练,提高其解决实际问题的能力。 ⒉实验教学的主要内容 数据库、基本表、视图、索引的建立和数据的更新;关系数据库的查询,包括单表查询、连接查询、嵌套查询等;数据库系统的实现技术,包括事务的概念及并发控制、恢复、完整性和安全性实现机制;简单数据库使用系统的设计实现。 ⒊实验教学重点 本课程的实验教学重点包括: ⑴数据库、基本表、视图、索引的建立和数据的更新; ⑵SQL的数据查询; ⑶恢复、完整性和安全性实现机制; ⑷简单数据库使用系统的设计实现; 4教材的选用 萨师煊,王珊.数据库系统概论(第四版).北京:高等教育出版社.2006,5 实验1创建数据库(2学时) 实验目的 1.学会数据表的创建; 2.加深对表间关系的理解; 3.理解数据库中数据的简单查询方法和使用。 实验内容 一、给定一个实际问题,实际使用问题的模式设计中至少要包括3个基本表。使用问题是供应商给工程供应零件(课本P74)。 1.按照下面的要求建立数据库: 创建一个数据库,数据库名称可以自己命名,其包含一个主数据文件和一个事务日志文件。注意主数据文件和事务日志文件的逻辑名和操作系统文件名,初始容量大小为5MB,

数据库原理实验指导书

《数据库原理及应用》实验指导书 2009年9月1日 长江大学电子信息学院

前言 随着计算机技术与网络通信技术的发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。它不仅有完整的理论基础,而且随着硬件技术与软件技术的飞快发展,它的应用也越来越广泛。 本实验指导书通过大量的实例,循序渐进地引导学生做好各章的实验。根据实验教学大纲,我们编排了六个实验,每个实验又分了六部分内容:实验目的、实验内容、实验步骤、实验报告要求、注意事项、思考题。在实验之前,由教师对实验作一定的讲解后,让学生明确实验目的,并对实验作好预习工作。在实验中,学生根据实验指导中的内容进行验证与总结,然后再去完成实验步骤中安排的任务。实验完成后,学生按要求完成实验报告。 整个教学和实验中,我们推荐采用Microsoft SQL Server2000作为实验环境,强调学生切实培养动手实践能力,掌握数据库的建立、维护和使用的方法。

目录 实验一数据库的定义、建立和维护 (1) 实验二数据库的简单查询和连接查询 (6) 实验三数据库的组合查询和统计查询. (8) 实验四数据库的视图和触发器的定义、使用(选做) (10) 实验五数据完整性和安全性(选做) (14) 实验六存储过程(选做) (20) 附录: 1、实验教学大纲 (22) 2、SQL Server 2000的安装过程 (25)

实验一数据库的定义、建立和维护 一、实验目的 1、掌握使用SQL Server企业管理器、Transact-SQL、SQL创建数据库、基本表和修改基本表的结构; 2、掌握使用SQL Server企业管理器、Transact-SQL、SQL向数据库表输入数据、修改数据和删除数据的操作。 二、实验内容 1、创建数据库和查看数据库属性; 2、创建学生表、课程表和选课表,为主键创建索引; 3、查看和修改表结构; 4、通过企业管理器,在学生选课数据库中的学生、课程和选课3个表中,各输入10条以上记录; 5、通过企业管理器对学生选课数据库的学生、课程和选课3个表中的数据进行插入、删除和修改操作; 三、实验步骤 1、创建数据库 (1)使用企业管理器建立数据库的步骤 1)从“开始”菜单中依次选取“所有程序”、“Microsoft SQL Server”、“企业管理器”。 2)选中需要在其上创建数据库的服务器,点击前面的“+”号,使其展示为树形目录。 3)选中“数据库”文件夹,单击鼠标右键,在弹出菜单上选择“新建数据库”,如图1-1所示: 图1-1 创建数据库(1) 随后在数据库属性对话框的常规页面中,输入数据库名“学生选课”,如图1-2所示:数据库属性对话框有3个页面:常规页码、数据文件页面和事务日志页码。分别用来义数据库名、数据文件属性和日志文件属性。请结合帮助文档,了解这些页面中选项的含义。 4)单击“确定”按钮,关闭对话框。在企业管理器窗口中出现“学生选课”数据库

数据库原理实验报告(1)

南京晓庄学院 《数据库原理与应用》课程实验报告 实验一 SQL Server 2005常用服务与实用工具实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)了解Microsoft 关系数据库管理系统SQL Server的发展历史及其特性。 (2)了解SQL Server 2005的主要组件、常用服务和系统配置。 (3)掌握Microsoft SQL Server Management Studio 图形环境的基本操作方法。了解使用“SQL Server 2005 联机从书”获取帮助信息的方法;了解“查询编辑器”的使用方法;了解模板的使用方法。 2.实验要求 (1)收集整理Microsoft关系数据库管理系统SQL Server的相关资料,总结其发展历史及SQL Server 2005主要版本类别和主要功能特性。 (2)使用SQL Server配置管理器查看和管理SQL Server 2005服务。 (3)使用Microsoft SQL Server Management Studio连接数据库;使用SQL Server帮助系统获 得所感兴趣的相关产品主题/技术文档。 (4)使用Microsoft SQL Server Management Studio“查询编辑器”编辑并执行Transact-SQL 查询语句。 (5)查看Microsoft SQL Server 2005模板,了解模板的使用方法。 (6)按要求完成实验报告。 3.实验步骤、结果和总结实验步骤/结果 (1) 简要总结SQL Server系统发展历史及SQL Server 2005主要版本类别与主要功能特性。

数据库原理》实验指导书

《数据库原理》实验指导书

目录 实验一SQL SERVER2000数据库的使用 (1) 实验二创建数据库和数据表 (5) 实验三SQL技术 (14) 实验四实现视图 (22) 实验五创建和维护索引 (27) 实验六触发器管理 (32) 实验七数据的备份与恢复 (35) *实验八SQL Server2000安全管理 (40) 实验一 SQL SERVER2000数据库的使用 实验目的 1. 了解Microsoft SQL Server安装方法与步骤 2. 了解SQL Server 2000常用管理工具 3. 初步熟悉系统提供的学习数据库 4. 掌握在线手册的使用 实验内容 一、安装过程 操作要求:本地安装SQL Server 2000,明确安装步骤以及注意事项。 在WindowsXP或Windows2000 Professional操作系统平台下安装SQL Server 2000个人版。 系统安装完毕后,在开始菜单“程序”中新增了如图1.1所示的菜单。 图1.1程序组菜单 二、使用服务管理器 操作要求:对已安装的本地SQL Server服务器,完成启动、暂停和停止操作。 操作1:执行“开始→程序→Microsoft SQL Server→服务管理器”菜单命令,或双击桌面任务栏上“服务管理器”图标按钮,打开“服务管理器”窗口,如图1.2所示。 注意:SQL Server服务管理器用交通信号灯比喻SQL Server的启动()、停止()和暂停()。

图1.2 “服务管理器”窗口 操作2:在窗口中的“服务器”栏,选择要启动的数据库服务器(取决于所安装的实例),在“服务”中选择“SQL Server”,单击“开始/继续”按钮,启动SQL Server。 注意:选择“当启动OS时自动启动服务”复选按钮,可在每次Windwos启动时自动启动SQL Server。 操作3:单击“暂停”按钮,观察信号灯变化;单击“停止”按钮,观察信号灯变化;再次单击“开始/继续”按钮。 操作4:关闭服务管理器窗口(但SQL Server服务仍在运行,任务栏上的“ ” 图标表示服务已启动)。 三、使用企业管理器 操作要求:启动SQL Server的“企业管理器”,查看已安装的数据库实例中系统数据库情况。(如果条件许可,并尝试在企业管理器中通过向导“新建SQL Server注册”,连接SQL Server教学远程数据库服务器。) 图1.3 “企业管理器”窗口 操作1:执行“开始→程序→Microsoft SQL Server→企业管理器”菜单命令,打开“企业管理器”,如图1.1所示。

福建工程学院《实验指导书(数据库系统原理及应用)》

数据库系统原理 实验指导书 (本科)

目录 实验一数据定义语言 (1) 实验二SQL Sever中的单表查询 (3) 实验三SQL Serve中的连接查询 (4) 实验四SQL Serve的数据更新、视图 (5) 实验五数据控制(完整性与安全性) (7) 实验六语法元素与流程控制 (9) 实验七存储过程与用户自定义函数 (11) 实验八触发器 (12)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\S tuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10% 2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在StuDB数据库中作如下操作: 设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE), 其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。 写出实现下列功能的SQL语句。 (1)创建表S; (2)刷新管理器查看表是否创建成功; (3)右击表S插入3个记录:95031班25号李明,男性,21岁; 95101班10号王丽,女性,20岁; 95031班座号为30,名为郑和的学生记录; (4)将年龄的数据类型改为smallint; (5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime); (6)对表S,按年龄降序建索引(索引名为inxage); (7)删除S表的inxage索引; (8)删除S表; 5.在StuDB数据库中, (1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。 并输入相关数据。 (2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。 6.(课外)按照《数据库系统概论》(第四版)P74页习题5的SPJ数据库。创建SPJ数据 库,并在其中创建S、P、J和SPJ四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。 三、实验要求:

数据库原理实验报告

数据库原理 实验报告 系别电子信息系 专业计算机科学与技术班级学号4080522 姓名龚敏 指导教师李爱英

一.概要设计 1.教学数据库各表的关系模式:(加下线的属性为主键) 学生 (学号,姓名,性别, 出生日期,所在系) 英文缩写对照:student(s_no,s_name,s_sex,s_age,s_birthday,s_department) 课程 (课程号,课程名,学分) 英文缩写对照:course(c_no,c_name,c_score) 教师 (职工号,姓名,性别,职称) 英文缩写对照:teacher(t_no,t_name,t_sex,t_duty) 选课 (学号,课程号,成绩) 英文缩写对照:choice(s_no,c_no,score) 讲授 (职工号,课程号) 英文缩写对照:teaching(t_no,c_no) 2.教学数据库E-R 图: 实体:课程,学生,选课 联系:选课(学生同课程之间多对多的联系m:n),讲授(教师同课程之间多对多的联系m:n)。 二.逻辑设计 代码: use master go create database stu go use stu go n m m n 课程 教师 讲授 选课 学号 姓名 性别 出生日期 成绩 职工号 姓名 性别 职称 学分 课程号 课程名 学生

create table student (s_no char(8) not null primary key, s_name char(8) not null , s_sex varchar(8) not null, s_birthday smalldatetime not null, s_department varchar(13) not null) drop table student use stu go create table teacher (t_no char(8) not null primary key, t_name char(8) not null, t_sex varchar(8) not null, t_duty char(8) not null) create table course (c_no char(8) not null primary key, c_name char(8) not null, c_score varchar not null) create table choice( s_no char(8) not null primary key, c_no char(8) not null primary key, score varchar not null) create table teaching( t_no char(8) not null primary key, c_no char(8) not null primary key) insert student values('101','袁敏','女','1982-2-3','机电') insert student values('102','李志强','男','1983-4-5','计算机') insert student values('103','张亮','男','1984-10-9','建筑') insert student values('104','李平','女','1984-5-6','计算机') insert student values('105','王丽','女','1983-2-1','机电') insert student values('106','刘明耀','男','1982-4-16','计算机') select* from student insert course values('1011','C语言','6') insert course values('1012','数据结构','4') insert course values('1013','微机原理','6') insert course values('1014','数字电路','5') insert course values('1015','高等数学','6') select* from course insert teacher values('0511','张大维','男','副教授') insert teacher values('0512','林楠','女','讲师') insert teacher values('0513','韩晓颖','女','副教授') insert teacher values('0514','李辉','男','讲师') insert teacher values('0515','孙丽','女','助教') select* from teacher insert choice values('101','1011','82.5') insert choice values('101','1012','79') insert choice values('102','1012','92.5') insert choice

数据库实验报告

合肥师范学院实验报告册 2014 / 2015 学年第2学期 系别计算机学院 实验课程数据库原理 专业 班级 姓名 学号 指导教师

实验一——数据库基本操作 一、实验目的 1.熟悉MS SQL SERVER运行界面,掌握服务器的基本操作。 2.掌握界面操作方法完成用户数据库建立、备份和还原。 3.建立两个实验用的数据库,使用企业管理器和查询分析器对数据库和表进行基本操作。 二、实验预习内容 在认真阅读教材及实验指导书的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。 1.熟悉SQL SERVER 2000 的运行环境,练习服务器基本操作:打开、停止、关闭。 2.使用SQL SERVER 2000 中的企业管理器完成以下任务。 数据库名称:STC 表:STU(sno char(9), sname varchar(50), ssex char(2) , sage int, sdept char(2) ); COUTSES(cno char(3), cname varchar(50), cpno char(3), credit int ); SC(sno char(9), cno char(3), grade int ); 说明:以上为表结构,以sno char(9)为例,说明sno属性设置为字符类型,宽度为9,int指整型数据。 1)建立数据库STC,分别建立以上三张表,并完成数据录入。(表结构及数据参见教材)2)分析并建立各表的主码,用下划线在上面表结构中标出主码。 3)建立各表之间的关联,请简述操作步骤。 (1)CREATE TABLE Stu ( sno char(9), sname varchar(50), ssex char(2), sage int, sdept char(2) ); CREATE TABLE COURSE ( cno char(3), cname varchar(50), cpno char(3), credit int); CREATE TABLE SC ( sno char(9), cno char(3), grade int); 4)参考实验指导书的【第5章数据库的备份和还原】,使用企业管理器对数据库STC 进行备份,并尝试在个人电脑与机房电脑上进行还原,请简述备份、还原操作的步骤。

数据库原理B实验报告完整版1-3

实验一 认识DBMS系统 日期 2011-3-23一、实验目的 1.通过对某个商用数据库管理系统的使用,了解DBMS的工作原理和系统构架。 2.熟悉对DBMS的操作 3.搭建今后实验的平台 二、实验原理 企业管理器是SQL Server中最主要的工具,使用它基本上可完成SQL Server的所有管理操作,如数据库的创建和管理、数据表的创建和管理、数据库安全管理等,在本书第五课中将对其作详细介绍。 查询分析器主要用于创建和执行SQL命令,以完成数据库的查询和管理工作。查询分析器和企业管理器是SQL Server的两大主要工具。 服务管理器主要用于启动、暂停、停止和检查本地服务的状态。SQL Server提供如下服务: SQL Server服务:该服务提供管理服务器中的所有数据库、执行T-SQL程序、执行存储过程、处理分布式查询等服务。必须启动该服务,用户才能通过客户端访问SQL Server服务器中的数据。 SQL Server Agent服务:该服务用于执行作业、监视SQL Server以及激发警报。SQL Server Agent允许自动执行某些管理任务的服务,所以必须启动SQL Server Agent 服务,才能使本地或多服务器的管理任务自动运行。 Microsoft Search服务:提供SQL Server全文检索功能。 Distributed Transaction Coordinator服务:提供Microsoft分布式事务处理功能。 MSSQL Server OLAP Service服务:支持Analysis Services的各项功能,该服务在安装了支持Analysis Services才有。 三、实验仪器和设备 1. 计算机 2. SQL Server 2000 四、预习要求 复习已经讲过的SQL Server 2000的基本工具使用方法。

数据库原理课程设计指导书

数据库原理课程设计指导书 课程名称:数据库原理课程设计 课程编号:40406051 课程类型:必修 学时:1周 学分:1 适用专业:计算机科学与技术、网络工程 编制人:数据库原理课程组 一、课程设计的目的和意义 《数据库原理课程设计》是实践性教案环节之一,是《数据库原理》课程的辅助教案课程。通过课程设计,使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教案内容,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库经管系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。 二、设计要求: 通过设计一个完整的数据库,使学生掌握数据库设计各阶段的输入、输出、设计环境、目标和方法。熟练掌握两个主要环节——概念结构设计与逻辑结构设计;熟练的使用SQL语言实现数据库的建立、应用和维护。集中安排1周进行课程设计,以小组为单位,一般2~3人为一组,组内自由分工协作。教师讲解数据库的设计方法以及布置题目,要求学生根据题目的需求描述,进行实际调研,提出完整的需求分析报告,建立概念模型、逻辑模型、物理模型,在物理模型中根据需要添加必要的约束、视图、触发器和存储过程等数据库对象,生成创建数据库的脚本,提出物理设计的文档,最后应用某种宿主语言完成主要功能设计和实现。 要求如下: 1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。 2、既要虚心接受老师的指导,又要充分发挥主观能动性。结合课题,独立思考,努力钻研,勤于实践,勇于创新。 3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。 4、课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。 5、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。 6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。 三、课程设计选题的原则 课程设计题目以选用学生相对比较熟悉的业务模型为宜,要求通过本实践性教案环节,能较好地巩固数据库的基本概念、基本原理、关系数据库的设计理论、设计方法等主要相关知识点,针对实际问题设计概念模型,并应用现有的工具完成小型数据库的设计与实现。具体选题见附录。 四、课程设计的一般步骤 课程设计大体分五个阶段: 1、选题与搜集资料:根据分组,选题目,在小组内进行分工,进行系统调查,搜集资料。

数据库实训指导书

《数据库》实训计划 课程名称:数据库原理及应用 一、课程简介 《数据库原理及应用》课程是我院计算机科学与技术专业的一门重要专业课程,是一门理论性和实践性都很强的面向实际应用的课程,它是计算机科学技术中发展最快的领域之一。可以说数据库技术渗透到了工农业生产、商业、行政管理、科学研究、教育、工程技术和国防军事等各行各业。因此本课程的教学既要向学生传授一定的数据库理论基础知识,又要培养学生运用数据库理论知识和数据库技术解决实际应用问题的能力。 二.课程实验 实验题目 1.学籍管理系统 2.图书档案管理系统 3.企业人事管理系统 4.工资管理系统 5.用户和权限管理系统。 6.仓库管理系统。 7.企业进销存管理系统。 8、超市管理系统 10、酒店管理系统 11、旅游管理系统 12、高考成绩信息管理系统

13、医院信息管理系统 14、银行计算机储蓄系统 15、 ICU监护系统 16、可自拟题目 任选一题按照下列实验纲要进行设计。 实验纲要 1、实验目标 本课程实验教学的目的和任务是使学生通过实践环节深入理解和掌握课堂教学内容,使学生得到数据库应用的基本训练,提高其解决实际问题的能力。 2、实验内容 数据库的模式设计;数据库、表、视图、索引的建立与数据的更新;关系数据库的查询,包括嵌套查询、连接查询等;数据库系统的实现技术,包括事务的概念及并发控制、恢复、完整性和安全性实现机制;简单数据库应用系统的设计实现。 给定一实际问题,让学生自己完成数据库模式的设计,包括各表的结构(属性名、类型、约束等)及表之间的关系,在选定的DBMS上建立数据库表。用SQL命令和可视化环境分别建立数据库表,体会两种方式的特点。 3、实验教学重点 本课程的实验教学重点包括:⑴数据库的模式设计;⑵SQL的数据查询; ⑶并发控制、恢复、完整性和安全性实现机制;⑷简单数据库应用系统的设计实现; 实验1:数据库的创建

2016数据库原理实验指导书

信息工程学院 数据库原理实验指导书二零一六年五月

目录 实验一SQL SERVER 2005的安装与启动 (1) 实验二数据库的操作 (11) 实验三SQL SERVER2005查询编辑器 (23) 实验四SQL语言的DDL (31) 实验五SQL语言的DML初步 (34) 实验六DML的数据查询 (36) 实验七数据库综合设计 (40)

实验一SQL Server 2005的安装与启动 一、实验目的 SQL Server 2005是Mircosoft公司推出的关系型网络数据库管理系统,是一个逐步成长起来的大型数据库管理系统。 本次实验了解SQL Server 2005的安装过程,了解SQL Server 2005的启动,熟悉SQL Server 2005软件环境。学会安装SQL Server 2005。 二、实验内容 1.安装SQL Server 2005 (1)将SQL Server 2005(中文开发版)安装盘插入光驱后,SQL Server 2005安装盘将自动启动安装程序;或手动执行光盘根 目录下的Autorun.exe文件,这两种方法都可进行SQL Server 2005的安装。出现如下画面。 (2)选中“运行SQL Server Client 安装向导”进行安装,弹出【最终用户许可协议】界面。

(3)选中【我接受许可条款和条件】选项,单击【下一步】按钮,进入【安装必备组件】界面。 (4)组件安装完成后,单击【下一步】按钮,进入【欢迎使用Microsoft SQL Server 安装向导】界面。

(5)单击【下一步】按钮,进入【系统配置检查】界面。检查完毕将显示检查结果。 (6)检查如果没有错误,单击【下一步】按钮,进入【注册信息】界面。

数据库原理实验指导书 (1)

《数据库原理实验指导书》 河南科技大学电子信息工程学院 赵海霞

目录 实验规则 (2) 实验报告要求 (3) 基本实验方法 (3) 实验环境 (3) 实验一:数据定义及更新语句练习 (4) 实验二:简单查询和连接查询 (6) 实验三:分组查询和嵌套查询 (8) 实验四:视图操作和数据控制 (10) 实验五:触发器和存储过程 (12) 选作题目 (14)

实验规则 为了顺利完成实验教学任务,确保人身设备安全,培养严谨、踏实、实事求是的科学作风和爱护国家财产的优良品质,特制定以下实验规则: 1、实验纪律 (1)在实验室不得做和实验无关的事情。 (2)遵守纪律,不迟到,不旷课。 (3)不能拆卸硬件,更不能拿走实验设备或仪器。 (4)保持实验室安静、整洁,爱护公物。 2、实验过程 (1)预习实验内容。自行设计SQL语句。 (2)上机操作。每执行一句记录执行情况,主要是错误信息和错误原因。 (3)检查操作结果是否正确。 (4)根据实验过程的记录书写实验报告。

实验报告要求 1、报告用纸采用统一的河南科技大学实验报告用纸,不得用别的纸张代替。 2、实验报告封面内容 实验名称:(如实验一数据库创建) 班级名称:(如计科101班) 学生学号: 学生姓名: 实验时间: 3、实验报告内容 见各具体实验项目的要求。 基本实验方法 本实验要求熟悉SQL Server环境和数据库的相关知识。 实验环境 Microsoft SQL Server2000

实验一:数据定义及更新语句练习 一、实验目的:熟练掌握用SQL语句实现数据库和基本表的创建、数据的更新。 二、预习要求:实验前复习讲授过的有关创建数据库、基本表的SQL语句,预 习SQL Server2000环境,特别是资源管理器和查询分析器的相关用法。 三、实验内容: (一)用SQL语句建立如下mySPJ数据库,包括S,P,J,和SPJ四个基本表(教材第二章习题5中的四个表),要求实现关系的三类完整性。 S(SNO,SNAME,STA TUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY) 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成。 零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。 工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。 供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。(二)分别使用插入、删除、修改的方式更新基本表中的数据。 四、实验方法和步骤: (一)使用Microsoft SQL Server企业管理器和查询分析器建立数据库mySPJ: 1.打开“开始->程序->Microsoft SQL Server->企业管理器”; 2.在企业管理器左边的树标签中依次打开“Microsoft SQL Server-> SQL Server 组->(local)(Windows NT)->数据库”, (local)(Windows NT)前的红色标记转化为绿色标记表明NT服务已启动; 3.从企业管理器的“工具”菜单中选择“SQL 查询分析器”,打开查询分析器后,在其窗口书写创建数据库mySPJ的SQL语句,点击执行按钮(或F5键)执行该SQL

数据库实验指导书

数据库实验指导书 (试用版) 二零零六年三月 目录 引言 1 一、课程实验目的和基本要求 1 二、主要实验环境 1 三、实验内容 1 实验1 数据库模式设计和数据库的建立 2 一、教学目的和要求 2 二、实验内容 2 三、实验步骤 2 四、思考与总结 3 实验2 数据库的简单查询和连接查询 4 一、教学目的和要求 4 二、实验内容 4 三、实验步骤 4 四、思考与总结 5 实验3 数据库的嵌套查询和组合统计查询 6 一、教学目的和要求 6 二、实验内容 6 三、实验步骤 6 四、思考与总结 7 实验4 视图与图表的定义及数据完整性和安全性 8 一、教学目的和要求 8 二、实验内容 8 三、实验步骤 8 四、思考与总结 9 实验5 简单应用系统的实现 10 一、教学目的和要求 10 二、实验内容 10 三、实验步骤 10 四、思考与总结 10

附录1:数据库实验报告格式 11 附录2:SQL Server 2000使用指南 12 1 SQL Server 2000简介 12 2 SQL Server 2000的版本 12 3 SQL Server 2000实用工具 12 4 创建数据库 15 5 创建和修改数据表 17 6 创建索引 22 7 存储过程 23 8 触发器 25 9 备份和恢复 27 10 用户和安全性管理 28 引言 数据库技术是一个理论和实际紧密相连的技术,上机实验是数据库课程的重要环节,它贯穿于整个―数据库阶段‖课程教学过程中。 一、课程实验目的和基本要求 上机实验是本课程必不可少的实践环节。学生应在基本掌握各知识点内容的基础上同步进行相关实验,以加深对知识的理解和掌握,达到理论指导实践,实践加深理论的理解与巩固的效果。 数据库课程上机实验的主要目标是: 通过上机操作,加深对数据库系统理论知识的理解。 通过使用具体的DBMS,了解一种实际的数据库管理系统,并掌握操作技术。 通过实际题目的上机实验,提高动手能力,提高分析问题和解决问题的能力。 实验在单人单机的环境下,在规定的时间内,由学生独立完成。出现问题时,教师要引导学生独立分析、解决,不得包办代替。 上机总学时不少于12学时。 二、主要实验环境 操作系统为Microsoft Windows 2000/XP。 数据库管理系统可以选择:(1)Microsoft SQL Server 2000标准版或企业版 (2)Microsoft Access2000 (3)金仓数据库KingbaseES。 三、实验内容 本课程实验主要包括数据库的模式设计,数据库、表、视图、索引的建立与数据的更新;关系数据库的查询,包括连接查询、嵌套查询、组合查询等;数据库系统的实现技术,包括事务的概念及并发控制、完整性和安全性实现机制;简单数据库应用系统的设计与实现。实验1 数据库模式设计和数据库的建立 一、教学目的和要求 根据一个具体应用,独自完成数据库模式的设计。 熟练使用SQL语句创建数据库、表、索引和修改表结构。 熟练使用SQL语句向数据库输入数据、修改数据和删除数据的操作。 二、实验内容 对实际应用进行数据库模式设计(至少三个基本表)。

数据库原理实验3指导书

一实验题目:嵌套查询和连接查询 二实验目的:加深对嵌套查询和连接查询的理解,比较两种方法的不同。 三实验内容及要求: 从下面10个题目中选一个,每个题目中第一个查询用连接查询和嵌套查询两种方法完成,其它查询要求用一种方法是先即可,注意选择那种方法。 题目一: 学生(学号,年龄,性别,系名) 课程(课号,课名,学分,学时) 选课(学号,课号,成绩) 根据上面基本表的信息完成下列查询。 1 查询选修了数据库原理的学生姓名。 2 查询比计算机系所有学生年龄都大的学生信息。 3列出“张力”选修的所有课程的课名和成绩。 题目二: 图书(书号,书名,价格,出版社) 读者(卡号,姓名,年龄,所属单位) 借阅(书号,卡号,借阅日期) 根据上面基本表的信息完成下列查询。 1 查询高教出版社的《数据库原理》的读者姓名。 2 查询价格比高教出版社图书都贵的图书信息。 3 查询年龄20岁以下的读者姓名和所借阅图书的书名。 题目三: 商品(编号,品名,进价,库存,售价,厂商编号) 顾客(卡号,姓名,电话,积分) 厂商(编号,厂址,名称、电话) 销售(顾客卡号,商品编号,数量,日期) 根据上面基本表的信息完成下列查询。 1 查询积分100以上的顾客买的商品名称和价格 2 查询比“伊利乳品”所有产品都贵的商品价格 3 查询库存不足100的商品名称和厂商名称及电话 题目四: 图书(书号,书名,作者编号,价格,出版社编号) 作者(编号,姓名,电话) 出版社(编号,出版社名称,地址) 根据上面基本表的信息完成下列查询。 1 查询价格10元以下的图书作者信息 2 查询比“张力”写的书都便宜的图书信息 3 查询高教出版社出版的图书书名和作者姓名 题目五: 零件(编号,名称,颜色) 车间(编号,名称,人数,主任) 产品(编号,名称,车间编号) 使用(产品编号,使用零件编号,个数) 根据上面基本表的信息完成下列查询。 1 查询所有使用红色零件的产品名称。 2 查询比3号、4号、5号车间人数都少的车间生产的产品名称 3 查“张力”当主任的车间的各个产品名称及其所需零件名称、数量 题目六: 药品(编号,名称,价格,厂商) 处方(药品编号,数量,医生编号) 医生(编号,姓名,科室,职称)

《数据库原理》实验4

实验四:数据库综合查询 一、实验目的 1.掌握SELECT语句的基本语法和查询条件表示方法; 2.掌握查询条件种类和表示方法; 3.掌握连接查询的表示及使用; 4.掌握嵌套查询的表示及使用; 5.了解集合查询的表示及使用。 二、实验环境 已安装SQL Server 2008 企业版的计算机; 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1.了解SELECT语句的基本语法格式和执行方法; 2.了解连接查询的表示及使用; 3.了解嵌套查询的表示及使用; 4.了解集合查询的表示及使用; 5.完成实验报告; 五、实验内容及步骤 以数据库原理实验2数据为基础,请使用T-SQL 语句实现进行以下操作: 1.查询以‘DB_’开头,且倒数第3个字符为‘s’的课程的详细情况; 2.查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名; 3.列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修 课程号及成绩; 4.查询缺少成绩的所有学生的详细情况; 5.查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息; 6.查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成 绩; 7.按照?学号,姓名,所在院系,已修学分?的顺序列出学生学分的获得情况。 其中已修学分为考试已经及格的课程学分之和; 8.列出只选修一门课程的学生的学号、姓名、院系及成绩; 9.查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号; 10.只选修?数据库?和?数据结构?两门课程的学生的基本信息;

11.至少选修?数据库?或?数据结构?课程的学生的基本信息; 12.列出所有课程被选修的详细情况,包括课程号、课程名、学号、姓名及成绩; 13.查询只被一名学生选修的课程的课程号、课程名; 14.检索所学课程包含学生‘张向东’所学课程的学生学号、姓名; 15.使用嵌套查询列出选修了?数据结构?课程的学生学号和姓名; 16.使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和 院系; 17.使用ANY、ALL 查询,列出其他院系中比CS系所有学生年龄小的学生; 18.分别使用连接查询和嵌套查询,列出与‘张力’在一个院系的学生的信息; 19.使用集合查询列出CS系的学生以及性别为女的学生名单; 20.使用集合查询列出CS系的学生与年龄不大于19岁的学生的交集、差集; 21.使用集合查询列出选修课程1的学生集合与选修课程2的学生集合的交集; 22.思考题:按照课程名顺序显示各个学生选修的课程(如200515001 数据库数 据结构数学); 六、出现问题及解决办法 如:某些查询操作无法执行,如何解决? 1、查询以‘DB_’开头,且倒数第三个字符为‘s’的课程的详细情况 select * from course where cname like 'DB\_%s__' 2、查询名字中第二个字为“阳”的学生姓名和学号及选修的课程号、课程名 select student.sno ,student.sname ,https://www.360docs.net/doc/008111788.html,o,cname from student,course,sc where sname like '_阳%'and student.sno=sc.sno and https://www.360docs.net/doc/008111788.html,o=https://www.360docs.net/doc/008111788.html,o 3、列出选修了‘数学’或‘大学英语’的学生学号、姓名、 select student.sno,sname,sdept,https://www.360docs.net/doc/008111788.html,o,cname,grade from student,sc,course where student.sno=sc.sno and https://www.360docs.net/doc/008111788.html,o=https://www.360docs.net/doc/008111788.html,o and sc.sno in(select sc.sno from sc,course where (cname='大学英语'or cname='数学')and https://www.360docs.net/doc/008111788.html,o=https://www.360docs.net/doc/008111788.html,o group by sc.sno) select student.sno,sname,sdept,cno,grade from student,sc where Cno in (select Cno from course where cname='数学'or cname='大学英语')and sc.sno=student.sno 4、查询缺少成绩的所有学生的详细情况; select * from student,sc where Grade is null and student.sno=sc.sno 5、查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息; select * from student where sage <>(select sage from student where sname='张力') 6、查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩 select student.sno,sname,平均成绩=A VG(grade) from student ,sc

数据库原理与应用实验指导书(第二版)

数据库原理与应用实验指导书 高荣芳编 计算机工程实验室 2011年9月

目录 1实验前的准备 (1) 2 实验1数据库和数据表基本操作 (17) 3 实验2 数据查询 (20) 4 实验3 索引及视图操作 (22) 5 实验4 存储过程和触发器 (23) 6 实验5 T-SQL程序设计 (24) 7 实验6 数据库的完整性控制 (26) 8 实验7 安全管理 (28) 9 实验8 图书借阅信息系统数据库模式设计及应用 (29)

1实验前的准备 1.1 课程实验标准 《数据库原理与应用》是计算机科学与技术专业及相近各专业的一门重要基础理论课程。课程概括性的介绍了数据库技术发展历程,详细介绍了数据库系统的基本概念、基本原理、基本方法,阐述了数据库设计、实现的基本过程,同时也介绍了数据库系统的最新进展。通过本课程的学习,使学生牢固掌握数据库系统的基本概念和基本原理,熟悉数据库系统的主要实现方法,能够根据应用需要分析设计实用的数据库管理系统。 《数据库原理与应用》是一门实践性很强的课程,通过实验实践,配合课堂教学内容加深对数据库系统的基本概念、基本原理、基本方法的理解,掌握数据库系统设计的基本思想和基本步骤,熟悉关系数据库的标准语言SQL,并对关系数据库系统的某一典型系统(如SQL Server 2000)有较深入的了解,使学生对数据库系统有一个完整的、全面的认识。 1.课程实验的目标 《数据库原理与应用》课程上机实验的主要目标是: (1)通过上机操作,加深对数据库系统理论知识的理解。 (2)通过使用具体的数据库管理系统,了解一种实际的数据库管理系统,并掌握 其操作技术。 (3)通过实验题目的上机实践,提高学生的实践动手能力,提高学生的分析问题 和解决问题的能力。 2.主要软件实验环境 操作系统为Microsoft Windows 2000或更高级的版本。 数据库管理系统为Microsoft SQL Server 2000标准版或更高级的版本。 3.课程实验的基本要求 (1)每次实验前,教师需要向学生讲清楚本次实验的目的和基本要求;学生应当先弄清楚相关的理论知识,预习实验内容、方法和步骤,认真准备好实验程序和数据,避免出现盲目上机的行为。 (2)实验1人1组,在规定的时间内,由学生独立完成,出现问题时,教师要做好指导,但不能包办代替。 (3)任课教师要在实验课前清点学生人数,实验中按要求做好学生实验情况及结果记录,实验后认真填写实验记录、批改实验报告。 (4)学生最好自备计算机,课下能多做练习,以便能够熟悉和精通实验内容。 4. 实验项目设置及考核

相关文档
最新文档