数据库管理系统实验报告含答案

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

XXXX大学《数据库管理系统》课程实验报告

班级:________ 姓名: ________ 实验时间:—年—月—日指导教

师: ______

一、实验目的

1通过实验,使学生全面了解最新数据库管理系统的基本内容、基本原理。

2、牢固掌握SQL SERVE的功能操作和Transact-SQL语言。

3、紧密联系实际,学会分析,解决实际问题。学生通过小组项目设计,能够运用最新数据库管理系统于管理信息系统、企业资源计划、供应链管理系统、客户关系管理系统、电子商务系统、决策支持系统、智能信息系统中

二、实验内容

1 •导入实验用示例数据库:

教学库.mdf

教学库」og.ldf

仓库库存.mdf

仓库库存」og.ldf

1.1将数据库导入

在 SqIServer 2005 导入已有的数据库(*.mdf)文件,在 SQL Server Management Studio 里连接上数据库后,选择新建查询,然后执行语句

EXEC sp_attach_db @dbname ='教学库', 教学库.mdf, 教学库」og.ldf

go

use [教学库]

EXEC sp_cha ngedbow ner 'sa'

go

EXEC sp_attach_db @db name ='仓库库存仓库库存.mdf,

仓库库存_log.ldf

go

use [仓库库存]

EXEC sp_cha ngedbow ner 'sa'

go 1.2可能出现问题

附加数据库出现无法打开物理文件"X.mdf"。操作系统错误5:"5(拒绝访问。)"。(Microsoft SQL Server,错误:5120)。”

解决:找到要附加的.mdf文件-->右键-->属性-->安全-->选择当前用户-->编辑-->完全控制。对.log文件进行相同的处理。

2.删除创建的数据库,使用T-SQL语句再次创建该数据库,主文件和日志文件的文

件名同上,要求:仓库库存_data最大尺寸为无限大,增长速度为20% ,日志文件初始大小为2MB,最大尺寸为5MB,增长速度为1MB。

CREATE DATABASE 仓库库存

(NAME ='仓库库存 _data',

仓库库存_data.MDF',

SIZE = 10MB,

FILEGROWTH = 20%)

LOG ON

(NAME ='仓库库存」og',

仓库库存」og. LDF',

SIZE = 2MB,

MAXSIZE = 5MB,

FILEGROWTH = 1MB) 2.1在数据库仓库库存”中完成下列操作。

(1)创建商品"表,表结构如表1 :

(2)创建仓库”表,表结构如表2:

表2仓库表

⑶创建库存情况”表,表结构如表3:

(1) USE 仓库库存 GO

3.数据库查询.

3.1试用SQL 的查询语句实现下列查询: (1 )统计有学生选修的课程门数。

答: SELECT COUNT(DISTINCT 课程号)FROM 选课 (2) 求选修C004课程的学生的平均年龄。 答:SELECT AVG(年龄)FROM 学生,选课

WHERE 学生•学生号=选课学生号and 课程号='C 04' (3) 求学分为3的每门课程的学生平均成绩。 答:SELECT 课程•课程号,AVG(成绩)FROM 课程,选课

WHERE 课程•课程号=选课•课程号and 学分=3 GROUP BY 课程.课程号

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

3人的课程才统计。要求输出课程号和选修

CREATE TABLE

商品 (商品编号 char(6)

NOT NULL PRIMARY KEY

商品名称 char(20) NOT NULL,

单价 Float,

生产商

Varchar

(30)

)

(2), ( 3)略。

仓库”表和 库存情况”表三表之间的关系图。

2.2建立商品”表、

2.3分别给商品”表、

仓库”表和库存情况”表添加数据。

人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。答:SELECT 课程号,COUNT(*) FROM 选课

GROUP BY课程号

HAVING COUNT(*) >3

ORDER BY COUNT(*) DESC, 课程号

(5)检索学号比王明同学大,而年龄比他小的学生姓名。

答: SELECT姓名FROM学生

WHERE学生号>(SELECT 学生号FROM学生

WHERE姓名='王明')

and 年龄<(SELECT 年龄FROM学生

WHERE姓名='王明')

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

答:SELECT姓名,年龄 FROM 学生

WHERE 姓名 LIKE 王%

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

答:SELECT学生号,课程号FROM选课

WHERE 成绩 IS NULL

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

答: SELECT姓名,年龄 FROM 学生

WHERE性别='男’

and 年龄 >(SELECT AVG(年龄)FROM 学生

WHERE性别=女’)

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

答: SELECT姓名,年龄 FROM 学生

WHERE性别='男’

and年龄 > all (SELECT 年龄 FROM 学生

WHERE性别=女’)

(10)检索所有比王明年龄大的学生姓名、年龄和性别。

答:SELECT姓名,年龄性别 FROM学生

WHERE 年龄 > (SELECT 年龄 FROM 学生

WHERE姓名=王明’)

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

答:SELECT学生号 FROM选课

WHERE 课程号='C00' and 成绩=(SELECT MAX(成绩)FROM 选课

WHERE 课程号='C00')(12)检索学生姓名及其所选修课程的课程号和成绩。

答:SELECT姓名,课程号,成绩FROM学生选课

相关文档
最新文档