![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Один к одному [IB6.x, FB]
Гоблин © (2006-11-15 21:22:00)Привет
Собственно, как реализовать сабж? Про один ко многим всё понятно, а про сабж никак не могу найти.
Desdechado (2006-11-18 20:19:00) [21]Это уже задача триггера.
Ведь даже если это соединить в одну таблицу, ничто ведь не мешает заполнятьтолько часть полей.
ЗЫ кстати, есть еще OUTER JOIN, который позволяет в некоторых случаях не сильно заботиться о наличии записей в подчиненной таблице
Гоблин (2006-11-18 17:58:00) [22]Хм.
А я вот тут подумал. Что мне будет мешать вставить запись в системную таблицу без вставки соответствующей записи в подчинённую? То же самое с удалением.
Гоблин (2006-11-18 14:04:00) [23]Ну ладно тогда, сэнкс.
atruhin (2006-11-17 04:29:00) [24]Да что угодно, обычный холивар, типа Delphi vs C++
Гоблин (2006-11-16 22:23:00) [25]А, ну понятно. Но что же лучше?
Desdechado (2006-11-16 21:18:00) [26]Если ты внимательно читаешь, то заметишь, что разговоры шли о PK vs UQ. FK в любом случае нужен.
Гоблин (2006-11-16 21:12:00) [27]Ой, что я написал?
UNIQUE
Гоблин (2006-11-16 21:11:00) [28]Так что же лучше
FK+Union
или
PK?
Anatoly Podgoretsky (2006-11-16 10:29:00) [29]> ЮЮ (16.11.2006 09:44:06) [6]
Но ПК может их расширить
ЮЮ (2006-11-16 09:44:00) [30]
> PK претендует на ведущую роль, а таблица все-таки подчиненная.
FK вполне умерит эти претензии :)
Desdechado (2006-11-16 09:40:00) [31]ЮЮ © (16.11.06 04:14) [4]
Сути это не меняет (если FK и PK в подчиненной таблице по той же самой комбинаци полей), однако в случае 1:1 мне "ближе и понятнее" все-таки UQ. Оно точнее отображает смысл, т.к. PK претендует на ведущую роль, а таблица все-таки подчиненная.
ЮЮ (2006-11-16 04:14:00) [32]
> то в первой таблице PK, во второй FK на него + по этому
> же полю UNIQUE
А почему не просто, во второй PK и FK на PK в первой ?
atruhin (2006-11-16 03:52:00) [33]Ну почему это не нужно? Обычное наследование таблиц.
Пример:
таблица КОРРЕСПОНДЕНТЫ
ФИЗ.ЛИЦА
ЮР. ЛИЦА
Корреспонденты содержит общие поля, на нее FK от документов,
остальные детализация.
У нас вся система на подобном наследовании построенна.
Anatoly Podgoretsky (2006-11-15 21:37:00) [34]> Гоблин (15.11.2006 21:22:00) [0]
Ни чем физически не отличается от один ко многим, только каждой записи одной таблицы соответствует одна запись другой таблицы.
Обычно такая связь не нужна, поскольку проще объединить в одну таблицу.
Причиной использования могут быть физические ограничения.
Desdechado (2006-11-15 21:32:00) [35]Обычно это не нужно. Но если очень хочется, то в первой таблице PK, во второй FK на него + по этому же полю UNIQUE