Рефераты | Рефераты по информатике, программированию | Иерархические структуры данных в реляционных БД | страница реферата 8 | Большая Энциклопедия Рефератов от А до Я
Большая Энциклопедия Рефератов от А до Я
  • Рефераты, курсовые, шпаргалки, сочинения, изложения
  • Дипломы, диссертации, решебники, рассказы, тезисы
  • Конспекты, отчеты, доклады, контрольные работы

  • Перемещение элемента: надо просто поменять ссылку на родителя.

    UPDATE “CATALOG” SET “PARENT_ID” = <Значение первичного ключа нового родителя> WHERE “ID” = <Значение первичного ключа элемента>

    структура со ссылкой на предка и поддержкой уровней

    Можно использовать запросы, аналогичные случаю с базовой структурой. Для проверки корректности поля Level можно ввести дополнительные триггеры:

    CREATE EXCEPTION "WRONG_LEVEL" 'Неверный уровень вложенности элемента';

    /*

     Триггер перед вставкой записи в таблицу - проверяет корректность поля Level и формиррует ID записи

    */

    CREATE TRIGGER "CATALOG_BEFORE_INS" FOR "CATALOG"

    ACTIVE BEFORE INSERT POSITION 0

    AS

     declare variable parent_level integer;

    BEGIN

      if (NEW."ID" is null) then NEW."ID" =GEN_ID(CATALOG_GEN,1);

      /*Корневые элементы имеют уровень 1*/

      if ((NEW."PARENT_ID" is NULL) and (NEW."LEVEL" <> 1)) then

       exception WRONG_LEVEL;

      /*Значение поля Level для некорневых элементов должно быть на 1 больше, чем у их родителя*/

      if (NEW."PARENT_ID" is NOT NULL) THEN

      begin

       select "LEVEL" from "CATALOG" WHERE "ID" = NEW."PARENT_ID" into :parent_level;

       if (NEW."LEVEL" <> :parent_level+1) then

        exception WRONG_LEVEL;

      end


    Рекомендуем скачать другие рефераты по теме: сочинение евгений онегин, реферат на тему пушкин.



    Предыдущая страница реферата | 1  2  3  4  5  6  7  8  9  10 |




    Поделитесь этой записью или добавьте в закладки

       




    Категории:



    Разделы сайта




    •