|
|
|
Связать таблицы
|
|||
|---|---|---|---|
|
#18+
Посоветуйте как лучше поступить. Есть таблица А. В ней определенное кол-во записей. Есть набор данных Б. Часть из них динамически изменяются, а часть статична и нужна только для статистики. Есть два варианта решения: 1) Залить все данные в единую таблицу Б. Создать внешний ключ на таблицу А. Часть (динамическую) данных завязать на таблицу А (проставить номера), остальную часть данных (статическую) не связывать (для них оставить номера для внешнего ключа оставть пустыми). Добавить булевское поле с признаком завязана ли данная запись из таблицы Б на запись таблицы А и в запросах пользоваться этим полем 2) Залить динамическую часть данных в таблицу Б с непустым внешним ключем на таблицу А. Создать таблицу В с аналогичноцй структурой и залить туда статические данные. В запросах пользоваться union. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 12:16 |
|
||
|
Связать таблицы
|
|||
|---|---|---|---|
|
#18+
CelticsЕсть набор данных Б. Это таблица или? CelticsЧасть из них динамически изменяются Какая часть и часть чего? Не очень понятно, зачем вообще что-либо куда-либо "заливать". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 12:46 |
|
||
|
Связать таблицы
|
|||
|---|---|---|---|
|
#18+
Набор данных - набор объектов. Возьмем один объект. Часть свойств этого объекта в таблице А. Другая часть свойств в наборе данных Б. Логично, что появляется необходимость связать А И Б. Но фишка в том, что в таблице А только активные объекты - их свойства изменяются. В наборе записей Б есть как изменяемые записи (объекты) так и статические - их мы с табл. А не связываем. Отсюда вопрос - нужно ли несвязываемые данные выносить в отдельную таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 13:00 |
|
||
|
Связать таблицы
|
|||
|---|---|---|---|
|
#18+
CelticsВозьмем один объект. Часть свойств этого объекта в таблице А. Другая часть свойств в наборе данных Б. Логично, что появляется необходимость связать А И Б. Опять " таблица А" и " набор данных Б". Какая разница между их физической сущностью? И как они должны быть связаны? Красный и железный? Они привязаны к объекту - этого недостаточно? авторНо фишка в том, что в таблице А только активные объекты - их свойства изменяются. Так в А объекты или свойства объектов? авторВ наборе записей Б есть как изменяемые записи (объекты) так и статические - их мы с табл. А не связываем. И в Б теперь объекты! Может ты пример данных напишешь. авторОтсюда вопрос - нужно ли несвязываемые данные выносить в отдельную таблицу? Не знаю. Я не понял вопроса. Возможно это про переменное число параметров? Тут это часто перемывается. Поищи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 13:34 |
|
||
|
Связать таблицы
|
|||
|---|---|---|---|
|
#18+
Если Б - это все объекты, а А - часть (активная или какая другая) , то логичней иметь ФК в обратном направлении из А в Б. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 13:57 |
|
||
|
Связать таблицы
|
|||
|---|---|---|---|
|
#18+
Таблица А - набор записей (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 - связываются с таблицей А и их поля меняют значения. Для простоты представте, что были две таблицы А и Б, связаны один к одному. А<-Б. А потом из А начали удалять записи. Как поступить в тслучае если в Б остались мертвые записи, выносить их отдельно либо прибивать внешний ключ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 14:30 |
|
||
|
Связать таблицы
|
|||
|---|---|---|---|
|
#18+
Таблица А - набор записей (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 - связываются с таблицей А и их поля меняют значения. Для простоты представте, что были две таблицы А и Б, связаны один к одному. А<-Б. А потом из А начали удалять записи. Как поступить в тслучае если в Б остались мертвые записи, выносить их отдельно либо прибивать внешний ключ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 14:39 |
|
||
|
Связать таблицы
|
|||
|---|---|---|---|
|
#18+
CelticsКак поступить в тслучае если в Б остались мертвые записи, выносить их отдельно либо прибивать внешний ключ? А зачем в Б вообще оставлять записи, если в головной (?) таблице А удалена запись, на которую имелась ссылка? Ну прибьешь ты внешний ключ, и как потом определишь, на какую запись ссылка была? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 14:48 |
|
||
|
Связать таблицы
|
|||
|---|---|---|---|
|
#18+
Потому как отпадающие записи нужны для статистики в запросах. То есть записи 1,4 и их свойства d,e,f,g.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 15:03 |
|
||
|
Связать таблицы
|
|||
|---|---|---|---|
|
#18+
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 - значения ПК в обоих таблицах? Тогда не понял про прибивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 15:07 |
|
||
|
Связать таблицы
|
|||
|---|---|---|---|
|
#18+
1, 2, 3, 4, 5 - объекты. Их поля c, d, e, f описаны в таблице Б. Еще там есть ПК и FK. О FK и идет речь. Он уникален и указывает на запись из А. Если прибить записи в А, то его нужно либо отключить, либо вынести соответствующие записи в отдельную таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 15:17 |
|
||
|
Связать таблицы
|
|||
|---|---|---|---|
|
#18+
CelticsЕсли прибить записи в А, то его нужно либо отключить, либо вынести соответствующие записи в отдельную таблицу. Ну и будет у тебя (по любому) куча записей, ни к какому объекту не относящихся. авторПотому как отпадающие записи нужны для статистики в запросах. И какую статистику ты собираешься собирать по той куче. А желаемого можно добиться просто внося поле связи NULL. И связь останется и ничего переносить никуда не надо. Но смысла в этом я пока не вижу. По крайней мере вне предметной области. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 15:53 |
|
||
|
Связать таблицы
|
|||
|---|---|---|---|
|
#18+
Celtics1, 2, 3, 4, 5 - объекты. Их поля c, d, e, f описаны в таблице Б. Еще там есть ПК и FK.Скажите, если отношение 1 к 1 , то зачем два поля? CelticsО FK и идет речь. Он уникален и указывает на запись из А. Если прибить записи в А, то его нужно либо отключить, либо вынести соответствующие записи в отдельную таблицу.Либо выбросить поле ФК. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 17:18 |
|
||
|
Связать таблицы
|
|||
|---|---|---|---|
|
#18+
ModelR Очень много полей. Заполняются в строгой последовательности. Надо хоть как-то разделять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2006, 17:36 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33661126&tid=1545323]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 441ms |

| 0 / 0 |
