- •Введение
- •1. Информационная система (ис):
- •2.Типы и структуры данных
- •2.1.Основные типы данных
- •2.1.Методы доступа к данным
- •2.1.1.Методы поиска по дереву
- •2.2.2.Хеширование
- •3. Представление данных с помощью модели "сущность-связь".
- •3.1.Элементы модели
- •3.2.Диаграмма "сущность-связь".
- •4. Даталогические модели
- •4.1.Иерархическая модель данных
- •4.1.1.Структура данных
- •4.1.2.Операции над данными, определенные в иерархической модели:
- •4.1.3. Ограничения целостности
- •4.2. Сетевая модель данных
- •4.2.1. Структура данных
- •4.2.2.Операции над данными
- •4.3. Реляционная модель данных
- •1. Основные понятия
- •4.3.1. Структура данных
- •4.3.2. Фундаментальные свойства отношений
- •4.3.2.1. Отсутствие кортежей-дубликатов
- •4.3.2.2. Отсутствие упорядоченности кортежей
- •4.3.2.3. Отсутствие упорядоченности атрибутов
- •4.3.2.4. Атомарность значений атрибутов
- •4.3.3.Свойства отношений.
- •4.3.4. Реляционная модель и модель сущность - связь
- •4.3.4.1. Преобразование er-модели в реляционную модель
- •5. Языки запросов к реляционным базам данных
- •5.1. Реляционная алгебра
- •Общая интерпретация реляционных операций
- •Замкнутость реляционной алгебры и операция переименования
- •Правила записи выражений реляционной алгебры
- •5.2. Реляционное исчисление кортежей
- •5.3. Реляционное исчисление доменов
- •5.3. Ограничения реляционных баз данных
- •5.4. Постреляционные субд
- •6. Проектирование информационных систем и баз данных
- •Информационное моделирование процессов предметной области и применение потоковых диаграмм
- •7. Проектирование реляционных баз данных с использованием нормализации
- •7.1. Основные свойства нормальных форм
- •7.2. Функциональная зависимость
- •2. Ни для какого зависимость
- •7.2.1. Аксиомы функциональных зависимостей
- •7.2.2. Вычисление замыканий
- •7.2.3. Полная функциональная зависимость
- •7.2.4. Транзитивная функциональная зависимость
- •7.2.5.2. Вторая нормальная форма
- •7.2.5.3. Третья нормальная форма
- •7.2.5.4. Нормальная форма Бойса-Кодда
- •7.2.5.5. Четвертая нормальная форма
- •7.2.5.6. Пятая нормальная форма
- •7.2.6. Функциональные зависимости и проектирование базы данных.
- •Дополнительная литература
4.3. Реляционная модель данных
Реляционная модель была предложена сотрудником компании IBM Е.Ф.Коддом в 1970 г. Она основывается на математических принципах, вытекающих из теории множеств и логики предикатов. Реляционная модель определяет способ представления данных (структуры данных), методы защиты данных (целостность данных), а также операции, выполняемые данными (манипулировании данными). В настоящее время эта модель является фактическим стандартом, на который ориентируются практически все современные коммерческие СУБД.
1. Основные понятия
Реляционная модель данных некоторой предметной области представляет собой набор отношений, изменяющихся во времени.
4.3.1. Структура данных
В реляционной модели достигается гораздо более высокий уровень абстракции данных, чем в иерархической или сетевой. В статье Е.Ф.Кодда утверждается, что "реляционная модель предоставляет средства описания данных на основе только их естественной структуры, т.е. без потребности введения какой-либо дополнительной структуры для целей машинного представления". Другими словами, представление данных не зависит от способа их физической организации. Это обеспечивается за счет использования математической теории отношений (само название "реляционная" происходит от английского relation - "отношение").
Декартово произведение: Для заданных конечных множеств (не обязательно различных) декартовым произведениемназывается множество элементов вида:, где
Пример: если даны два множества A (a1,a2,a3) и B (b1,b2), их декартово произведение будет иметь вид
Отношение: Отношением R, определенным на множествах , называется произвольное подмножестводекартова произведения. При этом:
множества называютсядоменами отношения
элементы декартова произведения называютсякортежами
число n определяет степень отношения ( n=1 - унарное, n=2 - бинарное, ..., n-арное)
количество кортежей называется мощностью отношения
Порядок кортежей в отношении, как и в любом множестве, не определен. Два отношения, отличающиеся только порядком атрибутов, рассматриваются как одинаковые.
Пример: на множестве С из предыдущего примера могут быть определены бинарные отношения R1 или R2мощности 2 и 3 соответственно. Заметим, что R2 можно представить в виде
Схемой отношения R называется перечень имен атрибутов данного отношения с указанием домена, к которому они относятся. Отношение с атрибутамиимеет схему. Схемы двух отношений называются эквивалентными, если они имеют одинаковую степень и возможно составить такое упорядочение имен атрибутов в схемах, что на одинаковых местах будут находиться сравнимые атрибуты, то есть атрибуты, принимающие значения из одного домена. Другими словами порядок перечисления имен атрибутов в схемах отношений несущественен. Отношение - это множество кортежей, соответствующих одной схеме отношения.
Отношение удобно представлять как таблицу, где каждая строка является кортежем, и каждый столбец соответствует одному компоненту. Столбцы при этом называют атрибутами и им часто присваивают имена. В структуре таблицы каждому атрибуту соответствует заголовок некоторого столбца таблицы. Каждому экземпляру сущности соответствует строка таблицы – кортеж (кортеж - это набор именованных значений заданного типа.). Домен представляет собой множество всех возможных значений определенного атрибута отношения.
На рис. ниже представлен пример таблицы (отношение степени 5), содержащей некоторые сведения о работниках гипотетического предприятия. Строки таблицы соответствуют кортежам. Каждая строка фактически представляет собой описание одного объекта реального мира (в данном случае работника), характеристики которого содержатся в столбцах. Можно провести аналогию между элементами реляционной модели данных и элементами модели "сущность-связь". Реляционные отношения соответствуют наборам сущностей, а кортежи - сущностям. Столбцы в таблице, представляющей реляционное отношение, называют атрибутами
Каждый атрибут определен на домене, поэтому домен можно рассматривать как множество допустимых значений данного атрибута.
Реляционная база данных - это набор отношений, имена которых совпадают с именами схем отношений в схеме БД.