成绩管理数据库.doc
文本预览下载声明
设有一数据库GradeManager(成绩管理),包括四个表:学生表(Student)、课程表(Course)、班级表(Class)以及成绩表(Grade)。四个表的结构如图2-4所示,数据如图2-5所示。用SQL语句创建四个表。
Student学生表
属性名 数据类型 可否为空 含义 Sno Char(7) 否 学号(唯一) Sname VarChar(20) 否 学生姓名 Ssex Char(2) 否 性别 Sage Smallint 可 年龄 Clno Char(5) 否 学生所在班级
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课程表
属性名 数据类型 可否为空 含义 Cno Char(1) 否 课程号(唯一) Cname VarChar(20) 否 课程名称 Credit Smallint 可 学分 use GradeManager
go
create table Course
(课程号 char(1) primary key,
课程名称 varchar(20) not null,
学分 smallint
)
gouse GradeManager
go
create table Class
(班级号 char(5) primary key,
专业 varchar(20) not null,
入学年份 char(4) not null,
班级人数 integer ,
班长学号 char(7)
)
Go
Grade成绩表
属性名 数据类型 可否为空 含义 Sno Char(7) 否 学号 Cno Char(1) 否 课程号 Gmark Decimal(4,1) 可 成绩 use GradeManager
go
create table Grade
(学号 char(7) not null,
课程号 char(1) not null,
成绩 decimal(4,1)
)
gouse 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课程表
属性名 数据类型 可否为空 含义 完整性约束 Cno Char(1) 否 课程号 主码 Cname VarChar(20) 否 课程名称 Credit Smallint 可 学分 1、2、3、4、5、6之一 use GradeManager
go
alter table Course
add constraint PK_Course primary key (课程号)
go
--为课程号添加主键
alter table Course
add constraint ck_Course check (学分=1or 学分=2 or 学分=3 or 学分=4 or 学分=5 or 学分=6)
go
--添加check约束,指定学分只能为1,2,3,4,5,6
Class班级表
属性名 数据类型 可否为空 含义 完整性约束 Clno Char(5) 否 班级号 主码 Speciality VarChar(20) 否 班级所在专业 Inyear Char(4) 否 入校年份 Number Integer 可 班级人数 大于1,小于100 Monitor Char(7) 可 班长学号
显示全部