powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Связать таблицы
15 сообщений из 15, страница 1 из 1
Связать таблицы
    #33660754
Фотография Celtics
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посоветуйте как лучше поступить.

Есть таблица А. В ней определенное кол-во записей. Есть набор данных Б. Часть из них динамически изменяются, а часть статична и нужна только для статистики. Есть два варианта решения:
1) Залить все данные в единую таблицу Б. Создать внешний ключ на таблицу А. Часть (динамическую) данных завязать на таблицу А (проставить номера), остальную часть данных (статическую) не связывать (для них оставить номера для внешнего ключа оставть пустыми). Добавить булевское поле с признаком завязана ли данная запись из таблицы Б на запись таблицы А и в запросах пользоваться этим полем
2) Залить динамическую часть данных в таблицу Б с непустым внешним ключем на таблицу А. Создать таблицу В с аналогичноцй структурой и залить туда статические данные. В запросах пользоваться union.
...
Рейтинг: 0 / 0
Связать таблицы
    #33660885
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CelticsЕсть набор данных Б.
Это таблица или?

CelticsЧасть из них динамически изменяются
Какая часть и часть чего?

Не очень понятно, зачем вообще что-либо куда-либо "заливать".
...
Рейтинг: 0 / 0
Связать таблицы
    #33660950
Фотография Celtics
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Набор данных - набор объектов.
Возьмем один объект.
Часть свойств этого объекта в таблице А. Другая часть свойств в наборе данных Б. Логично, что появляется необходимость связать А И Б.

Но фишка в том, что в таблице А только активные объекты - их свойства изменяются.


В наборе записей Б есть как изменяемые записи (объекты) так и статические - их мы с табл. А не связываем.

Отсюда вопрос - нужно ли несвязываемые данные выносить в отдельную таблицу?
...
Рейтинг: 0 / 0
Связать таблицы
    #33661126
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CelticsВозьмем один объект.
Часть свойств этого объекта в таблице А. Другая часть свойств в наборе данных Б. Логично, что появляется необходимость связать А И Б.

Опять " таблица А" и " набор данных Б". Какая разница между их физической сущностью?
И как они должны быть связаны? Красный и железный? Они привязаны к объекту - этого недостаточно?

авторНо фишка в том, что в таблице А только активные объекты - их свойства изменяются.
Так в А объекты или свойства объектов?

авторВ наборе записей Б есть как изменяемые записи (объекты) так и статические - их мы с табл. А не связываем.
И в Б теперь объекты!
Может ты пример данных напишешь.

авторОтсюда вопрос - нужно ли несвязываемые данные выносить в отдельную таблицу?
Не знаю. Я не понял вопроса. Возможно это про переменное число параметров? Тут это часто перемывается. Поищи.
...
Рейтинг: 0 / 0
Связать таблицы
    #33661231
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Б - это все объекты, а А - часть (активная или какая другая) , то логичней иметь ФК в обратном направлении из А в Б.
...
Рейтинг: 0 / 0
Связать таблицы
    #33661367
Фотография Celtics
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица А - набор записей (1, 2, 3) с полями (a, b, c), где 1, 2, 3 - объекты, a, b, c - свойства объектов
Набор записей Б (еще не таблица) - нужно правильно связать с таблицей А.
Набор записей Б (1, 2, 3, 4, 5) с полями (d, e, f, g), где 1, 2, 3, 4, 5 - объекты, d, e, f, g - свойства объектов

Из них, например, записи(объекты) 1, 4 в Б - мертвые. Они уже не меняются. 2, 3, 5 - связываются с таблицей А и их поля меняют значения.

Для простоты представте, что были две таблицы А и Б, связаны один к одному. А<-Б. А потом из А начали удалять записи. Как поступить в тслучае если в Б остались мертвые записи, выносить их отдельно либо прибивать внешний ключ?
...
Рейтинг: 0 / 0
Связать таблицы
    #33661412
Фотография Celtics
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица А - набор записей (1, 2, 3) с полями (a, b, c), где 1, 2, 3 - объекты, a, b, c - свойства объектов
Набор записей Б (еще не таблица) - нужно правильно связать с таблицей А.
Набор записей Б (1, 2, 3, 4, 5) с полями (d, e, f, g), где 1, 2, 3, 4, 5 - объекты, d, e, f, g - свойства объектов

