3.3、逻辑结构设计
3.3.1逻辑结构设计的目的
以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的目标就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。
3.3.2逻辑结构设计的任务:
1.数据组织
(1)实体型转换为关系模式
一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。 学生会干部(编号,姓名,性别,职务,部门,专业,年级,电话,参加过的活动项目) 物品(编号,名称,金额,借出时间,借物人姓名,归还时间,归还人姓名)
财务(财务申请编号,资金用途,申请金额,申请人,申请部门,申请时间,余额) 工作计划(编号,名称,提交部门编号,提交人,提交时间,是否紧急活动) 事务活动(名称,职能范围,承办部门,以往解决方案)
部门(部门编号,部门名称,部长编号,副部长人数,部委人数,部长电话) 文件(编号,名称,类型,所属部门,负责人,收发对象,存档日期,备注) (2)实体间联系转换为关系模式
逻辑结构设计的任务是将概念结构设计阶段设计的E-R图,转化为选用的DBMS所支持的数据模型相符的逻辑结构,形成逻辑模型。概念模型向关系数据模型的转化就是将用E-R图表示的实体、实体属性、和实体联系转化为关系模式,转化规则为:(1)、一个实体转换为一个表,则实体的属性转换为表的列,实体的码转换为表的主键。(2)、实体间的联系根据联系的类型转换为:1:n的联系、1:1的联系、m:n的联系。
表:学生会干部(编号,姓名,职务,性别,专业,电话,部门名称,参加过的活动) ; 表: 部门(编号,部门名称,部长姓名,副部人数,部里人数,部长电话); 表:事务活动(部门活动名称,活动职能范围,承办部门,以往解决方案,); 表:活动参与(事务活动名称,学生会干部姓名,出勤情况) 表:活动使用物品(部门活动名称,物品名称,使用数量)
表:物品(编号,财务申请编号,名称,金额,借出时间,借物人姓名,归还时间,归还人姓名); 表:财务(财务申请编号,资金用途,申请金额,申请人姓名,申请部门,申请时间,余额); 表:文件(文件编号,文件名称,所属部门,制定人名称,负责人,存档日期,备注);
(3)模型优化
以上关系模式不存在非主属性对主属性的部门函数依赖,也不存在传递函数依赖,已经达到了3NF,所以已经达到建表要求。 (4)据库模式定义
经分析后,该数据库共创建8表,如下所示: 学生会干部信息表3-1 列名 Stu_no Stu_name Stu_position S_depart_name Stu_case Stu_phone Stu_pro Stu_sex 部门信息表3-2 列名 Dep_name Dep_no Buzhang_name 数据类型 Char(14) Char(8) Char(8) 可否为空 否 否 否 码 主码 外码 说明 部门名称 部门编号 部长姓名 数据类型 Char(9) Char(6) Char(4) Char(6) Char(20) Char(12) Char(5) Char(8) 可否为空 否 否 否 否 Null 否 Null 否 码 主码 外码 说明 学生编号 学生姓名 学生职位 所在部门 参加的活动 电话 专业 性别 Fubusum Busum Buzhang_pho 列名 Act_name Act_range Act_department-no solution 活动参与表3-4 列名 Act_name Stu_name present 列名 Act_name Good_name usesum 物品信息表3-6 列名 Good_name Fin_no Good_no Money Lend_time Good_lender Ret_time Ret_name 财务信息表3-7 列名 Fin_no Fin_purpose Fin_money Apply_name Apply_depart Apply_time Fin_remain Int Int Char(20) 数据类型 Char(8) Char(20) Char(8) Char(30) 数据类型 Char(10) Char(8) Char(5) 数据类型 Char(10) Char(4) int Null Null Null 可否为空 否 Null 否 Null 可否为空 否 否 否 可否为空 否 否 Null 码 主码 外码 码 主码 主码 码 主码 主码 副部长人数 部委人数 部长电话号码 说明 部门活动名称 活动职能范围 承办部门 以往的解决方法 说明 举办的活动名称 参与学生干部 出勤情况 说明 部门活动名称 物品名称 使用数量 事务活动信息表3-3
活动使用物品信息表3-5
数据类型 Char(4) Char(4) Char(6) Int Date Char(6) Date Char(6) 可否为空 否 否 否 否 Null Null Null Null 码 主码 外码 说明 物品名称 财务申请编号 物品编号 金额 借出时间 借物人姓名 归还时间 归还人姓名 数据类型 Char(4) Char(20) Int Char(6) Char(6) Date int 可否为空 否 Null 否 否 否 Null Null 码 主码 外码 外码 说明 财务申请编号 资金用途 申请金额 申请人姓名 申请部门 申请时间 余额
学生文件信息表3-8
列名 File_no File_name File_bel_depart File_person Recdispartner acrdate remark 数据类型 Char(8) Char(10) Char(6) Char(6) Char(6) Date(12) Char(30) 可否为空 否 否 否 Not null Null Null null 码 主码 外码 外码 说明 文件编号 文件名称 所属部门 负责人名称 收发对象 存档日期 备注 (5)用户子模式定义,如表所示 编号 V_1 V_2 V_3 V_4 V_5 V_6 V_7 V_8 学生信息表的视图 列名 姓名 编号 性别 专业 职位 部门 数据类型 Char(6) Char(9) Char(8) Char(5) Char(12) Char(14) 可否为空 Not null Not null Null Null Not null Not null 说明 学生姓名 学生编号 学生性别 学生的专业 学生的部门 学生的职位 用户子模式(view) Stuview Depview Goodview Finview Actview Fileview Act_good_view Workplan_view 作用 查询和修改学生会干部的基本信息 查询和修改各部门的信息 查看物品信息 查看财务信息 查看部门活动信息 查看存档文件的基本信息 查询活动时借的物品信息 查看
部门信息表的视图 列名 部门名称 部门编号 部长 部长电话 数据类型 Char(14) Char(8) Char(6) Char(12) 可否为空 Not null Not null Not null Null 说明 部门名字 部门号 部长姓名 部长电话 活动时借的物品信息视图 列名 活动名称 物品编号 财务申请编号 物品名称 金额 数据类型 Char(8) Char(4) Char(6) Char(6) int 可否为空 Not null Not null Not null Not null Null