Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.03;
Скачать: CL | DM;

Вниз

null или нуль?   Найти похожие ветки 

 
_Ламер_   (2006-11-10 21:53) [0]

Народ, здаров.

Есть таблица, в этой таблице есть поле (а как иначе))?). Это поле связано FK с полем из другой таблицы. Вопрос в чём. Если не надо ссылаться на вторую таблицу, то каким значением таблицу заполнять - null или нулём? Если второй случай, тогда его можно определить как not null (в моём случае не актуально - юзер доступа к этому полю не имеет). Но тогда во второй таблице придётся создавать запись со значением "0", причём до создания генератора.

Честно говоря не знаю, как поступить.


 
Kolan ©   (2006-11-10 21:56) [1]

Я в базах - <твой ник>, но ИМХО тут что-то нето. Как это ненадо ссылаться? Зачем тогда связь в таблицах? Зачем сохранять данные?


 
unknown ©   (2006-11-10 22:08) [2]

Зависит от задачи. Насколько я понял проблему - нет жесткой зависимости
таблиц, так что null предпочтительней.


 
unknown ©   (2006-11-10 22:11) [3]


> Kolan ©   (10.11.06 21:56) [1]
> Зачем тогда связь в таблицах?

Не поверишь - есть такие случаи, когда допустимо оставлять поле
незаполненным, но при этом, в случае заполнения поля введенное значение должно соответствовать значению из другой таблицы. :-)


 
_Ламер_   (2006-11-10 22:21) [4]

Ну как Вам сказать. Первая таблица - это дерево папок. Если узел не папка, то это ссылка на вторую таблицу с конкретными значениями. Можно, конечно, их объединить, но тогда получится куча незаполненных полей в случае, если запись является папкой. Такие вот пироги.


 
KilkennyCat ©   (2006-11-10 22:31) [5]

у папки тоже есть конкретные значения, не меньше, чем у файла. Объединяешь и добавляешь поле флага, папка или файл.


 
Petr V. Abramov ©   (2006-11-10 22:40) [6]

> Если второй случай, тогда его можно определить как not null
 второй случай не так плох, т.к. избавляет от outer join, который оптимизатору - серп по работе. В случае мелких справочиников в большом их количестве - пофиг почти


 
_Ламер_   (2006-11-10 22:51) [7]

Не, папка не физическая, а виртуальная. У неё, кроме как названия и атрибута, что она папка - ничего и нет.

Кстати, чем директория отличается от папки?


 
Desdechado ©   (2006-11-10 22:54) [8]

Я предпочитаю не делать внешних ключей с нуллами. Лучше уж завести запись по умолчанию в справочнике. Она не обязана иметь код 0, это может быть любое понятное значение. У меня обычно единица. Она же триггерами заблокирована от изменения и удаления.
А почему я не люблю ключи с null, так это потому, что NULL-значения не индексируются. И поэтому, когда тебе нужно будет найти (а это часто) Null"ы в поле, то придется писать проверку IS NULL, а она не использует индексы, т.е. приводит к полному перебору записей в таблице. А оно надо? Особенно, если таблицы не на 100 записей, а на 100 миллионов...


 
_Ламер_   (2006-11-11 15:36) [9]

Сэнкс
Целую



Страницы: 1 вся ветка

Текущий архив: 2006.12.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.053 c
15-1163601913
AlexanderMS
2006-11-15 17:45
2006.12.03
Сообщения Windows.


2-1163334112
Max.66RUS
2006-11-12 15:21
2006.12.03
Простейшие вопросы по текстовым файлам и строкам...


15-1163284502
Andy BitOff
2006-11-12 01:35
2006.12.03
Как на своей странице ...


2-1163848374
nop
2006-11-18 14:12
2006.12.03
проблема с color в XP


4-1153409355
tria
2006-07-20 19:29
2006.12.03
Проблема со считыванием данных из com- порта.