数据库实验报告.docx
- 文档编号:29977567
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:10
- 大小:118.08KB
数据库实验报告.docx
《数据库实验报告.docx》由会员分享,可在线阅读,更多相关《数据库实验报告.docx(10页珍藏版)》请在冰豆网上搜索。
数据库实验报告
计算机信息工程学院学生实验报告(实验3)
专业:
网络工程姓名:
学号:
日期:
2010.11.8
课程名称
数据库
实验室名称
实验名称
创建和修改数据表
指导教师
成绩
一、实验目的
熟悉有关数据表的创建和修改等工作,理解数据库模式的概念,了解主键约束、外键约束、UNIQUE约束和CHECK约束的创建和应用。
要求学生熟练掌握使用企业管理器和T—SQL语句CREATETABLE、ALTERTABLE及DROPTABLE语句对数据表进行管理。
二、实验原理
在企业管理器中实现表的创建和修改等工作及使用T—SQL语句CREATETABLE、ALTERTABLE及DROPTABLE来实现数据表的创建、修改及删除。
三、实验设备
安装有SQLSERVER2000的计算机。
四、实验示例
两个示例:
●一个是书上的学生选课数据库S_T,S_T数据库中有学生表student,课程表course和学生选课表sc。
各表的结构如下:
学生表student
Sno
char(5)
Notnull
primarykey
学号
Sname
char(20)
Notnull
姓名
Ssex
char
(2)
Notnull
性别
Sage
smallint
Notnull
年龄
Sdept
char(20)
Notnull
系别
课程表course
Cno
char(4)
Notnull
primarykey
课程号
Cname
char(40)
Notnull
课程名
Cpno
char(4)
先行课
Ccredit
smallint
Notnull
学分
学生选课表sc
Sno
char(5)
Notnull
primarykey
学号
Cno
char(4)
Notnull
primarykey
课程号
Grade
smallint
成绩
另一个示例是某公司的产品销售数据库company,company数据库中存在人事表employee、客户表customer、销售表sales、销售明细表sale_item、产品表product。
各表的结构如下:
员工人事表employee
emp_no
char(5)
Notnull
primarykey
员工编号
emp_name
varchar(10)
Notnull
员工姓名
sex
char
(2)
Notnull
性别
dept
varchar(10)
Notnull
所属部门
title
varchar(10)
Notnull
职称
date_hired
datetime
Notnull
雇佣日
birthday
datetime
Null
生日
salary
int
Notnull
薪水
telephone
varchar(20)
Null
电话
addr
varchar(50)
null
住址
客户表customer
cust_id
char(5)
Notnull
primarykey
客户号
cust_name
varchar(20)
Notnull
客户名称
addr
varchar(40)
Notnull
客户住址
tel_no
varchar(20)
Notnull
客户电话
zip
char(6)
null
邮政编码
销售主表sales
order_no
int
Notnull
primarykey
订单编号
cust_id
char(5)
Notnull
客户号
sale_id
char(5)
Notnull
业务员编号
tot_amt
numeric(9,2)
Notnull
订单金额
order_date
datetime
Notnull
订货日期
销货明细表sale_item
order_no
int
Notnull
primarykey
订单编号
prod_id
char(5)
Notnull
primarykey
产品编号
qty
int
Notnull
销售数量
unit_price
numeric(7,2)
Notnull
单价
order_date
datetime
null
订单日期
产品名称表product
prod_id
char(5)
Notnull
primarykey
产品编号
prod_name
varchar(20)
Notnull
产品名称
1.创建表及相应的约束
createtableemployee1(
emp_nochar(5)notnullcheck(emp_nolike'[E-F][0-9][0-9][0-9][0-9]'),
emp_namechar(10)notnull,
emp_sexchar
(1)notnullcheck(emp_sexin('m','f')),
emp_phonechar(13)notnull,
emp_addvarchar(60)notnull,
emp_salarychar(5)notnullcheck(emp_salarybetween60000and80000)
)
go
2.修改表
altertableemployee
addconstraintck_phonecheck(phonelike’[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
[0-9][0-9][0-9][0-9][0-9]’)
五、实验内容
分别在SQLSERVER2000企业管理器和在查询分析分析器中使用T—SQL语句完成以下操作:
●针对S_T数据库:
1.创建student表,设置Sno为主键;在Sno列上创建核查约束,要求学号各个位上只能取数字字符;在Ssex列上创建核查约束,要求性别只能取“男”或“女”;在Sage列上创建核查约束,要求学生的年龄只能在14至38之间。
2.创建course表,设置列Cno为主键;在Cno列上创建核查约束,要求课程号只能取数字字符。
3.创建sc表,设置主键为Sno与Cno的组合;在Grade列上创建核查约束,限定成绩只能在0-100。
4.修改course表,在表中为Cpno列添加一外键约束Fk_Cpno,它参照了course表的主键Cno。
5.修改sc表,在表中为Sno添加一外键约束Fk_Sno,它参照了student表中的主键Sno;为Cno添加外键约束Fk_Cno,它参照了course表中的主键Cno。
●针对company数据库:
1.在数据库company中创建以上五张表,并设置各表的主键。
2.在销售主表sales中添加字段“发票号码”invoice_no,char(10),NOTNULL。
3.
4.添加外键约束:
a)在销售主表sales的业务员编号字段sale_id上添加外键约束,参照字段为员工表employee中的字段员工编号emp_no,约束名为FK_sale_id。
b)在销售主表sales的客户号字段cust_id上添加外键约束,参照字段为客户表customer中的字段客户号cust_id,约束名为FK_cust_id。
c)在销售明细表sale_item的订单编号字段order_no上添加外键约束,参照字段为销售主表sales中的字段订单编号order_no,约束名为FK_order_no。
d)在销售明细表sale_item的产品编号字段prod_id上添加外键约束,参照字段为产品名称表product中的产品编号字段prod_id,约束名为FK_prod_id。
e)
5.添加核查约束:
a)将员工表employee中的薪水字段salary的值限定在1000至10000间,约束名为CK_salary。
b)将员工表employee中的员工编号字段emp_no设定为以“E”字母开头,后面跟5位数的编号,约束名为CK_emp_no。
c)将员工表employee中的性别字段设定这取值只能是“男”和“女”。
约束名为CK_sex。
d)将销售主表sales中的发票号码字段invoice_no设定为以“I”字母开头,后面跟9位数的编号,约束名为CK_inno。
5.为销售主表sales中的字段发票号码invoice_no设置为唯一约束,约束名为UN_inno。
6.实验结果:
对S_T数据库
1.创建student表
2.创建course表
3.创建sc表
4.修改course表
5.修改sc表
●针对company数据库:
1.创建五张表
2.在销售主表sales中添加字段“发票号码”invoice_no,char(10),NOTNULL。
4.a)
b)
c)
d)
5.
a)
b)
c)
d)
6.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 报告