Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 04.11.2013, 12:00   #1
water_
Пользователь
 
Регистрация: 01.11.2013
Сообщений: 34
Репутация: 21
По умолчанию стоит ли ставить 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
Адрес: Северодонецк.ua
Сообщений: 17,767
Репутация: 6211
По умолчанию

Зачем тот чек? Все решает
Код:

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
Репутация: 21
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Зачем тот чек? Все решает
Код:

id_2 INTEGER NOT NULL
и 
CONSTRAINT fk_1 FOREIGN KEY (id_2) REFERENCES TBL_2 (id)

спасибо, собственно это и хотел услышать/прочитать (не надо ничего менять)

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какие кавычки ставить к запросу 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 21:42
В зависимости от интервала как ставить значения Apostolx Microsoft Office Excel 7 20.10.2009 17:21


20:34.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru