文档库 最新最全的文档下载
当前位置:文档库 › 中控广域网考勤zktime8.0数据库表结构

中控广域网考勤zktime8.0数据库表结构

中控广域网考勤zktime8.0数据库表结构
中控广域网考勤zktime8.0数据库表结构

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 NULL

TABLE [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 NULL

TABLE [dbo].[template]—指纹模版表

templateid 自增id

userid 用户id外键

Template 模板数据

FingerID 手指取值(0123456789)

Valid 指纹类别取值(0,1)默认等于1

Fpversion 指纹版本号取(9 ,10)

bio_type 模板类型(0,_(u"指纹")),(1,_(u'人脸'))

SN 登记的设备

UTime 更新的时间

TABLE [dbo].[checkinout]—考勤记录表

列名描述

id 自增id

userid 人员id ,外键checktime 打卡时间checktype 考勤状态verifycode 验证方式

SN 设备外键

sensorid

WorkCode 工作代码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 默认,0

AutoSchPlan 是否自动排版

MinAutoSchInterval

RegisterOT

morecard_group_id 多卡开门人员组

set_valid_time 设置有效时间

acc_startdate 启用门禁日期

acc_enddate 结束门禁日期

birthplace 籍贯

Political 政治面貌

contry 国家

hiretype 雇佣类型

email 邮箱

firedate 解雇日期

attarea 考勤区域,外键与区域多对多isatt 是否考勤

homeaddress 家庭地址

emptype 员工类型

bankcode1 银行账号1

bankcode2 银行账号2

isblacklist 是否黑名单

TABLE [dbo].[userinfo_attarea]—用户区域信息表

[id] [int] IDENTITY(1,1) NOT NULL,

[employee_id] [int] NOT NULL,——用户ID

[area_id] [int] NOT NULL,——区域ID

TABLE [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) NULL

TABLE [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,

数据结构课程设计图的遍历和生成树求解

数学与计算机学院 课程设计说明书 课程名称: 数据结构与算法课程设计 课程代码: 6014389 题目: 图的遍历和生成树求解实现 年级/专业/班: 学生姓名: 学号: 开始时间: 2012 年 12 月 09 日 完成时间: 2012 年 12 月 26 日 课程设计成绩: 指导教师签名:年月日

目录 摘要 (3) 引言 (4) 1 需求分析 (5) 1.1任务与分析 (5) 1.2测试数据 (5) 2 概要设计 (5) 2.1 ADT描述 (5) 2.2程序模块结构 (7) 软件结构设计: (7) 2.3各功能模块 (7) 3 详细设计 (8) 3.1结构体定义 (19) 3.2 初始化 (22) 3.3 插入操作(四号黑体) (22) 4 调试分析 (22) 5 用户使用说明 (23) 6 测试结果 (24) 结论 (26)

摘要 《数据结构》课程主要介绍最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。进行数据结构课程设计要达到以下目的: ?了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; ?初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; ?提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。 这次课程设计我们主要是应用以前学习的数据结构与面向对象程序设计知识,结合起来才完成了这个程序。 因为图是一种较线形表和树更为复杂的数据结构。在线形表中,数据元素之间仅有线性关系,每个元素只有一个直接前驱和一个直接后继,并且在图形结构中,节点之间的关系可以是任意的,图中任意两个数据元素之间都可能相关。因此,本程序是采用邻接矩阵、邻接表、十字链表等多种结构存储来实现对图的存储。采用邻接矩阵即为数组表示法,邻接表和十字链表都是图的一种链式存储结构。对图的遍历分别采用了广度优先遍历和深度优先遍历。 关键词:计算机;图;算法。

数据库表结构设计参考

数据库表结构设计参考

表名外部单位表(DeptOut) 列名数据类型(精度范围)空/非空约束条件 外部单位ID 变长字符串(50) N 主键 类型变长字符串(50) N 单位名称变长字符串(255) N 单位简称变长字符串(50) 单位全称变长字符串(255) 交换类型变长字符串(50) N 交换、市机、直送、邮局单位邮编变长字符串(6) 单位标识(英文) 变长字符串(50) 排序号整型(4) 交换号变长字符串(50) 单位领导变长字符串(50) 单位电话变长字符串(50) 所属城市变长字符串(50) 单位地址变长字符串(255) 备注变长字符串(255) 补充说明该表记录数约3000条左右,一般不做修改。初始化记录。 表名外部单位子表(DeptOutSub) 列名数据类型(精度范围)空/非空约束条件 外部子单位ID 变长字符串(50) N 父ID 变长字符串(50) N 外键 单位名称变长字符串(255) N 单位编码变长字符串(50) 补充说明该表记录数一般很少 表名内部单位表(DeptIn) 列名数据类型(精度范围)空/非空约束条件 内部单位ID 变长字符串(50) N 主键 类型变长字符串(50) N 单位名称变长字符串(255) N 单位简称变长字符串(50) 单位全称变长字符串(255) 工作职责 排序号整型(4) 单位领导变长字符串(50) 单位电话(分机)变长字符串(50) 备注变长字符串(255)

补充说明该表记录数较小(100条以内),一般不做修改。维护一次后很少修改 表名内部单位子表(DeptInSub) 列名数据类型(精度范围)空/非空约束条件内部子单位ID 变长字符串(50) N 父ID 变长字符串(50) N 外键 单位名称变长字符串(255) N 单位编码变长字符串(50) 单位类型变长字符串(50) 领导、部门 排序号Int 补充说明该表记录数一般很少 表名省、直辖市表(Province) 列名数据类型(精度范围)空/非空约束条件ID 变长字符串(50) N 名称变长字符串(50) N 外键 投递号变长字符串(255) N 补充说明该表记录数固定 表名急件电话语音记录表(TelCall) 列名数据类型(精度范围)空/非空约束条件ID 变长字符串(50) N 发送部门变长字符串(50) N 接收部门变长字符串(50) N 拨打电话号码变长字符串(50) 拨打内容变长字符串(50) 呼叫次数Int 呼叫时间Datetime 补充说明该表对应功能不完善,最后考虑此表 表名摄像头图像记录表(ScreenShot) 列名数据类型(精度范围)空/非空约束条件ID 变长字符串(50) N 拍照时间Datetime N 取件人所属部门变长字符串(50) N 取件人用户名变长字符串(50) 取件人卡号变长字符串(50) 图片文件BLOB/Image

c#窗体设计之树形文件结构

using System; using System.Collections.Generic; using https://www.wendangku.net/doc/0211652189.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace 树形窗体 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { folderBrowserDialog1.RootFolder= Environment.SpecialFolder.MyComputer; folderBrowserDialog1.ShowNewFolderButton = false; if(folderBrowserDialog1.ShowDialog()!=DialogResult.OK) return; TreeNode Node ; treeView1.Nodes.Clear(); Node = treeView1.Nodes.Add(folderBrowserDialog1.SelectedPath); createchildNode(Node); Node.Expand(); } private void createchildNode(TreeNode fu) { TreeNode child; string path=fu.Text;

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

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

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

(2)刷卡表的e-r图 刷卡 (3)刷卡记录表的e-r图 全局e-r图如下:

三.数据库逻辑结构设计 数据库逻辑设计主要是将概念结构设计转换为某个dbms所支持的数据模型设计出 刷卡表结构如下: 学生信息表结构如下:

二叉树的应用数据结构课程设计样本

信息科学与技术学院 数据结构课程设计报告 题目名称: 二叉树的应用专业班级: 计算机科学与技术学生姓名: 陈杰 学生学号: 指导教师: 高攀 完成日期: -04 目录

1、课程设计的目的、课程设计题目、题目要求错误!未定义书签。 1.1课程设计的目的 ............................................... 错误!未定义书签。 1.2课程设计的题目 ............................................... 错误!未定义书签。 1.3题目要求............................................................ 错误!未定义书签。2课程设计的实验报告内容:................................. 错误!未定义书签。3课程设计的原程序代码: ..................................... 错误!未定义书签。4运行结果 .............................................................. 错误!未定义书签。 5. 课程设计总结..................................................... 错误!未定义书签。6参考书目 .............................................................. 错误!未定义书签。

1课程设计的目的 1.1课程设计的目的: 经过以前的学习以及查看相关资料,按着题目要求编写程序,进一步加强对编程的训练,使得自己掌握一些将书本知识转化为实际应用当中.在整个程序中,主要应用的是链表,可是也运用了类.经过两种方法解决现有问题. 1.2课程设计的题目: 二叉树的应用 1.3题目要求: 1.建立二叉树的二叉链表存储算法 2.二叉树的先序遍历, 中序遍历和后序遍历输出 3.非递归的先序遍历, 中序遍历 4.二叉树的层次遍历 5.判断此二叉树是否是完全二叉树 6.二叉树的左右孩子的交换 2课程设计的实验报告内容: 7.经过递归对二叉树进行遍历。二叉树的非递归遍历主要采用利 用队进行遍历。此后的判断此二叉树是否是完全二叉树也才采

数据库课程设计--职工考勤管理信息系统

目录 1 概述 (1) 1.1设计背景 (1) 1.2研究目的 (1) 1.3理论基础的分析 (2) 1.4预期结果和意义 (2) 2 需求分析 (2) 2.1功能需求 (2) 2.2数据流图 (3) 2.3功能模块图 (4) 2.4系统数据流程图 (4) 3 概念结构设计 (5) 3.1局部E-R图 (5) 3.2整体E-R图 (8) 4 逻辑结构设计 (9) 4.1关系模式 (9) 4.2数据关系图 (9) 5 物理结构设计 (10) 5.1存储记录结构设计 (10) 5.2创建索引 (12) 6 数据库实施 (13) 6.1建立数据库 (13) 6.2数据表的创建 (13) 6.3建立存储过程 (17) 6.4创建触发器 (18) 7 数据库运行和维护 (19) 8 结论 (20)

1 概述 1.1设计背景 随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。规范的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理计算机化,建立一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。 企业考勤管理经过如下的业务流程: (1)员工基本信息管理,添加,删除,更改 (2)员工考勤管理,员工根据自己的班次在上下班时分别进行出勤操作,采用手动方式或者使用划卡机。由人事部门专门的人员管理出勤和退勤信息。 (3)一般在每个月月初进行考勤汇总,汇总信息包括工作日的出勤情况、请假天数、出差天数、休假天数和不同性质的加班记录等。 1.2研究目的 待开发的系统的名称为企业职工在线考勤系统; 我们以中小型企业的考勤管理业务为依托,结合科学管理的理论,设计并开发一个企业考勤管理信息系统,提供一个科学合理的考勤管理解决方案,彻底实现无纸化作业。根据管理权限的不同,将界面分为一般职员、部门经理、系统管理员和最高管理者四个层次,系统目标如下: (1)提供简单、方便的操作。 (2)根据企业原来的考勤管理制度,为企业不同管理层次提供相应的功能。 (3)通过考勤管理无纸化的实现,使企业的考勤管理更加科学规范。

二叉树数据结构课程设计

目录 第一章需求分析 (1) 1.1课程设计题目 (1) 1.2 课程设计任务及要求 (1) 1.21 课程设计目的 (1) 1.22设计要求 (1) 1.3课程设计思想 (2) 1.4软件运行环境及开发工具 (2) 第二章概要设计 (3) 2.1 数据结构 (3) 2.2 所用方法及其原理说明 (3) 第三章详细设计 (4) 3.1详细设计方案 (4) 3.2 模块设计 (4) 3.21二叉树定义 (4) 3.22 树状显示二叉树设计 (7) 3.22 主函数设计 (10) 第四章调试和操作说明 (11) 4.1 调试 (11) 4.2 操作说明 (12) 第五章总结与体会 (12) 5.1本文的主要工作 (12) 5.2 存在问题 (12) 5.3心得体会 (12) 致谢 (13) 参考文献 (14)

第一章需求分析 1.1课程设计题目 树状显示二叉树: 编写函数displaytree(二叉树的根指针,数据值宽度,屏幕的宽度)输出树的直观示意图。输出的二叉树是垂直打印的,同层的节点在同一行上。 [问题描述] 假设数据宽度datawidth=2,而屏幕宽度screenwidth为64=26,假设节点的输出位置用 (层号,须打印的空格数)来界定。 第0层:根在(0,32)处输出; 第1层:因为根节点缩进了32个空格,所以下一层的偏移量(offset)为32/2=16=screenwidth/22。即第一层的两个节点的位置为(1,32-offset),(1,32+offset)即(1,16),(1,48)。 第二层:第二层的偏移量offset为screenwidth/23。第二层的四个节点的位置分别是(2,16-offset),(2,16+offset),(2,48-offset),(2,48+offset)即(2,8),(2,24),(2,40),(2,56)。 …… 第i层:第i层的偏移量offset为screenwidth/2i+1。第i层的每个节点的位置是访问第i-1层其双亲节点时确定的。假设其双亲的位置为(i-1,parentpos)。若其第i层的节点是其左孩子,那末左孩子的位置是(i,parentpos-offset),右孩子的位置是(i,parentpos+offset)。 [实现提示] 利用二叉树的层次遍历算法实现。利用两个队列Q,QI。队列Q中存放节点信息,队列QI中存相应于队列Q中的节点的位置信息,包括层号和需要打印节点值时需要打印的空格数。当节点被加入到Q时,相应的打印信息被存到QI中。二叉树本身采用二叉链表存储。 1.2 课程设计任务及要求 1.21 课程设计目的 据结构是计算机专业的核心课程,是一门实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段,要求学生掌握数据结构的应用、算法的编写、类C语言的算法转换成C(C++)程序并上机调试的基本方法,还要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。 1.22设计要求 1、课程设计题目每组一题,每个学生必须独立完成; 2、课程设计时间为2周; 3、设计语言C(C++)不限; 1

进销存数据库表结构设计

1.帐类表(KIND) 无索引 序号中文名称英文名称类型备注 1 帐类编号K_SERIAL byte 2 帐类名称K_NAME text*10 本表系统自动建立,共划分为15种帐类,不可增删 帐类编号帐类名称备注 0 上期结存进货,不参加进货统计 1 购入进货,购入时必需输入供货单位名称 2 自制进货 3 投资转入进货 4 盘盈进货 5 领料出库,领料必需输入领料部门名称 6 调拨出库 7 报损出库 8 盘亏出库 9 退库对低值易耗品,在用品退为在用库存 10 直接报废对于低值易耗品,在用品转报废 11 领用对于低值易耗品,在用库存转在用 12 调拨对于低值易耗品,在用库存减少 13 报废对于低值易耗品,在用库存报废 14 直进直出进出库,购入与领料对库存无影响 2.物品表(GOODS) 序号索引名称索引域唯一? 主索引? 1 G_CODING +G_CODING Y N 2 G_SERIAL +G_SERIAL Y Y 序号中文名称英文名称类型备注 1 物品内部编号G_SERIAL INT->long 系统内部唯一标识该物品 2 物品编号G_CODING TEXT * 10 用户使用此编号访问物品 &3 物品名称G_NAME TEXT*40 非空 &4 物品单位G_UNIT TEXT*8 非空 &5 物品规格G_STATE TEXT*20

6 物品类别G_CLASS INT 取自表CLASS 7 备注G_REMARKS MEMO 8 最小库存量G_MIN CURRENCY 为零,即无最小库存 9 最大库存量G_MAX CURRENCY 为零,即无最大库存 10 库存数量G_QUANT CURRENCY 控制出库数量 11 虚拟库存数量G_VQUANT CURRENCY 出库时用 12 库存金额G_AMOUNT CURRENCY 3.类别表(CLASS) 序号索引名称索引域唯一? 主索引? 1 C_CODING +C_CODING Y N 2 C_SERIAL +C_SERIAL Y Y 序号中文名称英文名称类型备注 1 类别内部序号C_SERIAL INT 系统内部唯一标识该物品 2 类别编号C_CODING TEXT *10 用户使用该编号访问类别信息 3 类别名称C_NAME TEXT*20 非空 4 出库类型C_KIND BYTE 1.移动平均 2..先进先出 3.后进先出 4.实际计价 *5.月末平均 5 备注C_REMARKS MEMO *6 底标志C_BOTTOM BOOLEAN *7 类别级别C_LEVEL BYTE 4.供货单位、使用部门(DEPART) 序号索引名称索引域唯一? 主索引? 1 D_CODING +D_CODING Y N 2 D_SERIAL +D_SERIAL Y Y 序号中文名称英文名称类型备注 1 内部序号D_SERIAL INT 系统内部唯一标识该部门 >0 供货单位 =0 库房 <0 使用部门 2 单位编号D_CODING TEXT*10

数据结构课程设计报告,含菜单

算法与数据结构课程设计 报告 系(院):计算机科学学院 专业班级:计科11005 姓名:张林峰 学号: 201003784 指导教师:詹泽梅 设计时间:2012.6.11 - 2012.6.18 设计地点:12教机房

目录 一、课程设计目的 (2) 二、设计任务及要求 (2) 三、需求分析 (2) 四、总体设计 .............. 错误!未定义书签。 五、详细设计与实现[含代码和实现界面].. 8 六、课程设计小结 (15)

一.设计目的 1.能根据实际问题的具体情况,结合数据结构课程中的基本理论和基本算法,分析并正确确定数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。 2.提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。 3.初步掌握软件开发过程中问题分析、系统设计、程序编码、测试等基本方法和技能。 4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。 5.培养根据选题需要选择学习书籍,查阅文献资料的自学能力。二.设计任务及要求 根据《算法与数据结构》课程的结构体系,设计一个基于DOS菜单的应用程序。要利用多级菜单实现各种功能。比如,主界面是大项,主要是学过的各章的名字诸如线性表、栈与队列、串与数组及广义表等,子菜单这些章中的节或者子节。要求所有子菜单退出到他的父菜单。编程实现时,要用到C++的面向对象的功能。 三.需求分析 菜单运用极其广泛,应用于各行各业。菜单运用起来极其方便。随着社会的发展,社会的行业出现多样化,也就需要各式

考勤管理系统数据库设计

考勤管理系统数据库设计 数据库设计是指对于一个给定的应用环境,构造设计优化的数据库逻辑模式和物理结构,并据此建立数据库以及应用环境,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。 数据库的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。数据库设计的一个特点是“三分技术,七分管理,十二分基础数据”。 数据库设计的基本步骤如下: (1)需求分析 (2)概念结构设计 (3)数据库逻辑设计 (4)数据库物理设计 (5)数据库实施 (6)数据库运行和维护 一.数据库需求分析 设计这个系统的主要目的就是实现学生社团的管理规范化,以及对社团举办活动进行登记。 数据库的需求分析阶段是整个数据库设计过程中的基础,也是耗时就多,最困难的一步。需求分析的任务就是 通过详细调查现实世界要处理的对象,充分了解原系统工 作概况,明确用户的各种需求,然后在此基础上确定新

系统的功能。这个阶段的工作成果主要以下三个方面的内容: (1)数据项:每种具体数据的名称、意义、类型、取值范围以及与其他数据项之间的逻辑关系。 (2)数据集:若干数据项的有逻辑关联的集合,包括名称、意义和组成数据集的数据项。 (3)数据流:应用系统运行时,数据是怎么输入、处理和输出。 二.数据库概念结构设计 局部e-r图设计 (1)学生信息表的e-r图 (2)刷卡表的e-r图 刷卡

(3)刷卡记录表的e-r图 全局e-r图如下:

三.数据库逻辑结构设计 数据库逻辑设计主要是将概念结构设计转换为某个dbms所支持的数据模型设计出 刷卡表结构如下: 学生信息表结构如下:

数据库结构设计

一、数据库结构设计步骤 二、需求分析 三、概念结构设计 四、逻辑结构设计 五、数据库物理设计 数据库结构设计 一、数据库结构设计步骤 一般可将数据库结构设计分为四个阶段,即需求分析、概念结构设计、逻辑结构设计和物理设计。 下面各节分别介绍各阶段设计内容和具体方法。 二、需求分析 需求分析的任务是具体了解应用环境,了解与分析用户对数据和数据处理的需求,对应用系统的性能的要求,提出新系统的目标,为第二阶段、第三阶段的设计奠定基础。一般需求分析的操作步骤如下所述。 1.了解组织、人员的构成 子系统的划分常常以现有组织系统为基础,再进行整合,而新系统首先必须达到的目的是尽可能地完成当前系统中有关信息方面的工作,在原有系统中,信息处理总是由具体人来实施的。我们要了解组织结构情况、相互之间信息沟通关系、数据(包括各种报告、报表、凭证、单据)往来联系情况。 具体弄清各个数据的名称,产生的时间与传递所需时间与周期,数据量的大小,所涉及(传送)的范围,使用数据的权限要求,数据处理过程中容易发生的问题及其影响,各个部门所希望获得的数据的情况等。 然后了解每个人对每一具体数据处理的过程,基本数据元素来源于哪些地方、获取的途径、处理的要求、数据的用途,进而弄清数据的构成、数据元素的类型、性质、算法、取值范围、相互关系。 在上述调查基础上,首先画出组织机构及工作职能图。我们以一个学校的基层单位——某大学一个系的管理为例来简要说明。 系的组织机构及工作职能如图7.1所示。

图7.1 系管理体系结构图 作为管理层经常需要的信息和工作有: .查询老师个人基本情况及打印相应内容 .查询与统计科研项目情况及相关报表 .查询与统计论文著作情况及相关报表 .上级部门及其他部门来文管理与查询(要求能全文检索) .系部发文管理 .任务下达、检查及管理 .信件、通知的收发及管理 .日程安排调度及管理 .设备仪器计划及管理 .设备入库与库存情况管理与查询 .设备借还领用管理及相应报表 .耗材计划与领发管理及相应统计报表 .图书管理及借还情况查询 .学生毕业设计文档管理 .专业与班组编制与查询 .教学文档管理及查询(安排与检查,包括课表、考试日程安排、监考安排等).学生成绩管理与查询和统计 .教师、学生、实验室课表管理及查询 .学生基本情况管理与查询(包括社会活动、奖惩、家庭情况及学校校友管理)

出勤(考勤)管理系统(SQL数据库)_1401191946010126

出勤(考勤)管理系统(SQL数据库) 摘要 :由于社会在不断发展,互联网已经被千千万万的行业所接收,出勤管理系统在日常教学工作中占有很重要的位置。通过对出勤管理系统的现状分析,考虑如何在日常生活中充分利用网络和计算机的优势,使得出勤管理系统既能够在学校教学管理工作中得到充公使用,又能节省时间、提高效率,并且使这一资源得到重复利用,由此设计出勤管理系统。 本系统应用B/S结构,MVC模式采用SSH框架技术编写。很好的利用网络,即使相隔千里,也可以随时为学校管理提供帮助。成为学生与老师、老师与领导中稳固的桥梁。也是网络运用中极为有益的一个方面。出勤管理系统很好的利用了高速发展的互联网络资源。为广大师生提供便捷、高效、灵活的信息查询平台。该系统主要功能包括教室安排、课程安排、学生考勤、在线请假、教室维护、班级维护、密码修改、用户管理等功能。 网络的运用极为广泛,我们应该多多开发像出勤管理系这样方便教学管理的软件,促进网络时代的发展。 关键字:出勤管理;S2SH ;JSP 目录 摘要III Abstract IV 目录V 第1章前言7 1.1 国内外现状7 1.2 需求分析7 1.3 系统可行性分析8 1.3.1 技术可行性8 1.3.2 管理可行性9 第2章关键技术介绍10 2.1 关键性开发技术的介绍10 2.1.1 Struts2简介10 2.1.2 MVC模式介绍12 2.1.3 Model: 系统状态和商业逻辑JavaBeans 13 2.1.4 View: JSP页面和表示组件13 2.1.5 Controller: ActionServlet和ActionMapping 14 第3章面向对象设计15 3.1面向对象设计概述15 3.2系统设计思想和原则16 3.3系统模块划分16 第4章数据库设计18 4.1 数据库的设计原则18 4.2 数据字典19 4.2.1 用户信息表19 4.2.2 考勤信息表19

[TREE]采用左右值编码来存储无限分级树形结构的数据库表设计

采用左右值编码来存储无限分级树形结构的数据库表设计 之前我介绍过一种按位数编码保存树形结构数据的表设计方法,详情见:浅谈数据库设计技巧(上) 该设计方案的优点是:只用一条查询语句即可得到某个根节点及其所有子孙节点的先序遍历。由于消除了递归,在数据记录量较大时,可以大大提高列表效率。但是,这种编码方案由于层信息位数的限制,限制了每层能所允许的最大子节点数量及最大层数。同时,在添加新节点的时候必须先计算新节点的位置是否超过最大限制。 上面的设计方案必须预先设定类别树的最大层数以及最大子节点数,不是无限分级,在某些场合并不能采用,那么还有更完美的解决方案吗?通过google的搜索,我又探索到一种全新的无递归查询,无限分级的编码方案——左右值。原文的程序代码是用php写的,但是通过仔细阅读其数据库表设计说明及相关的sql语句,我彻底弄懂了这种巧妙的设计思路,并在这种设计中新增了删除节点,同层平移的需求(原文只提供了列表及插入子节点的sql语句)。 下面我力图用比较简短的文字,少量图表,及相关核心sql语句来描述这种设计方案: 首先,我们弄一棵树作为例子: 商品 |---食品 | |---肉类 | | |--猪肉 | |---蔬菜类 | |--白菜 |---电器 |--电视机 |--电冰箱

select count(*) from tree where lft <= 2 and rgt >= 11 为了方便列表,我们可以为tree表建立一个视图,添加一个层数列,该类别的层数可以写一个自定义函数来计算。该函数如下: CREATE FUNCTION dbo.CountLayer ( @type_id int ) RETURNS int AS begin declare@result int set@result=0 declare@lft int declare@rgt int if exists (select1from tree where type_id=@type_id) begin select@lft=lft,@rgt=rgt from tree where type_id=@type_id select@result=count(*) from tree where lft <=@lft and rgt >=@rgt end return@result end GO 然后,我们建立如下视图: CREATE VIEW dbo.TreeView AS SELECT type_id, name, lft, rgt, dbo.CountLayer(type_id) AS layer FROM dbo.tree ORDE R BY lft GO

数据库表结构设计参考

数据库表结构设计参考. )表名外部单位表(DeptOut 约束条件非空空数据类型(精度范围) /列名外部单位ID N 变长字符串(50) 主键 N 变长字符串类型 (50)

N 单位名称(255) 变长字符串 (50) 单位简称变长字符变长字符(255)单位全交换类交换、市机、直送、邮变长字符(50)N (6)单位邮变长字符 变长字符(50))单位标英整排序(4) (50)交换变长字符变长字符(50)单位领 变长字符单位电(50) 变长字符所属城(50) 变长字符(255)单位地 备(255) 变长字符 补充说300条左右,一般不做修改。初始化记录该表记录数 表外部单位子表DeptOutSu 数据类型(精度范围列非约束条 变长字符(50)外部子单IDN 外ID变长字符(50)N单位名N变长字符(255) 变长字符单位编(50) 该表记录数一般很补充说 表内部单位表DeptI

数据类型(精度范围非列约束条IDN(50)变长字符主内部单类N变长字符(50) (255)变长字符N单位名 (50)变长字符单位简 变长字符单位全(255) 工作职 排序整(4) 单位领导(50) 变长字符串 (50) 单位电话(分机)变长字符串 (255) 变长字符串备注. 条以内),一般不做修改。维护一次后很少修改补充说明该表记录数较小(100 内部单位子表(DeptInSub)表名 约束条件数据类型(精度范围)空列名/非空 (50) N 变长字符串内部子单位ID 变长字符串(50) 父ID N 外键 (255) 单位名称 N 变长字符变长字符(50)单位编领导、部变长字符(50)单位类 Int 排序 该表记录数一般很补充说 省、直辖市表Provinc表

数据结构课程设计之图的遍历和生成树求解

##大学 数据结构课程设计报告题目:图的遍历和生成树求解 院(系):计算机工程学院 学生: 班级:学号: 起迄日期: 2011.6.20 指导教师:

2010—2011年度第 2 学期 一、需求分析 1.问题描述: 图的遍历和生成树求解实现 图是一种较线性表和树更为复杂的数据结构。在线性表中,数据元素之间仅有线性关系,每个数据元素只有一个直接前驱和一个直接后继;在树形结构中,数据元素之间有着明显的层次关系,并且每一层上的数据元素可能和下一层中多个元素(及其孩子结点)相关但只能和上一层中一个元素(即双亲结点)相关;而在图形结构中,节点之间的关系可以是任意的,图中任意两个数据元素之间都可能相关。 生成树求解主要利用普利姆和克雷斯特算法求解最小生成树,只有强连通图才有生成树。 2.基本功能 1) 先任意创建一个图; 2) 图的DFS,BFS的递归和非递归算法的实现 3) 最小生成树(两个算法)的实现,求连通分量的实现 4) 要求用邻接矩阵、邻接表等多种结构存储实现 3.输入输出

