数据库课程设计学生考勤文档格式.docx
- 文档编号:17629316
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:20
- 大小:578.47KB
数据库课程设计学生考勤文档格式.docx
《数据库课程设计学生考勤文档格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计学生考勤文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
课程号,课程名,课程性质
(6)班主任表:
编号,,性别
(7)请假信息表:
编号,学号,原因,开始时间,结束时间,请假天数,申请请假时间,班主任审批状态,班主任审批时间
(8)上课出勤记录表:
编号,上课时间,学号
2、数据流图:
(1)数据项
数据项:
学号
别名:
学生编号
含义说明:
唯一标识每个学生
类型:
字符型
长度:
9位
取值范围:
00000099
取值含义:
前四位表示学年,第5,6,7位表示专业和班级,第8,9,表示学号
(2)数据结构
数据结构:
学生
学生考勤管理系统子系统的主体结构数据,定义了一个学生的有关信息
组成:
学号、、性别、班级、专业、电话号码
(3)数据流
数据流名:
请假信息表
说明:
学生请假信息及相关课程
数据流来源:
学生基本信息表,教师基本信息表、课程信息表
数据流去向:
请假学生、课程、
请假原因+学生学号+请假时间
平均流量:
500条/年
高峰流量:
50/天
(4)数据存储
数据存储:
学生基本信息表
记录学生的基本信息
写文件的处理:
新生入学报到后从学院新生登记表中获取信息输入
流出数据流:
为请假信息表提供学生基本信息
学号、、性别、班级、专业、手机号码、
数据量:
平均每年2000条
存取方式:
随机存取
E-R模型:
1、学生表student
字段名
数据类型
可否为空
键引用
备注
stu_no
char(10)
否
主键
学生学号
stu_name
varchar(30)
学生姓名
stu_sex
char
(2)
性别
stu_class
char(13)
外键
所属班级
stu_major
char(30)
所属专业
Stu_tell
varchar(20)
电话号码
2、专业表major
major_id
number
专业编号
major_name
char(20)
专业名称
3、教师表teacher
tea_no
任课老师编号
tea_name
任课老师姓名
tea_sex
tea_tell
Varchar(20)
4、班主任表classteacher
classtea_no
char(5)
classtea_name
classtea_sex
classtea_major
classtea_tell
5、学生上课出勤记录表kaoqin_record
kaoqin_id
上课出勤编号
sk_time
date
上课时间
stu_number
stu_status
学生上课考勤状态
teacher_no
教师编号
course_no
课程编号
6、课程信息表course
course_name
课程名称
course_xz
char(4)
课程性质
7、班级表classes
class_no
class_name
8、请假信息表qingjia
id
请假代号
class_id
班级代号
varchar2(20)
leave_reason
varchar2(200)
请假原因
start_time
开始时间
end_time
结束时间
day_number
请假天数
qingjia_time
申请请假时间
class_tea_id
class_tea_sp_status
班主任审批状态
class_tea_sp_time
班主任审批时间
备注:
status表示审批状态:
0为等待审批,1为同意请假,2为不同意请假。
确定数据库的物理结构
整个数据库包括八个表,每个表都有不同的联接关系,还有创建的视图也将表联系起来。
存取途径:
索引存取方法
(1)按学生所在班级建立索引,可提高查询速度。
(2)查询常用到的字段(学生学号、学生姓名、课程编号、教师姓名),可创建索引。
CREATEDATABASE[studentkaoqin]
ONPRIMARY
(NAME=N'
studentkaoqin'
FILENAME=N'
E:
\fsf\sql\studentkaoqin.mdf'
)
studentkaoqin_log'
\fsf\sql\studentkaoqin_log.ldf'
)
2、数据表的创建和维护
(1)表的创建
--专业表major
createtablemajor
(
major_idintnotnull,
major_namechar(10)notnull,
constraintpk_majorprimarykey(major_id)
--教师表teacher
createtableteacher
tea_nochar(10)notnull,
tea_namechar(20)notnull,
tea_sexchar
(2)check(tea_sex='
男'
ortea_sex='
女'
),
tea_tellvarchar(20)notnull,
constraintpk_teacherprimarykey(tea_no)
--班级表classes
createtableclasses
class_nochar(10)primarykey,
class_namechar(20)notnull,
--学生表student
createtablestudent
stu_nochar(10)notnull,
stu_namevarchar(30)notnull,
stu_sexchar
(2)check(stu_sex='
orstu_sex='
stu_tellvarchar(20)notnull,
stu_classchar(10)referencesclasses(class_no),
stu_majorintreferencesmajor(major_id),
constraintpk_studentprimarykey(stu_no)
--课程信息表course
createtablecourse
course_nochar(13)primarykey,
course_namechar(20)notnull,
course_xzchar(4)notnull
--学生上课出勤记录表kaoqin_record
createtablekaoqin_record
kaoqin_idchar(13)primarykeynotnull,
sk_timedatetimenotnull,
stu_numberchar(10)referencesstudent(stu_no),
stu_statuschar(10)notnull,
teacher_nochar(10)referencesteacher(tea_no),
course_nochar(13)referencescourse(course_no)
--请假信息表qingjia
createtableqingjia
idintprimarykey,
class_idchar(10)referencesclasses(class_no),
stu_nochar(10)referencesstudent(stu_no),
leave_reasonvarchar(200)notnull,
start_timedatetimenotnull,
end_timedatetimenotnull,
day_numberintnotnull,
qingjia_timedatetimenotnull,
class_tea_idchar(5)referencesclassteacher(classtea_no),
class_tea_sp_statuschar(10),
class_tea_sp_timedatetime,
--班主任表classteacher
createtableclassteacher
(
classtea_nochar(5)notnull,
classtea_namechar(20)notnull,
classtea_sexchar
(2)check(classtea_sex='
orclasstea_sex='
)
classtea_tellvarchar(20)notnull,
classtea_majorintreferencesmajor(major_id),
constraintpk_classteacherprimarykey(classtea_no)
(2)添加约束
手机号码的限制
altertablestudent
addconstraintck_telphone1
check(Telphonelike'
[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
altertableclassteacher
addconstraintck_telphone2
altertableteacher
(3)添加内容
--1、学生表student添加内容
insertintostudentvalues('
201210101'
'
黄小明'
'
2012101'
1'
'
201210102'
张乐'
201220101'
刘丹'
2012201'
2'
201220102'
程冬冬'
201230101'
胡雪露'
2012301'
3'
201230102'
张亮'
)
--2、班主任表classteacher添加内容
insertintoclassteachervalues('
01'
刘敏'
02'
刘圆圆'
03'
刘峰'
'
04'
胡学达'
--3、课程表course添加内容
insertintocoursevalues('
单片机原理及应用'
考试'
大学物理'
数据库原理及应用'
考察'
模拟电子技术'
05'
高等数学'
06'
大学英语'
07'
大学体育'
--4、考勤记录表kaoqin_record添加内容
insertintokaoqin_recordvalues('
2015/1/88:
00'
缺课'
'
2015/1/914:
30'
请假'
2015/1/109:
2015/1/1014:
2015/1/117:
--5、专业表major添加内容
insertintomajorvalues('
电子信息'
光电技术'
物理'
--6、请假表qingjia添加内容
insertintoqingjiavalues('
生病'
2015/1/80:
2015/1/100:
'
2015/1/70:
)
考驾照'
2015/1/110:
2015/1/90:
2015/1/90:
兼职'
2015/1/1118:
2015/1/100:
--7、班级表classes添加内容
insertintoclassesvalues('
电信'
光电'
--8、教师表teacher添加内容
insertintoteachervalues('
刘大磊'
赵霞'
张天'
张雪艳'
刘涛'
陈龙'
(1)创建索引
--为表student和teacher中的Telphone字段创建一个唯一索引PK_telphone
createuniqueindexunq_stu_tell1ONstudent(stu_tell)
createuniqueindexunq_tea_tell2ONteacher(tea_tell)
--为表course中的course_no字段创建升序的聚集索引
createclusteredindexclu_course_noonstudent(course_no)
(2)创建视图
学生考勤视图:
CREATEVIEW[dbo].[考勤]
AS
SELECTdbo.student.stu_nameAS学生姓名,dbo.kaoqin_record.stu_statusAS考勤状态,dbo.course.course_nameAS课程名,dbo.kaoqin_record.sk_timeAS上课时间,dbo.teacher.tea_nameAS教师姓名,dbo.teacher.tea_telAS教师电话
FROMstudent,kaoqin_record,course,teacher
请假视图:
CREATEVIEW[dbo].[请假]
SELECTdbo.classes.class_nameAS班级,dbo.student.stu_nameAS学生,dbo.qingjia.leave_reasonAS请假原因,dbo.qingjia.day_numberAS请假天数,
dbo.classteacher.classtea_nameAS班主任,dbo.qingjia.class_tea_sp_statusAS审批状态
FROMdbo.classes,dbo.classteacher,dbo.student,dbo.qingjia
(1)基本查询
--1查询student表中所有学生的全部信息
SELECT*fromstudent
(2)条件查询
--1、查询电信班,男学生
select*fromstudent
wherestu_sex='
andstu_class='
(3)排序查询
--查询考试的课程并按降序排列
SELECTcourse_no,course_name,course_xzFROMcourse
WHEREcourse_xz='
ORDERBYcourse_noDESC
(4)筛选和分组查询
--查询请假天数小于2天的学生学号
SELECTstu_no,day_number
FROMqingjia
GROUPBYstu_no,day_number
HAVINGday_number<
2
(5)联结查询
--查询学生专业
SELECTDISTINCTstudent.*,major.*
FROMstudent,major
WHERE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 学生 考勤