考勤数据库
- 格式:doc
- 大小:27.54 KB
- 文档页数:6
企业员工考勤管理子系统一.需求分析1.系统背景分析现在不论哪个企业,都要进行考勤,一些企业在考勤管理方面用了大量的人力和财力,不说准确度和可信度如何,其效率很低,而且容易出错,不利于管理。
所以人工考勤已经很难再满足企业规范化管理的要求,随着数据库技术的发展和企业信息化建设的进行,使用计算机管理考勤成为一种主流趋势,它不仅为企业减少了人力财力的付出,而且也大大减轻了考勤工作人员的工作量。
本文系统的阐述了企业考勤管理设计开发的全过程。
包括系统需求调查分析,概念结构设计,逻辑结构设计等部分。
2.数据流程图:3.数据字典:(2)数据结构描述(4)数据存储二.概念结构设计经过调查、信息流程分析、数据收集,并结合需求分析,明确了该子系统的功能:A.给员工编号,登记其基本信息。
B.给各部门编号、命名,确定其职责范围,并任命部门经理。
C.对员工的考勤数据进行登记,并进行月度考勤统计。
D.对员工的月度考勤统计的结果来核算员工工资。
实体和属性的联系系统基本的E-R图对E-R图调整的准则:现实世界中的事物能作为属性对待的尽量作为属性对待;属性和实体的划分:属性中不具有需要描述的信息,即属性是不可分的数据项,不再包含其他信息。
实体属性定义:员工(员工编号、员工姓名、员工性别、出生日期、职务、部门编号);部门(部门编号、部门名称、部门经理职工号);出勤记录 (出勤编号、日期、上班时间、下班时间);请假记录(请假编号、请假起始时间、请假结束时间、请假原因、扣除奖金);加班记录(加班编号、加班时间长度、日期、加班费);出差记录(出差编号、出差起始时间、出差结束时间、出差描述、补助资金);月度考勤统计(月度考勤编号、员工编号、日期、累计正常工作时间、累计请假、累计出差、累计加班、迟到次数、早退次数、旷工次数);工资(工资编号、基本工资、奖金、实际工资);具体调整如下:1.出勤记录,请假记录,加班记录,出差记录本应作为员工的一个属性,但是其中还涉及到相关的奖金待遇及具体描述,则单独作为一个实体;2.工资单独作为一个实体,因为此处强调的是员工的出勤工资,则分开来写。
出勤(考勤)管理系统(SQL数据库)摘要:由于社会在不断发展,互联网已经被千千万万的行业所接收,出勤管理系统在日常教学工作中占有很重要的位置。
通过对出勤管理系统的现状分析,考虑如何在日常生活中充分利用网络和计算机的优势,使得出勤管理系统既能够在学校教学管理工作中得到充公使用,又能节省时间、提高效率,并且使这一资源得到重复利用,由此设计出勤管理系统。
本系统应用B/S结构,MVC模式采用SSH框架技术编写。
很好的利用网络,即使相隔千里,也可以随时为学校管理提供帮助。
成为学生与老师、老师与领导中稳固的桥梁。
也是网络运用中极为有益的一个方面。
出勤管理系统很好的利用了高速发展的互联网络资源。
为广大师生提供便捷、高效、灵活的信息查询平台。
该系统主要功能包括教室安排、课程安排、学生考勤、在线请假、教室维护、班级维护、密码修改、用户管理等功能。
网络的运用极为广泛,我们应该多多开发像出勤管理系这样方便教学管理的软件,促进网络时代的发展。
关键字:出勤管理;S2SH ;JSP目录摘要IIIAbstract IV目录V第1章前言71.1 国内外现状71.2 需求分析71.3 系统可行性分析81.3.1 技术可行性81.3.2 管理可行性9第2章关键技术介绍102.1 关键性开发技术的介绍102.1.1 Struts2简介102.1.2 MVC模式介绍122.1.3 Model: 系统状态和商业逻辑JavaBeans 132.1.4 View: JSP页面和表示组件132.1.5 Controller: ActionServlet和ActionMapping 14第3章面向对象设计153.1面向对象设计概述153.2系统设计思想和原则163.3系统模块划分16第4章数据库设计184.1 数据库的设计原则184.2 数据字典194.2.1 用户信息表194.2.2 考勤信息表194.2.3 日期信息表194.2.4 教室信息表204.2.5 请假信息表204.2.6 课程信息表204.2.7 班级信息表214.2.8 教室安排信息表21第5章系统实现225.1各功能模块实现225.1.1用户登录模块的实现225.1.2教室安排模块的实现245.1.3课程安排模块的实现265.1.4学生考勤模块的实现285.1.5在线请假模块的实现305.1.6教室维护模块的实现335.1.7班级模块的实现355.1.8密码修改模块的实现375.1.9用户管理模块的实现38第6章系统测试416.1 软件测试的目的和意义416.2 软件测试的步骤416.3 测试方案426.4 测试用例426.5 系统运行436.5.1运行说明43总结44参考文献45致谢47附录48出勤管理系统主要解决学生的请假问题以及能让学生、任课老师、班主任、学院领导及时方便地查询学生的出勤情况。
⼀个关于考勤统计的sql研究在这⾥,我们要做⼀个简单的员⼯考勤记录查询系统的后台数据库。
业务需求如下所⽰:1.统计每天来的最早、来的最晚、⾛的最早、⾛得最晚的⼈的姓名1.1 统计每天来得最早的⼈的姓名和打卡时间步骤1:从考勤信息表中查询出每天来得最早的⼈的上班打卡时间和⼈员编号解决这个问题的时候本来考虑的是在考勤信息记录表中按照⽇期对考勤信息进⾏分组,然后取每组中上班时间(att_work_datatime)的最⼩值,但是后来⼏经折腾发现group by只能实现分组,⽽order by只能实现组外排序,因此这个⽅法只能放弃。
再三考虑了⼀下,可以在分组之前先对表中att_work_datatime列中的所有值进⾏升序排序后⽣成⼀个临时表,然后对这个临时表中的att_work_datatime按照⽇期再分组,这样对att_work_datatime列按照⽇期group by之后取的就是每天上班打卡最早的⼈,我们从attendance_info_table(考勤信息表)表中查询出出每天上班时间最早的⼈的编号、上班时间和下班时间,sql语句如下:select tmp.att_work_datatime,tmp.after_work_datatime,tmp.emp_idfrom(select id,att_work_datatime,after_work_datatime,emp_idfrom attendance_info_tableorder by att_work_datatime) as tmpgroup by Date(att_work_datatime)执⾏查询结果如下:结果并不如愿,发现多了⼀⾏null值,才发现分组的时候mysql默认将null分为⼀组,这样就多了⼀组null数据。
这样我们只需要在排序之前过滤掉打卡时间为null的数据⾏,sql语句如下:select tmp.att_work_datatime,tmp.after_work_datatime,tmp.emp_idfrom(select id,att_work_datatime,after_work_datatime,emp_idfrom attendance_info_tablewhere att_work_datatime is not nullorder by att_work_datatime) as tmpgroup by Date(att_work_datatime)查询出来的结果如下图所⽰:步骤2:从员⼯表和考勤信息表中联结查询出每天来得最早的⼈的姓名上班打卡时间这样,还没有满⾜需求,我们要打印的是每天来得最早的⼈的姓名和上班打卡时间,由于员⼯的信息在另外⼀张表employee_info_table 中放着,这样我们需要⽤到多表联结查询,根据雇员编号进⾏等值联结查询,sql语句如下所⽰:select em.emp_name,tmp.att_work_datatimefrom employee_info_table as em ,(select id,att_work_datatime,after_work_datatime,emp_idfrom attendance_info_tablewhere att_work_datatime is not nullorder by att_work_datatime )as tmpwhere em.id=tmp.emp_idgroup by Date(att_work_datatime)select eit.*, ait.att_work_datatimefrom attendance_info_table ait, employee_info_table eitwhere ait.emp_id = eit.id and ait.att_work_datatime in(select min(att_work_datatime)from attendance_info_tablewhere att_work_datatime is not nullgroup by Date(att_work_datatime))order by ait.att_work_datatime asc;查询出来的结果如下图所⽰:OK,⼤功告成。
考勤管理系统使用说明考勤管理系统使用说明1、系统介绍1.1 系统概述考勤管理系统是一款用于管理和统计员工考勤数据的软件系统。
它提供了便捷的考勤记录录入、统计分析、报表等功能,帮助企业高效管理员工的出勤情况。
1.2 功能特点1.2.1 考勤记录录入:用户可以通过系统录入员工的考勤记录,包括上班时间、下班时间、迟到早退、请假等情况。
1.2.2 考勤统计分析:系统能够根据员工的考勤记录,自动考勤统计信息和报表,包括缺勤次数、迟到早退次数、加班时长等。
1.2.3 班次管理:系统支持灵活的班次设置和管理,可以根据不同的班次规则进行考勤统计。
2、系统安装与配置2.1 硬件要求2.1.1 服务器:推荐配置为4核CPU、8GB内存、500GB存储空间。
2.1.2 客户端:推荐配置为双核CPU、4GB内存、256GB存储空间。
2.2 软件要求2.2.1 操作系统:服务器端支持Windows Server 2012及以上版本,客户端支持Windows 10及以上版本。
2.2.2 数据库:系统使用MySQL数据库,需要提前安装并配置好数据库环境。
2.3 安装步骤2.3.1 安装包:从官方网站最新版本的考勤管理系统安装包。
2.3.2 解压安装包:将安装包解压到指定目录。
2.3.3 运行安装程序:双击运行安装程序,按照提示完成系统的安装。
2.4 系统配置2.4.1 数据库配置:在安装完成后,打开系统的配置文件,配置数据库连接信息。
2.4.2 员工信息导入:将员工的基本信息导入系统,包括姓名、工号、部门等。
3、系统使用3.1 登录系统3.1.1 启动系统:双击系统图标,打开登录界面。
3.1.2 输入账号密码:输入正确的账号和密码,登录按钮。
3.2 考勤记录录入3.2.1 新建考勤记录:“考勤录入”菜单,选择“新建考勤记录”,进入考勤记录录入界面。
3.2.2 输入考勤信息:根据员工实际出勤情况,填写上班时间、下班时间等信息。
中控考勤管理系统数据库结构1. 员工表(Employee)- 员工ID(EmployeeID):主键,唯一标识每个员工- 员工姓名(EmployeeName)- 员工职位(Position)- 所属部门(Department)- 入职日期(StartDate)- 离职日期(EndDate)2. 考勤记录表(AttendanceRecord)- 记录ID(RecordID):主键,唯一标识每条考勤记录- 员工ID(EmployeeID):外键,关联到员工表的员工ID字段- 考勤日期(Date)- 上班时间(StartTime)- 下班时间(EndTime)- 工作时长(WorkHours)- 迟到次数(LateCount)- 早退次数(EarlyLeaveCount)- 缺勤次数(AbsentCount)3. 请假记录表(LeaveRecord)- 记录ID(RecordID):主键,唯一标识每条请假记录- 员工ID(EmployeeID):外键,关联到员工表的员工ID字段- 开始日期(StartDate)- 结束日期(EndDate)- 请假类型(LeaveType)- 备注(Remark)- 记录ID(RecordID):主键,唯一标识每条加班记录- 员工ID(EmployeeID):外键,关联到员工表的员工ID字段- 加班日期(Date)- 备注(Remark)5. 考勤统计表(AttendanceStatistics)- 统计ID(StatisticsID):主键- 员工ID(EmployeeID):外键,关联到员工表的员工ID字段- 年份(Year)- 月份(Month)- 出勤天数(AttendanceDays)- 迟到次数(LateCount)- 早退次数(EarlyLeaveCount)- 缺勤次数(AbsentCount)以上是中控考勤管理系统的一个基本数据库结构示例,可以根据具体需求进行调整和扩展。
TABLE [dbo].[departments]—部门表[status] [smallint] NOT NULL[DeptID] [int] IDENTITY(1,1) NOT NULL,[DeptName] [nvarchar](100) NOT NULL,——部门名称[code] [nvarchar](100) NULL,——部门编号[supdeptid] [int] NULL,——上级部门ID[type] [nvarchar](10) NOT NULL[invalidate] [datetime] NULL,TABLE [dbo].[personnel_area]—区域信息表[id] [int] IDENTITY(1,1) NOT NULL,[status] [smallint] NOT NULL[areaid] [nvarchar](20) NOT NULL,——区域编号[areaname] [nvarchar](30) NOT NULL,——区域名称[parent_id] [int] NULL,——上级区域[remark] [nvarchar](100) NULL,——备注TABLE [dbo].[auth_user]—管理员表[id] [int] IDENTITY(1,1) NOT NULL,[username] [nvarchar](30) NOT NULL,——管理员账号名[first_name] [nvarchar](30) NOT NULL,[last_name] [nvarchar](30) NOT NULL,[email] [nvarchar](75) NOT NULL,——邮箱[password] [nvarchar](128) NOT NULL,——登陆密码[is_staff] [bit] NOT NULL[is_active] [bit] NOT NULL ——是否启动[is_superuser] [bit] NOT NULL ——是否超级管理员[last_login] [datetime] NOT NULL ——最后一次登陆时间[date_joined] [datetime] NOT NULL——加入时间TABLE [dbo].[holidays]—考勤节假日信息表[status] [smallint] NOT NULL[HolidayID] [int] IDENTITY(1,1) NOT NULL,[HolidayName] [nvarchar](20) NOT NULL,——节假日名称[HolidayYear] [smallint] NULL,——节假日年份[HolidayMonth] [smallint] NULL,——节假日月份[HolidayDay] [smallint] NULL ——节假日日期[StartTime] [datetime] NOT NULL,——节假日开始时间[Duration] [smallint] NOT NULL——持续时间TABLE [dbo].[schclass]—考勤时段表[status] [smallint] NOT NULL[SchclassID] [int] IDENTITY(1,1) NOT NULL,[SchName] [nvarchar](20) NOT NULL,——时段名称[StartTime] [datetime] NOT NULL[EndTime] [datetime] NOT NULL,[LateMinutes] [int] NULL ——允许迟到时间[EarlyMinutes] [int] NULL ——允许早退时间[CheckIn] [smallint] NOT NULL——是否必须签到[CheckOut] [smallint] NOT NULL——是否必须签退[CheckInTime1] [datetime] NOT NULL,——开始签到时间点[CheckInTime2] [datetime] NOT NULL,——结束签到时间点[CheckOutTime1] [datetime] NOT NULL,——开始签退时间点[CheckOutTime2] [datetime] NOT NULL,——结束签退时间点[Color] [int] NOT NULL ——[AutoBind] [smallint] NULL[WorkDay] [float] NULL ——工作日天数[IsCalcRest] [int] NULL[StartRestTime] [datetime] NULL, ——开始休息时间[EndRestTime] [datetime] NULL, ——结束休息时间[StartRestTime1] [datetime] NULL,[EndRestTime1] [datetime] NULL,[shiftworktime] [int] NOT NULL ——工作时间[IsOverTime] [smallint] NOT NULL ——延时是否计算加班[OverTime] [int] NULL ——计算加班时长TABLE [dbo].[num_run]—班次信息表[status] [smallint] NOT NULL[Num_runID] [int] IDENTITY(1,1) NOT NULL,[OLDID] [int] NULL[Name] [nvarchar](30) NOT NULL,——班次名称[StartDate] [datetime] NULL[EndDate] [datetime] NULL[Units] [smallint] NOT NULL ——周期单位[Cyle] [smallint] NOT NULL ——周期数TABLE [dbo].[leaveclass]—假类信息表[status] [smallint] NOT NULL[LeaveID] [int] IDENTITY(1,1) NOT NULL,[LeaveName] [nvarchar](20) NOT NULL,——假类名称[MinUnit] [float] NOT NULL——最小单位[Unit] [smallint] NOT NULL ——计算单位(工作日/小时/分钟)[RemaindProc] [smallint] NOT NULL ——是否四舍五入[RemaindCount] [smallint] NOT NULL[ReportSymbol] [nvarchar](4) NOT NULL ——表示符号[LeaveType] [smallint] NOT NULL ——所属类别TABLE [dbo].[iclock]—设备列表[id] [int] IDENTITY(1,1) NOT NULL,[status] [smallint] NOT NULL——设备状态[sn] [nvarchar](20) NULL,——设备序列号[device_type] [int] NOT NULL –设备类型(考勤/门禁)[last_activity] [datetime] NULL,——最后连接时间[trans_times] [nvarchar](50) NULL –定时传送数据时间[TransInterval] [int] NULL ——刷新间隔时间[log_stamp] [nvarchar](20) NULL,——传送考勤记录标示[oplog_stamp] [nvarchar](20) NULL,——传送用户数据标示[photo_stamp] [nvarchar](20) NULL,——传送照片标示[alias] [nvarchar](20) NOT NULL,——设备名称[UpdateDB] [nvarchar](10) NULL ——数据更新标示[fw_version] [nvarchar](30) NULL,——固件版本号[device_name] [nvarchar](30) NULL,——设备型号[fp_count] [int] NULL,——指纹数[transaction_count] [int] NULL,——记录数[user_count] [int] NULL,——用户数[city] [nvarchar](50) NULL,——所属城市[comm_type] [smallint] NOT NULL 通讯方式[agent_ipaddress] [nvarchar](20) NULL[ipaddress] [nvarchar](15) NULL,——考勤设备IP地址[ip_port] [int] NULL ——考勤设备端口[subnet_mask] [nvarchar](15) NULL,[gateway] [nvarchar](15) NULL,[com_port] [smallint] NULL[baudrate] [smallint] NULL[com_address] [smallint] NULL[area_id] [int] NULL,——所属区域编号[comm_pwd] [nvarchar](32) NULL,——通讯密码[Fpversion] [nvarchar](10) NULL ——指纹算法版本号[enabled] [bit] NOT NULL[max_comm_size] [int] NULL ——和服务器通讯最大数据包长度[max_comm_count] [int] NULL ——和服务器通讯的最大命令个数[realtime] [bit] NOT NULL[delay] [int] NULL ——查询记录秒数[encrypt] [bit] NOT NULL[dstime_id] [int] NULL,TABLE [dbo].[devcmds]—服务器下发命令表[id] [int] IDENTITY(1,1) NOT NULL,[status] [smallint] NOT NULL[SN_id] [int] NULL,——设备序列号ID[CmdOperate_id] [int] NULL,[CmdContent] [nvarchar](max) NOT NULL,——命令内容[CmdCommitTime] [datetime] NOT NULL——提交时间[CmdTransTime] [datetime] NULL,——传送时间[CmdOverTime] [datetime] NULL,——返回时间[CmdReturn] [int] NULL,——返回值[CmdReturnContent] [nvarchar](max) NULL,[CmdImmediately] [bit] NOT NULLTABLE [dbo].[devcmds_bak]—通讯失败命令表[id] [int] IDENTITY(1,1) NOT NULL,[status] [smallint] NOT NULL[SN_id] [int] NULL, ——设备序列号ID[CmdOperate_id] [int] NULL,[CmdContent] [nvarchar](max) NOT NULL, ——命令内容[CmdCommitTime] [datetime] NOT NULL ——提交时间[CmdTransTime] [datetime] NULL, ——传送时间[CmdOverTime] [datetime] NULL, ——返回时间[CmdReturn] [int] NULL, ——返回值[CmdReturnContent] [nvarchar](max) NULL,[CmdImmediately] [bit] NOT NULLTABLE [dbo].[template]—指纹模版表templateid 自增iduserid 用户id外键Template 模板数据FingerID 手指取值(0123456789)Valid 指纹类别取值(0,1)默认等于1Fpversion 指纹版本号取(9 ,10)bio_type 模板类型(0,_(u"指纹")),(1,_(u'人脸'))SN 登记的设备UTime 更新的时间TABLE [dbo].[checkinout]—考勤记录表列名描述id 自增iduserid 人员id ,外键checktime 打卡时间checktype 考勤状态verifycode 验证方式SN 设备外键sensoridWorkCode 工作代码Reserved 保留sn_name 设备序列号TABLE [dbo].[userinfo]—人员信息表列名数据类型允许空描述status smallint F 状态userid int F 人员id,自增,主键badgenumber nvarchar(20) F 人员工号defaultdeptid int T 部门id号,外键name nvarchar(24) T 人员姓名lastname nvarchar(20) T 姓氏Password nvarchar(16) F 卡号Privilege int T 是否设置为管理员AccGroup int T 门禁组TimeZones nvarchar(20) T 门禁时间段Gender nvarchar(20) T 性别,数据库存储的(F,M)Birthday datetime T 生日street nvarchar(100) T 办公地址zip nvarchar(6) T 邮箱ophone nvarchar(20) T 办公电话FPHONE nvarchar(20) T 家庭电话pager 手机minzu 名族title 职务SSN 社保号identitycard 身份证UTime 更新时间Hiredday 聘用日期VERIFICA TIONMETHOD 验证方法State 省份City 城市Education 学历SECURITYFLAGS 动作标志ATT 有效考勤记录OverTime 是否加班Holiday 节假日休息INLATE 上班签到OutEarly 下班签退Lunchduration 荷兰语MVerifyPass 人员密码photo 照片,存储的是路径OffDuty 离职标记DelTag 默认,0AutoSchPlan 是否自动排版MinAutoSchIntervalRegisterOTmorecard_group_id 多卡开门人员组set_valid_time 设置有效时间acc_startdate 启用门禁日期acc_enddate 结束门禁日期birthplace 籍贯Political 政治面貌contry 国家hiretype 雇佣类型email 邮箱firedate 解雇日期attarea 考勤区域,外键与区域多对多isatt 是否考勤homeaddress 家庭地址emptype 员工类型bankcode1 银行账号1bankcode2 银行账号2isblacklist 是否黑名单TABLE [dbo].[userinfo_attarea]—用户区域信息表[id] [int] IDENTITY(1,1) NOT NULL,[employee_id] [int] NOT NULL,——用户ID[area_id] [int] NOT NULL,——区域IDTABLE [dbo].[user_temp_sch]—临时排班表[id] [int] IDENTITY(1,1) NOT NULL,[status] [smallint] NOT NULL[UserID] [int] NOT NULL——用户id外键[ComeTime] [datetime] NOT NULL,——临时排班开始时间点[LeaveTime] [datetime] NOT NULL,——临时排班结束时间点[OverTime] [int] NOT NULL[Type] [smallint] NULL[Flag] [smallint] NULL——排班标示(仅临时排班有效/追加于临时排班之后)[SchClassID] [int] NULL ——临时排班考勤时间段ID[WorkType] [smallint] NOT NULL——工作类型TABLE [dbo].[user_of_run]—排班信息表[id] [int] IDENTITY(1,1) NOT NULL,[status] [smallint] NOT NULL[UserID] [int] NOT NULL, ——用户id外键[StartDate] [datetime] NOT NULL ——排班开始时间[EndDate] [datetime] NOT NULL——排班结束时间[NUM_OF_RUN_ID] [int] NOT NULL,——考勤时间段ID[ISNOTOF_RUN] [int] NULL[ORDER_RUN] [int] NULL,TABLE [dbo].[setuseratt]—人员调休信息表[id] [int] IDENTITY(1,1) NOT NULL,[status] [smallint] NOT NULL[UserID_id] [int] NULL, ——用户id外键[starttime] [datetime] NOT NULL,——开始时间[endtime] [datetime] NOT NULL,——结束时间[atttype] [smallint] NOT NULL ——考勤类型(正常工作/休息)TABLE [dbo].[personnel_empchange]—人员调动记录表[status] [smallint] NOT NULL[changeno] [int] IDENTITY(1,1) NOT NULL,[UserID_id] [int] NOT NULL, ——用户id外键[changedate] [datetime] NULL ——调动日期[changepostion] [int] NULL,[oldvalue] [nvarchar](max) NULL,——调动之前信息[newvalue] [nvarchar](max) NULL,——调动之后信息[changereason] [nvarchar](200) NULL,——调动原因[isvalid] [bit] NOT NULL[approvalstatus] [int] NOT NULL[remark] [nvarchar](200) NULL,——备注TABLE [dbo].[personnel_leavelog]—人员离职记录表[id] [int] IDENTITY(1,1) NOT NULL,[status] [smallint] NOT NULL[UserID_id] [int] NOT NULL, ——用户id外键[leavedate] [datetime] NOT NULL,——离职日期[leavetype] [int] NOT NULL,——离职类型[reason] [nvarchar](200) NULL,——离职原因[isReturnTools] [bit] NOT NULL ——是否归还工具[isReturnClothes] [bit] NOT NULL ——是否归还工衣[isReturnCard] [bit] NOT NULL ——是否归还卡[isClassAtt] [bit] NOT NULL ——是否关闭考勤[isClassAccess] [bit] NOT NULL——是否加入黑名单TABLE [dbo].[user_speday]—员工请假信息表[id] [int] IDENTITY(1,1) NOT NULL,[status] [smallint] NOT NULL[UserID] [int] NOT NULL,——用户id外键[StartSpecDay] [datetime] NOT NULL ——请假开始时间[EndSpecDay] [datetime] NULL——请假结束时间[DateID] [int] NOT NULL ——请假类型[YUANYING] [nvarchar](100) NULL,——请假原因[Date] [datetime] NULL ——填写时间[State] [nvarchar](2) NULLTABLE [dbo].[checkexact]—补签卡表[id] [int] IDENTITY(1,1) NOT NULL,[status] [smallint] NOT NULL[UserID] [int] NOT NULL, ——用户id外键[CHECKTIME] [datetime] NOT NULL,——签到时间[CHECKTYPE] [nvarchar](5) NOT NULL ——签到类型[ISADD] [smallint] NULL,[YUYIN] [nvarchar](100) NULL,——补卡原因[ISMODIFY] [smallint] NULL[ISDELETE] [smallint] NULL[INCOUNT] [smallint] NULL[ISCOUNT] [smallint] NULL[MODIFYBY] [nvarchar](20) NULL,[DA TE] [datetime] NULL,。
考勤管理系统数据库设计数据库设计是指对于一个给定的应用环境,构造设计优化的数据库逻辑模式和物理结构,并据此建立数据库以及应用环境,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
数据库的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。
数据库设计的一个特点是“三分技术,七分管理,十二分基础数据”。
数据库设计的基本步骤如下:(1)需求分析(2)概念结构设计(3)数据库逻辑设计(4)数据库物理设计(5)数据库实施(6)数据库运行和维护一.数据库需求分析设计这个系统的主要目的就是实现学生社团的管理规范化,以及对社团举办活动进行登记。
数据库的需求分析阶段是整个数据库设计过程中的基础,也是耗时就多,最困难的一步.需求分析的任务就是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
这个阶段的工作成果主要以下三个方面的内容:(1)数据项:每种具体数据的名称、意义、类型、取值范围以及与其他数据项之间的逻辑关系。
(2)数据集:若干数据项的有逻辑关联的集合,包括名称、意义和组成数据集的数据项。
(3)数据流:应用系统运行时,数据是怎么输入、处理和输出。
二.数据库概念结构设计局部e-r图设计(1)学生信息表的e—r图(2)刷卡表的e-r图刷卡(3)刷卡记录表的e-r图全局e—r图如下:三.数据库逻辑结构设计数据库逻辑设计主要是将概念结构设计转换为某个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,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,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)referencesstuent(sno));(5)创建一个序列实现刷卡编号的自动增长Create sequence seq_inIncrement by 1Start with 1Nomaxvalue;Create sequence seq_in2Increment by 1Start with 1Nomaxvalue;(6)创建触发器只要学生一刷卡,就会在sk表中插入一条记录,此时查找刷卡记录表看是否存在与之同卡编号的记录,如果存在,则输出’有出勤,没有旷课',否则,输出‘该学生没有来上课’的信息。
考勤数据库
篇一:考勤sqlserver数据库建立办法
考勤sqlserver数据库建立办法
首先客户电脑上需要安装sqlserver数据库(2000或者是20XX版本)安装方法就不在这里介绍,下面说一下数据库的建立办法
1.打开数据库的企业管理器,新建一个数据库,名称可以任意填写如下图:
2.在20XX版本软件安装目录下找到sqlserver数据库脚本(文件名:sqlserver.sql),双击打开,然后把里面的脚本程序全部复制。
如下图:3在企业管理器中,打开工具-查询分析器,如下图
4选择新建立的数据库,然后把数据库脚本文件,复制到查询分析器中
5确认脚本文件复制成功之后,按F5运行。
如下图
执行成功后,数据库即建立成功:注意:一个数据库只能执行依次查询,进行多次查询,数据库会提示出错。
6.打开考勤软件找到维护设置-数据库设置,在数据库提供程序中选择sqlserver项,如下:
7.点击下一步,进行数据库参数设置,设置好服务器,验证方式和数据库名称即可:如下:
测试成功后,点击确认即可。
到此,数据库就建立成功了。
注意:如果数据库安装在本地电脑上,服务器名称可由(.)代替。
请勾选上允许保存密码。
如果忘记Sa密码,可以在企业管理器-登陆名中进行修改。
如下:
篇二:考勤数据库词典
门禁3.2软件的数据库结构说明
数据库名称:mJdataBase
2、depart(部门信息用表)
4、Holiday(假日登记用表)
转换为十进制即可。
此信息结合已有软件设计更清楚
8、mJ_macExtensionBoard(扩展板设置信息用表)
注:结合我们软件可详细了解事件序列
10、mJ_macinfo(控制器信息用表)
12、mJ_macmap(电子地图用表)
13、mJ_macmapdoor(电子地图门信息用表)
14、mJ_macPassword(控制器超级密码信息用表)
17、mJ_macTime(控制器时间组信息用表)
18、mJ_macTimeopendoor(定时开门信息用表)
20、mJ_Readinfo(读卡器信息用表)
篇三:数据库考勤管理系统
考勤管理系统分析和设计
实验报告
专业:07软件工程
姓名:学号:
综合教务系统分析和设计
系统的分析和设计过程主要包括:需求分析;概念结构设计;逻辑结构设计;物理结构设计,建立合适的索引,提高查询速度;应用系统的模块设计;应用系统的用户界面设计。
数据库系统的实施和维护。
一)数据库需求分析1.数据库需求分析
根据数据流程,可以列出以下管理系统所需的数据项和数据结构。
?出勤记录:记录号、员工、出入情况和出入时间。
?月度考勤统计:记录号、员工、年月、累计正常工作时间、累计请假时间、累计加班时
间、累加出差时间、迟到次数、早退次数和矿工次数。
?请假记录:记录号、员工、假期起始时间/结束时间和请假缘由。
?加班记录:记录号、员工、加班时间长度和日期。
?出差记录:记录号、员工、出差起始时间/结束时间和具体描述。
?人员信息:员工号、密码、权限、部门和当前状态等。
?部门设置:部门编号、名称等。
2.系统功能分析
?上班时间的设定。
上下班时间相对固定,可保存在客户端的设置文件中。
?员工出入单位的情况记录。
出入情况由考勤机来记录,但是需要设置人工添加的功能,
已被特殊情况的处理。
?请假、加班和出差情况的记录。
?每个月底进行整个月出勤。