输入数据类型为整型和字符型,输出为整型和字符 二、概要设计 1.设计思路: a.图的邻接矩阵存储:根据所建无向图的结点数n,建立n*n的矩阵,其中元素全是无穷大(int_max),再将边的信息存到数组中。其中无权图的边用1表示,无边用0表示;有全图的边为权值表示,无边用∞表示。 b.图的邻接表存储:将信息通过邻接矩阵转换到邻接表中,即将邻接矩阵的每一行都转成链表的形式将有边的结点进行存储。 c.图的广度优先遍历:假设从图中的某个顶点v出发,在访问了v之后依次访问v的各个未曾访问过的邻接点,然后再访问此邻接点的未被访问的邻接点,并使“先被访问的顶点的邻接点”先于“后被访问的顶点的邻接点”被访问,直至图中所有已被访问的顶点的邻接点都被访问到。若此时图中还有未被访问的,则另选未被访问的重复以上步骤,是一个非递归过程。 d.图的深度优先遍历:假设从图中某顶点v出发,依依次访问v的邻接顶点,然后再继续访问这个邻接点的系一个邻接点,如此重复,直至所有的点都被访问,这是个递归的过程。 e.图的连通分量:这是对一个非强连通图的遍历,从多个结点出发进行搜索,而每一次从一个新的起始点出发进行搜索过程中得到的顶点访问序列恰为其连通分量的顶点集。本程序利用的图的深度优先遍历算法。 2.数据结构设计: ADT Queue{ 数据对象:D={a i | a i ∈ElemSet,i=1,2,3……,n,n≥0} 数据关系:R1={| a i-1 ,a i ∈D,i=1,2,3,……,n} 基本操作: InitQueue(&Q) 操作结果:构造一个空队列Q。 QueueEmpty(Q) 初始条件:Q为非空队列。 操作结果:若Q为空队列,则返回真,否则为假。 EnQueue(&Q,e) 初始条件:Q为非空队列。 操作结果:插入元素e为Q的新的队尾元素。 DeQueue(&Q,e) 初始条件:Q为非空队列。 操作结果:删除Q的队头元素,并用e返回其值。}ADT Queue

