powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / ключи на разные таблицы вроде [object_id, object_type] - это зло или нет? как лучше?
10 сообщений из 10, страница 1 из 1
ключи на разные таблицы вроде [object_id, object_type] - это зло или нет? как лучше?
    #39456162
Onax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
собственно такой вот вопрос из заголовка

нужно ссылаться на 1 из нескольких таблиц, что лучше пара столбцов клю+тип или же отдельные столбцы для каждого?

чем плоха связка ключ+тип?

может есть какие-то рекомендации как этого избежать вообще?
...
Рейтинг: 0 / 0
ключи на разные таблицы вроде [object_id, object_type] - это зло или нет? как лучше?
    #39456178
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Ключ+тип" -- очевидно, никаких (нативных -- триггеры и прочий закат солнца вручную не рассматриваем) гарантий ссылочной целостности. В подавляющем большинстве случаев этого минуса хватает, чтобы такой вариант не использовать.
...
Рейтинг: 0 / 0
ключи на разные таблицы вроде [object_id, object_type] - это зло или нет? как лучше?
    #39456183
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты точно не хотел сказать "нужно ссылаться из одной таблицы на несколько"? А то сейчас
звучит так, что ты совсем не понимаешь что такое Foreign Key и как он работает.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ключи на разные таблицы вроде [object_id, object_type] - это зло или нет? как лучше?
    #39456261
Onax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторТы точно не хотел сказать "нужно ссылаться из одной таблицы на несколько"? А то сейчас
это конечно, из одной на несколько
...
Рейтинг: 0 / 0
ключи на разные таблицы вроде [object_id, object_type] - это зло или нет? как лучше?
    #39456268
Onax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот думаю если делать отдельные одинаковые таблицы тоже глупо будет выглядеть, хоть технически верно (и удобно)
остается только промежуточный вариант - одна таблица с 3 обычными внешними ключами, не красиво только что всегда 2 из 3 будут пустые
...
Рейтинг: 0 / 0
ключи на разные таблицы вроде [object_id, object_type] - это зло или нет? как лучше?
    #39456280
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Onaxиз одной на несколько
В таком случае эти "несколько" обычно сливаются в одну. Возможно, частично. STFW паттерн
"наследование" в применении к реляционной модели.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ключи на разные таблицы вроде [object_id, object_type] - это зло или нет? как лучше?
    #39456393
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> всегда 2 из 3 будут пустые
Всегда будет только в случае, если ты напишешь check constraint
...
Рейтинг: 0 / 0
ключи на разные таблицы вроде [object_id, object_type] - это зло или нет? как лучше?
    #39456475
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Onax это зло или нет?

Нет не зло. Но смотреть нужно по месту. Общего правила нет. Иногда делать суррогатный ключ только для того, чтобы сделать ссылку только в нескольких местах неинтересно, проще притащить за собой составной ключ
...
Рейтинг: 0 / 0
ключи на разные таблицы вроде [object_id, object_type] - это зло или нет? как лучше?
    #39456554
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Onaxсобственно такой вот вопрос из заголовка

нужно ссылаться на 1 из нескольких таблиц, что лучше пара столбцов клю+тип или же отдельные столбцы для каждого?

чем плоха связка ключ+тип?

может есть какие-то рекомендации как этого избежать вообще?


есть, использовать наследование (оно же отношение подкатегории). А то, что предлагаешь ты, это по сути антипаттерн в РБД, так делать нельзя.
...
Рейтинг: 0 / 0
ключи на разные таблицы вроде [object_id, object_type] - это зло или нет? как лучше?
    #39456556
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Onaxсобственно такой вот вопрос из заголовка

нужно ссылаться на 1 из нескольких таблиц, что лучше пара столбцов клю+тип или же отдельные столбцы для каждого?

чем плоха связка ключ+тип?

может есть какие-то рекомендации как этого избежать вообще?


если такое делать по-правильному в РБД, то тебе надо сделать из данной таблицы N необязательных ( nullable) ссылок на другие таблицы, а если нужно будет добавить новую родительскую таблицу, нужно будет вставлять новое поле/набор полей. Чувствуешь, чем пахнет? Это было бы нарушение 1НФ , массив в таблице!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / ключи на разные таблицы вроде [object_id, object_type] - это зло или нет? как лучше?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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