库存管理系统的最佳PostgreSQL数据库结构[已关闭]

yebdmbv4  于 2023-11-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(142)

已关闭。此问题需要更多focused。目前不接受回答。
**要改进此问题吗?**更新此问题,使其仅针对editing this post的一个问题。

3天前关闭。
Improve this question
我正在构建一个小应用程序来管理几家不同公司的技术库存(服务器,PC,笔记本电脑等)。
例如-我有十个公司与以下任意假名称:COMPANY 1 COMPANY 2.. COMPANY 10
每个公司都有一定的特点,例如:

  • 员工人数
  • 在数据库中创建公司的日期
  • 公司最后一次更新的日期(即资产的添加/删除/修改)
  • 公司是否订阅电话技术支持计划(布尔值)
  • 公司是否订阅现场技术支持计划(布尔值)
  • 公司域名(即somedomain.com、somedomain.net等),其中一个域名是其“主”域名,并注明为“主”域名
  • 属于该公司的资产清单(即server1.somedomain.com、laptop1.somedomain.net等)

每个公司的每个域都将具有:

  • 将日期域添加到公司配置文件
  • 域是内部域还是外部域
  • 域名注册商的名称(任意文本)

每个公司的每个资产都有一定的属性,例如:

  • 资产添加到库存的日期
  • 资产上次更新的日期(即任何资产属性被更改)
  • 资产是否可公开访问(布尔值)
  • 资产的名称(即laptop3.somedomain.com,如果资产没有主机名,则可以为空)
  • 与资产关联的IP地址(在某些情况下可以有多个,但必须至少有一个IP)
  • 资产物理位置(任意文本字段)
  • 资产所有者(资产使用者的姓名)
  • 资产技术资源(在资产损坏时负责修复的人员的名称)
  • 资产上安装的软件列表(操作系统等,每个都是自由文本字段)

那么什么样的表结构最有效呢?典型的用例是:
1.查找特定的代理或IP,并找出它属于哪个公司,谁拥有资产,以及资产的技术联系人是谁。
1.列出属于特定公司中特定域(或域的子字符串)的所有资产,按最后更新日期排序。
1.每周更新每个域的资产(数据来自ping扫描活动资产),并添加任何新的显示到适当的公司。
1.随着新客户的收购,增加新的公司。
1.删除已停用的资产。
我对数据库还很陌生,所以任何帮助都会非常感激。我可以想出一些粗糙的东西,但我更喜欢一开始就把它做好,而不是在以后重建整个数据库。
除了列出涉及的数据类型以及如何使用它之外,还没有尝试过其他任何东西。正确地获得数据库/表结构是其他事情发生之前必要的第一步。
这里有几个“库存管理”的问题,但没有一个我能找到适用于多个公司。

jdzmm42g

jdzmm42g1#

不如这样:

  • 表格:*
    公司
  • 公司ID(主键)
  • 公司名称
  • 员工人数
  • 创建日期
  • 上次更新日期
  • 电话技术支持(布尔)
  • 现场技术支持(布尔)
    域名
  • 域ID(主键)
  • 公司ID(引用公司表的外键)
  • 域名
  • 布尔(Boolean)
  • 添加日期
  • 内部/外部(布尔)
  • 域名注册商
    资产
  • 资产ID(主键)
  • 公司ID(引用公司表的外键)
  • 域ID(引用域表的外键)
  • 添加日期
  • 上次更新日期
  • 布尔(Boolean)
  • FQDN
  • IP地址(如果每个资产有多个地址,请考虑为IP地址创建单独的表)
  • 物理位置
  • 资产所有者
  • 技术资源
  • 软件安装(考虑为软件创建单独的表)
  • 关系:*
    公司到域名:一对多关系(一个公司可以有多个域名)。
    公司到资产:一对多关系(一个公司可以有多个资产)。
    域名到资产:一对多关系(一个域名可以有多个资产)。

相关问题