数据结构课程设计(附代码)

上海应用技术学院课程设计报告 课程名称《数据结构课程设计》 设计题目猴子选大王;建立二叉树;各种排序;有序表的合并;成绩管理系统;院系计算机科学与信息工程专业计算机科学与技术班级 姓名学号指导教师日期 一.目的与要求 1. 巩固和加深对常见数据结构的理解和掌握 2. 掌握基于数据结构进行算法设计的基本方法 3. 掌握用高级语言实现算法的基本技能 4. 掌握书写程序设计说明文档的能力 5. 提高运用数据结构知识及高级语言解决非数值实际问题的能力 二.课程设计内容说明 1. 项目一 (1) 对设计任务内容的概述 学生成绩管理** 任务:要求实现对学生资料的录入、浏览、插入和删除等功能。 输入:设学生成绩以记录形式存储,每个学生记录包含的信息有:学号和各门课程的成绩,设学生成绩至少3门以上。存储结构:采用线性链式结构。 (2) 详细设计 LinkList *create():输入学生成绩记录函数; void print(LinkList *head):显示全部记录函数 LinkList *Delete(LinkList *head):删除记录函数 LinkList *Insert(LinkList *head):插入记录函数 void menu_select():菜单选择 void ScoreManage():函数界面

(3) 程序流程图 (4) 程序模块及其接口描述 该程序可以分为以下几个模块: 1、菜单选择:void menu_select(); 提供五种可以选择的操作,在main函数中通过switch语句调用菜单menu_select()函数,进入不同的功能函数中完成相关操作。

