1、数据库课程设计 班级考勤管理数据库系统的设计报告一、需求分析:1、系统的功能模块图2、系统的功能描述班级考勤管理系统涉及到班级人事管理的多个方面,如:奖学金的评定,打课程分数,班干部的评选等。学生考勤信息处理完成学生考勤情况的查询、输入等操作,可对某个学生的考勤情况进行统计,生成统计报表。可建立三张表:考勤管理表格、选课信息表格、学生信息表格。每张表设置了一定的属性,设定了一些主键关系,可以让教师查询资料和评奖评优。3、系统的数据流程图二、数据库设计1、概念结构设计(1)学生基本信息实体E-R图(2)考勤信息实体E-R图(3)选课信息实体E-R图(4)综合E-R图(无需再标注实体属性,但联系属
2、性需标注)2、逻辑结构设计(1)E-R模型转换成关系模型 学生基本信息表学号姓名性别院系20040001赵毅男土木20040002钱二男机械20040003孙三女电气20040004李斯男土木20040005周武男计算机 选课信息表课程号课程名称学号0001高等数学200400040003线性代数200400010003线性代数200400030004工程制图200400020004工程制图200400030004工程制图200400040005大学英语200400050006铁道概论200400030007军事理论20040005 考勤信息表课程号学号姓名日期出勤情况000120040004
3、李斯20120101出勤000120040004李斯20120102出勤000120040004李斯20120104病假000320040001赵毅20120105出勤000320040001赵毅20120107事假000320040001赵毅20120110病假000320040003孙三20120105出勤000320040003孙三20120107旷到000320040003孙三20120110出勤000420040002钱二20120113出勤000420040002钱二20120116病假000420040002钱二20120120出勤000420040003孙三20120113出勤
4、000420040003孙三20120116出勤000420040003孙三20120120事假000420040004李斯20120113病假000420040004李斯20120116旷到000420040004李斯20120120出勤000520040005周武20120104病假000520040005周武20120113出勤000520040005周武20120120出勤000520040005周武20120128事假000620040003孙三20120105出勤000620040003孙三20120106出勤000620040003孙三20120113出勤000720040005
5、周武20120120事假000720040005周武20120123出勤000720040005周武20120127出勤3、数据库结构的详细设计(包括部分物理结构设计)(1)填写二维表,表头如下:表名属性名数据类型长度允许空主码或索引约束条件学生基本信息表学号char8Not nullPRIMARY KEYCheck (学号like20040-90-90-90-9)姓名varchar10Not null性别 char2Not nullcheck(性别 in(男,女) 院系varchar10Not nullcheck(院系 in(土木,机械,电气,计算机,交运)选课信息表课程号char4Not
6、nullPRIMARY KEYCheck (课程号like0-90-90-90-9)课程名称varchar10Not null学号char8PRIMARY KEYCheck (学号like20040-90-90-90-9)考勤信息表课程号char4Not nullPRIMARY KEYCheck (课程号like0-90-90-90-9)学号char8Not nullPRIMARY KEYCheck (学号like20040-90-90-90-9)姓名varchar10Not null日期datatime8Not nullPRIMARY KEY出勤情况varchar10Not nullchec
7、k(出勤情况 in(出勤,病假, 事假, 旷到)4、数据库的实施(1)用可视化的方法定义数据库(将数据库文件定义在D盘根目录下)数据库创建的SQL语句为:create database班级考勤管理(2)用SQL语言定义表、视图、索引、触发器等。、定义表学生基本信息表的创建CREATE TABLE学生基本信息表( 学号 char(8) NOT NULL PRIMARY KEY CLUSTERED Check (学号like20040-90-90-90-9) 姓名 varchar(10) NOT NULL 性别 char(2) check(性别 in(男,女) not null 院系 varcha
8、r(10) NOT NULL check(院系 in(土木,机械,电气,计算机,交运)选课信息表的创建CREATE TABLE选课信息表( 课程号 char(4) NOT NULL Check (课程号like0-90-90-90-9) 课程名称 varchar(10) NOT NULL 学号 char(8) NOT NULL Check (学号like20040-90-90-90-9) PRIMARY KEY(课程号,学号))考勤信息表的创建CREATE TABLE考勤信息表( 课程号 char(4) NOT NULL Check (课程号like0-90-90-90-9) 学号 char(
9、8) NOT NULL Check (学号like20040-90-90-90-9) 姓名 varchar(10) NOT NULL 日期 datatime(8) NOT NULL 出勤情况 varchar(10) NOT NULL check(出勤情况 in(出勤,病假, 事假, 旷到) PRIMARY KEY(课程号,学号,日期))创建视图A创建高等数学考勤的视图Create view 高等数学as select 选课信息表.学号,姓名,日期,出勤状况From 选课信息表 join 考勤信息表 on 选课信息表.学号=考勤信息表.学号where 课程名称 like高等数学运行结果:B创建线
10、性代数考勤的视图Create view 线性代数as select 选课信息表.学号,姓名,日期,出勤状况From 选课信息表 join 考勤信息表 on 选课信息表.学号=考勤信息表.学号where 课程名称 like线性代数运行结果:C 创建工程制图考勤的视图Create view 工程制图as select 选课信息表.学号,姓名,日期,出勤状况From 选课信息表 join 考勤信息表 on 选课信息表.学号=考勤信息表.学号where 课程名称 like工程制图运行结果:D创建大学英语考勤的视图Create view 大学英语as select 选课信息表.学号,姓名,日期,出勤状况
11、From 选课信息表 join 考勤信息表 on 选课信息表.学号=考勤信息表.学号where 课程名称 like大学英语运行结果:E创建铁道概论考勤的视图Create view 铁道概论as select 选课信息表.学号,姓名,日期,出勤状况From 选课信息表 join 考勤信息表 on 选课信息表.学号=考勤信息表.学号where 课程名称 like铁道概论运行结果:F创建军事理论考勤的视图Create view 军事理论as select 选课信息表.学号,姓名,日期,出勤状况From 选课信息表 join 考勤信息表 on 选课信息表.学号=考勤信息表.学号where 课程名称 l
12、ike军事理论运行结果:创建索引在考勤信息表的“日期”列上创建一个非聚集索引,要求索引键值按“日期”降序排列create index 日期 on 考勤信息表(日期 desc)(3)录入数据(用可视化的方法,每张表至少3条数据)三、设计心得 这是我初次接触数据库设计,设计的时候一点都不懂,虽然上课讲过设计的相关内容,但是做起来的时候发现并不知如何让下手。于是我想到从网上找一些相关数据库的设计报告作参考,还有课本的帮助,才慢慢开始懂到底要怎么做。同时,同学之间相互讨论。通过本次课程设计,我对数据库的基础知识多了层熟练,对数据库的基本操作也得到一定程度的熟悉。例如,学会了视图的使用。数据库的课程设计是一项比较复杂的作业工作,在此,我要感谢老师及同学们给予我的很大的帮助,是你们帮助我解疑排难 ,成功完成数据库的设计。 数据库的设计是一项具有实用性的工作,此次课程设计意义重大,也是我受益匪浅,多谢各位老师和同学。课程名称:数据库原理及应用设计题目: 班级考勤管理数据库系统 院 系: 计算机与通信工程系 专 业: 铁道信号 年 级: 2009 姓 名: 朱奇 学 号: 20098691 指导教师: 陈 大 玲 西南交通大学峨眉校区 2011年 12 月 19 日
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1