实体 属性 联系 图4.6 E-R图图例 4.2.1 实体描述 本系统中所涉及的实体有23个,其结构如下:
管理员(管理员ID、管理员名、登录密码) 部门(部门ID、部门名称、创建时间) 员工信息(员工ID、员工姓名、性别、出生年月、民族、籍贯、政治面貌、学历、部门、电话号码、手机号码、QQ、Email、联系地址、登录密码) 民族(民族ID、民族) 政治面貌(政治面貌ID、政治面貌) 学历(学历ID、学历) 工作计划(工作计划ID、计划主题、计划内容、计划人、创建时间) 文件(文件ID、文件、文件路径、发送人、接受人、发送时间) 文件回复(回复ID、文件ID、回复内容、回复时间) 共享下载(共享下载ID、文件名、文件路径、上传者、上传时间、下载次数) 通讯录(通讯录ID、员工姓名、性别、部门、联系电话、办公电话、联系地址、) 公告(公告ID、公告主题、公告内容、发布时间) 审批(审批ID、审批事由、审批内容、提交人、提交时间、部门、审批者、审批意见、审批状态、审批时间) 上班类型(上班类型ID、类型名) 工作时间(工作时间ID、工作类型、上班时间、下班时间) 上班登记(上班登记ID、工作类型、登记者、登记时间、状态) 下班登记(下班登记ID、工作类型、登记者、登记时间、状态) 公文(公文ID、部门、接收人、公文主题、文件路径、发布时间) 投票主题(投票主题ID、投票主题) 投票内容(投票ID、投票主题、投票项、总票数) 投票记录(投票记录ID、投票主题、投票者) 总结类型(总结类型ID、总结类型名) 总结(总结ID、总结类型、总结时间、常规工作、下一步计划、总结人、创建时间) 4.2.2 联系描述 系统中实体之间的联系举例说明如下: (1)回复文件关系:文件、文件回复和用户的关系是1:M:N,因为一个文件允许多个用户进行回复; (2)投票关系:投票主题、投票项和用户的关系是1:M:1,因为一个主题可以有多个投票项,一个用户只能对一个投票项投票一次; 4.2.3 E-R图
第五章 系统详细设计 5.1 数据库的逻辑设计 数据库的逻辑设计的任务就是把概念结构设计阶段的基本E-R图转化为与选用具体机器上的DBMS产品所支持的数据模型相符合的逻辑结构,首先要实现的是E-R图关系模型的转化。而为此要解决的问题是如何将实体和实体之间的联系转化为关系模式,如何确定这些关系模式的属性和码。对于实体,将每个实体转换为一个关系,实体的属性即为关系的属性,实体的码即为关系的码。 对于实体间的联系,可以分成三种情况: 若实体间的联系是1:1,可以在两个实体转换成的两个关系中任意一个关系的属性中加入另一个关系的码。 若实体间的联系是1:n,则在n端实体转换成的关系中加入1端实体转换成的关系码。 若实体间的联系是n:m,则将联系转换为关系,关系的属性为诸个实体的码加上联系具有的属性,而关系的码则为诸实体的码的组合。 本系统中所涉及到的6个实体转换为6个关系,4个三元联系转换为4个关系,1:N的联系转换为1个关系,所以本系统共有11个关系,每个关系的主码用下划线,外码用#标出: 管理员(管理员ID、管理员名、登录密码) 部门(部门ID、部门名称、创建时间) 员工信息(员工ID、员工姓名、性别、出生年月、民族#、籍贯#、政治面貌#、学历#、部门#、电话号码、手机号码、QQ、Email、联系地址、登录密码) 民族(民族ID、民族) 政治面貌(政治面貌ID、政治面貌) 学历(学历ID、学历) 工作计划(工作计划ID、计划主题、计划内容、计划人#、创建时间) 文件(文件ID、文件、文件路径、发送人、接受人#、发送时间) 文件回复(回复ID、文件ID#、回复内容、回复时间) 共享下载(共享下载ID、文件名、文件路径、上传者#、上传时间、下载次数) 通讯录(通讯录ID、员工姓名#、性别、部门、联系电话、办公电话、联系地址、) 公告(公告ID、公告主题、公告内容、发布时间) 审批(审批ID、审批事由、审批内容、提交人#、提交时间、部门#、审批者#、审批意见、审批状态、审批时间) 上班类型(上班类型ID、类型名) 工作时间(工作时间ID、工作类型#、上班时间、下班时间) 上班登记(上班登记ID、工作类型#、登记者#、登记时间、状态) 下班登记(下班登记ID、工作类型#、登记者#、登记时间、状态) 公文(公文ID、部门#、接收人#、公文主题、文件路径、发布时间) 投票主题(投票主题ID、投票主题) 投票内容(投票ID、投票主题#、投票项、总票数) 投票记录(投票记录ID、投票主题#、投票者) 总结类型(总结类型ID、总结类型名) 总结(总结ID、总结类型#、总结时间、常规工作、下一步计划、总结人、创建时间) 5.2 数据库的实现 按照数据字典中的数据元素说明确定每个数据项的类型和长度,使每个关系都对应一个数据库表: 管理员表 (Manager)
字段名 类型 说明 是否可以为空 managerId Int 管理员ID(主键) managerName Varchar(20) 管理员名 loginPassword Varchar(20) 登录密码
部门表 (Department)
字段名 类型 说明 是否可以为空 departmentId Int 部门ID(主键) departmentName Varchar(20) 部门名称 createTime Datetime 创建时间
员工信息表 (Employee)
字段名 类型 说明 是否可以为空 employeeId Int 员工ID(主键) employeeName varchar(20) 员工姓名 sex Varchar(4) 性别 bornTime Varchar(20) 出生年月 nationId Int 民族(外) native varchar(20) 籍贯 politicsStatusId Int 政治面貌(外) educationId Int 学历(外) departmentId Int 部门(外) telephone Varchar(20) 电话号码 yes cellphone Varchar(20) 手机号码 Yes qq Varchar(20) QQ Yes email Varchar(50) Email Yes contactAddress Varchar(50) 联系地址 loginPassword Varchar(20) 登录密码 民族表 (Nation)
字段名 类型 说明 是否可以为空 nationId Int 民族ID(主键) nationName varchar(10) 民族
5. 政治面貌表 (PoliticsStatus)
字段名 类型 说明 是否可以为空 politicsStatusId Int 政治面貌ID(主键) politicsStatusName varchar(10) 政治面貌
6. 学历表 (Education)
字段名 类型 说明 是否可以为空 educationId Int 学历ID(主键) educationName varchar(10) 学历
7. 工作计划表 (WorkPlan)
字段名 类型 说明 是否可以为空 workPlanId Int 工作计划ID(主键) planTitle varchar(20) 计划主题 contents varchar(500) 计划内容 employeeId int 计划人(外) createTitme Datetime 创建时间
8.文件表 (Files)
字段名 类型 说明 是否可以为空 filesId Int 文件ID(主键) filesName Varchar(30) 文件 filesWay varchar(40) 文件路径 sender varchar(20) 发送人 recipient int 接受人(外) sendTime datetime 发送时间
9.文件回复表 (FilesReply)
字段名 类型 说明 是否可以为空 filesReplyId Int 回复ID(主键) filesId int 文件ID(外) replyContents Varchar(100) 回复内容 replyTime datetime 回复时间
10. 共享下载表 (ShareDownload)
字段名 类型 说明 是否可以为空 shareDownloadId Int 共享下载ID(主键) filesName varchar(40) 文件名 filesWay Varchar(100) 文件路径 fromer Varchar(20) 上传者 fromTime Datetime 上传时间 downloads Int 下载次数
11.通讯录表 (AddressList)
字段名 类型 说明 是否可以为空 addressListId Int 通讯录ID(主键) employeeName Varchar(20) 员工姓名 sex varchar(4) 性别 departmentId Int 部门(外) 首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5 相关论文
首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5