powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / FOREIGN KEY definition
5 сообщений из 5, страница 1 из 1
FOREIGN KEY definition
    #32014753
Docent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ!

Или я не догоняю и это действительно так?

ALTER TABLE xxx ADD CONSTRAINT fk_xxx_yyy FOREIGN KEY (field) REFERENCES yyy ...

В Oracle продолжение может быть [ON DELETE {CASCADE | SET NULL}],

а в Interbase [ON UPDATE {CASCADE | SET NULL}] [ON DELETE {CASCADE | SET NULL}]
и если указать ON UPDATE CASCADE, то при изменении ключа в родительской таблице автоматически обновляется поле вторичного ключа в дочерней, что избавляет от необходимости написания триггера AFTER UPDATE для ослеживания изменения ключа в родительской и обновления ключей дочерних таблиц. Неужели Oracle в этом плане уступает InterBase и необходимо писать массу аналогичных триггеров?
...
Рейтинг: 0 / 0
FOREIGN KEY definition
    #32014801
maski_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я тоже этого не нашел. только практика постоянного изменения ключей очевидно не очень удачная.
попробуй обойтись каким-нибудь подставным полем, которое никогда не изменяется а все время нарастает и используй его вместо ключа.
По большому счету все время лопатить дочерние записи не разумно.
...
Рейтинг: 0 / 0
FOREIGN KEY definition
    #32014824
Docent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АВТОР. Уточняю. Здесь проблема немного в другом. Из клиентского приложения ключевых полей может быть не видно или они ReadOnly. Давать права на таблицу в целом несколько легче, чем на отдельные поля. Обычно пользователю дается право обновлять либо все поля, либо ни одного. Допустим постепенно пользователи умнеют и начинают сами по-немногу писать запросы на SQL. Выбирают например данные из таблицы с информацией об организациях с которыми работает предприятие и каким-нибудь UPDATE решают изменить код любимой организации, думая что это позволит ей быть первой в списке (для ускорения работы, например). И если в этом случае не будет опеспечена целостность, то в базе начнет развиваться бардак.
...
Рейтинг: 0 / 0
FOREIGN KEY definition
    #32014840
alvako
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to: Docent
Не сможет пользователь сделать UPDATE ключевого поля, если на него есть ссылки! Тот-же FOREIGN KEY (который не сделает каскадный UPDATE) помешает поменять значение PRIMARY KEY. И целостность не пострадает.
В 99% процентах случаев, каскадный UPDATE вообще не нужен. А в 1% необходим, вследствии неправильно спроектированной структуры БД.
...
Рейтинг: 0 / 0
FOREIGN KEY definition
    #32014900
Docent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to: alvako
Согласен. Действительно так. Немного не догонял.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / FOREIGN KEY definition
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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