考勤系统数据表结构

考勤系统数据表结构 考勤员信息设置T_KQEMP_INFO MAN_ID V ARCHAR2(20) N 工号 POST_INFO V ARCHAR2(20) Y 岗位描述 POWER_USER V ARCHAR2(20) Y 创建人 POWER_DATE DATE Y 创建时间 POWER_USER_DEPT V ARCHAR2(20) Y 创建人部门 POWER_POPEDOM V ARCHAR2(1) Y 锁定按钮 排班设置T_KQPB_SET MAN_ID V ARCHAR2(20) N 员工编号 DEPARTMENT_CODE V ARCHAR2(20) Y 部门编号 CLASS_CODE V ARCHAR2(10) Y 班次编号 CYC_DAYS NUMBER Y 循环天数 CYC_NO NUMBER Y 循环序号 CYC_BEGIN DATE N 开始日期 CYC_END DATE N 结束日期 IF_REST V ARCHAR2(2) Y 是否休息 POWER_USER V ARCHAR2(20) Y 创建人 POWER_DATE DATE Y 创建时间 POWER_USER_DEPT V ARCHAR2(20) Y 创建人部门 POWER_POPEDOM V ARCHAR2(1) Y 锁定按钮 ID NUMBER N 职工请假申请T_KQQJ_APPL Y MAN_ID V ARCHAR2(20) N 员工编号 APPL Y_DATE DATE N 申请日期 KIND_CODE V ARCHAR2(10) Y 类别编号 START_DATE DATE Y 假期开始时间 END_DATE DATE Y 假期结束时间 APPL Y_DAYS NUMBER Y 请假天数 FAKE_CAUSE V ARCHAR2(200) Y 请假原因 POWER_USER V ARCHAR2(20) Y 创建人 POWER_DATE DATE Y 创建时间 POWER_USER_DEPT V ARCHAR2(20) Y 创建人部门 POWER_POPEDOM V ARCHAR2(1) Y 锁定按钮 APPL Y_CODE NUMBER N 编号 FLOW_STATE V ARCHAR2(1) Y '0' 流程审批状态:0:未启用,1:执行中,2:执行完毕 CUROPERATORID V ARCHAR2(1000) Y当前执行人

