数据库课后习题答案(第四版)
- 格式:doc
- 大小:228.50 KB
- 文档页数:31
数据库原理实验手册 实验一 实验名称:熟悉SQL SERVER 2000环境 一、实验目的 熟悉SQL SERVER 2000提供的服务管理器、企业管理器、查询分析器、客户端和服务器端网络实用工具等常用管理工具的使用。了解Windows身份验证和SQL Server身份验证这两种连接数据库服务器方式的不同,并能够使用某种连接方式登陆上SQL SERVER数据库服务器。学会使用SQL SERVER的联机丛中寻求帮助。 二、实验原理 使用SQL SERVER 2000提供的各种常用管理工具进行有关的操作。 三、实验设备 安装有SQL SERVER 2000的计算机。 四、实验内容 1. 启动SQL SERVER 服务。 2. 打开SQL SERVER的企业管理器,连接上SQL SERVER服务器。展开左边树状窗口的各级结点,观察右边内容窗口的变化。 3. 在SQL SERVER的企业管理器的树状窗口或内容窗口中选择某一项,点击鼠标右键,了解快捷菜单中的有关功能。 4. 使用Windows身份验证的连接方式打开SQL SERVER的查询分析器,在查询窗口用USE命令打开样例数据库pubs(也可以从工具栏中的数据库下拉列表中选择pubs数据库)。 5. 在查询窗口输入exec sp_help,运行后察看结果。 6. 在查询窗口输入select * from authors ,运行后察看结果。 7. 在SQL SERVER的查询分析器的“帮助”菜单中点击“目录与索引”,然后在SQL SERVER的联机丛中选“索引”,输入要查找的关键字“sp_help”、“exec”、“select”,了解它们的含义。 8. 在SQL SERVER的企业管理器中创建数据库S_T,并在该数据库中创建表student、course和sc,在创建表的同时可以创建各种约束。这三个表的结构可以参考书上85页的例5、例6和例7。 9.向各个表输入数据,各个表的数据可参考书56页的图。 10. 在SQL Server的查询分析器中打开S_T数据库,输入书中91页开始的例题,实现对数据库的查询。
实验二 实验名称:创建和修改数据库 一、实验目的 熟悉SQL SERVER的企业管理器和查询分析器的用户界面,掌握用企业管理器和查询分析器创建数据库,修改数据库和删除数据库的方法。了解数据库的三种文件类型:主数据文件(.mdf)、次要数据文件(.ndf)和事务日志文件(.ldf)。 二、实验原理 在企业管理器中实现对数据库的管理及使用T—SQL语句CREATE DATABASE、ALTER DATABASE及DROP DATABASE来实现数据库的创建、修改及删除。 三、实验设备 安装有SQL SERVER 2000的计算机。 四、实验示例 1. 创建名称为testdb的数据库,数据库中包含一个数据文件,逻辑文件名为testdb_data,磁盘文件名为,文件初始容量为2MB,最大容量为8MB,文件容量递增值为1MB;事务日志文件的逻辑文件名为testdb_log,磁盘文件名为,文件初始容量为1MB,最大容量为5MB,文件容量递增值为1MB。 CREATE DATABASE testdb ON ( NAME=testdb_data, FILENAME='d:\DATA\', SIZE=2MB, MAXSIZE=8MB, FILEGROWTH=1MB ) LOG ON (NAME=’testdb_log’, FILENAME='d:\DATA\', SIZE=1MB, MAXSIZE=5MB, FILEGROWTH=1MB ) 2. 对testdb数据库进行修改:添加一个数据文件,逻辑文件名为testdb2_data,磁盘文件名为,文件初始容量为1MB,最大容量为5MB,文件容量递增值为1MB。 ALTER DATABASE testdb ADD FILE (NAME=testdb2_data, FILENAME='d:\DATA\', SIZE=1MB, MAXSIZE=5MB, FILEGROWTH=1MB ) 五、实验内容 分别使用SQL SERVER 2000企业管理器和T—SQL语句,按下列要求创建、修改和删除用户数据库。 1. 删除数据库S_T,在查询分析器中用命令采用默认设置创建数据库S_T(只需给出数据库名)。 2. 创建名称为company的数据库,数据库中包含一个数据文件,逻辑文件名为company_data,磁盘文件名为,文件初始容量为5MB,最大容量为15MB,文件容量递增值为1MB;事务日志文件的逻辑文件名为company_log,磁盘文件名为,文件初始容量为5MB,最大容量为10MB,文件容量递增值为1MB。 3. 对该数据库进行修改:添加一个数据文件,逻辑文件名为company2_data,磁盘文件名为,文件初始容量为1MB,最大容量为5MB,文件容量递增值为1MB;将日志文件company_log的最大容量增加为15MB,文件容量递增值为2MB。 4. 在company数据库中添加一个文件组TempGroup,并向该文件组中添加一个容量为3MB,最大容量为10MB,递增量为1MB的数据文件,该数据文件的逻辑文件名为company3_data,磁盘文件名为。 5. 在company数据库中删除数据文件company2_data。 6. 删除数据库company。 7. 采用默认设置创建数据库company。
实验三 实验名称:创建和修改数据表 一、实验目的 熟悉有关数据表的创建和修改等工作,理解数据库模式的概念,了解主键约束、外键约束、UNIQUE约束和CHECK约束的创建和应用。要求学生熟练掌握使用企业管理器和T—SQL语句CREATE TABLE、ALTER TABLE及DROP TABLE语句对数据表进行管理。 二、实验原理 在企业管理器中实现表的创建和修改等工作及使用T—SQL语句CREATE TABLE、ALTER TABLE及DROP TABLE来实现数据表的创建、修改及删除。 三、实验设备 安装有SQL SERVER 2000的计算机。 四、实验示例 两个示例: 一个是书上的学生选课数据库S_T,S_T数据库中有学生表student,课程表course和学生选课表sc。各表的结构如下: 学生表student Sno char(5) Not null primary 学号 key Sname char(20) Not null 姓名 Ssex char(2) Not null 性别 Sage smallint Not null 年龄 Sdept char(20) Not null 系别
课程表course Cno char(4) Not null primary key 课程号
Cname char(40) Not null 课程名 Cpno char(4) 先行课 Ccredit smallint Not null 学分
学生选课表sc Sno char(5) Not null primary key 学号
Cno char(4) Not null primary key 课程号 Grade smallint 成绩 另一个示例是某公司的产品销售数据库company,company数据库中存在人事表employee、客户表customer、销售表sales、销售明细表sale_item、产品表product。各表的结构如下:
员工人事表employee emp_no char(5) Not null primary key 员工编号
emp_name varchar(10) Not null 员工姓名 sex char(2) Not null 性别 dept varchar(10) Not null 所属部门
title varchar(10) Not null 职称 date_hired datetime Not null 雇佣日 birthday datetime Null 生日 salary int Not null 薪水 telephone varchar(20) Null 电话
addr varchar(50) null 住址
客户表customer cust_id char(5) Not null primary key 客户号
cust_name varchar(20) Not null 客户名称 addr varchar(40) Not null 客户住址 tel_no varchar(20) Not null 客户电话 zip char(6) null 邮政编码 销售主表sales order_no int Not null primary key 订单编号
cust_id char(5) Not null 客户号 sale_id char(5) Not null 业务员编号 tot_amt numeric(9,2) Not null 订单金额
order_date datetime Not null 订货日期
销货明细表sale_item order_no int Not null primary key 订单编号 prod_id char(5) Not null primary key 产品编号 qty int Not null 销售数量 unit_price numeric(7,2) Not null 单价
order_date datetime null 订单日期
产品名称表product prod_id char(5) Not null primary key 产品编号
prod_name varchar(20) Not null 产品名称
1.创建表及相应的约束 create table employee1( emp_no char(5) not null check(emp_no like '[E-F][0-9][0-9][0-9][0-9]'),