当前位置:文档之家› 教务管理系统-sql

教务管理系统-sql

教务管理系统

苏伟2012012567

目录第一章数据库设计

1.1 实体属性图设计

1.2 实体关系图设计

1.2 关系模式

1.3 数据表结构

1.4 数据库关系图

第二章创建数据库

2.1 建立数据库

2.2 建立数据表

第三章插入数据

3.1 insert语句插入数据

3.2 excel导入数据

第一章数据库设计1.1 ER图设计

如图1-1教师实体属性图

教师

教师编号

教师姓名

性别职称入职时间

教研室编号

电话

电子邮箱

图1-1 如图1-2 教室实体属性图

教室

教室编号

教室名称

容纳人数

教学楼编号

负责人姓名

教室类型

图1-2 如图1-3 课程实体属性图

课程

课程编号

课程名称

专业编号

图1-3

如图1-4 课程班实体属性图

课程班

课程班编号

课程班名称

教师编号教室编号

课程编号

学分

学时

课程属性

图1-4

如图1-5学生实体关系图

学生姓名

出生日期手机号码

电子邮箱

班级编号

学号

性别

籍贯

图1-5 如图1-6 成绩实体关系图

成绩

成绩编号

课程班编号平时成绩期末成绩

学号

图1-6 如图1-7 班级实体关系图

班级

班级编号

班级名称

班级人数专业编号

班长姓名

图1-7

如图1-8 教研室实体关系图

教研室

教研室编号

教研室名称

专业编号教师人数研究方向

图1-8

如图1-9 专业实体关系图

专业

专业编号

专业名称

学院编号专业人数

图1-9

如图1-10 学院实体关系图

学院学院编号

学院名称

院长姓名学院联系

方式

校区编号

图1-10

如图1-11 教学楼实体关系图

教学楼

教学楼编号教学楼名称校区编号

图1-11

如图1-12 校区实体属性图

校区名称

校区编号校区地址

校区

图1-12

如图1-1 校区实体属性图

校区

校区编号校区地址

校区名称

图1-1

如图

第二章创建数据库

2.1 建立数据库

create database db

on

(

name='db',

filename='F:\123\db.mdf',

size=5MB,

filegrowth=5%

)

go

2.2 建立数据表

2.2.1建立教师表

create table教师

(

教师编号nchar(8)primary key(教师编号),

教师姓名nchar(10)not null,

电子邮箱nchar(30)not null,

性别nchar(1)not null,

职称nchar(5)not null,

入职时间datetime null,

电话nchar(15)null,

教研室编号nchar(8)not null,

foreign key(教研室编号)references教研室(教研室编号)

)

教师数据类型数据长度索引类型是否为空备注教师编号nchar() 8 主键否

教师姓名nchar()10 —否

电子邮箱nchar() 30 —否

性别nchar() 1 —否

职称nchar() 5 —否

入职时间datetime —是

电话nchar()15 —是

教研室编号nchar()8 外键否

2.2.2建立教室表

2.2.3建立课程表

create table课程

(

课程编号nchar(10)primary key(课程编号),

课程名称nchar(25)not null,

专业编号nchar(6)not null,

foreign key(专业编号)references专业(专业编号)

)

课程数据类型数据长度索引类型是否为空备注课程编号nchar() 10 主键否

课程名称nchar() 25 —否

专业编号nchar() 6 外键否

2.2.4建立课程班表

create table课程班

(

课程班编号nchar(8)primary key(课程班编号),

课程班名称nchar(20)not null,

学时tinyint not null,

学分numeric(4,1)not null,

教室编号nchar(6)not null,

教师编号nchar(6)not null,

课程编号nchar(10)not null,

foreign key(教师编号)references教师(教师编号),

foreign key(教室编号)references教室(教室编号),

foreign key(课程编号)references课程(课程编号)

)

alter table课程班add课程属性nchar(8)

课程班数据类型数据长度索引类型是否为空备注课程班编号nchar() 8 主键否

课程班名称nchar() 20 —否

学时tinyint —否

学分numeric() 4,1 —否

教室编号nchar() 6 外键否

教师编号nchar() 6 外键否

课程编号nchar() 10 外键否

课程属性nchar() —否

2.2.5建立学生表

create table学生

(

学号nchar(10)primary key(学号),

姓名nchar(10)not null,

性别nchar(1)null,

出生日期datetime null,

手机号码nchar(15)null,

电子邮箱nchar(30)null,

班级编号nchar(8)not null,

籍贯nchar(20)null,

foreign key(班级编号)references班级(班级编号)

)

