Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_1-44.docx
Скачиваний:
19
Добавлен:
21.04.2019
Размер:
1.07 Mб
Скачать

11. Реляционная модель бд. Транзакции, триггеры и хранимые процедуры, ссылочная целостность на триггерах.

Реляционная модель БД #7. Хранимая процедура – объект БД, представляющий собой набор SQL инструкций который компилируется 1 раз и хранится на сервере. Хранимые процедуры очень похожи на процедуры языков программирования высокого уровня. У них могут быть входные/выходные параметры – локальные переменные, могут производиться числовые вычисления, операции над символьными данными результаты которых присваиваются переменным или параметрам. В них могут выполняться стандартные операции с БД как DDL и DML. Возможны циклы и ветвления, а также инструкции управления потоком.

Триггер – хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено наступлением какого-то события.

Например – добавление или удаление строки в таблицу:

Insert, Update, Delete

Триггер запускается с сервера автоматически при попытке изменения данных таблицы, с которой он связан. Все производимые им модификации данных рассматриваются как выполняемые в транзакции, в которой выполнено действие вызвавшее срабатывание триггеров.

Момент запуска триггера определяется с помощью ключевых слов: before (триггер запускается до выполнения связанного с ним события) или after (триггер запускается после выполнения связанного с ним события)

Если триггер вызывается до события (before), он может внести изменения в модифицируемую событием запись. Некоторые СУБД накладывают ограничения на операторы, которые могут быть использованы триггерами. Транзакция – это последовательность операций над БД, рассматриваемых СУБД, как единое целое. Она представляет собой набор действий, выполняемых с целью доступа или изменения содержимого БД (обновление в БД). Сложная транзакция – это такая транзакция, когда в БД необходимо внести сразу несколько изменений. Инициализация транзакции может быть вызвана отдельным пользователем или прикладной программой. Транзакцией называется группа операторов, манипулирование данными, основным принципом выполнения которых является либо всё, либо ничего. Это означает, что если во время выполнения этого набора операторов произошла ошибка или невозможно произвести какое-либо из этих действий, то состояние БД должно быть приведено к тому виду, в котором она была до выполнения этой группы операций. Параметры выполнения транзакций позволяют обеспечить целостность БД;

12. Реляционная модель БД. Понятие о нормализации и нормальных формах. Реляционная модель БД #7. Процесс преобразования БД к виду, отвечающему нормальным формам, называется нормализация.

Нормализация позволяет обезопасить БД от логических и структурных проблем называемых аномалиями данных. Назначение нормализации – приведение структуры БД, обеспечивающую минимальную избыточность. Устранение избыточности производится за счёт декомпозиции (разбиения) отношений (таблиц) таким образом, чтобы свести к минимуму функциональную зависимость между их атрибутами или полями. Полное отсутствие функциональных зависимостей невозможно. Часть существующих зависимостей избыточно т.к. их можно вычислить из других зависимостей имеющихся в БД. Каждая нормальная форма (Н.Ф.) представляет собой определённые условия, которым должна соответствовать таблица БД. Если таблица не соответствует нормальной форме, она может быть приведена к ней, т.е. нормализована, за счёт декомпозиции, т.е. разбиения на несколько таблиц связанных между собой.

В результате нормализации объём БД должен уменьшиться. Нормализация – обратимый процесс, т.е. из группы таблиц получившихся в результате декомпозиции можно получить исходную таблицу. Нормализация не сокращает объём информации хранимой в БД, а устраняет информацию, которая может быть вычислена. Выделяют ряд нормальных форм: 1) Таблица находится в первой нормальной форме, если каждый её атрибут атомарен (может содержать только одно значение), и все строки различны. Для приведения к 1 Н.Ф. таблицу требуется разделить на несколько отдельных. В реляционные модели БД отношение всегда находится в 1 Н.Ф. или более высоких. Отношения которые не находятся в 1 Н.Ф. не рассматриваются в реляционной форме. 2) Таблица находится во второй Н.Ф. если она находится в 1 Н.Ф. и при этом любой её атрибут не входящий в состав первичного ключа функционально-полно зависит от первичного ключа. Функционально-полная зависимость означает, что атрибут функционально зависит от всего первичного ключа, но при этом не находится в функциональной зависимости от какой-либо его части. 3) Отношение находится в 3 Н.Ф. если оно находится во 2 Н.Ф. и при этом любой его не ключевой атрибут функционально зависит только от первичного ключа, т.е. отсутствует функциональная транзитивная зависимость между описательными атрибутами отношений.

13. Модели БД: сетевая и иерархическая. Достоинства и недостатки. Иерархическая модель данных: В иерархической модели данных связи описываются с помощью упорядоченного графа. Для описания структуры иерархической БД используется «дерево». Оно представляется в виде типов и подтипов.

Тип – часть дерева, которая входит в состав общего дерева БД.

Основные достоинства:

    • эффективное использование памяти

    • быстрое выполнение операций над данными

    • неплохие результаты обеспечения целостности данных.

Недостатки:

    • В иерархической модели данных сложно построить БД из логически связанных атрибутов предметной области

    • Информация иерархически не упорядочена

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

  • запись

  • связь (определяет 2 типа записи)

              • предок

              • потомок

Никаких ограничений на связь не устанавливается. Достоинства:

  • возможность эффективной реализации представления о предметной области с учётом всех существующих связей между элементами данных предметной области. Это позволяет сократить затраты на выполнение запроса.

