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

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

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

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

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

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

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

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


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

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

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

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


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


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