学生数据类型数据长度索引类型是否为空备注学号nchar() 10 主键否

姓名nchar() 10 —否

性别nchar() 1 —是

出生日期datetime —是

手机号码nchar() 15 —是

电子邮箱nchar() 30 —是

班级编号nchar() 8 —否

籍贯nchar() 20 外键是

2.2.6建立成绩表

create table成绩

(

学号nchar(10)not null,

成绩编号nchar(12)primary key(成绩编号),

课程班编号nchar(8)not null,

平时成绩numeric(6,2)null,

期末成绩numeric(6,2)null,

foreign key(学号)references学生(学号),

foreign key(课程班编号)references课程班(课程班编号)

)

成绩数据类型数据长度索引类型是否为空备注学号nchar() 10 —否

成绩编号nchar() 12 主键否

课程班编号nchar() 8 —否

平时成绩numeric() 6,2 外键是

期末成绩numeric() 6,2 外键是

2.2.7建立班级表

create table班级

(

班级编号nchar(8)primary key(班级编号),

班级名称nchar(15)not null,

班级人数int null,

专业编号nchar(6)not null,

班长姓名nchar(10)null,

foreign key(专业编号)references专业(专业编号)

)

班级数据类型数据长度索引类型是否为空备注班级编号nchar() 8 主键否

班级名称nchar() 15 —否

班级人数int —是

专业编号nchar() 6 —否

班长姓名nchar() 10 外键是

2.2.8建立教研室表

create table教研室

(

教研室编号nchar(8)primary key(教研室编号),

教研室名称nchar(20)not null,

教师人数tinyint null,

研究方向nchar(50)null,

专业编号nchar(6)not null,

foreign key(专业编号)references专业(专业编号)

)

教研室数据类型数据长度索引类型是否为空备注教研室编号nchar() 8 主键否

教研室名称nchar() 20 —否

教师人数tinyint —是

研究方向nchar() 60 —是

专业编号nchar() 6 外键否

2.2.9建立专业表

create table专业

(

专业编号nchar(6)primary key(专业编号),

专业名称nchar(25)not null,

专业人数int null,

学院编号nchar(4)not null,

foreign key(学院编号)references学院(学院编号)

)

专业数据类型数据长度索引类型是否为空备注专业编号nchar() 6 主键否

专业名称nchar() 25 —否

专业人数int —是

学院编号nchar() 4 外键否

2.2.10建立学院表

create table学院

(

学院编号nchar(4)primary key(学院编号),

学院名称nchar(20)not null,

院长姓名nchar(10)not null,

学院联系方式nchar(15)not null,

校区编号char(2)not null,

foreign key(校区编号)references校区(校区编号)

)

学院数据类型数据长度索引类型是否为空备注学院编号nchar() 4 主键否

学院名称nchar() 20 —否

院长姓名nchar() 10 —否

nchar() 15 —否

学院联系方

校区编号char() 2 外键否

2.2.11建立教学楼表

create table教学楼

(

教学楼编号nchar(6)primary key(教学楼编号),

教学楼名称nchar(20)not null,

校区编号char(2)not null,

foreign key(校区编号)references校区(校区编号)

)

教学楼数据类型数据长度索引类型是否为空备注教学楼编号nchar() 6 主键否

教学楼名称nchar() 20 —否

校区编号char() 2 外键否

2.2.12建立校区表

create table校区

(

校区编号char(2)primary key(校区编号),

校区名称nchar(10)not null,

校区地址nchar(30)not null

)

校区数据类型数据长度索引类型是否为空备注校区编号char() 2 主键否

校区名称nchar() 10 —否

校区地址nchar() 30 —否

2.2.13建立时间表

create table时间

(

时间编号nchar(8)primary key(时间编号),

节nchar(8)not null,

星期nchar(8)not null,

周数int not null,

学期编号nchar(8)not null,

foreign key(学期编号)references学期(学期编号)

)

时间数据类型数据长度索引类型是否为空备注时间编号nchar() 8 主键否

节nchar() 8 —否

星期nchar() 8 —否

周数int —否

学期编号nchar() 8 外键否

2.2.14 建立学期表

create table学期

(

学期编号nchar(8)primary key(学期编号),

学期nchar(8)not null,

学年编号nchar(8)not null,

foreign key(学年编号)references学年(学年编号)

)

学期数据类型数据长度索引类型是否为空备注学期编号nchar() 8 主键否

学期nchar() 8 —否

学年编号nchar() 8 外键否

2.2.15建立学年表

