武汉纺织大
学《最新数据库管理系统》课程实验报告
班级: _______姓名: 实验时间: 年 月 日 指导教师:_______
一、实验目的
1、通过实验,使学生全面了解最新数据库管理系统的基本内容、基本原理。
2、牢固掌握SQL SERVER的功能操作和Transact-SQL语言。 3、紧密联系实际,学会分析,解决实际问题。学生通过小组项目设计,能够运用最新数据库管理系统于管理信息系统、企业资源计划、供应链管理系统、客户关系管理系统、电子商务系统、决策支持系统、智能信息系统中等。
二、实验内容
1.导入实验用示例数据库: f:\\教学库.mdf
f:\\教学库_log.ldf
f:\仓库库存.mdf f:\\仓库库存_log.ldf
1.1 将数据库导入
在SqlServer 2005 导入已有的数据库(*.mdf)文件,在SQL Server Management Studio里连接上数据库后,选择新建查询,然后执行语句
EXEC sp_attach_db @dbname = '教学库', @ = 'f:\\教学库.mdf', @ = 'f:\\教学库_log.ldf' go
use [教学库]
EXEC sp_changedbowner 'sa' go
EXEC sp_attach_db @dbname = '仓库库存',
@ = 'f:\仓库库存.mdf', @ = 'f:\\仓库库存_log.ldf' go
use [仓库库存]
EXEC sp_changedbowner 'sa' go
1.2 可能出现问题
附加数据库出现“无法打开物理文件 \mdf\。操作系统错误 5:\拒绝访问。)\。 (Microsoft SQL Server,错误: 5120)”。
解决:找到要附加的.mdf文件-->右键-->属性-->安全-->选择当前用户-->编辑-->完全控制。对.log文件进行相同的处理。
2.删除创建的数据库,使用T-SQL语句再次创建该数据库,主文件和日志文件的文件名同上,要求:仓库库存_data最大尺寸为无限大,增长速度为20%,日志文件初始大小为2MB,最大尺寸为5MB,增长速度为1MB。
CREATE DATABASE仓库库存 (NAME = '仓库库存_data',
= 'F:\\仓库库存_data.MDF' , SIZE = 10MB, = 20%) LOG ON
(NAME ='仓库库存_log',
= 'F:\\仓库库存_log. LDF', SIZE = 2MB, MAXSIZE = 5MB, = 1MB)
2.1 在数据库“仓库库存”中完成下列操作。 (1)创建“商品”表,表结构如表1:
表1 商品表 列名 商品编号 商品名称 单价 生产商
数据类型 Char Varchar Float Varchar 长度 6 20 30 是否允许为空值 NOT NULL NOT NULL, 说明 主键
(2)创建“仓库”表,表结构如表2:
表2 仓库表 列名 仓库编号 仓库地址 数据类型 Char Varchar 长度 3 20 是否允许为空值 NOT NUL NOT NULL 说明 主键
(3)创建“库存情况”表,表结构如表3:
表3 库存情况表 列名 仓库编号 商品编号 数量 数据类型 Char Char int 长度 3 6 是否允许为空值 NOT NULL NOT NUL 说明 主键 主键
(1)USE仓库库存 GO
CREATE TABLE 商品
(商品编号 char(6) NOT NULL PRIMARY KEY, 商品名称 char(20) NOT NULL, 单价 Float,
生产商 Varchar (30) )
(2),(3)略。
2.2 建立“商品”表、“仓库”表和“库存情况”表三表之间的关系图。
2.3分别给“商品”表、“仓库”表和“库存情况”表添加数据。
3.数据库查询.
3.1 试用SQL的查询语句实现下列查询: (1)统计有学生选修的课程门数。
答:SELECT COUNT(DISTINCT 课程号) FROM 选课 (2)求选修C004课程的学生的平均年龄。 答:SELECT AVG(年龄) FROM 学生,选课
WHERE 学生.学生号=选课.学生号 and 课程号=’C004’ (3)求学分为3的每门课程的学生平均成绩。
答:SELECT 课程.课程号,AVG(成绩) FROM 课程,选课
WHERE 课程.课程号=选课.课程号and 学分=3 GROUP BY 课程.课程号
(4)统计每门课程的学生选修人数,超过3人的课程才统计。要求输出课程号和选修