powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / добавление атрибутов в таблицу
4 сообщений из 4, страница 1 из 1
добавление атрибутов в таблицу
    #38130296
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я запутался. Вопрос - как лучше?
Есть таблица
1.
Код: sql
1.
2.
3.
4.
MainTable1:
ID (PK)
Start(int)
Name(varchar)


Появилась задача добавить в нее 2 атрибута: Attr1 и Attr2. Они соответсвенно являвются внешними ключами из соответствующих таблиц. Вариант в лоб - добавить 2 столбца:
Код: sql
1.
 Attr1_Id (int,null),Attr2_id(int,null)

Но при этом я понимаю,что в 99% эти столбцы будут NULL. Поэтому решил создать таблицу:
Код: sql
1.
2.
3.
4.
MainTable_Attrs
MainId(Pk,FK)
Attr1_Id (int,null)
Attr2_id(int,null)


я правильно сделал или зря заморочился?
ЗЫ есть еще одно НО: Attr1 и Attr2 взаимоисключающие, т.е. один из них полюбому NULL, но ввел 2 столбца для целостности. Может и тут можно "оптимизировать"?:)

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
добавление атрибутов в таблицу
    #38130461
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivan,

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

Возможно после уточнения задачи измениться и модель данных.
...
Рейтинг: 0 / 0
добавление атрибутов в таблицу
    #38130603
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivan,

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

Хотя я бы для начала посчитал эту самую экономию места, в процентах и абсолютных величинах, а тотом уже решал, стоит ли игра свеч.
...
Рейтинг: 0 / 0
добавление атрибутов в таблицу
    #38131001
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая экономия места? Null места не занимает.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / добавление атрибутов в таблицу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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