我是新来的,也是数据库的初学者。
现在我正在为一个小型 IP 地址管理 - Web 应用程序进行 MariaDB 数据库设计。
我尝试将冗余信息拆分到单独的表中(例如 devicetypes
、networks
、buildings
等)。然后我将这些独立表的关系添加到我的主表 iptable 中。
现在我想知道您是否有任何关于如何使其变得更好的反馈或技巧?
谢谢
最佳答案
使用回答功能,因为这对于评论来说太长了。
选择正确的数据类型
- ip 的定义显示宽度为 255,而最高 IP 编号可以表示为 10 位无符号整数值。
- Mac 地址始终有 17 个字符,但定义为 VARCHAR(255) 而不是固定长度 CHAR(17)
- 主机名和域名相关吗?主机名和域名均定义为 VARCHAR(255)。主机名的最大长度为 63 个字符,最大长度为 63 个字符。完全限定域名的长度为 255 个字符。
避免冗余信息
存储冗余信息不仅会占用额外的存储空间,而且在更新数据时也会变得更加困难。
例如room
在 2 个不同的表中定义:如果它们相同,则删除一个 - 如果它们不同,则使用不同的名称(例如,通过在列名称前添加前缀)。
关于mysql - 包含 IP 地址和网络信息的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59821804/