建立表和定义完整性约束
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学与技术系
实验报告
专业名称计算机科学与技术
课程名称数据库系统及应用
项目名称建立表和定义完整性约束
班级
学号
姓名
实验日期 2015/10/27
一、实验目的与要求:熟练掌握表的建立和数据完整性约束的定义方法,实践DBMS提供的数据完整性功能,加深对数据完整性的理解。
实验要求:(1)用CREATE DATABASE命令建立数据库(自己命名数据库的名称)。
(2)用CREATE SCHEMA命令建立架构(自己命名架构的名称)。
(3)在定义的架构下参考课本138页图5-1所示的样本数据库和表5-8具体要求使用TABLE命令建立表并定义完整性约束。
(4)使用ALTER TABLE命令按如下要求修改表结构:
①为学生表增加一个“平均成绩”字段,类型为短整形,默认是空值;
②为课程表的“学时”字段重新定义约束:取值为8的倍数,不允许为空值;
③将院系表的名称字段的类型修改为varchar(30)。
④为教师表增加一个工资字段,类型为5位整数、2位小数的数值型。
二、实验方法:(代码)
--create database
create database 学生管理系统
create table yuanxi
(
编号 smallint primary key,
名称 char(20) unique not null,
负责人 char(10),
办公地点 char(20)
)
--drop table yuanxi
create table xuesheng
(
学号 char(8) primary key,
院系 smallint foreign key references yuanxi(编号),
姓名 char(10) not null,
性别 char(2) check (性别 = '男' or 性别 = '女'),
生源 char(6),
状态 char(4) check (状态 = '正常' or 状态 = '留级' or 状态 = '休学' or 状态 = '退学') )
create table jiaoshi
(
教师编号 char(8) primary key,
院系 smallint foreign key references yuanxi(编号),
姓名 char(10) not null,
性别 char(2) check (性别 = '男' or 性别 = '女'),
职称 char(6) check (职称 = '教授' or 职称 = '副教授' or 职称 = '讲师' or 职称 = '助教'), 专业 char(10)
)
create table kecheng
(
课程编号 char(8) primary key,
课程名称 char(20) not null,
负责讲师 char(8) foreign key references jiaoshi(教师编号),
学时 smallint not null,
课程性质 char(10) check(课程性质 = '公共基础' or 课程性质 = '专业基础' or 课程性质 = '专业选修' or 课程性质 = '任意选修')
)
create table xuanke
(
学号 char(8)
foreign key references xuesheng(学号),
课程编号 char(8) foreign key references kecheng(课程编号),
成绩 smallint check(成绩 >= 0 and 成绩 <=100) default null ,
primary key(学号,课程编号)
)
--drop table xuanke
alter table xuesheng
add 平均成绩 smallint default null
alter table xuesheng
drop column 平均成绩
alter table jiaoshi
add 工资 numeric(5,2)
alter table yuanxi
alter column 名称 varchar(30)
alter table kecheng
add check (学时 / 8 =0)
三、实验分析与小结:
数据库是一门很难学的课程,而且,我在平时比较少关注这方面的东西,所以,我在做这个实验的时候就觉得十分的困难。很多的时候我都需要别人的帮助。我是一个比较粗心的人,因此,我在做这个实验的时候没有留意输入的时候要用英文符号,要加空格。所以,我总是出现错误,让我觉得很烦恼。但是,在做这个实验的时候,我觉得一点快乐。因为我又接触了以前我从未接触过的东西,我又学了一点新的知识。过程是最重要的,在这个实验过程中我学会了新知识,这是最重要的。
得分(百分制)