Как и в большинстве других случаев, реализованных с помощью триггеров, вы можете увидеть здесь нагрузку, потому что сама модель данных имеет дефекты.
Вы можете реализовать ту же логику, что и ниже, и поддерживать все правила, используя ограничения PK и FK.
---Department references College...
Create table department(
department_id number primary key,
aplha varchar2(20) not null,
college varchar2(20) not null
);
***--Course belongs to a department.. so should be a child of department.
--If it's possible for different depts to give the same course (IT and CS),
--you'll have
--a dept_course_asc table***
Create table Course(
course_id number primary key
department_id number references department(department_id),
course_name varchar2(100) not null
);
если у вас есть таблица ученика, вы свяжете ее с таблицей курса сеще одна таблица связей студента-таблицы.
Может показаться, что это намного больше таблиц, чем вы изначально показывали, но если вы хотите избежать избыточности данных и не хотите нести бремя обновления столбцов во всех таблицах всякий раз, когда ониизменение в родительской таблице, приведенная выше модель является единственным путем.