Из них, например, записи(объекты) 1, 4 в Б - мертвые. Они уже не меняются. 2, 3, 5 - связываются с таблицей А и их поля меняют значения.

Для простоты представте, что были две таблицы А и Б, связаны один к одному. А<-Б. А потом из А начали удалять записи. Как поступить в тслучае если в Б остались мертвые записи, выносить их отдельно либо прибивать внешний ключ?
...
Рейтинг: 0 / 0
Связать таблицы
    #33661462
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CelticsКак поступить в тслучае если в Б остались мертвые записи, выносить их отдельно либо прибивать внешний ключ?
А зачем в Б вообще оставлять записи, если в головной (?) таблице А удалена запись, на которую имелась ссылка? Ну прибьешь ты внешний ключ, и как потом определишь, на какую запись ссылка была?
...
Рейтинг: 0 / 0
Связать таблицы
    #33661537
Celtics_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Потому как отпадающие записи нужны для статистики в запросах. То есть записи 1,4 и их свойства d,e,f,g....
...
Рейтинг: 0 / 0
Связать таблицы
    #33661559
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CelticsТаблица А - набор записей (1, 2, 3) с полями (a, b, c), где 1, 2, 3 - объекты, a, b, c - свойства объектов
Набор записей Б (еще не таблица) - нужно правильно связать с таблицей А.
Дык если она не часть БД, то причем здесь "связывание" по ФК. И что есть отдельно или не отдельно - где это все происходит - то? Celtics

Набор записей Б (1, 2, 3, 4, 5) с полями (d, e, f, g), где 1, 2, 3, 4, 5 - объекты, d, e, f, g - свойства объектов

Из них, например, записи(объекты) 1, 4 в Б - мертвые. Они уже не меняются. 2, 3, 5 - связываются с таблицей А и их поля меняют значения.

Для простоты представте, что были две таблицы А и Б, связаны один к одному. А<-Б. А потом из А начали удалять записи. Как поступить в тслучае если в Б остались мертвые записи, выносить их отдельно либо прибивать внешний ключ? 1, 2, 3, 4, 5 - значения ПК в обоих таблицах? Тогда не понял про прибивать.
...
Рейтинг: 0 / 0
Связать таблицы
    #33661607
Фотография Celtics
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1, 2, 3, 4, 5 - объекты. Их поля c, d, e, f описаны в таблице Б. Еще там есть ПК и FK. О FK и идет речь. Он уникален и указывает на запись из А. Если прибить записи в А, то его нужно либо отключить, либо вынести соответствующие записи в отдельную таблицу.
...
Рейтинг: 0 / 0
Связать таблицы
    #33661772
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CelticsЕсли прибить записи в А, то его нужно либо отключить, либо вынести соответствующие записи в отдельную таблицу.
Ну и будет у тебя (по любому) куча записей, ни к какому объекту не относящихся.
авторПотому как отпадающие записи нужны для статистики в запросах.
И какую статистику ты собираешься собирать по той куче.

А желаемого можно добиться просто внося поле связи NULL. И связь останется и ничего переносить никуда не надо. Но смысла в этом я пока не вижу. По крайней мере вне предметной области.
...
Рейтинг: 0 / 0
Связать таблицы
    #33662153
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Celtics1, 2, 3, 4, 5 - объекты. Их поля c, d, e, f описаны в таблице Б. Еще там есть ПК и FK.Скажите, если отношение 1 к 1 , то зачем два поля? CelticsО FK и идет речь. Он уникален и указывает на запись из А. Если прибить записи в А, то его нужно либо отключить, либо вынести соответствующие записи в отдельную таблицу.Либо выбросить поле ФК.
...
Рейтинг: 0 / 0
Связать таблицы
    #33662220
Фотография Celtics
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR

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

А( ID:ПК, a, b, c)
Б( ID:ПК, ID2:FK, d, e, f, g)

Мой вариант:

А( ID:ПК:FK, a, b, c)
Б( ID:ПК, d, e, f, g)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Связать таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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