当前位置:文档之家› 数据库原理与应用实验指导书-2012(10电商科)

数据库原理与应用实验指导书-2012(10电商科)

《数据库原理与应用》实验指导书
实验一数据库创建
一、实验目的
1、掌握在SQL-SERVER 2005平台下创建数据库的过程与方法。

2、理解数据完整性的基本概念,并掌握其实现方法。

二、实验预备知识
1、SQL-SERVER数据库文件特点。

2、数据库完整性、主码、外码、默认值、空值、CHECK约束基本概念与相关基础知识。

三、实验内容
(一)“仓库库存”数据库创建
1、在E盘下新建一个名为“data”的文件夹。

(要求将后面创建的数据库文件均存储在该文件夹下)
2、启动SQL Server Management Studio,连接数据库服务器,观察其界面环境。

3、创建名为“仓库库存”的数据库,并设置数据库主文件名为仓库库存_data,大小为10MB,日志文件名为仓库库存_log,大小为2MB。

4、删除上一步创建的数据库,使用T-SQL语句再次创建该数据库,主文件和日志文件的文件名同上,要求:仓库库存_data最大尺寸为无限大,增长速度为20%,日志文件初始大小为2MB,最大尺寸5MB,增长速度为1MB。

5、在数据库“仓库库存”中完成下列操作。

(1)创建“商品”表,表结构如表1所示。

(2)创建“仓库”表,表结构如表2所示。

(3)创建“库存情况”表,表结构如表3所示。

7、分别给3个表添加数据如表4至表6所示:
表5仓库表
(二)“教学库”的创建
1、创建名为“教学库”的数据库。

2、在“教学库”中创建“学生”表。

使用下列语句:CREATE TABLE student
(sno char(7) PRIMARY KEY,
sname char(8) NOT NULL,
ssex char(2),
sage tinyint
sdept char(20)
)
3、在“教学库”中创建“课程”表。

使用下列语句:CREATE TABLE Course
(cno char(6) PRIMARY KEY,
cname char(20) NOT NULL,
credit tinyint,
semester tinyint,
primary key(cno)
)
4、在“教学库”中创建“选课”表。

使用下列语句:CREATE TABLE SC
(sno char(7) NOT NULL,
cno char(6) NOT NULL,
grade tinyint,
PRIMARY KEY(sno,cno),
FOREIGN KEY(sno) REFERENCE student(sno), FOREIGN KEY(cno) REFERENCE course(cno))
5、建立三个表之间的关系图。

6、向表中输入数据。

实验二 T-SQL应用
一、实验目的
1、理解T-SQL查询语句的常用功能及书写方法,并掌握其应用。

2、掌握记录添加、删除、修改语句的使用。

3、掌握视图的创建方法。

4、掌握存储过程、触发器和游标的使用方法。

5、掌握事务和安全管理的基本操作。

二、实验预备知识
1、SELECT查询语句的常用格式。

其基本结构可描述为:
SELECT<目标列名序列>
FROM<数据库源>
[WHERE <检索条件表达式>]
[GROUP BY <分组依据列>[HA VING <组筛选条件>]]
[ORDER BY <排序依据列>]
2、关系代数基础知识。

3、投影查询、选择查询、排序查询、聚集函数、联接查询、子查询的实现方法。

4、记录添加、删除、修改语句的格式与功能。

(1)INSERT 语句
INSERT [INTO] table_name [(column_list)] V ALUES(expression_list)
(2)UPDATE 语句
UPDATE table_name SET column_name=expression WHERE search_condition (3)DELETE语句
DELETE [FROM] table_name WHERE search_condition
5、视图的创建
CREATE VIEW 视图名AS SQL语句
6、存储过程的创建
CREATE PROCEDURE 存储过程名
[{@参数名数据类型} [=default] [OUTPUT] [,……n]]
AS SQL语句[……n]
7、存储过程的调用
EXECUTE 存储过程名[实参[,OUTPUT] [,…n]]
三、实验内容
针对“教学库”中的三个表,完成下列操作:
1、练习教材第5章的有关例题。

2、实现下列查询操作:
(1)统计有学生选修的课程门数。

(2)求选修C04课程的学生的平均年龄。

(3)求学分为3的每门课程的学生平均成绩。

(4)统计每门课程的学生选修人数,超过3人的课程才统计。

要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。

(5)检索年龄比李勇小的学生姓名。

(6)检索姓名以张打头的所有学生的姓名和年龄。

(7)检索成绩为空值的学生学号和课程号。

(8)求年龄大于女同学平均年龄的男学生姓名和年龄。

(9)求年龄大于所有女同学年龄的男学生姓名和年龄。

(10)检索选修课程C01的学生中成绩最高的学生的学号。

(11)检索学生姓名及其所选修课程的课程号和成绩。

(12)检索选修2门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。

4、利用控制流语句,查询学号为9531101的学生的各科成绩,如果没有这个学生的成绩,就显示“此学生无成绩”。

5、针对“仓库库存”中的“商品”表,查询商品的商品号、商品名和价格等级(单价1000元以内为“低价商品”,1000~3000元为“中等人们价位商品”,3000元以上为“商价商品”)。

6、利用T-SQL语句创建一个视图,该视图包含“信息学”专业的学生号和姓名。

通过修改该视图来实现对学生表的修改。

7、利用T-SQL语句创建一个查询每个学生的平均成绩的视图,要求包含学生的学生号、姓名和平均成绩。

8、创建存储过程,从课程表中返回指定的课程的信息。

该存储过程对传递的参数进行模式匹配,如果没有提供参数,则返回所有课程的信息。

9、为选课表建立一个修改触发器,用来防止将60分以下的成绩改为60分以上。

利用T-SQL扩展方式声明一个游标,查询学生表中所有男生的信息,并读取数据。

要求:
(1)读取最后一条记录。

(2)读取第一条记录。

(3)读到第5条记录。

(4)读取当前记录指针位置后第3条记录。

10、创建一个事务,将所有考生的考试成绩都加5分,并提交。

11、创建一个事务,向商品表中添加一条记录,设置保存点;再将商品编号为ds-001的单价改为2000。

然后撤销该事务
12、创建3个新的SQL Server登录:a1、a2、a3。

并设置数据库用户的权限。

用这3个登录名登录SQL Server,进行相应权限范围内的数据库操作。

*实验三 ADO应用程序设计
一、实验目的
1、掌握ADO DATA控件及ADO对象的基本使用方法
2、掌握通过客户端开发工具(VB)用ADO访问数据库的实现方法
二、实验预备知识
1、ADO DATA控件的主要属性、方法和事件
2、ADO对象(Connection 、Recordset对象)的主要属性、方法和事件
3、开发工具知识(VB)
三、实验内容
1、应用ADO DATA控件创建一个窗体应用程序(Form1)。

该窗体用于显示学生信息。

当点击“查找”按钮时,显示Form2。

Form2上DataGrid中的数据是根据Form1中当前显示的学号值而查找出来的学生的姓名,所修课程名及考试成绩。

在Form2上单击“返回”命令按钮,可以返回到Form1,同时卸载Form2。

2、用ADO对象方法实现如下窗体应用程序。

相关主题