powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как объединить в общий список разные типы сущностей?
16 сообщений из 16, страница 1 из 1
Как объединить в общий список разные типы сущностей?
    #39404509
lizard king
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь спроектировать БД учёта комп. техники. Есть таблица верхнего уровня
ИНВЕНТАРЬ
-id
-инв.№
-количество
-.... др....

И элементом этой таблицы может быть как МОНИТОР, так и ПРИНТЕР и многое другое... Каждая такая таблица имеет разную структуру (т.к. разные наборы характеристик).

Как их можно объединить?
...
Рейтинг: 0 / 0
Как объединить в общий список разные типы сущностей?
    #39404513
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lizard kingКак их можно объединить?
В зависимости от потребностей (ТЗ):
а) EAV
б) "Братская могила" неструктурированного текста.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как объединить в общий список разные типы сущностей?
    #39404519
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lizard king,

Паттерн "наследование" .
...
Рейтинг: 0 / 0
Как объединить в общий список разные типы сущностей?
    #39404522
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lizard kingКак их можно объединить?

Не нужно ничего объединять. Храни отдельно значения характеристик.
...
Рейтинг: 0 / 0
Как объединить в общий список разные типы сущностей?
    #39404591
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lizard kingИ элементом этой таблицы может быть как МОНИТОР, так и ПРИНТЕР и многое другое... Каждая такая таблица имеет разную структуру (т.к. разные наборы характеристик).

делал такую задачу будучи пионером для министерства...
lizard kingразные наборы характеристи
практика показала, что они и нахрен никому не уперлись и вбивать их никто не захотел, по этому тут унификация характеристик сводится к типу, названию и серийному номеру в основном...
Таблица Устройство: (для всего - от чайников до телевизоров и системных блоков)
id
inv N
naimenovanie (по пачпорту изделия)
kod_izdelia (из классификатора монитор, принтер, факс, ...)
kod_usera (из классификатора кто ответственный)
....
дальше возможно всякая лабуда через классификатор или так (в каком подразделении, на каком этаже, комнате)
....
Дальше максимум 3-5 основных характеристик (разрешение, память, ...) в интерфейсе не нужное будет пустым (коню пнятно что у чайника почти все пустое будет) или можно скрывать по значению kod_izdelia
Таблица состав устройства: подчиненная к основной таблице и в основном для системных блоков
id
id_ustroistva (из главной таблицы)
- kod_tipa (из классификатора материнка, память, HDD, ... )
- kod_proizv (из классификатора производителей самсунг, хюлит п,...)
- naimenovanie (по пачпрту)
.....
3-5 основных характеристик

Ну и все.... понятно, что для чайников, факсов, телевизоров в подчиненной ничего не будет....
Уже видно сколько будет таблиц-классификаторов...
Все остальные таблицы зависят от потребностей и структуры предприятия (есть движуха, нет движухи, [b]что в ТЗ по этому поводу [/b] и т.д.)
...
Рейтинг: 0 / 0
Как объединить в общий список разные типы сущностей?
    #39404719
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно спроектированный EAV подойдет идеально. У каждой единицы можно будет ввести произвольное кол-во характеристик (дюймы, год выпуска, серийники, емкость, цвет и пр.).
Потом запросами можно будет легко получить список например серебристых мониторов 20..22 дюйма старше 2010 г.
Доступ к любой х-ке может регулироваться правами (видеть/редактировать).
Добавление новой - дело 1 минуты без программирования.
...
Рейтинг: 0 / 0
Как объединить в общий список разные типы сущностей?
    #39404838
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lizard king,

ну, в струе "модного" NoSQL-я можно хранить отдельными документами, например json-ами.
...
Рейтинг: 0 / 0
Как объединить в общий список разные типы сущностей?
    #39405476
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дедушка,

хранение clob-ов, blob-ов, json-ов в реляционной базе - это совсем не NoSQL.

Это я к тому, что вот так и создаются ложные впечатления в неокрепших умах :)
...
Рейтинг: 0 / 0
Как объединить в общий список разные типы сущностей?
    #39405649
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

ну, хранение как бинарника это не тож само, что умение работать с ним как с объектом.
да "реляционки" сейчас подтянулись (в том или ином виде), но формально это не реляционная структура, имхо.
...
Рейтинг: 0 / 0
Как объединить в общий список разные типы сущностей?
    #39405765
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дедушка,

да, структура не реляционная, но этого мало, чтобы называться NoSQL :)
...
Рейтинг: 0 / 0
Как объединить в общий список разные типы сущностей?
    #39405796
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

педия с вами не согласна :)
WikipediaA NoSQL (originally referring to "non SQL", "non relational" or "not only SQL")[1]
database provides a mechanism for storage and retrieval of data which is modeled in means other than the tabular relations used in relational databases.впрочем, это всё схоластика, не суть...
...
Рейтинг: 0 / 0
Как объединить в общий список разные типы сущностей?
    #39406101
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovВ зависимости от потребностей (ТЗ):
а) EAV
б) "Братская могила" неструктурированного текста.

в) Если товаров (комплектующих) в базе будет неприлично много- Общая для всех товаров таблица с атрибутами присущими всем товарам: код, наименование, дата производства, производитель, тип товара

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

Если товаров в базе будет не очень много -EAV самое оно.
...
Рейтинг: 0 / 0
Как объединить в общий список разные типы сущностей?
    #39406104
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergueiDimitry SibiryakovВ зависимости от потребностей (ТЗ):
а) EAV
б) "Братская могила" неструктурированного текста.

в) Если товаров (комплектующих) в базе будет неприлично много- Общая для всех товаров таблица с атрибутами присущими всем товарам: код, наименование, дата производства, производитель, тип товара

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

Это и называется "наследование"
...
Рейтинг: 0 / 0
Как объединить в общий список разные типы сущностей?
    #39406119
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинЭто и называется "наследование"

возможно
...
Рейтинг: 0 / 0
Как объединить в общий список разные типы сущностей?
    #39406350
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergueiи из нее расходятся звездой таблички с атрибутами, свойственными для каждого типа товара.
Да - придется потратить время на проектирование таблицы для каждого типа товара. Сразу видно, что в Папуа-Новой Гвинее плохо себе представляют, что такое БД и учет. :)
А Вы хоть раз пробовали по вашей схеме сделать хотя бы один отчет ?
Сначала попробуйте.
...
Рейтинг: 0 / 0
Как объединить в общий список разные типы сущностей?
    #39409219
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVСразу видно, что в Папуа-Новой Гвинее плохо себе представляют, что такое БД и учет. :)
А Вы хоть раз пробовали по вашей схеме сделать хотя бы один отчет ?
Сначала попробуйте.

Попрошу без оскорблений. Делали. Представляем. Работает. Отчет по такой базе сделать как раз проще, чем по EAV.
И я учитывают тот факт, что данных в базе будет не много, а очень много: миллионы-миллиарды. При таком объеме данных предвижу, что EAV загнется.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как объединить в общий список разные типы сущностей?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]