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

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

Может. Ничего плохого в этом нет.
...
Рейтинг: 0 / 0
Can a foreign key be NULL?
    #38888371
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Can a foreign key be NULL?
    #38888691
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ToNULLorNOTtoNULLCan a foreign key be NULL?
http://www.sql.ru/forum/1144209/can-a-foreign-key-be-null

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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