0

所以过去一周我的问题是如何构建我的库存系统。我正在尝试编写一个数据库来跟踪有关各种不同 IT 相关项目的每一个小细节,包括但不限于......来自每个制造商的基于 Windows 的笔记本电脑、苹果笔记本电脑、基于 Windows 的台式机、苹果台式机、Iphone、Android电话、黑莓手机、打印机设备、服务器设备等等。我还将添加汽车、摩托车和许多其他随机物品,我有一个生意,我买卖几乎任何我能赚钱的东西。我需要用于库存/资产管理、销售跟踪和客户/业务关系的数据库。我以不同的价格从许多不同的来源获取库存。我想要做的是带来很多,给它分配一个批号,测试和盘点每个跟踪 LotNumber 的项目,

Table Invester // 我有时有很多其他企业持有股份

  • 投资者编号
  • 企业名称

供应商//我将在后面添加其他内容,例如电话号码、地址和其他内容。

  • 供应商 ID
  • 供应商名称

购买Lot

  • 批号
  • 日期
  • 成本
  • Invester_InvesterID
  • 供应商_供应商ID

测试仪

  • 测试者ID
  • 名称 // 稍后,一旦我创建了一个登录,它将是employeeID

监视器

  • 监视器ID
  • 尺寸
  • 年级
  • 模型
  • 制造商
  • Tester_TesterID
  • PurchaseLot_PurchaseLotID
  • ETC //Trigger on insert add MonitorID to Inventory 以创建统一的库存编号系统。

台式笔记本电脑

  • 笔记本电脑ID
  • 制造商
  • 模型
  • 串行
  • Tester_TesterID
  • PurchaseLot_PurchaseLotID //插入时触发将LaptopID添加到Inventory以创建统一的库存编号系统。

库存

  • 库存ID
  • Monitor_MonitorID
  • 笔记本电脑_笔记本电脑ID

这是我的基本表结构。真正的问题是这是做到这一点的最佳方式还是会造成更大的麻烦?我打算做什么我为不同种类的物品、平板电脑、手机、笔记本电脑、台式机等创建一张桌子。稍后我可能不得不将不同的物品分成不同的部分进行转售,因为并非所有物品都是可修复的,因此必须创建零件表。我还将通过为其分配货架编号来跟踪物品在仓库中的位置,后者必须扩展以跟踪多个仓库、所有者、企业(一年内)如果有更简单的方法请告诉我。我想让它尽可能简单和直接,以便编写多个 php 脚本来处理不同的任务,包括在网站上出售。我也不确定如何处理多个相同的项目,特别是因为同一台笔记本电脑的多个可以分解为需要跟踪的 10 多个不同部分。任何建议和/或煽动都会很棒。概括一下我在这方面的经验,我基本上是复制和粘贴之王。我用他们的 php 对应物创建了一些数据库来处理客户关系。但这是迄今为止最大、最雄心勃勃的项目,实际上只是出于我的业务适当可持续增长的必要性。

4

1 回答 1

0

正如@Jim Garrison 暗示的那样,您在这里提出了一个非常广泛的问题,所以我无法提供答案,只有一些需要考虑的指针。为每种类型的产品使用一个表,然后使用一个表将所有类型的产品放在一起的方法本质上是脆弱的,并且不太可能扩展。原因包括:

  1. 每件库存物品都有显示器和键盘吗?
  2. 当您将平板电脑添加到库存时,您希望做什么?
  3. 您是否期望库存表会随着时间的推移而扩展,并在扩展时包含许多空值?

我建议您的应用程序中至少需要包含以下三个表

  1. 项目 - 包含所有项目共有的信息 - 很可能包括投资者和供应商 ID。
  2. 项目类型 - 包含该项目是(例如)平板电脑的信息;以及有关平板电脑的一般信息。
  3. 组件 - 顶级项目加上(例如)平板电脑随附的 OTG 电缆的标识。该表需要表示变量和未知深度的层次结构。

除了组件表之外,您可能还需要一个类似的层次结构“associated_with”。

这导致一种比您建议的更复杂的方法,但我不相信您可以提供所需的功能并保持简单。

HTH。

于 2013-07-20T11:07:19.047 回答