合肥工业大学—SQL Server数据库实验三:SQL语句创建和删除基本表
SQL语句创建和删除基本表1. 编写6个基本表2. 修改基本表结构,完整性约束条件3. 用Drop table 语句删除基本表1. 编写6个基本表设有简单教学管理的6个关系模式如下:系(系编号,系名称、系主任、联系电话、地址)专业(专业编号、专业名称、所属系)教师(教师编号、姓名、所在系、电话、电子信箱)学生(学号、姓名、性别、出生日期、所学专业)课程(课程号、课程名、学分、先修课)学生选课(学号
·
SQL语句创建和删除基本表
1. 编写6个基本表
设有简单教学管理的6个关系模式如下:
系(系编号,系名称、系主任、联系电话、地址)
专业(专业编号、专业名称、所属系)
教师(教师编号、姓名、所在系、电话、电子信箱)
学生(学号、姓名、性别、出生日期、所学专业)
课程(课程号、课程名、学分、先修课)
学生选课(学号、课程号、成绩)
要求:在数据库EDUC中,创建对应的6个基本表,基本表的名称和属性名称由同学自行确定。
基本表的数据结构及完整性要求:
1. 系 (系编号,系名称、系主任、联系电话、地址)
系编号:字符型(定长),长度为4,主码
系名称:字符型(变长),长度20,非空
系主任:字符型(定长),长度为10
联系电话:字符型(变长),长度20
地址:字符型(变长),长度40
2. 专业 (专业编号、专业名称、所属系)
专业编号:字符型(定长),长度为2,主码
专业名称:字符型(变长),长度40,非空
所属系:字符型(定长),长度为4,外码
3. 教师 (教师编号、姓名、所在系、电话、电子信箱)
教师编号:字符型(定长),长度为10,主码
姓名:字符型(定长),长度10,非空
所在系:字符型(定长),长度为4,外码
电话:字符型(变长),长度20
电子信箱:字符型(变长),长度30
4. 学生 (学号、姓名、性别、出生日期、所学专业)
学号:字符型(定长),长度为10,主码
姓名:字符型(变长),长度20,非空,唯一
性别:字符型(定长),长度为2,性别只能为‘男‘ 或‘女’
出生日期:日期型(datetime)
所学专业:字符型(定长),长度为2,外码
5. 课程 (课程号、课程名、学分、先修课)
课程号:字符型(定长),长度为4,主码
课程名:字符型(变长),长度30
学分:数值型(长度为2,含1位小数)
先修课:字符型(定长),长度为4,外码
6. 学生选课 (学号、课程号、成绩)
学号:字符型(定长),长度为10,外码
课程号:字符型(定长),长度为4,外码
成绩:数值型(长度为4,含1位小数),成绩必须在:0~100分之间。
本表的主码为:(学号,课程号)。
-- 创建系表
create table department(
dpt_id char(4) primary key,
dpt_name varchar(20) not null,
dpt_head char(10),
dpt_phone varchar(20),
dpt_address varchar(40)
)
-- 创建专业表
create table major(
mj_id char(2) primary key,
mj_name varchar(40) not null,
mj_dpt char(4) foreign key references department(dpt_id)
)
-- 创建教师表
create table teacher(
tc_id char(10) primary key,
tc_name char(10) not null,
tc_dpt char(4) foreign key references department(dpt_id),
tc_phone varchar(20),
tc_email varchar(30)
)
-- 创建学生表
create table student(
st_id char(10) primary key,
st_name varchar(20) not null unique,
st_sex char(2) check(st_sex in('男','女')),
st_born datetime,
tc_mj char(2) foreign key references major(mj_id)
)
-- 创建课程表
create table course(
cs_id char(4) primary key,
cs_name varchar(30),
cs_credit numeric(2,1),
cs_prerequisite char(4) foreign key references course(cs_id)
)
-- 创建学生选课表
create table select_course(
sc_id char(10) foreign key references student(st_id),
sc_num char(4) foreign key references course(cs_id),
sc_grade numeric(4,1) check (sc_grade>0 and sc_grade<100)
primary key(sc_id,sc_num)
)
2. 修改基本表结构,完整性约束条件
用 Alter table 语句修改基本表的结构,以及完整性约束条件
1. 为学生表增加属性:班级,字符型(变长),长度20
-- 为学生表增加属性:班级,字符型(变长),长度20
alter table student add st_class varchar(20)
2. 为课程表添加一条完整性约束条件:课程名不允许为空值
-- 为课程表添加一条完整性约束条件:课程名不允许为空值
alter table course alter column cs_name varchar(30) not null
3. 删除学生表中的班级属性
-- 删除学生表中的班级属性
alter table student drop column st_class
4. 删除学生表中对学生姓名的唯一值限制
-- 删除学生表中对学生姓名的唯一值限制
alter table student drop constraint 约束名 --约束名通过图形化界面查看
3. 用Drop table 语句删除基本表
-- 创建一个新的基本表
create table test(
id char(10) primary key,
name varchar(10) not null
)
-- 删除该表。
drop table test
更多推荐
已为社区贡献3条内容
所有评论(0)