
- •1. Понятие и принципы построения баз данных.
- •2. Реляционная модель. Три аспекта модели. Основные понятия, лежащие в основе реляционной модели
- •4) Виды моделей данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •3) Основные понятия реляционных баз данных
- •3.2.1. Тип данных
- •3.2.2. Домен
- •3.2.3. Заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения
- •3.2.4. Первичный ключ и интуитивная интерпретация реляционных понятий
- •3) Отношения. Переменные-отношения. Смысл отношений, свойства отношений. Домены.
- •4) Ключи переменных-отношений. Виды ключей.
- •5) Трехуровневая архитектура базы данных. Внешний, концептуальный и внутренний уровни.
- •6) Независимость данных.
- •7) Назначение и функции субд.
- •8) Реляционная алгебра – реляционный язык обработки данных.
- •9) Традиционные и специальные операции реляционной алгебры: объединение, пересечение, вычитание, декартово произведение, проекция, выборка. О соединение, естественное соединение, деление.
- •1.3.2 Пересечение
- •1.3.3 Вычитание
- •1.3.4 Произведение
- •10) Понятие функциональной зависимости для отношения. Основные определения. Способ определения ф.З. Тривиальные и нетривиальные зависимости.
- •11) Замыкание множества зависимостей. Аксиомы Армстронга.
- •12) Нормализация. Первая, вторая и третья нормальные формы отношения
- •1Нф (Первая Нормальная Форма)
- •Аномалии обновления
- •Аномалии вставки (insert)
- •Аномалии обновления (update)
- •Аномалии удаления (delete)
- •Функциональные зависимости
- •Вторая нормальная форма
- •Анализ декомпозированных отношений
- •Оставшиеся аномалии вставки (insert)
- •Оставшиеся аномалии обновления (update)
- •Оставшиеся аномалии удаления (delete)
- •Третья нормальная форма
- •12) Концептуальные модели данных. Модель «сущность-связь». Сущности, атрибуты, связи. Сущности-связи и мощности связей. Примеры.
- •Основные понятия er-модели
- •Инструкция select
- •Синтаксис
- •Замечания
- •Предложение from
- •Синтаксис
- •Замечания
- •Предложение where
- •Синтаксис
- •Замечания
- •Предикат like
- •2.3.4.2.1 Предикат сравнения
- •2.3.4.2.2 Предикат between
- •2.3.4.2.3 Предикат in
- •Предикат exists
- •Предложение having
- •Синтаксис
- •Замечания
- •Предикаты all, distinct, distinctrow, top
- •Синтаксис
- •14) Определение базы данных на sql (операторы определения и манипулирования данными).
- •15) Понятие целостности. Классификация ограниченной целостности базы данных.
- •16) Представления. Создание и использование представлений. Создание запросов к представлению.
- •17. Хранимые процедуры
- •18. Триггеры
- •19. Транзакция. Acid – свойства транзакций. Уровни изоляции транзакций.
- •Serializable (упорядочиваемость)
- •Repeatable read (повторяемость чтения)
- •Read committed (чтение фиксированных данных)
- •Read uncommitted (чтение незафиксированных данных)
- •Проблемы параллельного доступа с использованием транзакций
- •20. Защита данных. Средства защиты данных языка sql.
- •21. Понятие предметной области. Определение сущностей, связей и их свойств.
- •22. Проектирование реляционной базы данных. Определение состава таблиц
3.2.3. Заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения
Понятие отношения является наиболее фундаментальным в реляционном подходе к организации баз данных, поскольку n-арное отношение является единственной родовой структурой данных, хранящихся в реляционной базе данных. Это отражено и в общем названии подхода – термин реляционный (relational) происходит от relation (отношение). Однако сам термин отношение является исключительно неточным, поскольку, говоря про любые сохраняемые данные, мы должны иметь в виду тип этих данных, значения этого типа и переменные, в которых сохраняются значения. Соответственно, для уточнения термина отношение выделяются понятия заголовкаотношения, значения отношения и переменной отношения. Кроме того, нам потребуется вспомогательное понятие кортежа.
Итак, заголовком (или схемой) отношения r (Hr) называется конечное множество упорядоченных пар вида <A, T>, где A называется именем атрибута, а T обозначает имя некоторого базового типа или ранее определенного домена. По определению требуется, чтобы все имена атрибутов в заголовке отношения были различны. В примере на рис. 3.1 заголовком отношения СЛУЖАЩИЕ является множество пар {<слу_номер, номера_пропусков>, <слу_имя, имена>, <слу_зарп, размеры_выплат>, <слу_отд_номер, номера_отделов>}.
Атрибут отношения есть пара вида <Имя_атрибута : Имя_домена>. Имена атрибутов должны быть уникальны в пределах отношения. Часто имена атрибутов отношения совпадают с именами соответствующих доменов.
Число атрибутов в отношении называют степенью (или -арностью ) отношения. Мощность множества кортежей отношения называют мощностью отношения.
Если все атрибуты заголовка отношения определены на разных доменах, то, чтобы не плодить лишних имен, разумно использовать для именования атрибутов имена соответствующих доменов (не забывая, конечно, о том, что это всего лишь удобный способ именования, который не устраняет различия между понятиями домена и атрибута).
Кортежем tr, соответствующим заголовку Hr, называется множество упорядоченных триплетов вида <A, T, v>, по одному такому триплету для каждого атрибута в Hr. Третий элемент – v – триплета <A, T, v> должен являться допустимым значением типа данных или домена T. Заголовку отношения СЛУЖАЩИЕ соответствуют, например, следующие кортежи: {<слу_номер, номера_пропусков, 2934>, <слу_имя, имена, Иванов>, <слу_зарп, размеры_выплат, 22.000>, <слу_отд_номер, номера_отделов, 310>}, {<слу_номер, номера_пропусков, 2940>, <слу_имя, имена, Кузнецов>, <слу_зарп, размеры_выплат, 35.000>, <слу_отд_номер, номера_отделов, 320>}.
Телом Br отношения r называется произвольное множество кортежей tr. Одно из возможных тел отношенияСЛУЖАЩИЕ показано на рис. 3.1. Заметим, что в общем случае, как это демонстрируют, в частности, рис. 3.1 и пример предыдущего абзаца, могут существовать такие кортежи tr, которые соответствуют Hr, но не входят в Br.
Значением Vr отношения r называется пара множеств Hr и Br. Одно из допустимых значений отношенияСЛУЖАЩИЕ показано на рис. 3.1.
В изменчивой реляционной базе данных хранятся отношения, значения которых изменяются во времени.Переменной VARr называется именованный контейнер, который может содержать любое допустимое значениеVr. Естественно, что при определении любой VARr требуется указывать соответствующий заголовок отношенияHr.
Здесь стоит подчеркнуть, что любая принятая на практике операция обновления базы данных – INSERT (вставка кортежа в переменную отношения), DELETE (удаление кортежа из значения-отношения переменой отношения) иUPDATE (модификация кортежа значения-отношения переменной отношения) – с модельной точки зрения является операцией присваивания переменной отношения некоторого нового значения-отношения. Это совсем не означает, что перечисленные операции должны выполняться именно таким образом в СУБД: главное, чтобы результат операций соответствовал этой модельной семантике.
Заметим, что в дальнейшем в тех случаях, когда точный смысл термина понятен из контекста, мы будем использовать термин отношение как в смысле значение отношения, так и в смысле переменная отношения.
По определению, степенью, или «арностью», заголовка отношения, кортежа, соответствующего этому заголовку, тела отношения, значения отношения и переменной отношения является мощность заголовка отношения. Например, степень отношения СЛУЖАЩИЕ равна четырем, т. е. оно является 4-арным (кватернарным).
При приведенных определениях разумно считать схемой реляционной базы данных набор пар <имя_VARr, Hr>, включающий имена и заголовки всех переменных отношения, которые определены в базе данных. Реляционная база данных – это набор пар <VARr, Hr> (конечно, каждая переменная отношения в любой момент времени содержит некоторое значение-отношение, в частности, пустое).
Заметим, что в классических реляционных базах данных после определения схемы базы данных могли изменяться только значения переменных отношений. Однако теперь в большинстве реализаций допускается и изменение схемы базы данных: определение новых и изменение заголовков существующих переменных отношений. Это принято называть эволюцией схемы базы данных.