考勤系统数据库课程设计

目录 第一章系统概述 (1) 1.1 系统开发背景 (1) 1.2项目设计基本原理 (1) 1.3数据库系统设计及范式分析 (1) 第二章系统需求分析 (3) 2.1可行性研究 (3) 2.1.1技术可行性 (3) 2.1.2经济可行性 (3) 2.1.3操作可行性 (3) 2.1.4社会因素可行性 (4) 2.1.5可行性研究结论 (4) 2.2需求分析 (4) 2.2.1系统目的 (4) 2.2.2系统功能及用户需求分析 (4) 2.3数据描述 (5) 2.3.1数据流图 (5) 2.3.2数据字典 (6) 第三章总体设计 (9) 3.1总体设计原理 (10) 3.2运行环境与系统结构 (10) 3.3系统功能模块与设计 (10) 3.4系统功能模块图 (11) 第四章详细设计 (12) 4.1数据库的概念设计 (12) 4.1.1局部E-R模式设计 (12) 4.1.2 E-R图模型转成关系模型 (13) 4.2数据库实现 (14)

4.3代码的调试 (22) 结束语 (25) 参考文献 (26)

第一章系统概述 1.1 系统开发背景 90年代中期,由于Internet 的迅速普及,使Intranet成为Internet技术在企业管理信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件。企业信息管理系统在此基础上延伸、扩展,使之上下、内外全面贯通。酒店考勤管理系统是在适应市场需求的客观前提下,为了满足中小型公司或事业单位管理自己的职员考勤问题而开发的。该系统的是终目的是要将各位职员的考勤情况放到网络上,以方便员工及时查证。 1.2项目设计基本原理 随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。员工考勤管理是企业信息管理的重要部分面对大量的人事工资信息,采用人力处理将浪费大量的时间、人力和物力,且数据的准确性低。一个界面友好,易于操作的员工考勤管理软件进行自动化处理就会显得尤为重要。 在数据库系统中,主要的操作是对数据库进行的,根据对不同数据表的操作来划分模块,虽然这并不一定正确,但根据数据来划分模块确实可以使乘隙模块清晰明了。当然,前提是数据划分正确,不然会使数据处理更加麻烦。 1.3数据库系统设计及范式分析 数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。 数据库设计的步骤是;

