收藏 分销(赏)

学生考勤管理系统数据库设计-数计系.doc

上传人:a199****6536 文档编号:4057220 上传时间:2024-07-26 格式:DOC 页数:11 大小:53.04KB
下载 相关 举报
学生考勤管理系统数据库设计-数计系.doc_第1页
第1页 / 共11页
学生考勤管理系统数据库设计-数计系.doc_第2页
第2页 / 共11页
学生考勤管理系统数据库设计-数计系.doc_第3页
第3页 / 共11页
学生考勤管理系统数据库设计-数计系.doc_第4页
第4页 / 共11页
学生考勤管理系统数据库设计-数计系.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、钦州学院考勤管理系统数据库设计数据库设计是指对于一个给定的应用环境,构造设计优化的数据库逻辑模式和物理结构,并据此建立数据库以及应用环境,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求.数据库的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。数据库设计的一个特点是“三分技术,七分管理,十二分基础数据”.数据库设计的基本步骤如下:(1) 需求分析(2) 概念结构设计(3) 数据库逻辑设计(4) 数据库物理设计(5) 数据库实施(6) 数据库运行和维护一 数据库需求分析设计这个系统的主要目的就是实现学生的考勤管理的规范化。数据库的需求分析阶段

2、是整个数据库设计过程中的基础,也是耗时就多,最困难的一步。需求分析的任务就是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能.这个阶段的工作成果主要以下三个方面的内容:(1)数据项:每种具体数据的名称、意义、类型、取值范围以及与其他数据项之间的逻辑关系. (2)数据集:若干数据项的有逻辑关联的集合,包括名称、意义和组成数据集的数据项. (3)数据流:应用系统运行时,数据是怎么输入、处理和输出。二数据库概念结构设计局部e-r图设计(1)学生信息表的e-r图(2)刷卡表的er图刷卡(3)刷卡记录表的e-r图全局er图如下:三 数据库逻辑结

3、构设计数据库逻辑设计主要是将概念结构设计转换为某个dbms所支持的数据模型设计出刷卡表结构如下:学生信息表结构如下:刷卡记录表结构如下:四。数据库物理结构设计物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构,将逻辑结构设计中的表用sql语句创建出来。 (1)创建表空间 (2)创建新用户(3)给新用户授权 (4)以新用户的身份登入,创建表首先创建学生表,实现语句如下:Create table stuent (Sno varchar2(8) not null primary key,Sname varchar2(20) not null,Sex varchar2(2) not null

4、,Sage number(2) ,Speciality varchar2(16),Banji varchar2(12)Tablespace zhuzhu;执行结果如下: 然后,创建刷卡表 实现语句如下:Create table sk(Skid number(4) not null,Kid number(4) not null primary key,Zctime date)Tablespace zhuzhu;执行结果如下:接着,再创建刷卡记录表实现语句如下:Create table skrecord(Skid number(4) not null,Kid number(4) not null,

5、Sno varchar2(8) not null primary key,Sktime timestamp)Tablespace zhuzhu; 最后,建立各个表之间的约束实现语句:Alter table skrecordAdd (constraint sk_kid_fk foreign key(kid) references sk(kid)Constraint skrecord_sno foreign key(sno) references stuent(sno)); (5)创建一个序列实现刷卡编号的自动增长Create sequence seq_inIncrement by 1Start

6、with 1Nomaxvalue;Create sequence seq_in2Increment by 1Start with 1Nomaxvalue; (6)创建触发器只要学生一刷卡,就会在sk表中插入一条记录,此时查找刷卡记录表看是否存在与之同卡编号的记录,如果存在,则输出有出勤,没有旷课,否则,输出该学生没有来上课的信息.Create or replace trigger testBefore insertOn skDeclare isexist number;BeginSelect count() into isexist from skrecord where :new。kid=s

7、krecord.kid;If (isexist0) thenDbms_output.put_line(有出勤,没有旷课);ElseDbms_output.put_line(这同学没有来上课);End if;End; (7)创建视图 首先,创建学生表的视图 实现语句如下:Create view student_viewAsSelect * from stuent; 实现结果如下: 然后创建sk表的视图 实现语句如下:Create view sk_viewAsSelect * from sk; 实现结果如下:同理,创建skrecord的视图执行结果如下:(8)插入演示数据Insert into s

8、tuent values(19890001,tom,m,20,计算机,计071); Insert into stuent values(19890002,lucy,f,19,电子商务,电子商务071); Insert into stuent values(19890003,lily,f,19,英语,英本072);Insert into stuent values(19890004,john,m,21,网络工程,网络072);执行结果如下: 对sk表插入如下演示数据:Insert into sk values(seq_in.nextval,0010,10-1月-2000);Insert into

9、 sk values(seq_in。nextval,0011,83月2008);Insert into sk values(seq_in.nextval,0012,115月-2008);Insert into sk values(seq_in.nextval,0013,17-9月2009); 执行结果如下:对skrecord表插入如下的演示数据:Insert into skrecord values(seq_in2。nextval,0010,19890001,79月-2009 8:30:20);Insert into skrecord values(seq_in2。nextval,0012,19890003,710月2009 10:20:30);执行结果如下:(9)数据库性能分析 学校执行刷卡机制可以较好的管理学生的考勤,通过查看刷卡记录表,领导可以比较直观的查看学生的到课情况,这样就可以减少学生考勤的统计工作,但是我觉得刷卡机制也有不足的地方,如果有的学生忘记了刷卡,那么,刷卡记录表中就不存在这条记录,就会认为他没有来上课,从而会产生错误。要实行刷卡机制的前提,就是学校必须严格执行“一个一卡,学生刷卡进出的制度。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服