create table学年

(

学年编号nchar(8)primary key(学年编号),

学年nchar(8)not null

)

学年数据类型数据长度索引类型是否为空备注学年编号nchar() 8 主键否

学年nchar() 8 —否

2.2.16 建立选课表

create table选课

(

选课编号nchar(8)primary key(选课编号),

课程班编号nchar(8)not null,

时间编号nchar(8)not null,

学号nchar(10)not null,

foreign key(课程班编号)references课程班(课程班编号),

foreign key(时间编号)references时间(时间编号),

foreign key(学号)references学生(学号)

)

选课数据类型数据长度索引类型是否为空备注选课编号nchar() 8 主键否

课程班编号nchar() 8 —否

时间编号nchar() 8 —否

学号nchar() 10 —否

选课

PK 选课编号FK1课程班编号FK2时间编号FK3

学号

教研室PK 教研室编号 教研室名称 教师人数

研究方向

班级PK

班级编号 班级名称 班级人数

班长姓名

学年PK 学年编号

学年

学期PK 学期编号 学期

FK1

学年编号

课程PK 课程编号 课程名称FK1

专业编号

成绩PK 成绩编号FK2学号

FK1课程班编号 平时成绩

期末成绩

学生PK

学号 姓名 性别

出生日期 手机号码 电子邮箱FK1班级编号

籍贯

课程班PK 课程班编号 课程班名称 学时 学分

FK2教室编号FK1教师编号FK3课程编号

课程属性

PK 教师

教师 性别 职称 入职 教研 电话

电子

时间PK 时间编号 节 星期 周数

FK1

学期编号

教室

PK

教室编号

教室名称 负责人姓名 容纳人数 教学楼编号

教室类型

专业PK 专业编号 专业名称 专业人数FK1

学院编号

学院PK 学院编号 学院名称 院长姓名

学院联系方式FK1

校区编号

校区PK 校区编号 校区名称

校区地址

教学楼PK 教学楼编号 教学楼名称FK1

校区编号

第三章 插入数据

3.1 insert 语句插入数据

3.1.1 教师表插入数据

insert into教师(教师编号,教师姓名,电子邮箱,性别,职称,入职时间,电话,教研室编号) values('t00001','钟绍春','188********@https://www.doczj.com/doc/c6602772.html,','男','教授','2002-09-01','188********','jy0001') insert into教师(教师编号,教师姓名,电子邮箱,性别,职称,入职时间,电话,教研室编号) values('t00002','王鹏','188********@https://www.doczj.com/doc/c6602772.html,','男','教授','2002-09-01','188********','jy0001') insert into教师(教师编号,教师姓名,电子邮箱,性别,职称,入职时间,电话,教研室编号) values('t00003','王文勇','188********@https://www.doczj.com/doc/c6602772.html,','男','教授','2002-09-01','188********','jy0001') insert into教师(教师编号,教师姓名,电子邮箱,性别,职称,入职时间,电话,教研室编号) values('t00004','付宏杰','188********@https://www.doczj.com/doc/c6602772.html,','女','教授','2002-09-01','188********','jy0001') insert into教师(教师编号,教师姓名,电子邮箱,性别,职称,入职时间,电话,教研室编号) values('t00005','房至一','188********@https://www.doczj.com/doc/c6602772.html,','男','教授','2002-09-01','188********','jy0001') insert into教师(教师编号,教师姓名,电子邮箱,性别,职称,入职时间,电话,教研室编号) values('t00006','郑晓娟','188********@https://www.doczj.com/doc/c6602772.html,','女','教授','2002-09-01','188********','jy0001') insert into教师(教师编号,教师姓名,电子邮箱,性别,职称,入职时间,电话,教研室编号) values('t00007','张绍伟','188********@qq.co m','男','教授','2002-09-01','188********','jy0002') insert into教师(教师编号,教师姓名,电子邮箱,性别,职称,入职时间,电话,教研室编号) values('t00008','孙业霞','188********@https://www.doczj.com/doc/c6602772.html,','女','教授','2002-09-01','188********','jy0003') insert into教师(教师编号,教师姓名,电子邮箱,性别,职称,入职时间,电话,教研室编号) values('t00009','刘志勇','188********@https://www.doczj.com/doc/c6602772.html,','男','教授','2002-09-01','188********','jy0001') insert into教师(教师编号,教师姓名,电子邮箱,性别,职称,入职时间,电话,教研室编号) values('t00010','张合','188********@https://www.doczj.com/doc/c6602772.html,','女','教授','2002-09-01','188********','jy0004')

