Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
05.11.2017, 19:46
|
|||
---|---|---|---|
|
|||
Как учитывать любое количество атрибутов у сущности |
|||
#18+
Сейчас занимаюсь проектированием на уровне концепта и логики. БД автопарка. У Марки ТС по умолчанию 3 теххарактеристики, но нужно сделать так, чтобы можно было учитывать любое количество теххарактеристик. Я размышляю так: создать отдельную сущность Теххарактеристика и в ней ключевой атрибут -- её наименование. Но... что-то не пошло. Как добиться нужного результата? Помогите, пожалуйста, разобраться. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.11.2017, 20:23
|
|||
---|---|---|---|
Как учитывать любое количество атрибутов у сущности |
|||
#18+
Deft_Cat, EAV , но может для ваших потреб вполне сгодится какаянить из множества Document-oriented database ... если MS SQL принципиально, то реализуйте EAV или пользуйтесь типами XML/JSON ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.11.2017, 21:46
|
|||
---|---|---|---|
|
|||
Как учитывать любое количество атрибутов у сущности |
|||
#18+
buser, спасибо за советы! Маленькое уточнение: как именно показать это графически в ERWin DM? Я хочу понять, как это организуется на логическом уровне. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.11.2017, 22:27
|
|||
---|---|---|---|
Как учитывать любое количество атрибутов у сущности |
|||
#18+
Deft_Catbuser, спасибо за советы! Маленькое уточнение: как именно показать это графически в ERWin DM? Я хочу понять, как это организуется на логическом уровне. Заводите таблицу "Технические характеристики марки ТС", в ней два столбца в виде ссылок на 2 других справочника - Марка ТС и Технические характеристики. Ссылки из таблицы в справочники - аналогично как в сотрудниках наименование должности - ссылка на справочник должностей. Только тут не одна ссылка, а две. Все. Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2017, 14:34
|
|||
---|---|---|---|
|
|||
Как учитывать любое количество атрибутов у сущности |
|||
#18+
Andy_OLAP, В итоге получается, что табличка "Технические характеристики марки ТС" в Excel (для последующего импорта в SQL Server) будет выглядеть следующим образом (в дальнейшем, при необходимости, можно будет добавлять характеристики, дописывая марку+характеристику+значение). Я правильно понял Ваш совет? (красным -- первичный ключ) И чтобы выдать, к примеру, все имеющиеся характеристики BMW E5 (названия значения накидал рандомные, чисто для примера) нужно будет с помощью операции Соединение это совершить? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2017, 15:13
|
|||
---|---|---|---|
Как учитывать любое количество атрибутов у сущности |
|||
#18+
Deft_CatAndy_OLAP, В итоге получается, что табличка "Технические характеристики марки ТС" в Excel (для последующего импорта в SQL Server) будет выглядеть следующим образом Да, но не совсем. В таблице отчета будут Name из справочника, в таблице технических характеристик 2 столбца ID. Иначе после переименования характеристики ID=234, Name="Кросный" на "Красный" Вам придется апдейтить таблицу и во всех столцах текстовые "Кросный" менять на "Красный". А если будет только ID - так он так 234 и останется. На всякий случай уточнил этот нюанс, мало ли. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2017, 15:44
|
|||
---|---|---|---|
|
|||
Как учитывать любое количество атрибутов у сущности |
|||
#18+
Andy_OLAP, а где же хранить значения характеристик, если в таблице "Технические характеристики марки ТС" будут только 2 ID? Я не понимаю вот этого момента, к сожалению... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2017, 15:54
|
|||
---|---|---|---|
Как учитывать любое количество атрибутов у сущности |
|||
#18+
Deft_CatAndy_OLAP, а где же хранить значения характеристик, если в таблице "Технические характеристики марки ТС" будут только 2 ID? Я не понимаю вот этого момента, к сожалению... В справочнике, который Вы уже создали - Технические характеристики. ID=1 объем двигателя, ID=2 основной цвет, ID=3 полный привод, ID=4 передний привод, и так далее. Только технические характеристики относятся к автомобилю, а не к марке. Вот есть марка феррари. Машины в основном красные. Но какое это имеет отношение к конкретному автомобилю? Или марка 1.6 литра, а на автомобиль поставили двигатель 1.8, ну и что даст отчет, что техническая характеристика марки ТС для данного автомобиля возвращает 1.6? Сравнить дефолтный вариант с конкретным для автомобиля? Я бы завел более общий справочник "Технические характеристики автомобиля", туда и цвет, и объем двигателя и так далее. И "технические характеристики марки ТС" - это ссылка на ID марки и ссылка на ID общих характеристик, которые бывают вообще у автомобилей. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2017, 20:21
|
|||
---|---|---|---|
Как учитывать любое количество атрибутов у сущности |
|||
#18+
Deft_Cat, так Вы не разберетесь:) Сначала Вам нужно поместить все характеристики транспортного средства в "таблицу" Транспортное средство. Сколько нужно характеристик, столько и помещайте. Разве Вам кто-то запретил? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2017, 21:25
|
|||
---|---|---|---|
|
|||
Как учитывать любое количество атрибутов у сущности |
|||
#18+
Бредятина, к примеру, помещу я в таблицу Транспортное_средство 3 характеристики, или 5, или 7, -- и они будут неключевыми атрибутами для данной таблицы. Но условие такое, что нужно сделать так, чтобы учитывалось любое количество характеристик. Следовательно, характеристики должны как-то добавляться, когда этого потребуется. Если я что-то не понимаю, а вы точно видите разрешение, то уточните, пожалуйста :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.11.2017, 10:41
|
|||
---|---|---|---|
Как учитывать любое количество атрибутов у сущности |
|||
#18+
По сабжу приводилось реальное решение уже неск. раз. Нужно всего две таблицы: 1. справочник атрибутов 2. таблица привязки значения атрибута к сущности, т.е. набор ключей и значения. (профит) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.11.2017, 15:57
|
|||
---|---|---|---|
Как учитывать любое количество атрибутов у сущности |
|||
#18+
LSV, Так тут ситуация хуже. "У Марки ТС по умолчанию 3 теххарактеристики, но нужно сделать так" - база автопарка. На маршруты выставляются или газели, или большие автобусы. Автор темы думает, что создаст запись "Газель" как марка ТС, в ней пропишет вместимость условно 15 человек, запись "Пазик" как марка ТС, в ней пропишет вместимость условно 25 человек, и далее в программе будут выбирать из справочника атрибутов такой как "вместимость", забьют 17 человек (в среднем на новый маршрут) и увидят, что можно на него пустить газельки, а не пазики. А вот и нет. Подобные характеристики являются привязкой к конкретному автомобилю. Автор темы - далее для Вас абстрактное размышление. У меня допустим марка "феррари" - основной цвет красный, основная вместимость 2+2. Ну и - мои слесари переделали в пикап, стало 2 человек максимум, плюс перекрасили в желтый. Ну и что мне из записи по теххарактеристике марки ТС? Или кол-во дней между техосмотром. Ну, стоит у некой абстрактной газели условные 10 дней. Но бывает газели условно выпуска 2015 года, для которых кол-во дней 10, а бывает условно 2017, для которых кол-во дней 7 (чаще нужно проверять, на заводе испортили качество продукции). И дальше что - заводить в марку ТС раздельно "газели выпуска 2015" и "газели выпуска 2017"? Подумайте, зачем Вам прикручивать теххарактеристики именно к марке ТС. Не будет ли это граблями, которые потом больно ударят... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.11.2017, 16:57
|
|||
---|---|---|---|
Как учитывать любое количество атрибутов у сущности |
|||
#18+
Так тут ситуация хуже. Можно прописать не к карточке ТС, а к группе ТС (типо: пассажирские до 12мест, пассажирские до 25мест, грузовые и т.д.). Как вариант, можно сделать и там и там, чтобы при создании новой карточки ТС, в неё копировались готовые атрибуты из группы. Затем при необх. конкретную карточку можно отредактировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.11.2017, 19:47
|
|||
---|---|---|---|
Как учитывать любое количество атрибутов у сущности |
|||
#18+
Deft_CatБредятина, к примеру, помещу я в таблицу Транспортное_средство 3 характеристики, или 5, или 7, -- и они будут неключевыми атрибутами для данной таблицы. Но условие такое, что нужно сделать так, чтобы учитывалось любое количество характеристик. Следовательно, характеристики должны как-то добавляться, когда этого потребуется. Если я что-то не понимаю, а вы точно видите разрешение, то уточните, пожалуйста :) Точно вижу:) А Вы его увидите, когда разберетесь... Почему Вы не можете добавлять сколько угодно характеристик в таблицу "Транспортное средство", когда Вам это потребуется? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=32&mobile=1&tid=1540118]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
186ms |
get topic data: |
17ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 236ms |
total: | 523ms |
0 / 0 |