Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Can a foreign key be NULL? / 20 сообщений из 20, страница 1 из 1
24.02.2015, 17:57
    #38887582
ToNULLorNOTtoNULL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
...
Рейтинг: 0 / 0
24.02.2015, 19:13
    #38887646
Serguei
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
Нет. Зачем null?
...
Рейтинг: 0 / 0
24.02.2015, 19:56
    #38887668
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
SergueiНет. Зачем null?

может, может, при реализации связи 0...N.
...
Рейтинг: 0 / 0
25.02.2015, 10:41
    #38888058
Mikle83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
Если непреодолимое желание следовать теории, добавьте в родительскую таблицу запись "Unknown" с идентификатором к примеру -1.
И в Foreign Key пуляйте не Null а -1 для таких записей.
...
Рейтинг: 0 / 0
25.02.2015, 11:38
    #38888166
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
Mikle83, главное, не забыть одновременно добавить это поделие в "Список работ, куда вменяемому человеку никогда и ни за что не нужно устраиваться".
...
Рейтинг: 0 / 0
25.02.2015, 12:37
    #38888278
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
ToNULLorNOTtoNULL,

Может. Ничего плохого в этом нет.
...
Рейтинг: 0 / 0
25.02.2015, 13:22
    #38888371
Mr.Fontaine
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
Mikle83, не обязательно -1, пример одной известной промышленной системы
Отсутствующие документы:
DOC_IDARCHIVE_IDFILENAMEDESIGNATIONAMEDESIGNERIDDOC_TYPEDOC_STATUSVERSION_IDCREATEDATEMODIFDATEMODIFUSER_ID-11SYSTEM DOCUMENTSYSTEMСистемный документ-1-20025.12.2000-21PHANTOM DOCUMENTДокумента нет в архивеДокумента нет в архиве-1-20025.12.2000

Типы отсутвтующих документов (поле DOC_TYPE из таблички выше)
DOC_TYPEDOC_CODEDOC_NAMEDOC_EXTBITMAP-2NODOCНет документа*nodoc.ico

Пользователи, создающие отсутствующие документы (поле DESIGNERID из первой таблички)
USER_IDLOGINNAMEFULLNAME-2SYSTEM$USERСистема-1SYSDBAСистемный администратор

Только вот почему-то архив, в котором хранятся несуществующие документы вполен осязаем и отрицательное значение в ключ пихать не стали (поле ARCHIVE_ID из первой таблички)
ARCHIVE_IDALIASFILENAMEDESCRIPTIO1DemoDemoДемонстрационный архив
...
Рейтинг: 0 / 0
25.02.2015, 16:33
    #38888691
zeon11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
ToNULLorNOTtoNULLCan a foreign key be NULL?
http://www.sql.ru/forum/1144209/can-a-foreign-key-be-null

Может. Если не получается с join, то может быть получится с left(right) join?
...
Рейтинг: 0 / 0
25.02.2015, 17:52
    #38888798
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
Согласен, что FK абсолютно может быть NULL, но есть мнение, что база данных, спроектированная без использования NULL (т.е. все поля имеют атрибут NOT NULL) получается быстрее (в плане выборки данных), хотя скажу честно, я с такими БД на практике не сталкивался.
...
Рейтинг: 0 / 0
26.02.2015, 07:31
    #38889055
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
AxeleronСогласен, что FK абсолютно может быть NULL, но есть мнение, что база данных, спроектированная без использования NULL (т.е. все поля имеют атрибут NOT NULL) получается быстрее (в плане выборки данных),

бред. (не пишу "бредятина" только чтобы не подманить его).
...
Рейтинг: 0 / 0
26.02.2015, 13:52
    #38889457
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
MasterZivAxeleronСогласен, что FK абсолютно может быть NULL, но есть мнение, что база данных, спроектированная без использования NULL (т.е. все поля имеют атрибут NOT NULL) получается быстрее (в плане выборки данных),

бред. (не пишу "бредятина" только чтобы не подманить его).