select*from教师

3.1.2 教室表插入数据

insert into教室(教室编号,教室名称,负责人姓名,容纳人数,教学楼编号,教室类型)

values('js0001','软件','徐雷',300,'jxl001','阶梯教室')

insert into教室

values('js0002','计算机','徐电',300,'jxl001','阶梯教室')

insert into教室

values('js0003','综合教','徐风',200,'jxl002','阶梯教室')

insert into教室

values('js0004','综合教','徐雨',200,'jxl002','阶梯教室')

insert into教室

values('js0005','软件','徐雾',100,'jxl001','电脑机房')

insert into教室

values('js0006','政法教','徐霜',100,'jxl003','教室')

insert into教室

values('js0007','经济','徐雷',100,'jxl004','教室')

insert into教室

values('js0008','传媒','徐雪',200,'jxl005','教室')

错误原因是

修改教学楼编号类型

alter table教室

alter column教学楼编号nchar(6)not null

go

select*from教室

苏伟

3.1.3 课程表插入数据

insert into课程(课程编号,课程名称,专业编号)

values('c00001','SQLServer数据库设计','zy0001')

insert into课程

values('c00002','计算机组成原理','zy0001')

insert into课程

values('c00003','动态网页设计','zy0001')

insert into课程

values('c00004','汇编语言程序设计','zy0001')

insert into课程

values('c00005','篮球','zy0004')

insert into课程

values('c00006','编译原理','zy0001')

insert into课程

values('c00007','地理科学概论','zy0006')

select*from课程

3.1.4 课程班表插入数据

insert into课程班(课程班编号,课程班名称,学时,学分,教师编号,教室编号,课程编号,课程属性) values('kcb0001','SQLServe数据库设计课程班',34,2,'t00002','js0005','c00001','专业选修')

insert into课程班(课程班编号,课程班名称,学时,学分,教师编号,教室编号,课程编号,课程属性) values('kcb0002','计算机组成原理课程班',68,4,'t00005','js0001','c00002','专业必修')

insert into课程班(课程班编号,课程班名称,学时,学分,教师编号,教室编号,课程编号,课程属性) values('kcb0003','动态网页设计课程班',34,2,'t00009','js0005','c00003','专业选修')

insert into课程班(课程班编号,课程班名称,学时,学分,教师编号,教室编号,课程编号,课程属性) values('kcb0004','汇编语言程序设计课程班',34,2,'t00004','js0005','c00004','专业选修')

insert into课程班(课程班编号,课程班名称,学时,学分,教师编号,教室编号,课程编号,课程属性) values('kcb0005','篮球教学课程班',17,1,'t00007','js0001','c00005','必修')

insert into课程班(课程班编号,课程班名称,学时,学分,教师编号,教室编号,课程编号,课程属性) values('kcb0006','编译原理课程班',68,4,'t00006','js0001','c00006','专业必修')

insert into课程班(课程班编号,课程班名称,学时,学分,教师编号,教室编号,课程编号,课程属性) values('kcb0007','地理科学概论课程班',34,2,'t00010','js0001','c00007','通识选修')

select*from课程班

3.1.5学生表插入数据

insert into学生(学号,姓名,性别,出生日期,班级编号,手机号码,电子邮箱,籍贯)

values('2012012567','苏伟','男','1993-2-5','bj0001','188********','100662360@https://www.doczj.com/doc/c6602772.html,','江苏省宿迁市')

insert into学生(学号,姓名,性别,出生日期,班级编号,手机号码,电子邮箱,籍贯)

values('2012012901','赵一','男','1993-1-1','bj0001','188********','100000001@https://www.doczj.com/doc/c6602772.html,','江苏省南京市')

insert into学生(学号,姓名,性别,出生日期,班级编号,手机号码,电子邮箱,籍贯)

values('2012012902','赵二','男','1993-1-2','bj0001','188********','100000002@https://www.doczj.com/doc/c6602772.html,','江苏省无锡市')

insert into学生(学号,姓名,性别,出生日期,班级编号,手机号码,电子邮箱,籍贯)

values('2012012903','孙三','女','1993-2-5','bj0002','188********','100000003@https://www.doczj.com/doc/c6602772.html,','吉林省长春市')

insert into学生(学号,姓名,性别,出生日期,班级编号,手机号码,电子邮箱,籍贯)

values('2012012904','李四','女','1993-4-5','bj0002','188********','100000004@https://www.doczj.com/doc/c6602772.html,','浙江省杭州

相关主题
文本预览
相关文档 最新文档