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

  • Вернемся к отмеченным выше недостаткам данной структуры (сложность формирования полного пути и вычисления уровня элемента). Эти недостатки вытекают из того простого факта, что в данной структуре информация о полном пути и уровне нигде не хранится. Решить проблему быстрого получения уровня вложенности можно введением в структуру таблицы дополнительного поля Level. Описание таблицы тогда будет выглядеть так:

    CREATE TABLE "CATALOG" (

     "ID" INTEGER NOT NULL PRIMARY KEY,

     "NAME" VARCHAR(200) CHARACTER SET WIN1251 NOT NULL,

     "PARENT_ID" INTEGER

     CHECK(

       "PARENT_ID" = ANY(SELECT "ID" FROM "CATALOG") or "PARENT_ID" is NULL

     ),

     "LEVEL" INTEGER DEFAULT 1 NOT NULL

    );

    Структура для хранения иерархии с неограниченным числом уровней вложенности и потомков готова.

    Следующей по степени универсальности является иерархия с неограниченным числом уровней вложенности и конечным числом потомков элемента иерархии. Ограничение количества потомков позволяет хранить данные в следующем виде.

    Ссылка на предка

    Информация о первом элементе уровня иерархии

    Информация о втором элементе уровня иерархии

    Информация о n-ном элементе уровня иерархии, где n – количество максимальное количество потомков

    Ссылка на предка содержит в себе ссылку на запись, хранящую информацию о предыдущем уровне иерархии и смещение (номер столбца) с описанием родителя.

    В нашем примере мы ограничим количество предков числом 5, тогда SQL-описание таблицы будет выглядеть следующим образом:

    CREATE TABLE "CATALOG2" (

     "LEVEL" INTEGER NOT NULL,

     "OFFSET" SMALLINT NOT NULL CHECK("OFFSET" > 0 and "OFFSET" < 6),

     "NAME_1" VARCHAR(200) CHARACTER SET WIN1251,


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



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




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

       




    Категории:



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




    •