成绩管理数据库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.设有一数据库GradeManager(成绩管理),包括四个表:学生表(Student)、课程表
(Course)、班级表(Class)以及成绩表(Grade)。四个表的结构如图2-4所示,数据如图2-5所示。用SQL语句创建四个表。
Student学生表
use GradeManager
go
create table Student
(学号char(7)primary key,
姓名nchar(4)not null,
性别nchar(1)not null,
年龄smallint,
班级char(5)not null
)
Go
Course课程表
use GradeManager
go
create table Course
(课程号char(1)primary key,
课程名称varchar(20)not null,
学分smallint
)
go
use GradeManager
go
create table Class
(班级号char(5)primary key,
专业varchar(20)not null,
入学年份char(4)not null,
班级人数integer,
班长学号char(7)
)
Go
Grade成绩表
go
create table Grade
(学号char(7)not null,
课程号char(1)not null,
成绩decimal(4,1)
)
go
图2-4 成绩管理数据库中的表结构
Course课程表
Class班级表
Grade成绩表
图2-5 成绩管理数据库中的数据
加入完整性约束说明,如图3-6所示,请用SQL语句完成图中约束的说明。
Student学生表
use GradeManager
go
alter table Student
add constraint PK_Student
primary key (学号)
go
--添加主键约束
alter table Student
add constraint DF_sex default ('男')for性别
go
--添加默认值,默认性别为男
alter table Student
add constraint ck_xingbie check (性别='男'or性别='女')
go
--添加check约束,指定性别输入为男或女
alter table student
add constraint ck_nianling check (年龄between 14 and 65);
go
--添加check约束,指定年龄输入范围是14~65
alter table Student
add constraint FK_class_student
foreign key (班级)
References Class(班级号)
--添加外键约束
on delete cascade
--指定为级联删除
go
Course课程表
use GradeManager
go
alter table Course
add constraint PK_Course primary key (课程号)
go
--为课程号添加主键
alter table Course
add constraint ck_Course check (学分='1'or学分='2'or学分='3'or学分='4' or学分='5'or学分='6')
go
--添加check约束,指定学分只能为1,2,3,4,5,6
Class班级表
use GradeManager
go
alter table class
add constraint CK_banjirenshu check (班级人数>1 and班级人数<100)
go
--添加check约束,指定班级人数为1~100
alter table Class
add constraint FK_Student_Class
foreign key (班长学号)
References Student(学号)
go
--添加外键,在class表的【班长学号】字段列上添加一个名为FK_Student_Class 的外键约束,该外键参照Student表的主键字段列【学号】
Grade成绩表
use
go
alter table grade
add constraint FK_Student_Grade
foreign key (学号)
References Student(学号)
--添加外键,在grade表的【学号】字段列上添加一个名为FK_Student_ grade 的外键约束,该外键参照Student表的主键字段列【学号】
on delete cascade
--指定为级联删除
go
alter table grade
add constraint FK_Course_Grade
foreign key (课程号)
References Course(课程号)
--添加外键,在grade表的【课程号】字段列上添加一个名为FK_Course_ grade 的外键约束,该外键参照Course表的主键字段列【课程号】
on delete cascade
--指定为级联删除
go
alter table Grade