powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Синтетический ключ для таблицы many-to-many
8 сообщений из 33, страница 2 из 2
Синтетический ключ для таблицы many-to-many
    #32447762
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
угу, мне тоже объясните пожалуйста - где бред?
...
Рейтинг: 0 / 0
Синтетический ключ для таблицы many-to-many
    #32447934
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще бред - какое-то не научное слово, это что-то уже из философии :))

А автор, наверное, имел ввиду, что у него везде в БД есть сурогатный ключ для связующих таблиц, что естесвенно для простых связок нельзя делать.
...
Рейтинг: 0 / 0
Синтетический ключ для таблицы many-to-many
    #32447965
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я выше приводил пример, как мне досталась база с пятью такими связанными таблицами. Вот весело то - имея запись из "нижней" таблицы узнавать идентификатор связанной "верхней". Приходится для этого 4 лишних джойна делать
У Романыча 2 таблицы, такой гемор ему не грозит, но подход все равно неправильный.
Для строк состава документа ссылка на шапку документа - не есть неключевой аттрибут, а есть часть первичного ключа. Потому как вряд ли автор оперирует такими понятиями, как "строка ХХХ какого-то документа, неважно какого "
funikovyuriнесоставной ключ имеет смысл ввести если эта таблица не просто реализует связь - но, так же, соответствует какой-то сущности в системе
Вот и здесь. Описываемая сущность - это не просто висящая в воздухе строка, а строка определенного документа. И первичный ключ должен это отражать.
ИМХО.
...
Рейтинг: 0 / 0
Синтетический ключ для таблицы many-to-many
    #32448016
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так у него же там ORDER->ORDER_LINE - это не many-to-many
...
Рейтинг: 0 / 0
Синтетический ключ для таблицы many-to-many
    #32448509
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это не many-to-many
Ну так тем более
...
Рейтинг: 0 / 0
Синтетический ключ для таблицы many-to-many
    #32448775
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что: этот пример прекрасно ложится на определение, данное нами с funikovyuri.
несоставной ключ имеет смысл ввести если эта таблица не просто реализует связь - но, так же, соответствует какой-то сущности в системе С поправкой: наверное, все же не в системе, а в реальном мире. Строка заказа сама по себе не соответствует какой-то сущности реального мира (ибо без заголовка заказа смысла не имеет). Поэтому можно не вводить несоставной ключ.
С другой стороны, на строку заказа может ссылаться строка оплаты, например (представим, что каждую строку закрывают отдельной оплатой). В этом случае несоставной ключ уже смысл имеет.
В двух последних КИС, с которыми мне довелось работать (в одной и той же компании, кстати) были применены разные подходы, и они работали по-разному (то, что делалось быстро в первой КИС, происходило с большим количеством join'ов - и медленнее - во второй, зато вторая работала быстрее в других случаях).

Ну, то есть мы рассматриваем вопрос не совсем религии, как я раньше выразился, а скорее вопрос выбора с учетом преобладания в системе одних задач над другими, оптимизации, так сказать ;-)
...
Рейтинг: 0 / 0
Синтетический ключ для таблицы many-to-many
    #32448827
f2f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
f2f
Гость
Ну, то есть мы рассматриваем вопрос не совсем религии, как я раньше выразился, а скорее вопрос выбора с учетом преобладания в системе одних задач над другими, оптимизации, так сказать ;-)

Ну так я и писал можно делать по разному, но почему бред ?
...
Рейтинг: 0 / 0
Синтетический ключ для таблицы many-to-many
    #32448857
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Urri
С другой стороны, на строку заказа может ссылаться строка оплаты, например (представим, что каждую строку закрывают отдельной оплатой). В этом случае несоставной ключ уже смысл имеет.
И в этом случае тоже - строка оплаты ссылается не на абстрактную строку заказа (в воздухе висящую), а на конкретную строку конкретного заказа.
Представь себе (гипотетическое) ограничение, что оплата может закрывать строки одного заказа - и тут же без идентификатора заказа в первичном ключе строки становиться грустновато...

2 f2f
Ну так я и писал можно делать по разному, но почему бред ?
Ни одна из известных мне моделей документов не оперирует строками документа "самими-по-себе", только строками как частью документа.
Строка документа - не независимая сущность. Она - очень даже зависимая сущность. Поэтому такой ключ - бред. Если конечно не рассматривать случаи сферических коней в вакууме.
З.Ы. Имхо
З.З.Ы. А мне с таким бредом работать приходится. Поубивал бы
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Синтетический ключ для таблицы many-to-many
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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