学生-课程数据库xscj中用到的四个表文件如下:
1.学生表(Student表)
Student表(学生表)结构
字段名称 | 数据类型 | 长度 | 空值 | 说明 |
Sno | char | 10 | 否 | 学号 |
Sname | varchar | 8 | 否 | 姓名 |
Ssex | char | 2 | √ | 性别 |
Sbirth | smalldatetime | √ | 出生日期 | |
Sage | smallint | √ | 年龄 | |
Dno | char | 2 | 否 | 系代号 |
Student表(学生表)记录
Sno | Sname | Ssex | Sbirth | Sage | Dno | 备注 |
2012314101 | 李勇 | 男 | 1995-09-13 | 20 | DX01 | 12计算机1班 |
2012314102 | 刘晨 | 女 | 1996-07-28 | 19 | DX01 | 12计算机1班 |
2012314201 | 欧阳原野 | 男 | 1998-11-02 | 17 | DX01 | 12计算机2班 |
2012314202 | 周小李 | 女 | 1997-01-15 | 18 | DX01 | 12计算机2班 |
2012394101 | 郑涛 | 男 | 1996-05-14 | 19 | DX01 | 12网络1班 |
2012394201 | 吴小莉 | 女 | 1997-11-05 | 18 | DX01 | 12网络2班 |
2012374120 | 王敏 | 女 | 1999-07-16 | 18 | DX02 | 12电子信息工程1班 |
2012214230 | 欧大海 | 男 | 1996-04-04 | 19 | LX01 | 12数学与应用数学2班 |
2.课程表(Course表)
Course表(课程表)结构
字段名称 | 数据类型 | 长度 | 空值 | 说明 |
Cno | char | 6 | 否 | 课程编号 |
Cname | varchar | 20 | √ | 课程名称 |
Cpno | char | 6 | √ | 先修课 |
Ccredit | smallint | √ | 学分 |
Course表(课程表)记录
Cno | Cname | Cpno | Ccredit |
1 | 数据库 | 5 | 4 |
2 | 数学 | NULL | 2 |
3 | 信息系统 | 1 | 4 |
4 | 操作系统 | 6 | 3 |
5 | 数据结构 | 7 | 4 |
6 | 数据处理 | NULL | 2 |
7 | PASCAL语言 | 6 | 4 |
8 | DB_Design | 1 | 2 |
3.成绩表(SC表)
SC表(成绩表)结构
字段名称 | 数据类型 | 长度 | 空值 | 说明 |
Sno | char | 10 | 否 | 学号 |
Cno | char | 6 | 否 | 课程编号 |
Grade | smallint | √ | 成绩 |
SC表(成绩表)记录
Sno | Cno | Grade |
2012314101 | 1 | 92 |
2012314101 | 2 | 59 |
2012314101 | 3 | 88 |
2012314102 | 1 | 78 |
2012314102 | 2 | 95 |
2012314102 | 3 | 80 |
2012314201 | 1 | 90 |
2012314202 | 1 | 80 |
2012394101 | 1 | 69 |
2012394201 | 1 | 88 |
2012374120 | 1 | 45 |
2012214230 | 1 | 100 |
2012314101 | 4 | NULL |
4.系表(Department表)
Department表(系表)结构
字段名称 | 数据类型 | 长度 | 空值 | 说明 |
Dno | char | 2 | 否 | 系代号 |
Dname | varchar | 20 | √ | 系名称 |
College | varchar | 20 | √ | 所属学院 |
Department表(系表)结构
Dno | Dname | College |
DX01 | 计算机系 | 电信学院 |
DX02 | 电子系 | 电信学院 |
LX01 | 数学系 | 理学院 |
LX02 | 物理系 | 理学院 |
代码
USE fsyxscj
CREATE TABLE Student
( Sno char(10) PRIMARY KEY,
Sname Varchar(8) NOT NULL,
Ssex char(2) DEFAULT '男' CHECK(Ssex in('男','女')),
Sbirth smalldatetime NULL,
Sage int null,
Dno char(4) NOT NULL
)
CREATE TABLE Department
( Dno char(4) PRIMARY KEY,
Dname Varchar(20) NOT NULL,
College Varchar(20)
)
CREATE TABLE Course
(Cno char(6) PRIMARY KEY,
Cname varchar(20) NOT NULL,
Cpno char(6) Null,
Ccredit smallint
)
CREATE TABLE SC
(Sno char(10) NOT NULL,
Cno char(6) NOT NULL,
Grade int CHECK(Grade BETWEEN 0 AND 100),
PRIMARY KEY(Sno,Cno),
FOREIGN KEY (Sno) REFERENCES Student(Sno),
FOREIGN KEY (Cno) REFERENCES Course(Cno)
)
数据插入
INSERT INTO Student VALUES('2012314101','李勇','男','1995-09-13',null,'DX01')
INSERT INTO Student VALUES('2012314102','刘晨','女','1996-07-28',null,'DX01')
INSERT INTO Student VALUES('2012314201','欧阳原野','男','1998-11-02',null,'DX01')
INSERT INTO Student VALUES('2012314202','周小李','女','1997-01-15',null,'DX01')
INSERT INTO Student VALUES('2012394101','郑涛','男','1996-05-14',null,'DX01')
INSERT INTO Student VALUES('2012394201','吴小莉','女','1997-11-05',null,'DX01')
INSERT INTO Student VALUES('2012374120','王敏','女','1999-07-16',null,'DX02')
INSERT INTO Student VALUES('2012214230','欧大海','男','1996-04-04',null,'LX01')
UPDATE Student SET Sage=year(getdate())-year(Sbirth)
INSERT INTO Department VALUES('DX01','计算机系','电信学院')
INSERT INTO Department VALUES('DX02','电子系','电信学院')
INSERT INTO Department VALUES('LX01','数学系','理学院')
INSERT INTO Department VALUES('LX02','物理系','理学院')
INSERT INTO Course VALUES('1','数据库','5',4)
INSERT INTO Course VALUES('2','数学',NULL,2)
INSERT INTO Course VALUES('3','信息系统','1',4)
INSERT INTO Course VALUES('4','操作系统','6',3)
INSERT INTO Course VALUES('5','数据结构','7',4)
INSERT INTO Course VALUES('6','数据处理',NULL,2)
INSERT INTO Course VALUES('7','C语言',6,4)
INSERT INTO Course VALUES('8','DB_Design',1,2)
INSERT INTO SC VALUES('2012314101','1',92)
INSERT INTO SC VALUES('2012314101','2',59)
INSERT INTO SC VALUES('2012314101','3',88)
INSERT INTO SC VALUES('2012314102','1',78)
INSERT INTO SC VALUES('2012314102','2',90)
INSERT INTO SC VALUES('2012314102','3',80)
INSERT INTO SC VALUES('2012314201','1',90)
INSERT INTO SC VALUES('2012314202','1',80)
INSERT INTO SC VALUES('2012394101','1',85)
INSERT INTO SC VALUES('2012374120','1',45)
INSERT INTO SC VALUES('2012214230','1',100)
INSERT INTO SC VALUES('2012314101','4',NULL)