mysql - 包含 IP 地址和网络信息的数据库设计

标签 mysql database database-design mariadb information-retrieval

我是新来的,也是数据库的初学者。
现在我正在为一个小型 IP 地址管理 - Web 应用程序进行 MariaDB 数据库设计。 我尝试将冗余信息拆分到单独的表中(例如 devicetypesnetworksbuildings 等)。然后我将这些独立表的关系添加到我的主表 iptable 中。 现在我想知道您是否有任何关于如何使其变得更好的反馈或技巧?

design so far

谢谢

最佳答案

使用回答功能,因为这对于评论来说太长了。

选择正确的数据类型

  • 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/

相关文章:

database - 将数据存储在文件名与内部文件中

database-design - 什么第一个模型或数据库?

sql数据库表创建

database-design - Nosql 多对多

mysql - 如何确定日志中剩余的数据量

mysql:如何从另一列创建日期列

php - explode 和 foreach 问题

php - 无法将 php 链接到数据库

mysql - 在我的案例中并行运行数据导入

php - 删除用户后保留分配历史