powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Стоит ли делать отдельное поле для PK?
25 сообщений из 96, страница 2 из 4
Стоит ли делать отдельное поле для PK?
    #39604790
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЗвучит отвратительно даже в теории. Так то, ограничения foreign key -- злющее зло. Индексы -- надо бросать на все поля вдоль и поперёк. Всегда можно наложить ограничение в запросе, так?

Знавал одних чуваков, так когда у них с БД что-то не пошло и решили, что все из-за того, что при выборках слишком много джойнов, так они вообще все таблицы со всеми связали по FK
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604817
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"Создание в таблице связи отдельного поля PK приводит к необходимости создания и ведения дополнительного уникального индекса. Ради чего? "
Необходимость создания и ведения уникального индекса состоит в том, чтобы в таблице USR_IN_GROUP не появились, например, такие строки
...
1000, 1, 1
...
2555, 1, 1
...

С реляционной точки зрения, это важнее всего остального.

Что касается заказов, то "Каждый заказ может содержать одну или несколько позиций, каждая позиция может принадлежать одному и только одному заказу". Где здесь М:М вместе с заморозкой позиций? FK всего лишь говорит, что ЭТА позиция принадлежит ЭТОМУ заказу, а не ТОМУ. Без всяких других аспектов функционирования системы.
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604829
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юзер 01,

Смысл есть, но если Вам непонятно зачем это, то не нужно.)
В целом вопрос довольно странный.
Есть принципы построения реляционных баз, отступать от них можно, если понимаешь, в чем причина так делать в конкретном случае.
Если нет, то лучше следовать им.
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604834
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще раз. Смысла нет, так как придется построить еще один потенциальный ключ!
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604838
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wlr-lЕще раз. Смысла нет, так как придется построить еще один потенциальный ключ!и в чём сложность?
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604846
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
egorych,

В бессмысленности!
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604853
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wlr-lВ бессмысленности!пахнуло религиозным фанатизмом сейчас))
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604866
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
egorychпахнуло религиозным фанатизмом сейчас))

Итак, у нас два потенциальных ключа: (USR_ID, USR_GROUP_ID) и (ID). Первый решает задачу уникальности пар USR_ID и USR_GROUP_ID. Второй эту задачу не решает. Где здесь фанатизм?

От двух потенциальных ключей веет религиозным фанатизмом ключ=одно поле таблицы!
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604897
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttViPRoshVostt,

мало плавал :)
лучше любую связь рассматривать как М:М и при нужде наложить ограничение для сужения

Звучит отвратительно даже в теории. Так то, ограничения foreign key -- злющее зло. Индексы -- надо бросать на все поля вдоль и поперёк. Всегда можно наложить ограничение в запросе, так?

Смотря в какой теории.

Связь - всегда сама по себе.
Связь может иметь и имеет Собственные свойства, присущие только связи.
Ограничение на мощность связи легко создается и снимается.
Связь можно легко убить и добавить (жизнь в динамике).
...
Связь - мощная контекстобразующая метаструктура.
...

Всякие форинкейи, индексы и т.д. к связям никакого отношения не имеют.

Вощем, это пока не твой хлеб.
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604908
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wlr-lНеобходимость создания и ведения уникального индекса состоит в том, чтобы в таблице USR_IN_GROUP не появились, например, такие строки
...
1000, 1, 1
...
2555, 1, 1
...

С реляционной точки зрения, это важнее всего остального.

Эммм.. и что? PK является таким индексом и хранится в таблице, не создаёт лишних накладных расходов. Я понимаю, когда без них никак. Но зачем нагружать БД тем, без чего прекрасно можно и нужно обходиться?


Wlr-lЧто касается заказов, то "Каждый заказ может содержать одну или несколько позиций, каждая позиция может принадлежать одному и только одному заказу". Где здесь М:М вместе с заморозкой позиций? FK всего лишь говорит, что ЭТА позиция принадлежит ЭТОМУ заказу, а не ТОМУ. Без всяких других аспектов функционирования системы.

Мозги не думать. Понятно.
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604909
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatЗнавал одних чуваков, так когда у них с БД что-то не пошло и решили, что все из-за того, что при выборках слишком много джойнов, так они вообще все таблицы со всеми связали по FK

Ну, я же говорил, FK -- зло
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604915
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosСвязь - всегда сама по себе.

Проблема вот в этом утверждении. Как только связь становится «сама по себе» и создаётся на какой-нибудь отдельной вкладочке «Связи» — это колхоз и выливается 100% в систему, которую с какой стороны не тронь, всё пойдёт по п.....е.

Связь это отношение, т.е. характеристика конкретного объекта. С обоих сторон она должна выражаться определением этого объекта.

А то ты так свяжешь агрегат автомобиля с категорией холодильников, и всё выглядит здорово, только у пришедшего аналитика возникают вопросы, где взять канистру с бензином, чтобы всё нахрен сжечь и посадить на кол колхозников-разработчиков.
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604918
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRos,

"Связь - всегда сама по себе."

Связь - это нечто между чем-то и чем-то. Если не будет этих "чем-то" и "чем-то", то что есть "связь"?

