Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / связь один к одному / 13 сообщений из 13, страница 1 из 1
15.10.2012, 23:49
    #37999456
Yokka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
связь один к одному
Допустим у меня есть две таблицы со связью 1-к-1 и обе эти таблицы должны заполняться с программы в обязательно такой последовательности: сначала Персона, а потом Атрибуты.
Как правильно сделать эту связь? Чтобы Персона ссылалась внешним ключем на Атрибуты (1 вариант) или в Атрибуты сделать вторичный ключ на первичный (2 вариант), который будет ссылаться на первичный Персона.

1 вариант - [img=]
2 вариант - [img=]
...
Рейтинг: 0 / 0
15.10.2012, 23:50
    #37999457
Yokka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
связь один к одному
и второй вариант
...
Рейтинг: 0 / 0
16.10.2012, 00:01
    #37999469
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
связь один к одному
YokkaДопустим у меня есть две таблицы со связью 1-к-1
Эта связь - сплошное извращение. Слей эти две таблицы в одну и будет тебе счастье.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
16.10.2012, 00:02
    #37999471
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
связь один к одному
> Как правильно сделать эту связь?

Первичны данные, идентифицирующие человека, конечно.

Хинт: рост, вес и пр. имеют свойство меняться с течением времени.
Хинт 2: избегайте имен типа "атрибуты" или "элементы", старайтесь точнее идентифицировать признаки. Если описываете антропометрические данные, так и пишите. Либо как минимум классифицируйте признаки.
...
Рейтинг: 0 / 0
16.10.2012, 00:15
    #37999487
Yokka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
связь один к одному
guest_20040621,

я не совсем понял, второй вариант правильный?)
...
Рейтинг: 0 / 0
16.10.2012, 00:36
    #37999492
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
связь один к одному
> я не совсем понял, второй вариант правильный?

Из предложенных вами вариантов - второй более правильный. Но решением это можно назвать только в первом приближении.
...
Рейтинг: 0 / 0
16.10.2012, 02:20
    #37999540
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
связь один к одному
YokkaКак правильно сделать эту связь?
Наиболее правильно в данном случае было бы попробовать оба варианта и оценить удобство и соответствие задаче каждого.
...
Рейтинг: 0 / 0
16.10.2012, 09:05
    #37999673
vadiminfo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
связь один к одному
Возможно, предполагается, что рост и вес не у всех персон будут в БД, раз вообще тут две таблицы. В этом смысле второй вариант выглядит вроде пооптимальнее: меньше вероятность пустых значений, меньше атрибутов в персоне, не всегда же инфа про рост нужна. А рост без персоны вряд ли часто нужен.
...
Рейтинг: 0 / 0
16.10.2012, 13:32
    #38000314
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
связь один к одному
YokkaКак правильно сделать эту связь? Чтобы Персона ссылалась внешним ключем на Атрибуты (1 вариант) или в Атрибуты сделать вторичный ключ на первичный (2 вариант), который будет ссылаться на первичный Персона.Первый вариант абсурден: первычны рост и вес, а опционально к ним может привязываться персона :-)

И в этом случае вы вообще не сможете сделать:
Yokkaобе эти таблицы должны заполняться с программы в обязательно такой последовательности: сначала Персона, а потом Атрибуты.
...
Рейтинг: 0 / 0
16.10.2012, 13:42
    #38000340
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
связь один к одному
Фамилия тоже может меняться со временем. Так что это типичный периодический атрибут. :)
...
Рейтинг: 0 / 0
16.10.2012, 13:45
    #38000350
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
связь один к одному
LSVФамилия тоже может меняться со временем. Так что это типичный периодический атрибут. :)
Фамилия вообще довольно специфический атрибут. Дело в том, что это атрибут скорее документа, выданного физ.лицу, нежели самого физ.лица.
...
Рейтинг: 0 / 0
05.11.2012, 01:31
    #38025318
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
связь один к одному
Второй вариант, однозначно, но как ни странно, совет

от Dimitry Sibiryakov :

> Эта связь - сплошное извращение. Слей эти две таблицы в одну и будет тебе счастье.

достаточно дельный.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.11.2012, 08:22
    #38025373
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
связь один к одному
alexeyvgYokkaКак правильно сделать эту связь? Чтобы Персона ссылалась внешним ключем на Атрибуты (1 вариант) или в Атрибуты сделать вторичный ключ на первичный (2 вариант), который будет ссылаться на первичный Персона.Первый вариант абсурден: первычны рост и вес, а опционально к ним может привязываться персона :-)

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


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