РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ Карпов Д.В. Модель данных Модель данных – это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов в совокупности составляющих абстрактную машину доступа к данным, с которой взаимодействует пользователь. Объекты позволяют моделировать структуру, а операторы – поведение данных. Кристофер Дейт Реляционная модель данных Реляционная модель впервые была предложена Эдгаром Коддом (E.F. Codd) в 1970 г. в его основополагающей статье «Реляционная модель данных для больших совместно используемых банков данных». Реляционная модель данных Цели создания: Обеспечение более высокой степени независимости от данных. Прикладные программы не должны зависеть от внутреннего представления данных, от изменений организации файлов, упорядочивания записей и путей доступа. Решение семантических вопросов, проблем непротиворечивости и избыточности данных. Расширение языков управления данными за счет включения операций над множествами. Реляционная модель данных Состоит из трех частей Структурная часть (структура данных) Манипуляционная часть (операции с данными) Целостная часть (корректность данных) Структура реляционных данных Тип данных Домен Атрибут Кортеж Отношение Структура реляционных данных Структура реляционных данных Тип данных. Традиционное (нестрогое) определение типа данных состоит из трех основных компонентов: Определение множества значений данного типа. Определение набора операций, применимых к значениям данного типа. Определение способа внешнего представления значений типа (литералов). Реляционная модель поддерживает возможность определения пользовательских типов данных. Структура реляционных данных Домен. Допустимое потенциальное, ограниченное подмножество значений данного типа. Атрибут. Именованный элемент кортежа, соответствующий определенному домену и типу. Кортеж. Множество троек (Атрибут, Домен, Значение) относящихся к одному ОТНОШЕНИЮ. Структура реляционных данных Отношение. Именованный набор кортежей. Заголовок отношения представляет собой заголовок кортежа (Атрибут, Домен). Тело отношения представляет собой множество кортежей, имеющих один заголовок. Степенью или Арностью отношения является мощность заголовка. Кардинальностью отношения является количество кортежей. Структура реляционных данных Структура реляционных данных Домены – это объекты (множества объектов), которые могут стать предметом обсуждения. Отношения – это факты (множества фактов), касающиеся объектов, которые могут стать предметом обсуждения. Свойства отношений Атомарность значений атрибутов. Каждый кортеж содержит только одно значение (соответствующего домена) для каждого атрибута. Атрибуты не характеризуются каким-то упорядочением (например, слева направо) Кортежи не характеризуются каким либо упорядочением (например, сверху вниз) В отношении отсутствуют дубликаты кортежей Манипуляции с данными Реляционная алгебра Основана на классической теории множеств (с некоторыми уточнениями). Реляционное исчисление Основано на классическом логическом исчислении предикатов первого рода. Манипуляции с данными Определение типа Определение домена Определение кортежа Определение отношения Обновление кортежа Обновление отношения Удаление кортежа Удаление отношения Реляционная целостность Каждый атрибут в отношении связан с некоторым доменом и для каждого значения атрибута определяются так называемые ограничения домена. Помимо этого, задаются два важных правила целостности, которые, являются ограничениями для всех отношений. Эти два основных правила реляционной модели называются целостностью сущностей и ссылочной целостностью. Реляционная целостность Пустое значение (NULL) Значение неизвестно, не определено или еще не задано. Пустое значение отличается от нуля и строк из пробелов. Реляционная целостность Целостность сущностей Любой кортеж в отношении уникален. Для обеспечения уникальности кортежей используются реляционные ключи. Потенциальным ключом называется атрибут или множество атрибутов, которые однозначно определяют каждый кортеж в отношении. Ключ обладает свойствами: уникальность - в каждом кортеже отношения значения ключа не повторяются; неприводимость - никакое подмножество атрибутов ключа не обладает свойством уникальности; отсутствие пустых (NULL) значений в атрибутах ключа. Потенциальный ключ, выбранный для идентификации кортежей в отношении, называется первичным ключом. Первичный ключ в отношении – единственный. Реляционная целостность Целостность ссылок Внешним ключом – называется атрибут или множество атрибутов отношения, которые соответствуют первичному ключу некоторого (возможно, этого же) отношения. Требование целостности по ссылкам, или требование внешнего ключа состоит в том, что для каждого значения внешнего ключа в указывающем отношении, должен найтись кортеж с таким же значением первичного ключа в указанном отношении, либо значение внешнего ключа должно быть неопределенным (т.е. ни на что не указывать). Реляционная алгебра Реляционная алгебра – это коллекция операций, которые принимают отношения в качестве операндов и возвращают отношение в качестве результата. Реляционная алгебра Операции с множествами Объединение Пересечение Разность Декартово произведение Специальные реляционные операции Сокращение (выборка) Проекция Соединение Деление Реляционная алгебра Объединение, пересечение, разность Декартово произведение Сокращение (выборка) Проекция Естественное соединение S JOIN P Деление СПАСИБО ЗА ВНИМАНИЕ