powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Дополнительная таблица связей или столбец
17 сообщений из 17, страница 1 из 1
Дополнительная таблица связей или столбец
    #38974248
РусланС.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Есть исходная таблица с большим кол-вом записей (~8 000 000), первичным ключем ID и другими полями.
Вопрос: если необходимо добавить какую-то характеристику, которая может быть как заполнена так и иметь NULL, то нужно делать дополнительную таблицу связей или лучше добавить просто столбец в исходную таблицу?
В каких случаях вообще стоит делать таблицу связей, а в каких можно просто добавить столбец?

У записи в исходной таблице может быть только одна характеристика. Характеристику может иметь несколько записей в исходной таблице. Т.е. связь один ко многим.
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38974253
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РусланС.необходимо добавить какую-то характеристику, которая может быть как заполнена так и иметь NULL, то нужно делать дополнительную таблицу связей или лучше добавить просто столбец в исходную таблицу?Если характеристика табличная - добавить таблицу. Если счётная - поле.

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38974257
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РусланС.Добрый день!
Есть исходная таблица с большим кол-вом записей (~8 000 000), первичным ключем ID и другими полями.
Вопрос: если необходимо добавить какую-то характеристику, которая может быть как заполнена так и иметь NULL, то нужно делать дополнительную таблицу связей или лучше добавить просто столбец в исходную таблицу?
В каких случаях вообще стоит делать таблицу связей, а в каких можно просто добавить столбец?

У записи в исходной таблице может быть только одна характеристика. Характеристику может иметь несколько записей в исходной таблице. Т.е. связь один ко многим.

И так, и так возможно в наше время.
Все зависит от того, как, как часто изменяются эти характеристики и т.д.
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38974259
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РусланС.,

таблица харастеристик для гарантии, что несколько строк основной таблицы
ссылаются на одну и ту же характеристику. Хранение копий характеристик в
строках основной таблицы вместо ссылок этого не гарантирует.
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38974262
РусланС.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Уточню, что таблица характеристик есть.
Вопрос, нужно ли делать таблицу связей (промежуточную таблицу) исходной таблицы и таблицы характеристик. И если нужно делать, то почему?
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38974502
babona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РусланС.,

так понимаю, речь идет о создании таблицы-ассоциаторе, bridge-table

Тогда аргументы в пользу неё:
1. можете заложить темпоральность - date-поля с...по
2. сегодня это у вас просто таблица для обеспечения многие-ко-многим, а завтра появятся доп. смысловые поля - например, по какой причине запись соотнесена с данной характеристикой.
и вы сможете спокойно добавить доп. поля.
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38974671
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
babonaсегодня это у вас просто таблица для обеспечения многие-ко-многиму него один-ко-многим, тащем-та
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38975374
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РусланС.Akina,

Уточню, что таблица характеристик есть.
Вопрос, нужно ли делать таблицу связей (промежуточную таблицу) исходной таблицы и таблицы характеристик. И если нужно делать, то почему?

Если связь один-ко-многим, как ты сказал, то надо делать только поле, NULL, со ссылкой на исходный справочник характеристик.

Доп. таблицу нужно делать только если связь с характеристиками "многие-ко-многим".
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38975626
blade_bbb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv, ходит мнение, что если данные часто обновляются и для того чтобы не хранить избыточную информацию (NULL значения) лучше делать дополнительную таблицу.
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38975680
Фотография Шайтан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blade_bbbMasterZiv, ходит мнение , что если данные часто обновляются и для того чтобы не хранить избыточную информацию (NULL значения) лучше делать дополнительную таблицу.

можно поточнее - где именно ходит? куда и откуда идёт? :)
желательно со ссылками
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38975685
blade_bbb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шайтан, мне вот самому интересно где можно почитать об этом) Слышал от кого-то об этом и в БД видел что так делают.
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38975857
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blade_bbbMasterZiv, ходит мнение, что если данные часто обновляются и для того чтобы не хранить избыточную информацию (NULL значения) лучше делать дополнительную таблицу.

мнение неверное и , более того, идиотское.
Когда слушаешь чье-то мнение, не забывай, что 95 % людей на земле - идиоты.
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38976471
РусланС.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv, оно аргументировалось тем, что если это поле часто обновляется, но будут возникать блокировки на таблице (из-за частого update). Вы по прежнему считаете что это идиотское мнение? Аргументируйте.
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38976843
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РусланС.MasterZiv, оно аргументировалось тем, что если это поле часто обновляется, но будут возникать блокировки на таблице (из-за частого update). Вы по прежнему считаете что это идиотское мнение? Аргументируйте.

идиотское, без указания конкретных выполняемых запросов - просто тупо идиотское.

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

повторяю в очередной раз золотое правило : при проектировании структуры бд не думают о производительности. Думают о типах данных, ограничениях, нормализации и т.п.
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38976846
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

предметной, не полимерной.
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38977094
повторяю в очередной раз золотое правило : при проектировании структуры бд не думают о производительности. Думают о типах данных, ограничениях, нормализации и т.п. Неверное мнение.
Для чего тогда делают журналы операций, если вся инфа есть в первичке ?
Для чего существуют ОЛАП и его аналоги, если вся инфа и так есть в первичке ?

Неуёмная нормализация может чудовищно повлиять на производительность и усложнение структуры и запросов.
Так что не думать о производительности не получится.

зы: Но суть тезиса понятна и в целом справедлива. Спишем на неточную формулировку... :)
...
Рейтинг: 0 / 0
Дополнительная таблица связей или столбец
    #38977476
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
постоянный мемберповторяю в очередной раз золотое правило : при проектировании структуры бд не думают о производительности. Думают о типах данных, ограничениях, нормализации и т.п. Неверное мнение.
Для чего тогда делают журналы операций, если вся инфа есть в первичке ?


А причём тут производительность ?
Это требование бизнес-логики -- отслеживать все операции с документами в БД.
Там тогда либо версионность документов, либо журналы.


постоянный мемберДля чего существуют ОЛАП и его аналоги, если вся инфа и так есть в первичке ?


Это отдельный сложный вопрос.
Хочешь поговорить об этом?

В осномном, OLAP базы существуют для того, чтобы решать другие задачи, чем в обычной базе, и для этого выбросить из БД всё ненужное и/или применить специализированные средства анализа данных (другие СУБД).

постоянный мемберНеуёмная нормализация может чудовищно повлиять на производительность и усложнение структуры и запросов.


Нет такого слова "неуёмная нормализация".

постоянный мемберТак что не думать о производительности не получится.


Ну у меня ж получается, я всю жизнь не думаю, и вам не советую.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Дополнительная таблица связей или столбец
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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