0

Итак, моя проблема на прошлой неделе заключалась в том, как структурировать мою систему инвентаризации. Я пытаюсь написать базу данных, чтобы отслеживать каждую небольшую детальную информацию о различных элементах, связанных с ИТ, включая, но не ограничиваясь ими. Ноутбуки на базе Windows от каждого производителя, ноутбуки Apple, настольные компьютеры на базе Windows, настольные компьютеры для Apple, Iphones, android телефоны, телефоны Blackberry, оборудование для принтеров, серверное оборудование и т. д. и т. д. Я также буду добавлять автомобиль, мотоциклы и многие другие случайные предметы, у меня есть бизнес, где я покупаю и продаю практически все, что могу заработать. Мне нужна база данных для управления запасами/активами, отслеживания продаж и отношений между клиентом и бизнесом. Я вывожу инвентарь из разных источников по разным ценам. То, что я пытаюсь сделать, это принести много, назначить ему много, проверить и инвентаризировать каждый элемент отслеживания LotNumber, Tester.Ищите лучшую структуру для этой системы инвентаризации

Таблица Invester // Я иногда много, что другие предприятия имеют долю в

  • InvesterID
  • BusinessName

Таблица Поставщик // Добавлю в других вещах номер телефона, адрес и прочее прочее.

  • SupplierID
  • SupplierName

Таблица PurchaseLot

  • LotID
  • Дата
  • Стоимость
  • Invester_InvesterID
  • Supplier_SupplierID

Таблица Тестер

  • TesterID
  • Имя // В дальнейшем, как только я создать вход будет EmployeeID

Таблица Монитор

  • MonitorID
  • Размер
  • Grade
  • Модель
  • Производитель
  • Tester_TesterID
  • PurchaseLot_PurchaseLotID
  • ETC // Trigger на вставке добавить MonitorID в инвентаре, чтобы создать единую нумерацию инвентарного система.

Таблица Laptop

  • LaptopID
  • Производитель
  • Модель
  • Серийный
  • Tester_TesterID
  • PurchaseLot_PurchaseLotID // Trigger на вставке добавить LaptopID в I nventory для создания единой системы нумерации инвентаря.

Таблица Inventory

  • InventoryID
  • Monitor_MonitorID
  • Laptop_LaptopID

Это моя основная структура таблицы. Реальный вопрос заключается в том, что это лучший способ сделать это или это создаст большую головную боль? что я планирую делать, создавая таблицу для разных видов предметов, планшетов, телефонов, ноутбуков, настольных компьютеров и т. д., позже мне может потребоваться разбить разные элементы на части для перепродажи, потому что не все элементы будут исправлены, поэтому необходимо создать таблица деталей. я также буду отслеживать, где на складе находится элемент, назначив ему номер полки, последний должен будет расширяться для отслеживания нескольких складов, владельца, бизнеса (в течение года). Если есть более простой способ, сообщите мне. Я хочу сделать это максимально простым и прямым, так что будет легко написать несколько сценариев php для обработки различных задач, включая размещение на веб-сайте для продажи. также я не уверен, как обращаться с несколькими из одного и того же элемента, особенно потому, что несколько из того же ноутбука можно разбить на 10 + разных частей, которые нужно будет отслеживать. любые советы и подстрекательства были бы замечательными. Просто чтобы описать мой опыт в этом, я в основном копирую и вставляю короля. Я создал несколько баз данных с их php-коллегами для обработки отношений с клиентами. Но это самый крупный и самый амбициозный проект на данный момент и действительно только по необходимости для надлежащего устойчивого роста моего бизнеса.

+0

Я предлагаю добавить столбец что-то вроде «lastUpdated», чтобы более точно убить дорожку вашего инвентаря – zxc

+0

Добро пожаловать в SO. Пожалуйста, прочитайте [FAQ] и [Ask], чтобы понять типы вопросов, которые здесь уместны. К сожалению, полный обзор дизайна базы данных слишком широк для SO. Вам _might_ лучше повезло на [dba.se] –

+0

На самом деле это всего лишь небольшая часть БД. Возможно, мой вопрос был недостаточно кратким? – DcHerrera

ответ

0

Как сказал @Jim Garrison, вы задаете здесь очень широкий вопрос, поэтому я не могу дать ответ, только некоторые указатели, которые следует учитывать. Подход к использованию одной таблицы для каждого типа продукта, а затем таблица для объединения всех ваших продуктов вместе является хрупкой и вряд ли масштабируется. Причины этого включают:

  1. Есть ли у каждого предмета инвентаря монитор и клавиатура?
  2. Что вы ожидаете делать, когда добавляете планшет в свой инвентарь?
  3. Ожидаете ли вы, что таблица инвентаризации будет расширяться со временем и включить в нее множество нулей, поскольку она расширяется?

Я предположил бы, что там должны быть по крайней мере, следующие три таблицы, включенные в приложение

  1. Предмет - содержащий информацию, которая является общей для всех элементов - а также может включать в себя идентификаторы инвесторов и поставщиков.
  2. Тип товара - содержащий информацию о том, что этот товар (например) таблетка; и конкретную информацию о планшетах в целом.
  3. Компонент - элемент верхнего уровня плюс идентификация (например) кабеля OTG, поставляемого вместе с планшетом. Эта таблица должна представлять иерархию переменной и неизвестной глубины.

Возможно, что помимо таблицы компонентов вам нужна аналогичная иерархия «related_with».

Это приводит к более сложному подходу, чем вы предлагаете, но я не верю, что вы можете предоставить необходимые вам возможности и сохранить его простым.

HTH.

+0

это отвечает на мой вопрос отлично. – DcHerrera

Смежные вопросы