- •Трехуровневая архитектура субд. Внешний уровень. Концептуальный уровень. Внутренний уровень.
- •Функции субд. Восстановление данных. Поддержка языков бд
- •Функции субд. Управление параллельным доступом
- •Функции субд. Управление транзакциями.
- •Функции субд. Управление буферами оп
- •Функции субд. Управление данными во внешней памяти. Словарь данных.
- •Функции субд. Контроль доступа к данным. Поддержка целостности данных.
- •Жизненный цикл создания бд. Основные этапы.
- •Концептуальное проектирование. Модель «Сущность-связь». Основные понятия
- •Модели данных. Реляционная модель данных.Графическое изображение. Структурная часть рмд, Ключи, схема отношения, степень и мощность отношений.
- •Реляционная алгебра. Операции ра. Реляционное исчисление
- •Языки бд. Классификация операторов языка sql.
- •Последовательная нормализация. Избыточность данных, Аномалия обновления данных. 1нф, 2нф, 3нф.
- •Логическое проектирование бд. Правила преобразования км в рм для связи 1:1, 1:м, м:м.
- •Технологии использования бд. Функции приложения в архитектуре Клиент-Сервер.
- •Архитектура многопользовательских субд. Модели 2-уровневой архитектуры клиент –Сервер. Достоинства, недостатки.
- •Физическая организация данных. Технология хранения данных в субд. Технология доступа к бд (файловая, страничная)
- •Модель, свойства транзакций, обеспечение целостности данных с помощью транзакций. Управление транзакциями.
Реляционная алгебра. Операции ра. Реляционное исчисление
Основная идея реляционной алгебры состоит в том, что коль скоро отношения являются множествами, то средства манипулирования отношениями могут базироваться на традиционных теоретико-множественных операциях, дополненных некоторыми специальными операциями, специфичными для баз данных. РА – процедурный язык, обеспечивающий пошаговое решение задач.
Существует много подходов к определению реляционной алгебры, которые различаются набором операций и способами их интерпретации, но в принципе, более или менее равносильны. Мы опишем немного расширенный начальный вариант алгебры, который был предложен Коддом. В этом варианте набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса - теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции:
объединения отношений;
пересечения отношений;
взятия разности отношений;
прямого произведения отношений.
Специальные реляционные операции включают:
ограничение отношения;
проекцию отношения;
соединение отношений;
деление отношений.
Кроме того, в состав алгебры включается операция присваивания, позволяющая сохранить в базе данных результаты вычисления алгебраических выражений, и операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения.
Реляционное исчисление – декларативный теоретический язык запросов, реализованный на основе исчисления предикатов первого порядка (высказываний в виде функции), которым должны удовлетворять искомые кортежи или домены отношений.
Запрос к БД, выполненный с использованием реляционного исчисления, содержит описание желаемого результата, для которого может существовать несколько способов его вычисления, представленных выражениями реляционной алгебры или непосредственно командами СУБД. Преимуществом реляционного исчисления перед реляционной алгеброй можно считать то, что пользователю не требуется самому строить алгоритм выполнения запроса, Программа СУБД (при достаточной ее интеллектуальности) сама строит эффективный алгоритм.
Существует два варианта исчислений: исчисление, кортежей и исчисление, доменов. В первом случае для описания отношений используются переменные, допустимыми значениями которых являются кортежи отношения, а во втором случае — элементы домена. РИ –непроцедурный язык создания запросов, позволяющий формулировать то, что нужно сделать путем определения табличных запросов за один шаг. Основан на реализации исчисления доменов, является основой большинства языков запросов.
Языки бд. Классификация операторов языка sql.
Стандартный язык для реализации СУБД является непроцедурный язык запросов, основанный на РИ - SQL
команды sql делятся на:
-Операнды определения данных(создание таблиц, изменение, удаление)
-Операнды обработки данных(изменение записи, удаление записи)
-Операнды выборки
Последовательная нормализация. Избыточность данных, Аномалия обновления данных. 1нф, 2нф, 3нф.
Нормализация отношений- формально-аппаратные ограничения на формирование таблиц, котор. позволяет устранить дублирование, обеспечивая непротиворечивость хранимых в бд данных. Уменьшение затрат на ведение бд.
Избыточность данных :
Данные не должны быть избыточными; существует несколько причин, почему дублирование данных следует стремиться свести к минимуму. Например, нет необходимости хранить домашний адрес сотрудника компании более, чем в одной таблице, поскольку при этом непроизводительно расходуется дисковое пространство. Кроме того, может возникнуть невообразимая путаница, когда, например, адрес сотрудника в одной таблице не соответствует его же адресу в другой. Какая информация достоверна? Есть ли у вас соответствующие документы для проверки действительного адреса этого сотрудника? Как ни сложно управление информацией само по себе, избыточность данных в этом случае может оказаться настоящим бедствием.
Аномалии:
-Аномалия обновления – появление в базе данных несогласованности данных при выполнении операций вставки, удаления, модификации записей.
-Аномалии модификации – появление записей с противоречащими значениями в некоторых столбцах при изменении значений соответствующих полей одной записи.
Для отношения Студент (ФИО, Группа, Староста), где в столбце Группа хранится полное название группы, а столбец Староста содержит ФИО старосты группы, изменение значения Староста (например, для устранения ошибки) может привести к существованию более одного старосты одной и той же группы.
-Аномалии удаления – удаление лишней информации при удалении записи.
Для отношения Студент (ФИО, Группа, Староста), удаление студента может привести к удалению из БД и ФИО старосты группы (в том случае, если для данной группы запись – единственная).
-Аномалии вставки – добавление лишней информации или возникновение противоречащих значений в некоторых столбцах при вставке новой записи.
Для отношения Студент (ФИО, Группа, Староста), где в столбце Группа хранится полное название группы, а столбец Староста содержит ФИО старосты группы, добавление названия новой группы повлечет обязательное определение ФИО студента и старосты, в то время как эти данные могут быть пока не известны. В то же время, при добавлении нового студента значение поля Староста в новой записи может не совпадать со значением данного поля для другого студента этой же группы.
Для сохранения корректности БД необходимо устранять данные аномалии, выполняя дополнительные операции по просмотру и модификации данных. Потери в производительности, вызванные выполнением действий по устранению аномалий, могут быть весьма существенными, при этом данные потери, в большинстве случаев, не являются неизбежными, а определяются неудачным выбором схемы БД.
Указанные аномалии связаны с избыточностью данных в БД. Следует различать избыточное и неизбыточное дублирование данных.
НФ:
1НФ-если отношение имеет первичный ключ и все его атрибуты просты и атомарные (каждому из первичного ключа соответствует одно единственное значение ключа- не атрибута)
2НФ-если находится в 1НФ и каждый не ключевой атрибут функционально полно зависит от первичного ключа.
3НФ – если в 2НФ и отсутствует транзитивная зависимость(зависимость неключевых атрибутов между собой – плохая зависимость.)