Говорю же еще раз - слышал, мнение не мое ибо не такой я уж спец по БД Проверить на личном опыте не доводилось. Когда сам проектировал БД, всегда использовал NULL, а там где не я - тоже везде использовался NULL. Наверное, к счастью.
...
Рейтинг: 0 / 0
26.02.2015, 14:44
    #38889513
Serguei
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
MasterZivбред.

По-моему весь этот пост бред. Задал вопрос какой то аноним и пропал. :)
...
Рейтинг: 0 / 0
02.03.2015, 22:22
    #38892935
ToNULLorNOTtoNULL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
SergueiMasterZivбред.

По-моему весь этот пост бред. Задал вопрос какой то аноним и пропал. :)

Не бред)
Вернёмся ещё к этой теме. Напишу подробнее.
Теория утверждает, что если FK is Null и связь необязательная (один-ко-многим),
то надо делать ТРИ таблицы, а не две. Почему? Потому что NULL вроде нельзя ни с чем сравнивать.

На практике я это игнорирую и обхожусь всегда 2 таблицами для отношения один-ко-многим.
...
Рейтинг: 0 / 0
02.03.2015, 23:40
    #38892987
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
ToNULLorNOTtoNULLНапишу подробнее.Написал бы лучше точную цитату. А то похоже, кто-то опускает ключевое слово в этой "теории заговора" с третьей таблицей.
А потом уже можно распускать сопли по вопросу, какие СУБД не в полной мере соответствуют sql-92, что требует дополнительных манипуляций для поддержания целостности.
...
Рейтинг: 0 / 0
03.03.2015, 02:31
    #38893048
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
2-2-,

хоть та "теория" и не названа, сдается мне, что ни sql вообще, ни - тем более - "ANSI", ни в какой обозримой перспективе, отношения к этой "теории" иметь не будут.

Существо той теории как раз в том, что SQL на самом деле не пригоден к практическому использованию, т.к. не помогает/не умеет
проводить "правильного проектирования на три таблицы".
Поэтому не имеет права на существование.

Видать, парень хватанул где-то пересказов текстов от Дарвена или Дейта, и не понял, о чем читал.
Читать меньше надо.
В том смысле, что "просто чтение", без попыток самостоятельного длительного (непрерывного) письма - бесценно.
Т.е. - не имеет ни цены, ни смысла.
...
Рейтинг: 0 / 0
03.03.2015, 13:17
    #38893462
Malter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
Сам ключ(FK) конечно не может быть NULL, но поле вполне может содержать NULL.
Выше кто-то правильно написал "как делать правильно - ответить можно только определив критерии правильности. Быстро? Наглядно? надежно?"
...
Рейтинг: 0 / 0
03.03.2015, 14:15
    #38893558
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
MalterСам ключ(FK) конечно не может быть NULL, но поле вполне может содержать NULL...

Чо? Это как в переводе на русский?
...
Рейтинг: 0 / 0
03.03.2015, 14:30
    #38893590
Malter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
AxeleronMalterСам ключ(FK) конечно не может быть NULL, но поле вполне может содержать NULL...

Чо? Это как в переводе на русский?

Ключ как сущность либо есть либо его нет (т.е. если NULL, то ключа то нету).
А само поле содержащие ключи может чем угодно в том числе и NULL, т.е. если оно NULL, то оно не содержит ключа.
...
Рейтинг: 0 / 0
03.03.2015, 14:39
    #38893596
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
MalterКлюч как сущность либо есть либо его нет (т.е. если NULL, то ключа то нету).
А само поле содержащие ключи может чем угодно в том числе и NULL, т.е. если оно NULL, то оно не содержит ключа.

Ваше име случайно не Капитан Очевидность?
...
Рейтинг: 0 / 0
03.03.2015, 15:43
    #38893691
Malter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Can a foreign key be NULL?
AxeleronMalterКлюч как сущность либо есть либо его нет (т.е. если NULL, то ключа то нету).
А само поле содержащие ключи может чем угодно в том числе и NULL, т.е. если оно NULL, то оно не содержит ключа.

Ваше име случайно не Капитан Очевидность?
Ну что поделать если людям не очевидно Очевидное :))
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Can a foreign key be NULL? / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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