МОДЕЛИРОВАНИЕ ИЕРАРХИЙ СРЕДСТВАМИ РЕЛЯЦИОННОЙ СУБД AB C D FG E HI J NO K L RS M T U PQ.

Презентация:



Advertisements
Похожие презентации
CREATE TABLE Ident_table ( ID int IDENTITY(1, 1), some_values varchar(50)); IDENTITY [ ( seed, increment ) ]
Advertisements

Вводный урок 1 8 класс Геометрия. Самостоятельная работа.
УПРАВЛЕНИЕ РИСКАМИ И ПРОФИЛАКТИКА В СФЕРЕ ОХРАНЫ ТРУДА В НОВЫХ УСЛОВИЯХ Заместитель Министра здравоохранения и социального развития РФ А.Л. Сафонов РОССИЯ.
Методическая разработка Решетняк В.И. МКОУ ООШ 12 пос. Ленинский. А Л Г Е Б Р А 7 К Л А С С.
Списки, деревья, графы. Простой Индексированный список Связный и двусвязный список.
Лекция 16 Лекция 16 Основы SQL. Описание отношений, доменов, ограничений целостности, представлений данных. Реализация операций реляционной алгебры в SQL.
Создание Web страниц Урок 12: PHP & MySQL Павел Бочаров.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 12. тема: ОСНОВЫ ЯЗЫКА SQL Общие сведения SQL структурированный язык запросов (Structured Query Language)
ПОЯСНЕНИЕ Эти таблички я прикрепляю к магнитной доске накануне конкурса после жеребьевки. - учащиеся заранее знают после кого они будут читать стихи (психологический.
Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование.
1 БАЗЫ ДАННЫХ СТРУКТУРЫ ДАННЫХ. 2 МОДЕЛИ СТРУКТУР ДАННЫХ Линейная структура (списки и кольца) Линейная структура (списки и кольца) Иерархическая структура.
А Л Г Е Б Р А 7 К Л А С С. о х (0; ) (2; ) Ответ: (3; 9) Точки у *0*2 *0*
Типы задач на коллоквиум 2 Реляционные и объектные модели для: – Хранения и работы с деревом произвольной глубины – Хранения и работа с графом – Работы.
Дерево это связный ациклический граф. Связность означает наличие путей между любой парой вершин, ацикличность отсутствие циклов и то, что между парами.
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
НАЗАД ВПЕРЁД ПРАКТИЧЕСКИЕ ЗАДАНИЯ В данном разделе находятся практические задания для выполнения. Внимание! Прежде чем начать работу, подключите графический.
Выражения унарные (унарный минус) арифметические (+, -, *, /) сравнения (, =, =, , LIKE, BETWEEN...) конкатенации (||) логические (NOT, AND, OR)
Java : доступ к базам данных, технология JDBC. Примеры баз данных.
Serviceability / BU CGS Факторы влияющие на расход топлива.
«ИЗМЕНЕНИЕ ДАННЫХ В БД» Выполнил: студент 722 группы Специальности Информационные системы (по отрослям) Токарев Виктор.
Транксрипт:

МОДЕЛИРОВАНИЕ ИЕРАРХИЙ СРЕДСТВАМИ РЕЛЯЦИОННОЙ СУБД AB C D FG E HI J NO K L RS M T U PQ

НЕКОТОРЫЕ ВАЖНЫЕ ЗАДАЧИ, ХАРАКТЕРНЫЕ ТОЛЬКО ДЛЯ ИЕРАРХИЙ НЕКОТОРЫЕ ВАЖНЫЕ ЗАДАЧИ, ХАРАКТЕРНЫЕ ТОЛЬКО ДЛЯ ИЕРАРХИЙ определить, находится ли узел А в поддереве, вершиной которого является узел Б;определить, находится ли узел А в поддереве, вершиной которого является узел Б; выбрать непосредственного родителя узла А;выбрать непосредственного родителя узла А; выбрать всех родителей узла А в порядке их уровня в дереве;выбрать всех родителей узла А в порядке их уровня в дереве; выбрать все узлы, находящиеся в поддереве, вершиной которого является узел А;выбрать все узлы, находящиеся в поддереве, вершиной которого является узел А; выбрать все узлы, непосредственным родителем которых является узел А;выбрать все узлы, непосредственным родителем которых является узел А; определить наиболее близкого общего родителя для узлов А и B.определить наиболее близкого общего родителя для узлов А и B.

РЕКУРСИЯ A B C D FG E HI J NO K L RS M T U УЗЕЛ H G F E D I C B A J K L M N O P Q R S T U ПРЕДОК E D D C B E A A - F G H I J J K K L L M M PQ

CREATE TABLE T (Id INT NOT NULL IDENTITY PRIMARY KEY, Parent INT NOT NULL REFERENCES T(Id), Parent INT NOT NULL REFERENCES T(Id), Data VARCHAR); Data VARCHAR); CREATE TABLE T (Id INT NOT NULL IDENTITY PRIMARY KEY, Parent INT NOT NULL REFERENCES T(Id), Parent INT NOT NULL REFERENCES T(Id), Data VARCHAR); Data VARCHAR); Уникальный идентификатор узла Указатель на непосредственного предка узла Содержательна я частьA A или NULL A BAB CAC DBD EBE FCF GCG HCH IDI JEJ KEK LEL OFO MGM NGN PHP

