数据库实验建立表和数据完整性.docx
- 文档编号:27650157
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:17
- 大小:849.43KB
数据库实验建立表和数据完整性.docx
《数据库实验建立表和数据完整性.docx》由会员分享,可在线阅读,更多相关《数据库实验建立表和数据完整性.docx(17页珍藏版)》请在冰豆网上搜索。
数据库实验建立表和数据完整性
计算机科学与技术系
实验报告
专业名称软件工程
课程名称数据库实验
项目名称建立表和数据完整性
班级()班
学号
姓名
同组人员无
实验日期20年月日
一、实验目的与要求:
(简述本次实验要求达到的目的,涉及到的相关知识点,实验的具体要求。
)
实验目的:
1.掌握表的基本操作。
1)建立表。
2)修改表的结构。
2.索引的建立方法。
3.掌握数据完整性的功能,加深对数据完整性的理解。
实验要求:
1)使用实验一的技术建立名称为“学生管理”数据库。
2)建立如图所示的订单管理数据库中的5表,同时完成数据完整性的定义(实体完整性、参照完整性和用户定义的域完整性),各个表的具体描述如下:
院系
字段名
数据类型
主关键字
外部关键字
参照的表
取值说明
编号
短整数
Yes
名称
20个字符
唯一,不允许为空值
负责人
10个字符
办公地点
20个字符
学生
字段名
数据类型
主关键字
外部关键字
参照的表
取值说明
学号
8个字符
Yes
院系
短整数
Yes
院系表的编号字段
10个字符
不允许空值
性别
2个字符
必须取值“男”或“女”
生源
6个字符
状态
4个字符
教师
字段名
数据类型
主关键字
外部关键字
参照的表
取值说明
教师编号
8个字符
Yes
院系
短整数
Yes
院系表的编号字段
10个字符
不允许为空值
性别
2个字符
必须取值“男”或“女”
职称
6个字符
取值“教授”、“副教授”、“讲师”或“助教”
专业
10个字符
课程
字段名
数据类型
主关键字
外部关键字
参照的表
取值说明
课程编号
8个字符
Yes
课程名称
20个字符
不允许为空值
责任教师
8个字符
Yes
教师表的教师编号字段
学时
短整数
不允许为空值
课程性质
10个字符
取值为公共基础、专业基础、专业选修和任意选修
选课
字段名
数据类型
主关键字
外部关键字
参照的表
取值说明
学号
8个字符
Yes
Yes
学生表的学号字段
课程编号
8个字符
Yes
Yes
课程表的课程编号字段
成绩
短整型
取值在0~100之间,并且默认为空值
3)修改表的结构,具体要求如下:
a.为学生表增加一个“平均成绩”字段,类型为短整型,默认是空值。
b.为课程表的“学时”字段重新定义约束:
取值为8的倍数,不允许为空值。
c.将院系表的“名称”字段的类型修改为varchar(30)。
d.为教师表增加一个“工资”字段,类型为5位整数、2位小数的数值型。
4)分别建立如下索引
a.在客户表的客户名称字段上建立普通升序索引。
b.在产品表的客户名称字段上建立惟一索引。
c.在订购单表的订单号字段上建立聚集索引。
d.在订单名细表的订单号(升序)、序号(升序)和数量(降序)三个字段上建立一个普通索引。
二、实验容
(根据本次实验项目的具体任务和要求,完成相关容,可包括:
实验目的、算法原理、实验仪器、设备选型及连线图、算法描述或流程图、源代码、实验运行步骤、关键技术分析、测试数据与实验结果、其他)
1)、建立数据库
createdatabase学生管理
on
(name=order_dat,
filename='c:
\mssql\data\orderdat.mdf',
size=10MB,
maxsize=50MB,
filegrowth=5MB)
logon
(name=order_log,
filename='d:
\mssql\log\orderlog.ldf',
size=5MB,
maxsize=25MB,
filegrowth=5MB)
2)、建立表
createtable院系
(
编号intprimarykey,
名称char(20)notnull,
负责人char(10),
办公地点char(20),unique(名称))
createtable学生
(
学号char(8)primarykey,
院系intforeignkeyreferences院系(编号),
char(10)notnull,
性别char
(2)check(性别like'男'or性别like'女'),
生源char(6),
状态char(4))
createtable教师
(
教师编号char(8)primarykey,
院系smallintforeignkeyreferences院系(编号),
char(10)notnull,
性别char
(2)check(性别like'男'or性别like'女'),
职称char(6)check(职称like'教授'or职称like'副教授'or职称like'讲师'or职称like'助教'),
专业char(10))
createtable课程
(
课程编号char(8)primarykey,
课程名称char(20)notnull,
责任教师char(8)foreignkeyreferences教师(教师编号),
学时intnotnull,
课程性质char(10)check(课程性质like'公共基础'or课程性质like'专业基础'or课程性质like'专业选修'or课程性质like'任意选修'))
createtable选课
(
学号char(8)foreignkeyreferences学生(学号),
课程编号char(8)foreignkeyreferences课程(课程编号),
成绩intcheck(成绩>=0and成绩<=100)defaultnull,primarykey(学号,课程编号))
3).修改表的结构,具体要求如下:
a为学生表增加一个“平均成绩”字段,类型为短整型,默认是空值。
altertable学生
add平均成绩smallintdefaultnull
b为课程表的“学时”字段重新定义约束:
取值为8的倍数,不允许为空值。
altertable课程
addcheck(学时/8=0)
c将院系表的“名称”字段的类型修改为varchar(30)。
altertable院系
altercolumn名称varchar(30)
d为教师表增加一个“工资”字段,类型为5位整数、2位小数的数值型。
altertable教师
add工资numeric(5,2)
4)分别建立如下索引
a.在客户表的客户名称字段上建立普通升序索引。
create clustered
indexame_index
on customer(cname asc)
b.在产品表的客户名称字段上建立惟一索引
create unique clusteredindex
cname_indexon product(cname)
c.在订购单表的订单号字段上建立聚集索引。
create clustered
index dno_index
on dinggou(dno)
d.在订单名细表的订单号(升序)、序号(升序)和数量(降序)三个字段上建立一个普通索引。
createclustered
indexdno_index
ondingdan(dnoasc,duxasc,dshudesc)
三、实验分析与小结:
(实验过程中的问题分析、产生的原因以及解决方法;实验结果分析;有待优化思路)
通过本次实验,掌握表的基本操作:
建立表、修改表的结构。
索引的建立方法以及掌握数据完整性的功能,加深对数据完整性的理解。
但是我对这些操作都不怎么熟练,应该多加实践。
四、其它
得分(百分制)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 建立 数据 完整性