欢迎来到天天文库
浏览记录
ID:25792954
大小:98.50 KB
页数:14页
时间:2018-11-22
《考勤管理系统数据库设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、考勤管理系统数据库设计数据库设计是指对于一个给定的应用环境,构造设计优化的数据库逻辑模式和物理结构,并据此建立数据库以及应用环境,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。数据库的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。数据库设计的一个特点是“三分技术,七分管理,十二分基础数据”。数据库设计的基本步骤如下:(1)需求分析(2)概念结构设计(3)数据库逻辑设计(4)数据库物理设计(5)数据库实施(6)数据库运行和维护一.数据库需求分析设计这个系统的主要目的就是实现学生社团的管理规范化,以及对社团举办活
2、动进行登记。数据库的需求分析阶段是整个数据库设计过程中的基础,也是耗时就多,最困难的一步。需求分析的任务就是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。这个阶段的工作成果主要以下三个方面的内容:(1)数据项:每种具体数据的名称、意义、类型、取值范围以及与其他数据项之间的逻辑关系。(2)数据集:若干数据项的有逻辑关联的集合,包括名称、意义和组成数据集的数据项。(3)数据流:应用系统运行时,数据是怎么输入、处理和输出。二.数据库概念结构设计局部e-r图设计(1)学生信息表的e-r图(2)刷卡表的e-r图刷卡
3、(3)刷卡记录表的e-r图全局e-r图如下:三.数据库逻辑结构设计数据库逻辑设计主要是将概念结构设计转换为某个dbms所支持的数据模型设计出刷卡表结构如下:学生信息表结构如下:刷卡记录表结构如下:四.数据库物理结构设计物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构,将逻辑结构设计中的表用sql语句创建出来。(1)创建表空间(2)创建新用户(3)给新用户授权(4)以新用户的身份登入,创建表首先创建学生表,实现语句如下:Createtablestuent(Snovarchar2(8)notnullprimarykey,Snamevarchar2(20)not
4、null,Sexvarchar2(2)notnull,Sagenumber(2),Specialityvarchar2(16),Banjivarchar2(12))Tablespacezhuzhu;执行结果如下:然后,创建刷卡表实现语句如下:Createtablesk(Skidnumber(4)notnull,Kidnumber(4)notnullprimarykey,Zctimedate)Tablespacezhuzhu;执行结果如下:接着,再创建刷卡记录表实现语句如下:Createtableskrecord(Skidnumber(4)notnull,Kidnumb
5、er(4)notnull,Snovarchar2(8)notnullprimarykey,Sktimetimestamp)Tablespacezhuzhu;最后,建立各个表之间的约束实现语句:AltertableskrecordAdd(constraintsk_kid_fkforeignkey(kid)referencessk(kid)Constraintskrecord_snoforeignkey(sno)referencesstuent(sno));(5)创建一个序列实现刷卡编号的自动增长Createsequenceseq_inIncrementby1Startw
6、ith1Nomaxvalue;Createsequenceseq_in2Incrementby1Startwith1Nomaxvalue;(6)创建触发器只要学生一刷卡,就会在sk表中插入一条记录,此时查找刷卡记录表看是否存在与之同卡编号的记录,如果存在,则输出’有出勤,没有旷课’,否则,输出‘该学生没有来上课’的信息。CreateorreplacetriggertestBeforeinsertOnskDeclareisexistnumber;BeginSelectcount(*)intoisexistfromskrecordwhere:new.kid=skrecor
7、d.kid;If(isexist>0)thenDbms_output.put_line(‘有出勤,没有旷课’);ElseDbms_output.put_line(‘这同学没有来上课’);Endif;End;(7)创建视图首先,创建学生表的视图实现语句如下:Createviewstudent_viewAsSelect*fromstuent;实现结果如下:然后创建sk表的视图实现语句如下:Createviewsk_viewAsSelect*fromsk;实现结果如下:同理,创建skrecord的视图执行结果如下:(8)插入演示数据Insertintost
此文档下载收益归作者所有