Создание структуры таблицы, реализующей рекурсивную иерархию. Примеры данных, описывающих отношения подчиненности между сотрудниками. Реализация правил целостности данных. Добавление и изменение записи в таблице. Возможности удаления записи о директоре.
Аннотация к работе
Триггеры в рекурсивных структурахВ таблице emp_mgr необходимо задать как имя сотрудника (emp ), так и имя его начальника (mgr ). Например, ввод данных в таблицу осуществляется операторами: INSERT INTO emp_mgr(emp,mgr) VALUES("a",NULL) В новой или измененной записи имя начальника должно быть указано и уже присутствовать в таблице в качестве имени сотрудника, что может быть записано следующими SQL-операторами: IF EXISTS(SELECT * FROM inserted В соответствии с правилом 4 необходимо проверить, введена ли запись о директоре (сотруднике, у которого нет начальника). Оператор UPDATE может изменить иерархическую структуру таким образом, что возникает ситуация, когда сотрудник становится начальником самому себе через других сотрудников, т.е. в иерархии подчиненности возникает петля.
План
Первоначальное содержимое таблицы emp_mgr изменится следующим образом: emp mgr NOOFREPORTS
------------------------- a NULL 5 c a 1 d a 1 e a 0 f a 0 g a 0 i c 0 k d 0