树形结构数据表的设计

树形结构的数据库表Schema设计 程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,因此是不能直接将Tree 存入DBMS,设计合适的Schema及其对应的CRUD算法是实现关系型数据库中存储树形结构的关键。 理想中树形结构应该具备如下特征:数据存储冗余度小、直观性强;检索遍历过程简单高效;节点增删改查CRUD操作高效。无意中在网上搜索到一种很巧妙的设计,原文是英文,看过后感觉有点意思,于是便整理了一下。本文将介绍两种树形结构的Schema设计方案:一种是直观而简单的设计思路,另一种是基于左右值编码的改进方案。 一、基本数据 本文列举了一个食品族谱的例子进行讲解,通过类别、颜色和品种组织食品,树形结构图如下:

二、继承关系驱动的Schema设计 对树形结构最直观的分析莫过于节点之间的继承关系上,通过显示地描述某一节点的父节点,从而能够建立二维的关系表,则这种方案的Tree表结构通常设计为:{Node_id,Parent_id},上述数据可以描述为如下图所示: 这种方案的优点很明显:设计和实现自然而然,非常直观和方便。缺点当然也是非常的突出:由于直接地记录了节点之间的继承关系,因此对Tree的任何CRUD操作都将是低效的,这主要归根于频繁的“递归”操作,递归过程不断地访问数据库,每次数据库IO都会有时间开销。当然,这种方案并非没有用武之地,在Tree规模相对较小的情况下,我们可以借助于缓存机制来做优化,将Tree的信息载入内存进行处理,避免直接对数据库IO操作的性能开销。 三、基于左右值编码的Schema设计 在基于数据库的一般应用中,查询的需求总要大于删除和修改。为了避免对于树形结构查询时的“递归”过程,基于Tree的前序遍历设计一种全新的无递归查询、无限分组的左右值编码方案,来保存该树的数

相关文档
相关文档 最新文档