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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

实验一数据库创建

一、实验目的

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,进行相应权限范围内的数据库操作。

相关文档
最新文档