数据库实验-建立表和数据完整性

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

计算机科学与技术系

实验报告

专业名称软件工程

课程名称数据库实验

项目名称建立表和数据完整性

班级()班

学号

姓名

同组人员无

实验日期20 年月日

一、实验目的与要求:(简述本次实验要求达到的目的,涉及到的相关知识点,实验的具体要求。)

实验目的:

1.掌握表的基本操作。

1)建立表。

2)修改表的结构。

2.索引的建立方法。

3.掌握数据完整性的功能,加深对数据完整性的理解。

实验要求:

1)使用实验一的技术建立名称为“学生管理”数据库。

2)建立如图所示的订单管理数据库中的5张表,同时完成数据完整性的定义(实体完整性、参照完整性和用户定义的域完整性),各个表的具体描述如下:

院系

教师

3)修改表的结构,具体要求如下:

a.为学生表增加一个“平均成绩”字段,类型为短整型,默认是空值。

b.为课程表的“学时”字段重新定义约束:取值为8的倍数,不允许为空值。

c.将院系表的“名称”字段的类型修改为varchar(30)。

d.为教师表增加一个“工资”字段,类型为5位整数、2位小数的数值型。

4) 分别建立如下索引

a.在客户表的客户名称字段上建立普通升序索引。

b.在产品表的客户名称字段上建立惟一索引。

c.在订购单表的订单号字段上建立聚集索引。

d.在订单名细表的订单号(升序)、序号(升序)和数量(降序)三个字段上建立一个普通索引。

二、实验内容

(根据本次实验项目的具体任务和要求,完成相关内容,可包括:实验目的、算法原理、实验仪器、设备选型及连线图、算法描述或流程图、源代码、实验运行步骤、关键技术分析、测试数据与实验结果、其他)

1)、建立数据库

create database 学生管理

on

( name=order_dat,

filename='c:\mssql\data\orderdat.mdf',

size=10MB,

maxsize=50MB,

filegrowth=5MB)

log on

( name=order_log,

filename='d:\mssql\log\orderlog.ldf',

size=5MB,

maxsize=25MB,

filegrowth=5MB)

2)、建立表

create table 院系

(

编号int primary key,

名称char(20)not null,

负责人char(10),

办公地点char(20) , unique (名称))

(

学号char(8) primary key,

院系int foreign key references 院系(编号),

姓名char(10) not null,

性别char(2) check(性别like '男' or 性别like '女'), 生源char(6),

状态char(4))

(

教师编号char(8) primary key,

院系smallint foreign key references 院系(编号),

姓名char(10) not null,

性别char(2) check(性别like '男' or 性别like '女'),

职称char(6) check(职称like '教授' or 职称like '副教授' or 职称like '讲师' or 职称like '助教'),

专业char(10))

(

课程编号char(8) primary key,

课程名称char(20) not null,

责任教师char(8) foreign key references 教师(教师编号),

学时int not null,

课程性质char(10) check( 课程性质like '公共基础' or 课程性质like '专业基础'or 课程性质like '专业选修' or 课程性质like '任意选修'))

(

学号char(8) foreign key references 学生(学号),

课程编号char(8) foreign key references 课程(课程编号),

成绩int check(成绩>=0 and 成绩<=100)default null, primary key(学号, 课程编号))

3).修改表的结构,具体要求如下:

a为学生表增加一个“平均成绩”字段,类型为短整型,默认是空值。alter table 学生

add 平均成绩smallint default null

b为课程表的“学时”字段重新定义约束:取值为8的倍数,不允许为空值。alter table 课程

add check(学时/8=0)

c 将院系表的“名称”字段的类型修改为varchar(30)。alter table 院系

alter column 名称varchar(30)

d为教师表增加一个“工资”字段,类型为5位整数、2位小数的数值型。alter table 教师

add 工资 numeric(5,2)

4)分别建立如下索引

a.在客户表的客户名称字段上建立普通升序索引。create clustered

index cname_index

on customer(cname asc)

相关文档
最新文档