SQL 实验作业.docx
《SQL 实验作业.docx》由会员分享,可在线阅读,更多相关《SQL 实验作业.docx(18页珍藏版)》请在冰豆网上搜索。
SQL实验作业
数据库原理与应用课程设计
——《数据库原理与应用实验报告》
学号:
09094083
班级:
人力09-3
姓名:
张利全
电子邮箱:
867982883@
指导教师:
肖开锋
中国矿业大学管理学院
2012年4月
一、实验目的
掌握创建数据库、设置数据库属性等技术;掌握系统提供的数据类型、使用SQL语言和各种工具创建表、创建索引、修改表结构和删除表的技术;掌握使用约束和规则以及外键实现关系的实体完整性和参照完整性。
二、实验工具
SQLServer2000
三、实验内容
1、创建数据库
要求:
创建了一个Employee数据库,该数据库的主数据文件逻辑名称为employee_data,物理文件名为Employee.mdf,初始大小为10MB,最大尺寸为50MB,增长速度为10%;数据库的日志文件逻辑名称为employee_log,物理文件名为Employee.ldf,初始大小为5MB,最大尺寸为25MB,增长速度为1MB。
2、创建表,要求:
使用SQl语句创建一个雇员信息表person,一个月薪表salary和一个部门表department。
所创建表的结构如下所示:
表1雇员信息表person
字段名
数据类型
字段长度
是否允许为空
说明
Pno
Char
6
Notnull
工人编号,主键
Pname
Varchar
10
Notnull
姓名
Sex
Char
2
Notnull
性别
Birthday
Datetime
Null
出生日期
Prof
Varchar
10
NotNull
职称
Deptno
Char
4
Notnull
部门代码,外键(参照department表)
表2月薪表salary
字段名
数据类型
字段长度
是否允许为空
说明
Pno
Char
6
Notnull
(工人编号、month),主键
Base
Dec
5
Null
基本工资(要求base>=800)
Bonus
Dec
5
Null
奖金(要求bonus>=200)
Month
Int
Notnull
月份
Fact
Dec
5
Null
实发工资=基本工资+奖金
表3部门表department
字段名
数据类型
字段长度
是否允许为空
说明
Deptno
Char
4
Notnull
部门代码,主键
Dname
Varchar
10
NotNull
部门名称
MGRno
char
6
Null
部门负责人(参照雇员信息表Pno)
●注:
以下的实验项目都采用此Employee数据库。
3、创建规则sex_rule并与sex列绑定,指定性别列的取值只能为男或者女。
4、分别定义Check约束base_check和bonus_check,要求salary表的base不小于800,bonus不小于200。
5、创建3个表之间的参照完整性约束,person的工人编号和salary的工人编号,以及person的部门代码和department的部门代码之间。
6、利用sql语句创建视图
要求:
在雇员信息表person基础上创建员工视图personview,其中包括工人编号,姓名,性别,职称和部门代码字段。
7、为表创建索引
要求:
(1)在雇员信息表Person的姓名列上创建一个唯一索引name_unique
(2)在月薪表salary上,去掉原有的主键约束,并在Pno列上创建聚簇索引pno_idx
(3)删除索引pno_idx。
8、打开企业管理器,练习使用企业管理器完成上述1-7的任务。
四、实验过程和结果分析
创建了一个Employee数据库
物理文件名为Employee.mdf
该数据库的主数据文件逻辑名称为employee_data
初始大小为10MB,最大尺寸为50MB,增长速度为10%
物理文件名为Employee.ldf,
数据库的日志文件逻辑名称为employee_log,
初始大小为5MB,最大尺寸为25MB,增长速度为1MB。
创建表
将表转化为TXT
其他两表同理
性别规则
Check约束(另一个同理)
参照完整性
创建视图
创建索引
取消约束
聚集索引
删除索引(已删除状态)