получить все корневые элементы SELECT * FROM T WHERE Parent=Id; наличие неопределённого значения использовано как признак корня дерева SELECT * FROM T WHERE Parent=NULL; Идентификаторы узлов можно получить следующим предложением SQL SELECT Id FROM T; Если в таблице хранится несколько независимых иерархий, все корневые элементы можно определить таким образом: SELECT * FROM T WHERE Parent NOT IN (SELECT Id FROM T); выбрать все узлы (без повторов), имеющие потомков SELECT DISTINCT Parent FROM T; список узлов, не имеющих потомков SELECT DISTINCT Id, Data FROM T WHERE Id NOT IN (SELECT DISTINCT Parent FROM T); SELECT * FROM T AS E1 WHERE NOT EXISTS (SELECT * FROM T AS E2 WHERE E1.Id=E2.Parent);

Получить всех потомков, например узла E Получаем идентификатор узла E SELECT Id FROM T WHERE Data='E'; Идентификатор узла E = 5. Выбираем все узлы, для которых идентификатор непосредственного предка равен идентификатору узла E. SELECT * FROM T WHERE Parent=5; Окончательно SELECT * FROM T WHERE Parent=(SELECT Id FROM T WHERE Data='E'); Аналогично определяется непосредственный предок заданного узла SELECT * FROM T WHERE Id=(SELECT Parent FROM T WHERE Data='E');

вывести два уровня в дереве SELECT T1.Data, T2.Data FROM T AS T1, T AS T2, T AS T3 WHERE T1.Id=T2.Parent AND T3.Id=T2.Parent; выбрать значения более чем на два уровня глубже SELECT DISTINCT T1.Data, T2.Data, T3.Data FROM T AS T1, T AS T2, T AS T3, T AS T4 WHERE T1.Id=T2.Parent AND T2.Id=T3.Parent AND T2.Id=T3.Parent AND T3.Id=T4.Parent; T3.Id=T4.Parent;

ПРЕИМУЩЕСТВА И НЕДОСТАТКИ РЕКУРСИВНОГО МЕТОДА

ОБРАЗОВАНИЕ ПЕТЕЛЬ УЗЕЛ H G F E D I C B A J K L M N O P ПРЕДОК C C C B B D A A - E E E G G F H K

ВЛОЖЕННЫЕ МНОЖЕСТВА ИЛИ МЕТОД ПРАВОГО И ЛЕВОГО КОЭФФИЦИЕНТОВ

A BC D FG E HI J K LM

ПРЕИМУЩЕСТВА И НЕДОСТАТКИ МЕТОДА ПОЛНОГО ОБХОДА ДЕРЕВА

A BC E HI LM Разрыв в нумерации коэффициентов РАЗРЫВ НУМЕРАЦИИ ПРИ УДАЛЕНИИ ВЕТВЕЙ ДЕРЕВА

A BC E HI LM ПЕРЕСЧЕТ КОЭФФИЦИЕНТОВ

A BC D FG E HI J K LM ВАРИАНТ МЕТОДА ПРАВОГО И ЛЕВОГО КОЭФФИЦИЕНТОВ

A BC D FG E HI J K LM Удаляемый узел УДАЛЕНИЕ УЗЛА

A BC FG E HI J K LM D ДОБАВЛЕНИЕ УЗЛА

A BC FG E HI J K LM D

… ВСПОМАГАТЕЛЬНАЯ ТАБЛИЦА A B C D FG E HI J NO K L RS M T U УЗЕЛ F E E D D F C B A F G G G O O O O O ПРЕДОК D A C A B B A A - A D B A J F D B A PQ УДАЛЁННОСТЬ …

ПРЕИМУЩЕСТВА И НЕДОСТАТКИ МЕТОДА ВСПОМОГАТЕЛЬНАЯ ТАБЛИЦА

ПРЕИМУЩЕСТВА И НЕДОСТАТКИ МЕТОДА Microsoft SQL Server 2008

СРАВНЕНИЕ МЕТОДОВ ПРЕИМУЩЕСТВА И НЕДОСТАТКИ