阀栓管理系统——数据库设计心得

2021/11/22 2:09:54

本文主要是介绍阀栓管理系统——数据库设计心得,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

数据库设计心得

项目介绍

​ 我们的项目为界首市阀栓监管系统,是在原有的水资源管理系统的基础上进行迭代开发的,本项目开发的目的是统计阀栓用水数据,以图表的形式进行显示,为相关部门对阀栓的监管与维护提供支持。

设计思路

​ 因此在数据库设计上主要保存阀栓的相关信息。结合需求,数据库以阀栓信息表为起点,遵循一类一表的原则,先建了一个阀栓的信息表,再将其与测量流量的检测设备表关联,每个阀栓都对应一个检测设备,检测设备又与设备类型表和实时流量记录表关联;阀栓信息表还有对应的日用水量表与月用水量表记录用水量;阀栓信息表还与地址相关表关联,地址表由城市表、区县表、乡镇表、村庄表、道路表共同组成了一个分级的地址,便于统计各级的数据;阀栓信息表还与负责部门表关联,每个阀栓有对应的负责部门,当阀栓出现问题时会发送警告记录在警告表中并通知负责部门及时进行维护。这部分是业务相关的表,还有一部分是用户权限相关的表。其中包括了用户信息表、菜单权限表、api权限表和角色表,超级管理员通过将菜单权限与api权限赋予角色,再将角色赋予用户将用户分为多种等级来实现管理功能。

实现过程

​ 我们的数据库表主要是分成两部分:用户权限管理相关表,记录用户、角色及其相关的系统权限;阀栓监测业务相关表,记录阀栓信息、阀栓用水量、报警情况及相关地理信息。这样,我们在处理数据的时候就比较有条理,能逻辑清楚地获取、处理各部分数据。

​ 由于我们的需求比较明确,模型的建立也就比较顺利。我们为阀栓、检测设备等实体建立表,再根据它们之间的关系建立关系表并建立相应的约束。在权限管理方面,我们利用角色和具体权限项之间的多对多关系建立关系表,将权限和角色相关联,再建立角色和用户的关系,使用户能够获取角色的权限,实现权限管理。

整体PDM

心得

	1. 表与表之间的不同关系需要不同的表结构。一对多和一对一可以直接使用外键实现,而多对多就需要在两表之间建立一个多对多关系表来保存两表之间的关系。
	2. 每个表最好都使用一个自增id作为主键,这样可以更好地标识每一行数据,保证数据的实体完整性。
	3. 在遇到如地址分级这样有包含从属关系的表时,尽量将每一级都使用一个表保存,这样可以更好地统计相关信息且符合一类一表的原则。

总结

​ 在这个过程中,我们发现数据库的设计是整个项目中至关重要的一环,应该尽早开始。如果没有理清项目中各种实体以及它们之间的关系,在设计数据库时就会感到无从下手。良好的数据库设计能够增强可读性,避免对表和项目数据的频繁改动,减少项目其他部分的修改成本。

​ 通过这次数据库设计,我们对关系型数据库有了更深的理解。



这篇关于阀栓管理系统——数据库设计心得的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程