学期作品-考勤信息管理系统文档之《数据库设计说明书》
<项目名称>
数据库设计说明书
数据库设计说明书
作者 |
薛纪表 |
发布范围 |
HPTCA-MS |
版本 |
1.0 |
发布日期 |
2008-5-25 |
修订历史记录
发布日期 |
版本 |
说明 |
作者 |
2008-5-25 |
1.0 |
数据库设计说明书 |
薛纪表 |
目录
数据库设计说明书
1. 引言
1.1 编写目的
1概要设计的重要部分
2数据库是系统的根基
3影响下游活动
3.1详细设计
3.2编码测试
4为重构的准备及扩充性的要求
1.2 背景
数据库名称:BUSDB(杭州公交公司考勤管理系统)
项目任务提出者:杭州公交公司
项目开发者:杭州电子科技大学软件职业技术学院软件4班2组
用户:杭州公交总公司及其各分公司
1.3 定义
E_ 员工 D_部门 OV_加班 MS_留言 ER_出差 AT_考勤 AM_月考勤
1.4 参考资料
http://192.168.48.112/sites/软件4班2组
微软教材
MSDN帮助文档
2. 外部设计
2.1 标识符的状态
E_ 员工 D_部门 OV_加班 MS_留言 ER_出差 AT_考勤 AM_月考勤
字段名 |
解释 |
数据类型 |
是否为空 |
备注 |
E_ID |
员工号 |
Int |
Not null |
PK |
D_ID |
部门编号 |
int |
Not null |
PK |
MS_ID |
员工号 |
Int |
Not null |
PK,FK |
AD_NO |
编号 |
int |
Not null |
PK |
AT_NO |
编号 |
Int |
Not null |
PK |
ER_NO |
编号 |
Int |
Not null |
PK |
OV_NO |
编号 |
Int |
Not null |
PK |
2.2 约定
员工号 Check 约束8位 主键约束 Primary Key
密码 Check约束6位到16位
部门号 Check约束2位 主键约束 Primary Key
日记录编号 主键约束 Primary Key
考勤编号 主键约束 Primary Key
出差编号 主键约束 Primary Key
请假编号 主键约束 Primary Key
加班编号 主键约束 Primary Key
— 关键字约束(PK)
— 外键约束(Fk)
— 唯一性约束
— Check约束(用户自定义约束)
— 非空约束(Not NULL)
2.3 支持软件
Windows xp为系统平台, Microsoft SQL Server2000进行数据库读取和写入文件等操作。
3. 结构设计
3.1 概念结构设计
3.2 物理结构设计
字段名 |
解释 |
数据类型 |
是否为空 |
备注 |
E_ID |
员工号 |
Int |
Not null |
PK |
E_PASSWORD |
密码 |
Varchar(20) |
Not null |
|
E_NAME |
姓名 |
Varchar(20) |
Not null |
|
E_SEX |
性别 |
Varchar(20) |
Not null |
|
E_BIRTHDAY |
生日 |
Datetime |
Not null |
|
E_DEPARTMENT |
部门号 |
Int |
Not null |
FK |
E_ADDRESS |
地址 |
Varchar(20) |
Not null |
|
E_TEL |
电话 |
Varchar(20)) |
Null |
|
E_EMIAL |
电子邮件 |
Varchar(20) |
Null |
|
E_REMARK |
备注 |
Varchar(200) |
Null |
|
E_STATE |
状态 |
Varchar(20)) |
Not null |
1.3.2 DEPARTMENT(部门信息表)
字段名 |
解释 |
数据类型 |
是否为空 |
备注 |
D_ID |
部门编号 |
int |
Not null |
PK |
D_NAME |
部门名称 |
Varchar(20) |
Not null |
|
D_ABOUT |
部门介绍 |
Varchar(20) |
Not null |
|
D_LEADER |
部门负责人 |
int |
Not null |
1.3.3 ATTENDANCE_DATE(日记录信息表)
字段名 |
解释 |
数据类型 |
是否为空 |
备注 |
AD_NO |
编号 |
int |
Not null |
|
AD_DATE |
日期 |
Datetime |
Not null |
|
E_ID |
员工号 |
int |
Not null |
PK,FK |
E_NAME |
员工姓名 |
Varchar(20) |
Not null |
|
AD_WORKHOURS |
工作时间 |
int |
Null |
|
AD_OVERHOURS |
加班时间 |
int |
Null |
|
AD_LEAVE |
是否请假 |
int |
Null |
1表示是 0表示不是 |
AD_ERRAND |
是否出差 |
Int |
Null |
1表示是 0表示不是 |
AD_LATE |
是否迟到 |
Int |
Null |
1表示是 0表示不是 |
AD_EARLY |
是否早退 |
Int |
Null |
1表示是 0表示不是 |
AD_ABSENT |
是否旷工 |
int |
Null |
1表示是 0表示不是 |
1.3.4 ATTENDANCE(考勤信息表)
字段名 |
解释 |
数据类型 |
是否为空 |
备注 |
AT_NO |
编号 |
Int |
Not null |
|
E_ID |
员工号 |
Int |
Null |
PK,FK |
E_NAME |
员工姓名 |
Varchar(20) |
Null |
|
AT_IN |
上班时间 |
Datetime |
Null |
|
AT_OUT |
下班时间 |
Datetime |
Null |
1.3.5 ERRAND(出差信息表)
字段名 |
解释 |
数据类型 |
是否为空 |
备注 |
ER_NO |
编号 |
Int |
Not null |
|
E_ID |
员工号 |
Int |
Not null |
PK,FK |
E_NAME |
员工姓名 |
Varchar(20) |
Not null |
|
ER_STARTTIME |
开始时间 |
Datetime |
Not null |
|
ER_ENDTIME |
结束时间 |
Datetime |
Null |
|
ER_DESCRIPTION |
描述情况 |
Varchar(20) |
Null |
1.3.6 LEAVE(请假信息表)
字段名 |
解释 |
数据类型 |
是否为空 |
备注 |
LV_NO |
编号 |
Int |
Not null |
|
E_ID |
员工号 |
Int |
Not null |
PK,FK |
E_NAME |
员工姓名 |
Varchar(20) |
Not null |
|
LV_STARTTIME |
开始时间 |
Datetime |
Null |
|
LV_ENDTIME |
结束时间 |
Datetime |
Null |
|
LV_REASON |
原因 |
Varchar(200) |
Null |
1.3.7 MESSAGE (留言信息表)
字段名 |
解释 |
数据类型 |
是否为空 |
备注 |
MS_ID |
员工号 |
Int |
Not null |
PK,FK |
E_NAME |
员工姓名 |
Varchar(20) |
Not null |
|
MS_CONTENT |
留言内容 |
Varchar(200) |
Null |
|
MS_TIME |
留言时间 |
Datetime |
Not null |
1. 3. 8 OVERTIME(加班信息表)
字段名 |
解释 |
数据类型 |
是否为空 |
备注 |
OV_NO |
编号 |
Int |
Not null |
|
E_ID |
员工号 |
Int |
Not null |
PK,FK |
E_NAME |
姓名 |
Varchar(20) |
Not null |
|
OV_WORKHOURS |
加班时间 |
Datetime |
Not null |
|
OV_WORKDATE |
加班日期 |
Datetiem |
Not null |
4. 运用设计
4.1 数据字典设计
G_DICINFO字典表
字段名 |
类型 |
是否允许为空 |
解释 |
备注 |
DICNAME |
VARCHAR(20) |
N |
字典名称 |
联合主键 |
DICNUM |
VARCHAR(20) |
N |
字典号码 |
联合主键 |
VALUE |
VARCHAR(40) |
Y |
字段值 |
|
INVALID |
NUMBER(1) |
N |
有效性:1无效;0有效 |
|
PARAM |
VARCHAR(50) |
Y |
额外参数 |
|
4.2 安全保密设计
[说明在数据库的设计中,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密的设计考虑。]