一、实体及属性定义
(1)表 1 系统管理员表 admin
数据类型
字段名
admin_no
admin_name
admin_sex
admin_title
admin_password
char(5)
char(10)
char(2)
char(20)
varchar(20)
主键
否
否
否
否
否
可否为空
键引用
备注
管理员编号
管理员姓名
性别
职称
登入密码
备注
院系编号
院系名称
备注
专业编号
专业名称
所属院系
(2) 表 2 院系表 faculty
字段名
数据类型 可否为空
键引用
faculty_id
faculty_name
char(20)
char(20)
否
否
主键
(3)表 3 专业表 major
字段名
数据类型 可否为空
键引用
major_id
major_name
major_faculty
char(20)
char(20)
char(20)
否
否
否
主键
外键
(4)表 4 班主任表 classteacher
字段名
classtea_no
classtea_name
classtea_sex
classtea_major
classtea_faculty
数据类型
可否为空
键引用
备注
char(20)
char(20)
char(2)
char(20)
char(20)
否
否
否
否
否
主键
外键
外键
班主任编号
班主任姓名
性别
所属专业
所属学院
(5)表 5 班级表 classes
字段名
数据类型
可否为空
键引用
备注
class_no
char(20)
class_name
char(20)
classtea_no
char(5)
否
否
否
主键
班级编号
班级名称
外键
班主任编号
(6) 表 6 学生表 student
字段名
数据类型 可否为空
键引用
stu_no
stu_name
stu_sex
char(10)
char(20)
char(2)
否
否
否
主键
备注
学生学号
学生姓名
性别
stu_class
stu_major
stu_faculty
char(20)
char(20)
char(20)
否
否
否
外键
外键
外键
所属班级
所属专业
所属学院
(7)表 7 教师表 teacher
字段名
数据类型
tea_no
tea_name
tea_sex
tea_faculty
char(10)
char(20)
char(2)
char(20)
可否为空
否
否
否
否
键引用
备注
主键
外键
任课老师编号
任课老师姓名
性别
所属学院
(8)表 8 院领导表 collegeleader
字段名
collegeleader_no
collegeleader_name
数据类型 可否为空 键引用
char(5) 否
char(20) 否
主键
备注
学院领导编号
学院领导姓名
collegeleader_sex
collegeleader_faculty
title
char(2) 否
char(20) 否
char(20) 否
外键
性别
所属学院
职称
(9)表 9 学校领导表 schoolleader
字段名
数据类型 可否为空 键引用
备注
schoolleader_no
schoolleader_name
schoolleader_sex
dept
title
char(5)
char(20)
char(2)
char(20)
char(20)
否
否
否
否
否
主键
学校领导编号
学校领导姓名
性别
所属部门
职称
(10)表 10 课程信息表 course
数据类型
字段名
course_no
char(13)
course_name
char(20)
course_xz
char(20)
可否为空
键引用
备注
否
否
否
主键
课程编号
课程名称
课程性质
(11)表 11 学生上课出勤记录表 kaoqin_record
字段名
数据类型
可否为空 键引用
备注
kaoqin_id
sk_time
stu_number
char(13)
datetime
char(10)
否
否
否
主键
上课出勤编号
上课时间
外键
学生学号
stu_status
teacher_no
course_no
char(10)
char(10)
char(13)
否
否
否
学生上课考勤状态
外键
外键
教师编号
课程编号
(12)表 12 请假信息表 qingjia
数据类型
字段名
id
class_id
stu_no
leave_reason
start_time
end_time
day_number
qingjia_time
class_tea_id
可否为空 键引用
char(20)
否
char(10)
否
char(10)
否
varchar(200) 否
主键
外键
外键
datetime
datetime
int
datetime
char(5)
否
否
否
否
否
备注
请假代号
班级代号
学生学号
请假原因
开始时间
结束时间
请假天数
外键
申请请假时间
班主任代号
datetime
char(10)
班主任审批状态
class_tea_sp_sta
tus
class_tea_sp_tim
e
coll_leader_sp_s
tatus
coll_leader_id
coll_leader_sp_t
ime
备注:status 表示审批状态:0 为等待审批,1 为同意请假,2 为不同意请假。
院系领导审批状
态
院系领导代号
院系领导审批时
间
char(5)
datetime
班主任审批时间
否
否
否
否
否
char(10)
外键
二、E-R 图
1
n
1n
学院专业课程
名称
编号
开设
学号 姓名
专业
专业名称 所属学院编号姓名
编号
课程号 课程名
课程性质
n
n
m
n
编号 姓名
授课 聘请
所属院系
性别
属于
教师
考勤
性别
1
m
n
1
学生 学院领导
性别
班级
院系
所属院系
属于
n
1
1
n
职称 编号 姓名
所属专业
班级
班主任管理
假条
请假
名称
编号
编号 学号
所属学院班主任
性别
…… 原因
图 1 学生考勤管理系统 E-R 图
三、使用如下命令创建数据库:
CREATE DATABASE 学生考勤管理系统
ON (NAME='学生考勤管理系统_DATA',
FILENAME='D:\ 学生考勤管理系统.MDF',
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=5%)
LOG ON
(NAME='学生考勤管理系统_Log',
FILENAME='e:\学生考勤管理系统_Log.ldf',
SIZE=2MB,
MAXSIZE=5MB,
FILEGROWTH=1MB)
四、1、创建系统管理员表 admin
create table admin
(
admin_no char(5) not null,
admin_name char(10) not null,
admin_sex char(2) check (admin_sex='男' or admin_sex='女'),
admin_title char(20) not null,
admin_password varchar(20) not null,
constraint pk_admin primary key (admin_no)
)
2、院系表 faculty
create table faculty
(
faculty_id char(20) not null,
faculty_name char(20) not null,
constraint pk_faculty primary key (faculty_id)
)
3、专业表 major
create table major
(
major_id char(20) not null,
major_name char(20) not null,
major_faculty char(20)
constraint pk_major primary key (major_id)
references faculty(faculty_id),
)
4、班主任表 classteacher
create table classteacher
(
classtea_no char(5) not null,
classtea_name char(20) not null,
classtea_sex char(2) check (classtea_sex='男' or classtea_sex='女'),
classtea_major char(20)
classtea_faculty char(20)
constraint pk_classteacher primary key (classtea_no)
references major(major_id),
references faculty(faculty_id),
)
5、班级表 classes
create table classes
(
class_no char(20) primary key,
class_name char(20) not null,
classtea_no char(5)
references classteacher(classtea_no)
)
6、学生表 student
create table student
(
stu_no char(10) not null,
stu_name char(20) not null,
stu_sex char(2) check (stu_sex='男' or stu_sex='女'),
stu_class char(20)
stu_major char(20)
stu_faculty char(20)
constraint pk_student primary key(stu_no)
references classes(class_no),
references major(major_id),
references faculty(faculty_id),
)
7、教师表 teacher
create table teacher
(
tea_no char(10) not null,
tea_name char(20) not null,
tea_sex char(2) check (tea_sex='男' or tea_sex='女'),
tea_faculty char(20)
references faculty(faculty_id),
constraint pk_teacher primary key (tea_no)
)
8、院领导表 collegeleader
create table collegeleader
(
collegeleader_no char(5) primary key,
collegeleader_name char(20) not null,
collegeleader_sex char(2) check(collegeleader_sex in('男','女')),
collegeleader_faculty char(20)
references faculty(faculty_id),
title char(20) not null
)
9、学校领导表 schoolleader
create table schoolleader
(
schoolleader_no char(5) primary key not null,
schoolleader_name char(20) not null,
schoolleader_sex char(2) check(schoolleader_sex in('男','女')),
dept char(20) not null,
title char(20) not null
)
10、课程信息表 course
create table course
(
course_no char(13) primary key,
course_name char(20) not null,
course_xz char(4) not null
)
11、学生上课出勤记录表 kaoqin_record
create table kaoqin_record
(
kaoqin_id char(13) primary key not null,
sk_time datetime not null,
stu_number char(10)
stu_status char(10) not null,
teacher_no char(10)
course_no char(13)
references teacher(tea_no),
references course(course_no)
references student(stu_no),
)
12、请假信息表 qingjia
create table qingjia
(
references classes(class_no),
references student(stu_no),
id char(20) primary key,
class_id char(20)
stu_no char(10)
leave_reason varchar(200) not null,
start_time datetime not null,
end_time datetime not null,
day_number int not null,
qingjia_time datetime not null,
class_tea_id char(5) references classteacher(classtea_no),
class_tea_sp_status char(10),
class_tea_sp_time datetime,
coll_leader_sp_status char(10),
coll_leader_id char(5) references collegeleader(collegeleader_no),
coll_leader_sp_time datetime
)