Недостатки:

  • сложность в понимании

  • уменьшение контроля за целостностью связей.

Широкого распространения не получили.

14. Модели БД: реляционная и пост реляционная. Достоинства и недостатки. Реляционная модель:

Для неё характерно:

  • представление данных в виде таблиц

  • каждая строка таблицы имеет одинаковую структуру, состоит из полей.

  • с помощью двумерной таблицы легко описываются свойства объекта и определяется подобъекты с указанием характеристик

Достоинства:

  • Простота и понятность представления

  • удобство физической реализации

  • эффективность обработки данных с помощью реляционной алгебры и реляционных исчисления в SQL запросах

Недостатки:

  • отсутствие стандартных средств в идентификации отдельных записей.

сложность описания иерархических и сетевых связей предметной области. Пост реляционная модель: Классическая реляционная модель предполагает неделимость данных хранящихся в полях заданной таблицы (требования 1 Н.Ф.). Но существуют случаи, когда эти требования приводят к некоторым ограничениям.

Пост реляционная модель позволяет снять ограничения и ввести многомерность значений полей

Пост реляционная таблица поддерживает многозначные поля. Достоинства:

возможность представлять совокупность реляционных таблиц одной таблицей, что влечёт эффективность разработки и наглядность представления информации. Недостатки: Все таблицы пост реляционной модели не нормализованы, что может нарушать целостность и непротиворечивость данных.

15. Модели БД: многомерная и объектно-ориентированная. Достоинства и недостатки. Многомерная модель: Для неё характерна возможность концептуального представления и обработки многомерных данных, а также оперативность получения информации для проведения анализа и принятия решения.

Если реляционная СУБД используется для транзакционной оперативной обработки данных, то многомерная СУБД используется в качестве систем поддержки принятия решений. Основные понятия многомерной СУБД: Агрегируемость данных – возможность получения данных различного уровня обобщения

Историчность данных – получение данных привязанных по времени. При этом историчность предполагает статичность при обработке данных.

Прогнозируемость данных – наличие функций или возможностей их применение к различным временным интервалам. Достоинство:

  • возможность аналитической обработки больших объёмов данных связанных со временем

Недостаток:

  • громоздкость использования при решении простейших задач обработки данных

Объектно-ориентированная модель: Между записями БД, функциями их обработки устанавливается взаимосвязи. Структура Объектно-Ориентированной БД представляется в виде дерева, узлами которого являются объекты. Свойства объектов описываются стандартным типам. Если свойства определяет пользователь, то используется обозначение типа «+, plus»

Логическая структура ООБД похожа на иерархическую модель. Основное отличие между ними в методах манипулирования данными.

Для выполнения операций над свойствами в объектно-ориентированной модели применяются известные логические операции, усиленные основными объектно-ориентированными механизмами (наследование, полиморфизм, инкапсуляция).

Преимущества объектно-ориентированной модели:

  • состоит из независимых друг от друга модулей, что обеспечивает возможность использования в других БД, предметных областях, связанных между собой.

  • независимость представления от внутренней реализации позволяет оперативно осуществлять модификацию программ обработки объектов

  • пользовательский интерфейс отделён от обработки данных

  • Механизм наследования обеспечивает логическую взаимосвязь между всеми объектами предметной области.

Недостаток:

низкая скорость выполнения запросов при большом количестве объектов

16. Физическая организация данных в СУБД: страничная организация данных. Страничная организация данных в СУБД. Для функционирования СУБД во внешней памяти БД возникает необходимость хранить следующие разновидности объектов:

a)строки отношений b)управляющая структура c)журнальная информация d)служебная информация

Поиск и предоставление данных пользователю осуществляется с помощью нескольких программ доступа данных и включает в себя 3 основных этапа:

1)определяется искомая запись, для извлечения которой запрашивается диспетчер файлов.

2)диспетчер файлов определяет страницу, на которой находится искомая запись и для извлечения этой страницы запрашивает диспетчер дисков.

3)диспетчер дисков определяет физическое положение искомой страницы на диске, и посылает соответствующий запрос на ввод/вывод данных.

Основными единицами осуществления операции обмена являются страницы данных, управляемые диспетчером дисков. Все данные хранятся постранично. Таким образом, с точки зрения СУБД База данных выглядит как набор записей, которые просматриваются с помощью диспетчера файлов. С точки зрения диспетчера файлов БД выглядит как набор страниц, которые могут просматриваться с помощью диспетчера дисков.

Все страницы данных содержат одинаковую структуру и хранят однородные данные (только данные и только индексы). Структура страницы:

Заголовок страницы

Содержание

Слоты

Заголовок страницы содержит информацию о физическом дисковом адресе страницы, которая логически следует за данной страницей. Заголовки страниц и указателей на следующей страницы обрабатываются только диспетчером дисков и скрыты от диспетчеров файлов. Для выполнения своих функций в распоряжении диспетчера дисков имеется каталог (страница 0), содержащий информацию обо всех имеющихся на данном диске наборах страниц вместе с указателями на первой странице этих наборов. Слот – характеризует размещение строк данных на странице. Каждая запись обладает уникальным идентификатором, неизменяемым во всё время её существования. Он имеет определённую длину и состоит из:

- номера страницы, на которой данная запись находится

- байта смещения слота от конца страницы (который в свою очередь содержит байт смещения записи от начала страницы)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]