沈阳师范大学学士学位论文
第五章
5.1 数据库概念结构设计
数据库总体结构设计
数据库概念结构设计是在需求分析的基础上设计的,是能够满足用户需求的各种实
体以及它们之间的关系,为后面的逻辑结构设计打下基础。这个阶段不用考虑所采用的数据库系统、操作系统类型、机器配置等问题。这阶段可用的表示方式有很多。用的最多的是E-R图(Entity-Relation,实体-关系图),另外还有许多辅助工具可以帮助进行设计。本系统采用了E-R图的方法进行数据库概念结构设计。E-R图是描述数据实体关系的一种直观描述工具。这种图中有:
1.实体:用方框表示,方框内为实体的名称。
2.实体的各种属性:用椭圆表示,椭圆内为属性名称。使用线段将其和响应的实体连接起来。
3.实体之间的联系:用菱形表示,菱形内为联系的名称。
实体和实体之间的联系有很多种,比较常见的实体联系有l:1,l:N和M:N这三种关系。 5.2 数据库逻辑结构设计
概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。也就是要将概念上的结构转化成为数据库系统中所支持的实际数据模型。
第一种转化是将实体转化为关系表。这种转化较简单,需要将实体的属性定义为表的属性即可。
第二种转化是联系的转化。即将各个实体之间的联系转化为表格之间的关系,如外部键的定义。
在上面工作的基础上归纳出人员管理数据库表格的组成之间的联系等等。该数据库系统具有以下方面的特点:
结构合理,对一个人员建立多条记录。 所建立的数据冗余度小,独立性强。
建档、修改、查询、统计快速而准确。 保密性好、可靠性好。
收水费是小区水费管理系统中最重要的一个行为,水费的收费相关信息需要以收费单的形式呈现给各个用户,因此要创建一个收费单实体,用来保存所收水费的详细信息。收费实体属性图如图5-1所示:
―16 ―
沈阳师范大学学士学位论文
收费单号 用户编号 用水量 月份 收费单 水单价 收费员编号 查表员编号
图5-1水费单实体
小区水费管理系统为了增加系统的安全性,管理员只有在系统登陆模块验证通过后才能进入管理员的操作界面,因此在数据库中创建一个存放登录用户信息的管理员实体。管理员实体属性图如图5-2所示:
管理员姓名 密码 管理员 管理员编号
图5-2管理员实体
小区水费管理系统中各个角色各司其职,查表员需要定期到用户家查看水表,并将数据记录录入数据库中,其角色职能非常重要。因此在数据库中创建一个查表员实体,查表员实体属性图如图5-3所示:
―17 ―
沈阳师范大学学士学位论文
查表员姓名 密码 查表员 查表员编号
图5-3查表员实体
收费员在小区水费管理系统中占据着举足轻重的作用,现金的收取全凭收费员来完成,因此在数据库中创建一个收费员实体,收费员实体属性图如图5-4所示:
收费员姓名 密码 收费员 收费员编号
图5-4收费员实体
用户是小区水费管理系统重要组成部分,管理员就是通过小区水费管理系统对用户的信息、水费等进行管理;这里创建了一个用户信息实体,用来存储用户的详细信息。用户信息实体属性图如图5-5所示:
住户姓名 住户编号 密码 用户 图5-5用户实体
账户余额
查表员查表之后需要向数据库中录入信息,于是需要一个查表单实体以供查表员
录入用户的用水信息。查表单实体如图5-6所示:
―18 ―
沈阳师范大学学士学位论文
用户编号 查表单号 月份 查表单 水表字 收费员编号 查表员编号
图5-6查表单实体
5.3 E-R图
小区水费管理系统的系统E-R图如图5-6所示。
用户 n 管理 1 n 查表单 录入 m 查表员 n 管理 1 1 管理 管理员 收费单 n 生成 m 收费员 n
图5-6小区水费管理系统的系统E-R图
5.4 数据表的设计
本系统使用的数据库管理系统为SQL Server 2005。数据库中的表有管理员信息表如图5-7、用户信息表如图5-8、查表员信息表图5-9、收费员信息表图5-10、查表员账单5-11、收费单等5-12。
表5-7管理员信息表
字段名 admin_number admin_name
数据类型 varchar varchar 长度 20 20 ―19 ―
主键 是 否 描述 管理员编号 管理员姓名 沈阳师范大学学士学位论文 admin_secret varchar 20 否 管理员密码 列名 user_number user_name user_secret user_balance 数据类型 varchar varchar varchar int 表5-8用户信息表
长度 20 20 20 4 表5-9查表员信息表 主键 是 否 否 否 描述 用户编号 用户姓名 用户密码 用户余额 字段名 select_number select_name select_secret 数据类型 varchar varchar varchar 长度 20 20 20 表5-10收费员信息表 字段名 load_number load_name load_secret 数据类型 varchar varchar varchar 长度 20 20 20 主键 是 否 否 描述 收费员编号 收费员姓名 收费员密码 主键 是 否 否 描述 查表员编号 查表员姓名 查表员密码
表5-11查表单
列名 user_number month show select_number load_number list_number 数据类型 varchar int int varchar varchar varchar 长度 20 4 4 20 20 20 主键 外键 否 否 外键 外键 是 描述 用户编号 月份 水表字 查表员编号 收费员编号 查表单编号
表5-12收费单
列名 user_number month sum price user_balance select_number load_number list_number
数据类型 varchar int int int int varchar varchar varchar 长度 20 4 4 4 4 20 20 20 ―20 ―
主键 外键 否 否 否 否 外键 外键 是 描述 用户编号 月份 用水量 水单价 账户余额 查表员编号 收费员编号 收费单编号