- •Введение.
- •Информация и данные.
- •Выч. Система
- •Админ-р
- •Жизненный цикл БнД.
- •Классификация БнД.
- •Преимущества организации субд.
- •Недостатки организации бд.
- •Проектирование бд. (общий подход)
- •Независимость данных (2 уровня).
- •Концептуальное проектирование. Модели данных. Модель сущность-связь.
- •Инфологические мд.
- •Модель результ.
- •Объединение локальных моделей в глобальные.
- •Логическое проектирование.
- •Сетевая модель данных.
- •Правила построения сетевой модели.
- •Реляционная модель данных.
- •Плоский файл.
- •Хронологическая модель данных.
- •Операции над данными.
- •Операции реляционной алгебры.
- •Операторы обновления:
- •Реляционные сравнения:
- •Реляционное исчисление с переменными-кортежами.
- •Реляционное исчисление с переменными на доменах.
- •Реляционные ямд.
- •Язык запросов в sql.
- •Защита баз данных.
- •Функциональные зависимости.
- •Покрытие множества зависимостей.
- •Вычисление замыканий.
- •Декомпозиция схем отношений.
- •Нормализация отношений.
- •Алгоритм1: пополняющий декомпозицию схем отношений, которая обладает свойством соединения без потерь и приводит к отношениям находящимся в нфбк.
- •Алгоритм 2: приведения отношения к 3нф, использующей декомпозицию, сохраняющую функциональные зависимости.
- •Многозначные зависимости.
- •Правила вывода (аксиомы) для многозначных зависимостей.
- •Аксиомы, связывающие функциональные зависимости и многозначные зависимости.
- •Правила вывода:
- •Алгоритм вычисления базиса:
- •Секретность данных.
- •Физическая организация бд.
- •Методы доступа к данным.
- •Оптимизация запросов.
- •Общие стратегии оптимизации:
- •Законы оптимизации.
- •Алгоритм оптимизации выражений ра.
- •Точная оптимизация для подмножества реляционных запросов.
- •Минимизация конъюнктивных запросов.
- •Правила построения табло запросов:
- •Метод нахождения min-го запроса для простого тз.
- •Параллельные операции над бд.
- •Основные понятия.
- •Бесконечные ожидания и тупики.
- •Протоколы и расписание.
- •Простая модель транзакции.
- •Метод, позволяющий определить сериализуемость расписания.
- •Модель с блокировками для чтения и записи.
- •Параллельный доступ к иерархически структурированным элементам.
- •Алгоритм проверки сериализуемости расписания.
- •Защита от отказов.
- •Меры для восстановления бд.
- •Модификация запросов в распределенных бд.
- •Фрагменты отношений.
Язык запросов в sql.
1. Отображение:
Select A1…An
from R
Where B1θ1b1…Bmθmbm
Выражение, следующее за where, может содержать атрибуты отношения, арифметические операции сравнения, булевские связки and, not, or, может содержать операции над множествами (union – , intersect – ∩, minus – /), операции принадлежности множеству (X in R, R contain X, R does not contain X, X not in S). Во всех этих операциях X – элемент множества, или кортеж, или множество.
Выражение, следующее за where может содержать операнды, которые представляют собой отношения, сформированные другим предложением select _ from _ where.
SQL может оперировать не только одним отношением в предложении from. На значение атрибута любого из отношений, указанных в предложении from, может ссылаться как в select, так и в where. Если А является атрибутом более одного отношения, то пишут R.А, указывая тем самым, что имеется в виду атрибут А из отношения R.
При наличии в запросе предложения from R1,…,Rn будут рассматриваться все списки t1,…,tn кортежей, где tiRi. Если данный список удовлетворяет условиям, указанным в предложении where, в результат оператора включается список компонентов, специфицированных в предложении select.
Операторы включения, удаления, модификации в SQL являются синтаксически улучшенной версией соответствующих операторов SQUARE.
2. Операция обновления:
Update имя_БД
Set <выражение1>
Where < выражение2 >
– обновление одной таблицы.
3. Операция удаления:
Delete имя_БД
Where
В – удаляет записи БД, удовлетворяющие условию.
Delete имя_БД – таблица есть, но она пустая.
Все операции SQL сами открывают БД.
4. Дополнение БД.
Дополняемая БД может быть не открыта, а после дополнения она остается открытой и активной.
1) Insert into <имя_БД> [(<поле1> [,<поле2> [,…]])]
Values (<выражение1> [,<выражение2> [,…]])
Добавляем записи в конец существующей БД; значение <вырi> записывается в <полеi>; если <полеi> опущено, то значение <вырi> записывается в поля в соответствии со структурой.
Insert into <имя_БД> from array {из мн-ва}
<массив> from memvar {из врем. пер-х}
Временные переменные должны существовать и иметь имена полей = имени поля БД, но первая буква M. Такие переменные вырабатываются по команде Scatter memvar.
5. Операция создания БД:
Create dbf <имя dbf -файла>
(<имя поля> <тип> [(<размер>[,<дробный р-р>]
[,<имя поля>]]) / From array <массив>
массив из 4-х столбцов и строк = числу полей
Тип: C,N,D,M,F,L.
fix пл. точк.
Массив, соответствующий описанию полей, создается функцией Afields ( ) (при открытой БД).
Защита баз данных.
Защита данных в БнД – это решение двух проблем:
1) ограничение целостности данных;
2) секретность данных.
Проблема целостности данных заключается в обеспечении соответствия данных, хранящихся в БД, реальному текущему состоянию ПО. Логические ограничения, накладываемые на данные, называются ограничениями целостности. Ограничение целостности – это свойство, которое для данного множества или отношения либо истинно, либо ложно. Это значение должно сохраняться для каждого возможного значения, в котором находится объект. Существует 3 основных вида ограничений целостности:
Внутренние (структурные) – те ограничения, которые лежат в основе структуры БД. Например, РМД присуще внутреннее ограничение, что сущности и связи между сущностями представлены в виде отношений (таблиц).
Явные (семантические) ограничения целостности или утверждения.
Ограничения, вводимые на основе внутренних и явных. Это подразумеваемые.
Семантические ограничения делятся на 2 вида:
Касается реальных значений, хранящихся в БД. Обычно такие ограничения требуют, чтобы значение атрибута принадлежало некоторому диапазону, или выражалось через какое-то арифметическое соотношение между другими атрибутами.
Показывает связь между атрибутами одного отношения. Записывается в виде функциональной зависимости.