Базы данных Реляционная модель данных
Реляционная модель данных (РМД) В 1970 г. американский математик Э.Ф.Кодд опубликовал статью, с которой отсчитывается начало существования РМД. РМД основана на теории множеств. Домен, D – множество значений, которые может принимать элемент данных. Декартово произведение доменов – множество всех возможных комбинаций значений доменов: D1×D2×... ×Dn = {(d 1i, d 1i,..., d ni )}, где d ki D k Пример: D1 = (1, 2), D2 = (a, b, c). D1×D2 = {(1,a), (1,b), (1,c), (2,a), (2,b), (2,c)} Отношение – подмножество декартова произведения доменов.
Пример декартова произведения ДолжностьФИОДолжностьОклад директорБелов С.Ю.директор40000 инженерБелов С.Ю.директор75000 экономистБелов С.Ю.инженер40000 Белов С.Ю.инженер75000 ФИОБелов С.Ю.экономист40000 Белов С.Ю. экономист75000 Рогов А.И. директор40000 Панина А.А.Рогов А.И.директор75000 Волкова Н.М.Рогов А.И.инженер40000 Рогов А.И.инженер75000 ОкладРогов А.И.экономист40000 ……… 75000Волкова Н.М.экономист40000 Полужирным шрифтом выделены записи, имеющие соответствие в предметной области.
Пример таблицы реляционной БД Табельный номер ФИО сотрудника ДолжностьОкладГод рождения Отдел 023Волкова Елена Павловна секретарь Белов Сергей Юрьевич инженер Рогов Сергей Михайлович директор Панина Анна Алексеевна инженер- программист Фролов Юрий Вадимович начальник отдела Мощность отношения. Арность отношения.
Термины. Свойства отношения Табельный номер ФИО сотрудника ДолжностьОкладГод рождения 023Волкова Елена Павловна секретарь Белов Сергей Юрьевич инженер первичный ключ столбец описание (схема отношения) строка, запись, кортеж Отношение, таблица Отношение обладает двумя основными свойствами: 1. В отношении не должно быть одинаковых кортежей, т.к. это множество. 2. Порядок кортежей в отношении несущественен.
Ключи отношения Ключ – атрибут (группа атрибутов), которые позволяют классифицировать кортеж (запись таблицы). Потенциальный ключ (уникальный ключ) – атрибут (группа атрибутов), которые позволяют идентифицировать кортеж (запись таблицы). Первичный ключ – обязательный уникальный ключ. Для каждой таблицы может быть определен только один первичный ключ. Вторичный ключ – любой другой ключ, кроме первичного. Может быть необязательным и неуникальным. Внешний ключ – служит для организации связей между таблицами.
Организация связей между таблицами «Отдел» – внешний ключ в таблице «Сотрудники» Таблица «Сотрудники» Таблица «Отделы» «Номер отдела» - первичный ключ в таблице «Отделы» Связь один-ко-многим: Отделы – Сотрудники
Организация связей между таблицами В таблице «Участие»: «Участник» – внешний ключ к таблице «Сотрудники» «Проект» – внешний ключ к таблице «Проекты» Таблица «Сотрудники» Таблица «Проекты» Связь многие-ко-многим: Проекты – Сотрудники Таблица «Участие»
Пример связи внутри таблицы Табельный номер ФИО сотрудника ДолжностьОкладНачальник 023Волкова Елена Павловнасекретарь Белов Сергей Юрьевичинженер Рогов Сергей Михайловичдиректор62000NULL 205Махова Ольга Алексеевнаначальник отдела
Операции над данными в РМД Операции применяются к кортежам отношений. В РМД используются следующие операции: запомнить: внесение информации в БД (требует формирования значений уникального ключа и обязательных атрибутов кортежа); извлечь: чтение данных; обновить: модификация данных – изменение значений атрибутов кортежей; удалить: физическое или логическое удаление данных (кортежей).
Сравнение структуризации данных в РМД и по версии CODASYL Термины версии CODASYL Термины (и синонимы) РМД Элемент данныхАтрибут (поле) Агрегат Запись (группа)Кортеж (запись, строка) Совокупность записей одного типаОтношение (таблица) Набор (групповое отношение)Таблицы, связанные внешним ключом База данных
Достоинства и недостатки РМД Достоинства: наличие теоретического базиса; максимальная степень независимости данных от программ; наличие декларативного языка запросов. Недостатки: низкая эффективность выполнения запросов; отсутствие однозначного соответствия между сущностями предметной области и таблицами реляционной базы данных.