Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2013, 12:00   #1
water_
Пользователь
 
Регистрация: 01.11.2013
Сообщений: 34
По умолчанию стоит ли ставить check

Здравствуйте, интересует стороннее мнение

необходимо ли при создании таблицы на поле ставить check, который дает возможность записывать в поле только те значения, которые есть в таблице TBL_2, если при этом данное поле является внешним ключем таблицы TBL_2?

CREATE TABLE TBL_1(
id INTEGER NOT NULL,
id_2 INTEGER CHECK (EXISTS (SELECT id FROM TBL_2 WHERE TBL_2.id = TBL_1.id_2)),
CONSTRAINT pk_1 PRIMARY KEY (id),
CONSTRAINT fk_1 FOREIGN KEY (id_2)
REFERENCES TBL_2 (id)
ON UPDATE CASCADE
ON DELETE NO ACTION
);
water_ вне форума Ответить с цитированием
Старый 04.11.2013, 12:05   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Зачем тот чек? Все решает
Код:
id_2 INTEGER NOT NULL
и 
CONSTRAINT fk_1 FOREIGN KEY (id_2) REFERENCES TBL_2 (id)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.11.2013, 12:14   #3
water_
Пользователь
 
Регистрация: 01.11.2013
Сообщений: 34
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Зачем тот чек? Все решает
Код:
id_2 INTEGER NOT NULL
и 
CONSTRAINT fk_1 FOREIGN KEY (id_2) REFERENCES TBL_2 (id)
спасибо, собственно это и хотел услышать/прочитать (не надо ничего менять)

но возникает вопрос. в таком случае check является альтернативой ключа, без каскадного удаления/обновления...
water_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какие кавычки ставить к запросу SQL scalpel PHP 10 09.04.2013 21:11
Стоит ли ставить 8 гиг для ноута? valerka92 Помощь студентам 14 26.03.2013 06:20
Вредно ли ставить ноут на колени? pufystyj Свободное общение 29 11.02.2012 18:53
Почему я не могу ставить положительные отзывы? Predator3000 О форуме и сайтах клуба 2 12.12.2010 20:42
В зависимости от интервала как ставить значения Apostolx Microsoft Office Excel 7 20.10.2009 17:21