ЛК1_общ_понятия2014_09_2_stud.pptx
- Количество слайдов: 31
Бази даних та інформаційні системи Загальні положення реляційної моделі даних. Реляційна цілістність даних. Лекції 1, 2
Для создания полноценной компьютерной базы данных нужны три основные составляющие: сами данные; аппаратное обеспечение; программное обеспечение. 2 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
План лекции Введение 1. Структура реляционных данных Тип данных Домен Атрибуты Кортежи Заголовок отношения Тело отношения Значение отношения или отношение-экземпляр Переменная отношения 2. Представление схем в реляционной модели (РМ) 3. Свойства отношений 4. Реляционные ключи 5. Реляционная целостность Пустые значения Целостность сущностей Целостность ссылок Корпоративные ограничения целостности Поддержание реляционной целостности Заключение 3 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Введение Принято считать, что реляционный подход к организации баз данных был заложен в конце 1960 -х гг. Эдгаром Коддом Достоинствами реляционного подхода принято считать следующие свойства: реляционный подход основывается на небольшом числе интуитивно понятных абстракций, на основе которых возможно простое моделирование наиболее распространенных предметных областей; эти абстракции могут быть точно и формально определены; теоретическим базисом реляционного подхода к организации баз данных служит простой и мощный математический аппарат теории множеств и математической логики; реляционный подход обеспечивает возможность ненавигационного манипулирования данными без необходимости знания конкретной физической организации баз данных во внешней памяти. 4 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
1. Структура реляционных данных Рисунок 1. 1 – Основные понятия реляционных баз данных 5 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Тип данных Значения данных, хранимые в реляционной базе данных, являются типизированными, т. е. известен тип каждого хранимого значения. Понятие типа данных в реляционной модели данных полностью соответствует понятию типа данных в языках программирования. Традиционное (нестрогое) определение типа данных состоит из трех основных компонентов: определение множества значений данного типа; определение набора операций, применимых к значениям типа; определение способа внешнего представления значений типа. Во всех современных реляционных базах данных допускается хранение базовых типов: логический; числовых данных; символьных; а также специализированных типов: специализированных числовых данных (таких, как «денежный» ); специальных «темпоральных» данных (дата, время, временной интервал); двоичные строковые данные (изображения); другие (документы xml, векторные объекты…). Активно развивается подход к внедрению в реляционные системы возможностей определения пользователями собственных типов данных. В примере на рис. 1. 1 мы имеем дело с данными трех типов: строки символов, целые числа и «денежный» . 6 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Домен Понятие домена соответствует подтипам в некоторых языках программирования В общем виде домен определяется путем задания некоторого базового типа данных, к которому относятся элементы домена; произвольного логического выражения, применяемого к элементу этого типа данных (ограничения домена). С каждым доменом связывается имя, уникальное среди имен всех доменов соответствующей базы данных. !Таким образом, домен - это ограничение базового типа данных, задаваемое некоторым логическим выражением. !Если некоторый атрибут отношения определяется на некотором домене, то в дальнейшем ограничение домена играет роль ограничения целостности, накладываемого на значения этого атрибута. 7 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Домен Таблица 1. 1 – Примеры доменов некоторых атрибутов Атрибут Имя домена Слу_номер Слу_имя Слу_запр Слу_отд_номер 8 ХНУРЕ кафедра Інформатики доц. Яковлева О. В. Содержимое домена Определение домена
Домен Таблица 1. 1 – Примеры доменов некоторых атрибутов Атрибут Имя домена Содержимое домена Определение домена Слу_номер Номера пропусков Множество всех допустимых Целый; номеров служащих диапазон 1 – 5000 Слу_имя Имена Множество всех имен Символьный; размер 30, не могут начинаться с мягкого или твердого знака Слу_запр Размеры выплат Все возможные значения годовой заработной платы служащего Денежный; 0. 00 – 40 000. 00 Слу_отд_номер Номера отделов Множество всех допустимых Целый; номеров отделов принимает одно из значений: 310, 313, 315, 320, 330 Замечания! 9 Данные считаются сравнимыми только в том случае, когда они относятся к одному домену; Арифметические операции между значениями разных доменов возможны. Например, заработная плата (домен определен на денежном типе) может быть умножена на количество отработанных месяцев (домен определен на целом типе). Как следует из примеров, обеспечить полную реализацию понятия домена совсем непросто, поэтому во многих реляционных СУБД они поддерживаются не полностью, а лишь частично. ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Атрибут – это свойство объекта предметной области. Будем обозначать А 10 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Отношение (сущность) Понятие отношения является наиболее фундаментальным в реляционном подходе к организации баз данных. Это отражено и в общем названии подхода – термин реляционный (relational) происходит от relation (отношение). Для уточнения термина отношение r выделяются понятия: заголовок (или схема) отношения (Hr) ; кортеж (tr); тело отношения (Br); значение (отношение экземпляр) (Vr); 11 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Отношение (сущность) Заголовком (или схемой) отношения r (Hr) называется конечное множество пар вида {<A, T>}, где A имя атрибута; T имя некоторого базового типа или домена. ! Требуется, чтобы все имена атрибутов в заголовке отношения были различны. Заголовком отношения СЛУЖАЩИЕ (рис. 1. 1) является множество пар {<слу_номер, номера_пропусков>, <слу_имя, имена>, <слу_зарп, размеры_выплат>, <слу_отд_номер, номера_отделов>}. 12 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Отношение (сущность) Кортежем tr, соответствующим заголовку Hr, называется множество упорядоченных триплетов вида {<A, T, v>}, по одному такому триплету для каждого атрибута в Hr, v –допустимое значение типа данных или домена T. Заголовку отношения СЛУЖАЩИЙ соответствуют, например, следующие кортежи: {<слу_номер, номера_пропусков, 2934>, <слу_имя, имена, Иванов>, <слу_зарп, размеры_выплат, 22. 000>, <слу_отд_номер, номера_отделов, 310>}, {<слу_номер, номера_пропусков, 2940>, <слу_имя, имена, Кузнецов>, <слу_зарп, размеры_выплат, 35. 000>, <слу_отд_номер, номера_отделов, 320>}. Телом Br отношения r называется произвольное текущее множество кортежей tr. Одно из возможных тел отношения СЛУЖАЩИЙ показано на рис. 1. 1. 13 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Отношение (сущность) Значением Vr отношения r (или просто отношением r, или отношением экземпляром) называется пара множеств Hr и Br. Одно из допустимых значений отношения СЛУЖАЩИЙ показано на рис. 1. 1. В изменчивой реляционной базе данных хранятся отношения, значения которых изменяются во времени. 14 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Отношение (сущность) Степенью ( «арностью» ) заголовка отношения, кортежа, соответствующего этому заголовку, тела отношения и значения отношения является мощность заголовка отношения (количество атрибутов). 1 атрибут – отношение унарное; 2 атрибута – отношение бинарное; 3 – тернарное; 4 – кватернарным; n – n арное. Например, степень отношения СЛУЖАЩИЕ равна четырем, т. е. оно является 4 арным (кватернарным). Кардинальность (или кардинальное число) отношения – количество кортежей. 15 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Математические отношения Существуют множества D 1={2, 4} и D 2={1, 3, 5}. Декартовое произведение D 1×D 2={(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)}. Математическое отношение – подмножество декартова произведения двух или более множеств. Например, R={(2, 1), (4, 1)}. Для определения пар, которые войдут в отношение, можно задать некоторое условие выборки. Например, R={(x, y) | x D 1, y D 2 и y=1}, R={(x, y) | x D 1, y D 2 и x=2 y}. 16 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Математические отношения Увеличивая количество множеств, можно дать обобщённое определение отношения на n доменах. Пусть имеется n множеств D 1, D 2, . . . , Dn. Декартово произведение для этих n множеств можно определить следующим образом D 1×D 2 ×. . . ×Dn={(d 1, d 2, … , dn)| d 1 D 1, d 2 D 2, … , dn Dn }. В контексте БД отношением называется любое подмножество декартового произведения доменов атрибутов. 17 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Представление схем в РМ Схема отношения: выражение r(A 1, …, An), в котором все имена атрибутов Ai разные, первичный ключ подчеркивается. Пример. Схема отношения СЛУЖАЩИЙ: СЛУЖАЩИЙ(Слу_номер, Слу_имя, Слу_зарп, Слу_отд_номер). Реляционная база данных – набор нормализованных отношений r, которые различаются по именам. Схемой реляционной базы данных называется конечный набор схем отношений R={r 1, …, rp}. 18 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Фундаментальные свойства отношений Отношение обладает следующими характеристиками: 1. 2. Теоретически порядок следования кортежей в отношении не имеет значе ния (изменение порядка расположения строк в таблице не проводит к возникновению нового отношения). (Но практически этот порядок может существенно повлиять на эффек тивность доступа к ним. ) 3. Порядок следования атрибутов не имеет значения (перестановка атрибутов не порождает новой схемы) 4. Каждая ячейка отношения содержит только одно атомарное (неделимое) значение, т. е. принадлежит одному домену. 5. Каждый атрибут имеет уникальное имя. 6. Значения атрибута берутся из одного и того же домена. 7. 19 Каждый кортеж является уникальным, т. е. дубликатов кортежей быть не может Отношение имеет имя, которое отличается от имен всех других отношений в реляционной схеме. ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Фундаментальные свойства отношений 1. Каждый кортеж является уникальным Данное свойство реализуется посредством назначения первичного ключа Потенциальный ключ – минимальное множество атрибутов, являющееся подмножеством заголовка данного отношения, составное значение которых уникально определяет кортеж отношения. Для некоторый отношений возможно наличие нескольких потенциальных ключей Объявления первичного и потенциальных ключей дают СУБД возможность поддерживать целостность базы данных даже в случае попыток занесения в нее некорректных данных Первичный ключ – потенциальный ключ, который выбран для уникальной идентификации кортежей внутри отношения. Рекомендации к выбору первичного ключа из нескольких потенциальных: наименьший набор атрибутов; вероятность изменения значений минимальная; значения имеют минимальную длину (в случае текстовых атрибутов). 20 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Фундаментальные свойства отношений Минимальность первичного ключа Пример 1. 1 Слу_номер 2934 2935 2936 2937 2938 Слу_имя Иванов Петров Сидоров Федоров Иванова Слу_зарп 2 200. 00 3 000. 00 2 200. 00 Слу_отд_номер 310 313 310 315 Служащий(Слу_номер, Слу_имя, Слу_зарп, Слу_отд_номер) Слу_номер 2934 2935 2934 2937 2934 Слу_имя Иванов Петров Сидоров Федоров Иванова Слу_зарп 2 200. 00 3 000. 00 2 200. 00 Слу_отд_номер 310 313 310 315 Служащий(Слу_номер, Слу_имя, Слу_зарп, Слу_отд_номер) 21 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Фундаментальные свойства отношений Минимальность первичного ключа Пример 1. 2 СТУДЕНТ (Номер_зачетки, ФИО, Группа, Деканат, Рейтинг) Пусть в качестве ПК выбран не минимальный набор атрибутов. Вариант 1. {Номер_зачетки, Группа} СТУДЕНТ (Номер_зачетки, ФИО, Группа, Деканат, Рейтинг) Отношение-экземпляр Вариант 2. {Номер_зачетки, Группа, Деканат} СТУДЕНТ (Номер_зачетки, ФИО, Группа, Деканат, Рейтинг) Отношение-экземпляр . 22 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Фундаментальные свойства отношений 4. Каждая ячейка отношения содержит только одно атомарное значение Рисунок 1 Ненормализованное отношение ОТДЕЛЫ СЛУЖАЩИЕ Рисунок 2 Нормализованный вариант отношения ОТДЕЛЫ СЛУЖАЩИЕ 23 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Реляционная модель данных (РМД) Модель данных (в контексте области баз данных) описывает некий набор основных понятий и признаков, которые должны быть реализованы в конкретной СУБД, если СУБД относится к реляционным. Общая характеристика РМД Согласно трактовке Дейта, реляционная модель состоит из трех частей, описывающих разные аспекты реляционного подхода: структурной части, манипуляционной части, целостной части. Под структурой данных РМД понимается конечный набор нормализованных n арных отношений. В структурной части модели данных определяются понятия доменов, атрибутов, кортежей, заголовка, тела и переменной отношения. В манипуляционной части РМД определяются два фундаментальных механизма манипулирования реляционными БД – реляционная алгебра и реляционное исчисление: первый механизм базируется в основном на классической теории множеств (с некоторыми уточнениями и добавлениями); второй – на классическом логическом аппарате исчисления предикатов первого порядка. Основной функцией манипуляционной части реляционной модели является обеспечение меры реляционности любого конкретного языка реляционных БД. 24 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Реляционная модель данных (РМД) Реляционная целостность В целостной части РМД фиксируются два базовых требования целостности, которые должны поддерживаться в любой реляционной СУБД: целостность сущностей; ссылочная целостность, а также дополнительное (корпоративные) ограничения целостности. Корпоративные ограничения целостности – дополнительные правила поддержки целостности данных, определяемые пользователями или администратором БД ограничения домена; другие ограничения (на совместное использование различных данных, на количество записей и др. ) 25 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Реляционная целостность. Целостность сущностей Требование целостности сущности: в любом отношении экземпляре должен существовать первичный ключ, и никакое значение первичного ключа в кортежах не должно содержать неопределенных значений (NULL). Неопределенное значение не принадлежит никакому типу данных и может присутствовать среди значений любого атрибута, определенного на любом типе данных (если это явно не запрещено при определении атрибута). 26 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Трехзначная логика При использовании NULL происходит переход к работе с логикой более высокого порядка Если X – это значение некоторого типа данных или NULL, oп_а – любая двуместная «арифметическая» операция этого типа данных оп_ср – операция сравнения значений этого типа , то по определению: X oп_а NULL = NULL oп_a X = NULL X оп_ср NULL = unknown NULL оп_ср X = unknown Здесь unknown – это третье значение логического, или булевского, типа, обладающее следующими свойствами: NOT unknown = unknown true AND unknown = unknown true OR unknown = true false AND unknown = false OR unknown = unknown 27 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Реляционная целостность. Ссылочная целостность (целостность по ссылкам, целостность внешнего ключа) – это согласованность между связанными отношениями Внешний ключ – атрибут или множество атрибутов внутри отношения, которое соответствует потенциальному ключу некоторого (может быть, того же самого) отношения. Требование целостности по ссылкам: для каждого значения внешнего ключа должен найтись в отношении, на которое ссылается этот внешний ключ, кортеж с таким же значением потенциального ключа, либо значение внешнего ключа должно быть полностью неопределенным (т. е. ни на что не указывать) Определение первичного и внешнего ключа представляет собой определение ограничений целостности БД. Ограничения целостности сущности и по ссылкам должны поддерживаться СУБД. 28 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Реляционная целостность. Поддержание целостности СУБД Для соблюдения целостности сущности достаточно гарантировать отсутствие в любом отношении-экземпляре кортежей, содержащие одни и те же значения первичного ключа (и запрещать вхождение в значение первичного ключа неопределенных значений). Для соблюдения целостности по ссылкам необходимо отслеживать, чтобы не появлялись некорректные значения внешнего ключа. При обновлении, удалении кортежа из отношения, на которое ведет ссылка существует 4 подхода: запрет операции при наличии связей (сначала необходимо либо удалить ссылающиеся кортежи, либо изменить значение их внешнего ключа); операция ограничивается – обновляются (удаляются) лишь те кортежи, для которых связанной информации нет; операция приводит к неопределенным значениям – значение внешнего ключа становится неопределенным; операция каскадируется: при обновлении первичного ключа происходит обновление внешнего ключа в связанном отношении; при удалении кортежей в отношении, на которое ведет ссылка, приводит к автоматическому удалению всех ссылающихся кортежей в связанном отношении. Отделы (ИН_Отдел, Отдел_название) Служащий (ИН_Служащий, Слу_имя, Слу_запр, Слу_отд_номер (ВК) ) 29 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
Реляционная целостность. Поддержание целостности СУБД Отделы (ИН_Отдел, Отдел_название) Служащий (ИН_Служащий, Слу_имя, Слу_запр, Слу_отд_номер (ВК) ) Отдел ИН_Отдел 310 313 315 316 Отдел_название Отдел разработчиков ПО Отдел тестирования Бухгалтерия Отдел кадров Служащий ИН_Служащий 2934 2935 2936 2937 2938 30 Слу_имя Иванов Петров Сидоров Федоров Иванова ХНУРЕ кафедра Інформатики доц. Яковлева О. В. Слу_зарп 22000. 00 30000. 00 18000. 00 20000. 00 22000. 00 Слу_отд_номер 310 313 310 315
Вопросы 31 ХНУРЕ кафедра Інформатики доц. Яковлева О. В.
ЛК1_общ_понятия2014_09_2_stud.pptx