成绩管理数据库

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档