- •Лекция 1. Основные понятия бд
- •Основные понятия бд.
- •Назначение бд
- •Этапы развития бд
- •Средства и методы анализа предметной области.
- •Модель процесса
- •Модель потока данных
- •Функции, структура и архитектура субд.
- •Архитектура субд.
- •Структура современной субд.
- •Языки субд.
- •Модели данных.
- •Иерархическая модель данных
- •Сетевая модель данных
- •Проблемы проектирования рбд
- •Инфологическое моделирование бд
- •Этапы инфологического моделирования
- •Лекция 3. Основные понятия реляционной модели бд
- •Основные понятия
- •Реляционная алгебра
- •Общая интерпретация реляционных операций
- •Лекция 4. Методы проектирование реляционной модели данных
- •Аномалии реляционной модели бд
- •Получение реляционной схемы из er-схемы
- •Нормальные формы отношения
- •Ограниченность реляционной модели при проектировании баз данных
- •Лекция 5. Физический уровень представления
- •Основные понятия
- •Файлы прямого доступа
- •Организация стратегии свободного замещения
- •Методы управления физической моделью бд
- •Особенности методов доступа
- •Лекция 6. Основы языка sql
- •Структура и типы данных sql
- •Состав sql
- •Типы данных в sql
- •Команды sql
- •Оператор create table
- •Оператор insert
- •Оператор alter table
- •Оператор update
- •Оператор delete
- •Оператор select
- •Оператор create index
- •Оператор drop
- •Лекция 7. Хранимые процедуры и триггеры
- •Хранимая процедура
- •Триггеры
- •Программирование триггера
- •Особенности применения триггера
- •Лекция 8. Транзакции.
- •Проблемы параллелизма
- •Понятие транзакции
- •Управление транзакциями
- •Управление транзакциями в среде ms sql Server
- •Определение транзакций
- •Описание явных транзакций
- •Вложенные транзакции
- •Уровни изоляции sql Server
- •Блокировки
- •Назначение блокировок
- •Уровни блокировок
- •Тупиковые блокировки
Языки субд.
Многие СУБД поддерживают возможность внедрения собственных операторов в языки высокого уровня (COBOL, Fortran, Pascal, Ada, C). Но в СУБД поддерживается 2 специализированных языка для разработки приложений с БД – ЯОД (DDL – Data Definition Language) и ЯМД (DMD – Data Manipulation Language). ЯОД – описательный язык для определения логической схемы БД. Он состоит из набора операторов, задающих определение схемы БД. Результатом компиляции таких описаний (концептуальной и внешних схем) является набор таблиц, хранимый в специальном системном каталоге БД. (Он хранит метатданные). ЯОД не используется для работы с данными. Для этого используется ЯМД, который содержит набор операторов, выполняющих обработку данных: поиск, добавление, изменение и удаление. Поддержка ЯМД – одна из основных функций СУБД. Различают 2 подхода к реализации ЯМД: процедурный и декларативный.
При использовании процедурного ЯМД пользователь определяет последовательность действий, которые необходимо выполнить, чтобы получить требуемый результат. Этот поход аналогичен тому, как реализованы процедурные языки программирования (Pascal, C и др.). ЯМД в этом случае предоставляет пользователю набор операторов над данными. К этому типу относятся языки, основанные на реляционной алгебре.
Декларативные ЯМД позволяют определить весь требования к результирующим данным с помощью одного оператора. В этом случае нет необходимости знать детали внутренней реализации структур данных и особенности алгоритмов, используемых для их извлечения. К этому типу относятся языки, основанные на реляционном исчислении SQL и QBE. SQL (Structured Query Language) основан на реляционном исчислении и поддерживается всеми реляционными СУБД. Для него определен международный стандарт. QBE (Query By Example) – простой язык с графическим интерфейсом, который позволяет формулировать запрос непрофессиональным пользователям ( напр., в СУБД Access).
Современные СУБД содержат также в своем составе набор инструментальных средств, облегчающих разработку приложений с БД – различного рода генераторы:
экранных форм – для создания шаблонов ввода данных;
отчетов;
графического представления данных в виде диаграмм;
приложений для создания программ обработки данных.
Модели данных.
Моделирование является одним из основных способов описания БД. С основе любой СУБД, как правило, лежит елиный подход к логическлму представлению данный, определяемый её логчиской моделью. Различают следующие виды логических моделей БД:
Иерархическая
Сетевая
Реляционная
Постреляционная
Многомерная
Объектно-ориентированная и др.
Иерархическая модель данных
Иерархическая
модель относится к графовым (рис. 1.5)
моделям и представляет собой совокупность
элементов, связанных между собой по
определенным правилам. Графическим
способом представления иерархической
структуры является дерево.
Рис. 1.5. Графическое представление древовидной структуры данных
Дерево представляет собой иерархию элементов, называемых узлами. Элемент представляет собой совокупность атрибутов, описывающих объекты предметной области. В иерархической модели выделяют корневой узел (корень дерева), который находится на самом верхнем уровне и не имеет узлов, стоящих выше него. У одного дерева может быть только один корень. Остальные узлы, называемые порожденными, связаны между собой по правилу: каждый узел имеет только один исходный, находящийся на более высоком уровне, и любое число подчиненных узлов на следующем уровне. БД в этом случае представляется как совокупность деревьев (лес).
Примером простого иерархического представления могут служить (рис. 1.6) объекты предметной области: административная структура высшего учебного заведения (университет, институты в составе университета, студенческая группа).
Рис. 1.6. Пример иерархической структуры
К достоинствам иерархической модели данных относятся эффективное использование памяти ЭВМ и неплохие показатели времени выполнения операций поиска данных..
Недостатком иерархической модели является ее неэффективность при обработке информации с достаточно сложными логическими связям; сложность изменения логической структуры данных; проблемы, связанные с модификацией данных.
На иерархической модели данных были основаны первые СУБД такие как IMS , PC Focus , Ока, ИНЭС и МИРИС.
