我是新手,也是数据库的初学者。
现在,我正在为一个小型IP地址管理-Web应用程序进行MariaDB数据库设计。 我试图将冗余信息拆分为单独的表(例如devicetypes
、networks
、buildings
等(。然后我从这些单独的表添加关系到我的主表iptable
。 现在我想知道您是否对如何使其更好有任何反馈或技巧?
到目前为止的设计
谢谢
使用答案函数,因为这太长了,无法进行注释。
选择正确的数据类型
IP- 定义的显示宽度为 255,而最高 IP 编号可以表示为 10 位无符号整数值。
- Mac 地址始终包含 17 个字符,但定义为 瓦尔查尔(255( 而不是固定长度的查尔(17(
- 主机名和域名相关吗?主机名和域名都定义为 VARCHAR(255(。主机名的最大长度为 63 个字符,完全限定域名的最大长度为 255 个字符。
避免冗余信息
存储冗余信息不仅会占用额外的存储空间,而且在更新数据时还会使工作变得更加困难。
例如room
在 2 个不同的表中定义: 如果它们相同,请删除一个 - 如果它们不同,请使用不同的名称(例如,通过前缀列名(。