Доброго времени суток!
Сразу хочу извиниться за вероятный повтор вопросов, однако, не смог найти разбора моих вопросов среди тем по складскому учету и учету оборудования. Мой первый опыт создания БД, поэтому сильно прошу не пинать :)
Итак:
исходя из первоначальных требований по учету фактического местоположения оборудования, набросал БД с прилагаемой схемой, в которой:
Голубая рамка - иерархия местоположения оборудования
Красная рамка - модель (например: iPhone 5s, Samsung Galaxy S5 и пр.) и тип оборудования (например: Мобильный телефон, Системный блок, Монитор, принтер и пр..)
Сиреневая рамка - данные по расходным материалам
Желтая рамка - информация по договорам поставки.
Зеленая рамка - справочники по сотрудникам, текущему статусу (в работе, в ремонте, в резерве) и пр...
В центре собственно основная таблица, в которой хранятся данные по всем объектам учета.
Общий объем записей планируется около 4 000 - 5 000.
Задачи:
1. на текущем этапе появилось желание хранить данные о характеристиках оборудования. Например: для принтера указать его скорость печати, максимальный формат, цветной или ч/б, струйный или лазерный; для монитора - диагональ, тип матрицы и пр...
Вопрос: Как лучше (правильнее) сделать, чтобы еще облегчить себе задачи с последующей выборкой данных:
а) Привязать к модели и типу оборудования
одну таблицу в которой создать кучу полей со всеми возможными параметрами для всех типов оборудования. Тогда для конкретной записи многие поля будут пустыми, т.к. не имеют отношения к конкретному типу или
б) создать
"много" таблиц для каждого типа оборудования, в каждой из которых хранить только относящиеся к нему данные. Тогда, насколько я понимаю, при появлении нового типа оборудования придется создавать новую таблицу и переписывать или дописывать запросы...
в) другие альтернативы
2. Каким образом организовать хранение данных по текущей конфигурации конкретного устройства? Например: данная модель принтера поддерживает подключение по сети, однако, не все из них используют сеть и многие подключены по usb к ПК пользователя, или данная модель системного блока с завода имеет 2 Gb RAM, но в процессе эксплуатации было добавлено еще 2 и сейчас их, понятно, 4.
Так же сейчас начинаю конструировать запросы из таблиц и понимаю, что в результатах поиска у меня должна отображать информация в табличном виде (использую ListBox) из 9 таблиц БД. Придется делать много вложенных запросов.
Насколько сильно это скажется на производительности БД при существующей структуре?
Заранее большое спасибо всем кто откликнется!
http://www.sql.ru/forum/1085804/uchet-oborudovaniya-po-it-i-svyazi-izmenenie-shemy-dannyh