Если все хорошо в многомерном пространстве, то как это будет в одномерном? Можно объяснить на примере заказа и позиции? Особенно в динамике, когда "связь сама по себе".
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604921
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wlr-lЕсли все хорошо в многомерном пространстве, то как это будет в одномерном? Можно объяснить на примере заказа и позиции? Особенно в динамике, когда "связь сама по себе".

Да у него в его системе для «всего и вся» связи ведутся и управляются отдельно.

Тем же колхозным путём пошли и разработчики Галактики.

К слову, на 3-х часовой демонстрации возможностей Галактики, самый главный эксперт уже через час, когда показывал самые простые вещи и азы, стал теряться и путаться, по десять минут лазая по вкладочкам, коих миллион и табличкам, коих миллион, чтобы сделать простейшие с точки зрения бизнеса вещи. Адище в общем.
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604923
Wlr-l,

Заседание РАН в полном разгаре:
- Связь - это нечто между чем-то и чем-то. Если не будет этих "чем-то" и "чем-то", то что есть "связь"?
- Этот, как там, академик какой-то фигни, хватит нам всякое то об том, то об этом! Давайте что-то это.
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604929
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt,

"PK является таким индексом и хранится в таблице, не создаёт лишних накладных расходов. Я понимаю, когда без них никак. Но зачем нагружать БД тем, без чего прекрасно можно и нужно обходиться?"

Как обеспечить уникальность пар USR_ID и USR_GROUP_ID, если есть ключ по ID?

Человека, вводящего данные, не предлагать!
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604933
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wlr-lКак обеспечить уникальность пар USR_ID и USR_GROUP_ID, если есть ключ по ID?

я как раз против дополнительного суррогатного ID.
в таблице связи он как третье колено.
и всякие «репликации» — очень плохая отмазка. очень.
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604934
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wlr-l
Как обеспечить уникальность пар USR_ID и USR_GROUP_ID, если есть ключ по ID?

Это хорошая заявка на номинацию "Самый бредовый вопрос форума", как минимум за 2018 год
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604942
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тем же колхозным путём пошли и разработчики Галактики.Бро, ты не в теме. :)
Этим путем пошли почти все создатели взрослых ERP систем. Внезапно (с)
Я даже не знаю, есть ли среди ERP систем, где не применяют этот колхозный путь. Мне таковые неизвестны.
Мож ты знаешь ? :)

зы: Уже была недавно такая тема про ФК (нужны/не нужны).
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604951
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскин,
"Это хорошая заявка на номинацию "Самый бредовый вопрос форума", как минимум за 2018 год".

Спасибо за рекламу. Но я бы, как минимум, сначала понял бы, о чем идет речь!
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604973
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVЭтим путем пошли почти все создатели взрослых ERP систем. Внезапно (с)
Я даже не знаю, есть ли среди ERP систем, где не применяют этот колхозный путь. Мне таковые неизвестны.
Мож ты знаешь ? :)

мы разработали такую систему, решающую задачи уровня галактики.
у нас ни намёка ни на какие отдельно стоящие «Связи».
если какая-то бизнес-сущность имеет связь с другой, это непосредственно её характеристика.

у нас есть внедрение на федеральном уровне в сфере энергетики. и несколько региональных.

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


LSVзы: Уже была недавно такая тема про ФК (нужны/не нужны).

я говорил про то, что обычное FK выделяется в отдельную сложную многогранную, как душа неотёсанной девственницы, сущность. которую надо отдельно вести и поддерживать. это колхоз.
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604979
hVostt,


автору нас есть внедрение на федеральном уровне в сфере энергетики. и несколько региональных.
И небольшой проэкт в сфере рекламы.
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39604981
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wlr-lНо я бы, как минимум, сначала понял бы, о чем идет речь!
Но почему-то Вы этого не сделали (как можно заметить, Ваш собеседник тоже усомнился в адекватности именно этого вопроса именно ему). Т.е. вопрос не просто бредов сам по себе, но и в контекст дискуссии попадает не очень.
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39605004
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мы разработали такую систему, решающую задачи уровня галактики.Это глубоко внутренний проект в 1-м экземпляре.

Попробуй написать что-нить тиражируемое и активно эволюционирующее.
...
Рейтинг: 0 / 0
Стоит ли делать отдельное поле для PK?
    #39605008
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот МатроскинWlr-lНо я бы, как минимум, сначала понял бы, о чем идет речь!
Но почему-то Вы этого не сделали (как можно заметить, Ваш собеседник тоже усомнился в адекватности именно этого вопроса именно ему). Т.е. вопрос не просто бредов сам по себе, но и в контекст дискуссии попадает не очень.

Исходный вопрос "Стоит ли делать отдельное поле для PK?".

hVostt, Cane Cat Fisher и я сказали, что нет, не надо.

У тех, кто говорит, что надо, я и спросил "Как обеспечить уникальность пар USR_ID и USR_GROUP_ID, если есть ключ по ID?".

Еще раз, Вы потеряли нить беседы.
...
Рейтинг: 0 / 0
25 сообщений из 96, страница 2 из 4
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Стоит ли делать отдельное поле для PK?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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