logo资料库

学生宿舍水电费管理系统设计.doc

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
数据库系统综合设计案例:学生宿舍水电费管理系统设计与开发
设计目标与初步调研
数据库系统综合设计案例:学生宿舍水电费管理系统设计与开发
分析原始数据
数据库系统综合设计案例:学生宿舍水电费管理系统设计与开发
规划和设计表
数据库系统综合设计案例:学生宿舍水电费管理系统设计与开发
创建相关对象
数据库系统综合设计案例:学生宿舍水电费管理系统设计与开发
结束语
数据库系统综合设计案例:学生宿舍水电费管理系统设计与开发 设计目标与初步调研 设计目标: 设计一个学生宿舍水电费管理数据库(系统),实现如下功能: 1、自动计算水电费交费额度。 2、查询、打印各班级各宿舍水、电费使用情况和应交纳的费用。 系统分析与设计步骤: 一、确定数据库的目的: 1、有关部门可以输入水电表原始数据并由计算机自动计算结果、查看和打印每一个班 各宿舍水电使用量和应交水电费。 2、每一宿舍按水电交费单查询水电使用量并交费。 二、已知条件: 1、假设每学期抄水电表一次,期末结算一次。 2、水电定额使用,超用量要付费,节约用量可返还水电费。 三、经调研,主要表格如下: 交水电费通知单 班级: 期: 日 用水量 用水定额 节水量 用电量 用电定额 节电量 实交水电费 注:每人用水定额 吨/月,用电定额 度/月 合计 四、规划数据库中的表,确定表中的字段。 1、从收集到的“交水电费通知单”中可直接得出有关数据项: 班级、日期、房号、人数、用水量、用水定额、超水量、用电量、用电定额、超电量、 实交水电费、每人用水定额、水价、电价费、每人用电定额、合计。共 16 项。 数据库系统综合设计案例:学生宿舍水电费管理系统设计与开发 分析原始数据
[日期:2005-08-10] 来源: 作者: 9 2、把以上的 16 个数据项(或称为属性)细分为最小的数据项(即最小的信息单位), 并用表格表示。 属性简写 属性含义 属性的数据来源 最小信息单位?拆分? 班级 日期 房号 人数 班级 房号 抄表日期或打印日期 本学期该宿舍住宿总人数 Y Y Y Y 用水量 该宿舍本学期总用水量 本次水表-上次水表 本次水表、上次水表 用水定额 该宿舍本学期总用水定额 人数×水定额 人数、水定额 超水量 该宿舍本学期总超用水量,负数 用水量-用水定额 N 为节约水量 用电量 该宿舍本学期总用电量 本次电表-上次电表 本次电表、上次电表 用电定额 该宿舍本学期总用电定额 人数×电定额 人数、电定额 超电量 该宿舍本学期总超用电量,负数 用电量-用电定额 N 为节约电量 水电费 该宿舍本学期总实交水电费,负 超水量×水价+超电量× 水价、电价 数为返还水电费 电价 水定额 电定额 水价 电价 合计 每人每学期用水定额 每人每学期用电定额 每吨水的单价 每度电的单价 该班级本学期所有宿舍水电费 该班级所有宿舍水电费 总计,负数为返还水电费 之和 Y Y Y Y N 3、列出不包含推导或计算结果的最小信息单位(即属性): 班级、日期、房号、人数、本次水表、上次水表、本次电表、上次电表、水定额、电 定额、水价、电价。共 12 个。
4、找出它们的完全函数依赖关系: 房号→(班级,人数)。 (房号+日期)→(本次水表,上次水表,本次电表,上次电表,收费编号)。 收费编号→(水定额,电定额,水价,电价) 5、优化设计 对以上的关系进行优化,使它们满足 3NF,即每一个关系既是完全函数依赖关系,关 系中又不存在传递函数依赖关系。 以上关系均满足 3NF。 6、规划数据库中的表,确定表中的字段 数据库系统综合设计案例:学生宿舍水电费管理系统设计与开发 规划和设计表 [日期:2005-08-10] 来源: 作者: 9 五、确定表中字段的属性(数据类型、长度等)和主键 1、住宿表字段属性 类型 长度 格式 字段 名 房号 班级 人数 文本 文本 长整型 10 20 主键:房号 2、水电费表字段属性 字段名 类型 房号 日期 文本 日期 本次水表 长整型 长 度 10 准 则 例 东 3201 2000 高职电子商务 1 班 标准 >0 10 格式 默认值 例 yyyy-mm-dd Date() 2002-1-18 东 3201 556
上次水表 本次电表 上次电表 收费编号 长整型 长整型 长整型 长整型 556 667 556 1 1 主键:无,因为本表记录不同日期同一房号的水电费,房号和日期均有 可能重复。 3、水电定额及单价表字段属性 字段名 类型 格式 小数位数 默认 例 收费编号 水定额 电定额 水价 电价 长整型 单精度 单精度 货币 货币 主键:收费编号 六、确定表之间的关系 标准 标准 货币 货币 2 2 2 2 值 1 1 3.5 5 ¥0.50 ¥1.00 基本表 相关表 关联字段 住宿表 水电费 房号 表 水电定额及单价表 水电费 收费编号 表 是否级联更新和删除 是 级联更新不删除 N 对 N 1 对 多 1 对 多 七、创建“水电费”数据库,创建以上的表和表间关系。 八、创建窗体用于输入原始数据和每次抄表数据。 1、住宿表数据录入与修改 房号 东 3301 东 3302 班级 2000 高职电子商务 1 班 2000 高职电子商务 1 班 人数 5 6
房号 东 3303 东 4201 特点: 班级 2000 高职电子商务 1 班 2000 高职电子商务 2 班 人数 12 8 (1)、本表数据只在初次使用系统时录入一次,除非有数据变更,否则 日常工作中不用重新输入和修改,因此应单独建立窗体进行输入。 (2)、当此表中的“房号”数据修改时,水电费表也应相应自动被修改, 所以,上面的第四步中要建立两表关系并级联更新和删除。 此窗体建立方法有多种,因人而异,只要能完成增加、删除、修 改的功能就可以了。示例可参考:住宿表数据录入与修改 1,2,3 三个 窗体。 数据库系统综合设计案例:学生宿舍水电费管理系统设计与开发 创建相关对象 [日期:2005-08-10] 来源: 作者: 9 2、水电定额及单价数据输入 收费编号 水定额 电定额 水价 电价 1 5.00 5.00 1.00 0.50 特点: (1)、本表与水电费表通过收费编号联系,用于计算宿舍每月 用水(电)定额和应交水电费。 (2)、本表收费编号被修改时,水电费表相应的收费编号应自 动修改(通过关系的级联更新实现)。同时,在水电费表中出现 过的收费编号,在此表中不能删除,否则数据也不一致。
3、建立输入每学期末抄水(电)表的数据的窗体。因为,水电 费表中存放的是每学期的水电表数据 ,所以: (1)、当学期末要输入用水(电)数据前,首先要追加记录, 即把住宿表中的数据追加到水电费表中,见示例中的“输入水电 使用数据前追加查询”,追加到水电费表中的数据包括住宿表的 房号和日期(DATE())。 (2)、要输入和修改本学期水电使用数据,如下图示。 房号 日期 本 次 水 表 上 次 水 表 东 2002-11-18 660 550 3301 本 次 电 表 66 上 次 电 表 40 东 2002-11-18 440 430 78 49 3302 收 费 编 号 1 1 如果直接通过水电表的字段产生以上窗体,由于当追加 记录后住宿表增加房号等数据时,水电表没有自动增加,因此不 能输入新增房号的水电数据,所以,上图中的房号应取住宿表中 的房号,先建立上图的查询(示例中的“水电使用数据输入”查 询),由此查询再建立窗体(示例中的“水电使用数据输入 1, 2*”) 九、创建查询。
1、住宿情况查询 (1)、全部查询:见示例的“住宿情况查询”。 房号 班级 人数 东 3301 2001 高职电子商务 1 班 东 3302 2001 高职电子商务 1 班 东 3303 2001 高职电子商务 1 班 8 8 8 (2)、按班级查询:见示例的“住宿情况查询(按班级)” 2、水电定额及单价数据查询 见示例中的:水电定额及单价查询 3、水电费查询 (1)、水电费综合查询(全部):水电费综合查询 (2)、水电费综合查询(按日期):水电费综合查询(按日期) (3)、水电费综合查询(按房号):水电费综合查询(按房号) (4)、水电费综合查询(按班级):水电费综合查询(按班级) 还可以建立仅用于水费或电费的查询。 注意:所有查询的“查询属性”都应把“记录集类型”设置“快 照”。 十、创建报表。 1、打印水电费交费通知单 本通知单数据包括三个表的数据和由它们计算得来的结 果,先建立一个包含通知单数据的查询(见示例中的“报表相关” 查询),再由此查询建立报表,见示例中的报表:水电费通知单。
2、可以通过本系统打印要使用的空表格,如住宿登记表、水电 费抄表用的表格等。 九、系统合成。除了例题和课后练习中介绍的主切换面板和自建 菜单可以进行系统合成外,还可以使用下面的方法: 建立一个“主界面窗体”,在此窗体上建立若干个命令 按钮,每个按钮对应于一个宏,这些宏与有关的窗体、查询、报 表对应。或者,通过向导建立打开窗体的命令按钮。 建立一个自动宏(即宏名为 AUTOEXC),这个宏包含打 开“主界面窗体”的操作,这样,打开水电费数据库时自动进入 主界面窗体,用户可在主界面窗体上选择相应的按钮进行水电费 管理了 数据库系统综合设计案例:学生宿舍水电费管理系统设计与开发 结束语 [日期:2005-08-10] 来源: 作者: 9 数据库设计既要遵循一定的规律,比如表和表中字段的 设计,又可以溶入个性化的设计思想,比如输入界面(窗体)的 设计是因人而异的。 设计的过程是一个不断完善的过程,设计之初,可能考 虑问题不是很周到,到后面才发现前面的设计有问题或不完善, 此时再回头进行修改。
分享到:
收藏