Модные тенденции и тренды. Аксессуары, обувь, красота, прически

Модные тенденции и тренды. Аксессуары, обувь, красота, прически

» » Презентация на тему «Реляционная модель данных. Связи в РБД

Презентация на тему «Реляционная модель данных. Связи в РБД

1 слайд

2 слайд

Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности и операций манипулирования данными. С помощью модели данных могут быть представлены объекты предметной области и взаимосвязи между ними. Модель данных - совокупность структур данных и операций их обработки.

3 слайд

4 слайд

Иерархическая модель данных Объекты, связанные иерархическими отношениями, образуют ориентированный граф (перевернутое дерево). К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь. Узел - это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе данных определяется числом корневых записей. К каждой записи базы данных существует только один (иерархический) путь от корневой записи.

5 слайд

6 слайд

Сетевая модель данных В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент может быть связан с любым другим элементом. Примером сложной сетевой структуры может служить структура базы данных, содержащей сведения о студентах, участвующих в научно-исследовательских работах. Возможно участие одного студента в нескольких ИР, а также участие нескольких студентов в разработке одной ИР.

7 слайд

Реляционная модель данных Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами: каждый элемент таблицы - один элемент данных; все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину; каждый столбец имеет уникальное имя; одинаковые строки в таблице отсутствуют; порядок следования строк и столбцов может быть произвольным.

8 слайд

Реляционной таблицей можно представить информацию о студентах, обучающихся в вузе Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым полем). Если записи однозначно определяются значениями нескольких полей, то такая таблица базы данных имеет составной ключ. В примере ключевым полем таблицы является "№ личного дела".

Рассматриваемые вопросы: 1. Реляционная модель — Краткий обзор истории реляционной модели — Используемая терминология — Альтернативная терминология — Математические отношения — Отношения и их свойства в базе данных — Реляционные ключи — Представление схем в реляционной базе данных — Реляционная целостность 2. Реляционные языки 3. Реляционная алгебра — Унарные операции реляционной алгебры — Операции с множествами — Операции соединения — Деление 4. Реляционное исчисление — Реляционное исчисление кортежей — Реляционное исчисление доменов 5. Другие языки

Реляционная модель Структура обработки информации в реляционной БД Реляционная алгебра Данные. Реляционная модель данных Реляционная БД SQL-стандартн ый язык запросов

Реляционная модель Цели создания реляционной модели: 1) Обеспечение высокой степени независимости от данных. 2) Н ормализ ация отношений, т. е. создание отношени й без повторяющихся групп. 3) Рас ширение языков управления данными за счет включения операций над множествами.

Реляционная модель Используемая терминология По сколько Кодд, будучи опытным математиком, широко использовал математическую терминологию теории множеств и логики предикатов. Реляционная модель основана на математическом понятии отношения, физическим представлением которого является таблица.

Используемая терминология Структура реляционных данных Отношение Атрибут Домен Кардинальность Кортеж Степень отношения Таблицы данных Реляционная база данных

Используемая терминология Н омер Фамилия Оценка 6 Иванов 5 17 Петров 4 19 Сидоров 4. 5О Т Н О Ш Е Н И Е С Т Е П Е Н Ь К А Р Д И Н А Л Ь Н О С Т ЬАТРИБУТЫ КОРТЕЖ Структура реляционных данных

Используемая терминология Отношение — это плоская таблица (двумерная) , состоящая из столбцов и строк. Атрибут — это поименованный столбец отношения. Домен — это набор допустимых значений для одного или нескольких атрибутов, благодаря ему пользователь может централизованно определять смысл и источник значений, которые могут получать атрибуты. Кортеж — это строка отношения. Кортежи называются расширением, состоянием или телом отношения, которое постоянно меняется. Описание структуры отношения вместе со спецификацией доменов и любыми другими ограничениями возможных значений атрибутов иногда называют его заголовком (или содержанием (intension)).

Используемая терминология Степень отношения определяется количеством атрибутов, которое оно содержит. Кардинальность — это количество кортежей, которое содержит отношение. Кардинальность — свойств о тела отношения (меняется при каждом добавлении или удалении кортежей). Реляционная база данных — это набор нормализованных отношений. Реляционная база данных состоит из отношений, структура которых определяется с помощью особых методов, называемых нормализацией.

Альтернативная терминология Официальные термины Альтернативный вариант 1 Альтернативный вариант 2 Отношение Таблица Файл Кортеж Строка Запись Атрибут Столбец Поле

Отношения и их свойства в базе данных Реляционная схема – это имя отношения, за которым следует множество пар атрибутов и доменов. атрибут ы А 1 , А 2, . . Аn реляционн ая схем а: домен ы D 1, D 2 . . Dn {А 1: D 1. . . An: Dn } В реляционной модели отношение можно представить как произвольное подмножество декартового произведения, а таблица – это физическое представление такого отношения.

Отношения и их свойства в базе данных Свойства отношений: Отношение имеет неповторимое имя. Каждая ячейка отношения содержит только атомарное (неделимое) значение. Каждый атрибут имеет уникальное имя. Значения атрибута берутся из одного и того же домена. Порядок следования атрибутов не имеет никакого значения. Каждый кортеж является уникальным, т. е. дубликатов кортежей быть не может. П орядок следования кортежей в отношении не имеет никакого значения.

Реляционные ключи Суперкпюч (superkey) – а трибут или множество атрибутов, которое единственным образом идентифицирует кортеж данного отношения. Потенциальный ключ – это суперключ, который не содержит подмножества, также являющегося суперключом данного отношения. Потенциальный ключ К для данного отношения R обладает двумя свойствами: Уникальность. В каждом кортеже отношения R значение ключа К единственным образом идентифицируют этот кортеж. Неприводимость. Никакое допустимое подмножество ключа К не обладает свойством уникальности.

Реляционные ключи Н аличие значений-дубликатов в конкретном существующем наборе кортежей доказывает то, что некоторая комбинация атрибутов не может быть потенциальным ключом. Если ключ состоит из нескольких атрибутов, то он называется составным ключом. Первичный к люч – это потенциальный ключ, который выбран для уникальной идентификации кортежей внутри отношения. Поскольку отношение не содержит кортежей-дубликатов, всегда можно уникальным образом идентифицировать каждую его строку. Это значит, что отношение всегда имеет первичный ключ.

Реляционные ключи Потенциальные ключи, которые не выбраны в качестве первичного ключа, называются альтернативными ключами. Внешний ключ – это атрибут или множество атрибутов внутри отношения, которое соответствует потенциальному ключу некоторого (может быть, того же самого) отношения.

Представление схем в реляционной базе данных Реляционная база данных может состоять из произвольного количества отношений. Концептуальной моделью, или концептуальной схемой, называется множество всех реляционных баз данных.

Реляционная целостность Модель данных имеет две части: — управляющую часть, которая определяет типы допустимых операций с данными, — набор ограничений целостности, которые гарантируют корректность данных. Определитель NULL вводится в связи с поддержанием правил целостности и указывает, что значение атрибута в настоящий момент неизвестно или неприемлемо для этого кортежа. Нули и пробелы представляют собой некоторые значения, тогда как ключевое слово NULL призвано обозначать отсутствие какого-либо значения.

Реляционная целостность Целостность сущностей означает, что в отношении ни один атрибут первичного ключа не может содержать отсутствующих значений, обозначаемых определителем NULL. Если будет определителя NULL в любой части первичного ключа, это утвержд ает, что не все его атрибуты необходимы для уникальной идентификации кортежей. Это противоречит определению первичного ключа.

Реляционная целостность Ссылочная целостность. Если в отношении существует внешний ключ, то значение внешнего ключа должно либо соответствовать значению потенциального ключа некоторого кортежа в его базовом отношении, либо задаваться определителем NULL. Корпоративные ограничения целостности данных это дополнительные правила поддержки целостности, определяемые пользователями или администраторами базы данных.

Реляционные языки Р еляционн ая алгебра — (высокоуровневый) процедурный язык. Использ ование: сообщение СУБД о том, как следует построить требуемое отношение на базе одного или нескольких существующих в базе данных отношений. Реляционное исчисление — непроцедурный язык. Использ ование: определения того, каким будет некоторое отношение, созданное на основе одного или нескольких других отношений базы данных. Реляционно-полный язык Использ ование: получение любого отношения, которое можно вывести с помощью реляционного исчисления.

Реляционная алгебра — теоретический язык операций, который на основе одного или нескольких отношений позволяет создавать другое отношение без изменения самих исходных отношений.

Основные операции реляционной алгебры: — выборка (selection) — проекция (р rojection) — декартово произведение (с artesian product) — объединение (union) — разность (set difference) Дополнительные операции: — соединения (join) — пересечения (intersection) — деления (division) Реляционная алгебра

Унарные операции реляционной алгебры Операция выборки: Работает с одним отношением R. Определяет результирующее отношение с тем же заголовком, что и отношение R , и телом, состоящ и м из кортежей, значения атрибутов которых при подстановке в условие (предикат) дают значение истина.

Унарные операции реляционной алгебры Простейший случай: X Y — условие (предикат), – один из операторов сравнения (, и т. д.), X и Y — атрибуты отношения R или скалярные значения. Синтаксис операции выборки: R where , или R where (X Y) Синтаксис на языке SQL: select * from R where (X Y)

Унарные операции реляционной алгебры Пример о пераци и выборки Отношение R (информация о студентах) Результат выборки R where Средний бал<5 Номер студента Фамилия Средний балл 6 17 19 Иванов Петров Сидоров 5 4 4, 5 Номер студента Фамилия Средний балл 17 19 Петров Сидоров 4 4,

Унарные операции реляционной алгебры Операция проекции: Работает с одним отношением R. Определяет новое отношение с заголовком (X , …, Z) , содержащее вертикальное подмножество отношения R , создаваемое посредством извлечения значений указанных атрибутов из результата строк-дубликатов. Синтаксис операции проекции: R [ X , …, Z ] Синтаксис на языке SQL: Select X , Y , …, Z from R

Унарные операции реляционной алгебры Пример о пераци и проекции Отношение R (информация о преподавателях) Предмет География История Философия Табельный номер Фамилия Предмет 4587 Бондаренко География 2136 Воронин История 5496 Анисимова Философия Проекция R [Предмет]

Операции с множествами Декартово произведение R×S определяет новое отношение, которое является результатом конкатенации (т. е. сцепления) каждого кортежа из отношения R с к аждым кортежем из отношения S. Синтаксис операции декартового произведения: R times S Синтаксис на языке SQL: Select * from R , S

Номер студента Фамилия 6 Иванов 17 Петров 19 Сидоров Код предмета Название 101 Физика 102 Математика 103 Информатика. Операции с множествами Пример декартового произведения Отношение R (Студенты) Отношение S (Предметы)

Номер студента Фамилия Код предмета Название 6 Иванов 101 Физика 6 Иванов 102 Математика 6 Иванов 103 Информатика 17 Петров 101 Физика 17 Петров 102 Математика 17 Петров 103 Информатика 19 Сидоров 101 Физика 19 Сидоров 102 Математика 19 Сидоров 103 Информатика. Отношение R TIMES SОперации с множествами

Операции с множествами Операция объединения R S получается в результате конкатенации R и S , с образованием одного отношения с тем же заголовком, что и у отношений R и S и телом, состоящим из кортежей, прин адлежащих или R , или S , или обоим отношениям (с максимальным количеством кортеже й) , если кортежи-дубликаты исключены. Синтаксис операции объединения: R union S. Синтаксис на языке SQL: (Select * from R) union (select * from S)

Номер студента Фамилия Средний балл 6 Иванов 5 17 Петров 4 19 Сидоров 4, 5 Номер студента Фамилия Средний балл 6 Иванов 5 18 Пушников 3, 5 19 Сидоров 4, 5Операции с множествами Пример операции объединения Отношение R (информация о студентах) Отношение S (информация о студентах)

Номер студента Фамилия Средний балл 6 Иванов 5 17 Петров 4 19 Сидоров 4, 5 18 Пушников 3, 5Объединение отношений R и S Операции с множествами

Операции с множествами Операция разности R-S определяет отношение с тем же заголовком, что и у отношений R и S , и телом, состоящим из кортежей, принадлежащих отношению R и не принадлежащих отношению S , таких, которые имеются в отношении R , но отсутствуют в отношении S. Синтаксис операции разности: R minus S Синтаксис на языке SQL: (select * from R) exept (select * from S)

Операции с множествами (щшибка) Пример операции разности Отношение R Номер студента Фамилия Средний балл 6 Иванов 5 17 Петров 4 19 Сидоров 4, 5 Отношение S Номер студент Фамилия Средний балл 6 Петров 4 18 Сидоров 4, 5 20 20 Пушников 3,

Операции с множествами Номер студента Фамилия Средний балл 17 Петров 4 19 Сидоров 4, 5Отношение R MINUS S

Операции с множествами Операция пересечения R ∩ S определяет отношение, которое содержит кортежи, присутствующие как в отношении R , так и в отношении S. Синтаксис операции пересечения: R intersect S Синтаксис на языке SQL: (Select * from R) intersect (select * from S)

Операции с множествами Пример операции пересечения Номер студента Фамилия Средний балл 6 Иванов 5 17 Петров 4 19 Сидоров 4, 5Отношение R (информация о студентах) Номер студента Фамилия Средний балл 6 Иванов 5 18 Пушников 3, 5 20 Сидоров 4, 5Отношение S (информация о студентах)

Номер студента Фамилия Средний балл 6 Иванов 5 Операции с множествами Отношение R INTERSECT S

Операции соединения Операция соединения — комбинация декартового произведения и выборки, эквивалентна операции выборки из декартового произведения двух операндов отношений тех кортежей, которые удовлетворяют условию, указанному в предикате соединения в качестве формулы выборки. Соединением отношений R и S по условию F называется отношение (R times S) where F Синтаксис на языке SQL: Select R. *, S. * from R, S where f

Операции соединения Тип ы операций соединения: — т ета-соединение — соединение по эквивалентности (частный случай тета-соединения) — естественное соединение — внешнее соединение — полусоединение

Операции соединения Т ета-соединение определяет отношение, которое содержит кортежи из декартового произведения отношений R и S , удовлетворяющие предикату F. Предикат F имеет вид, где — один из операторов сравнения (<, >=, = или -=). — соединением отношения R по атрибуту X с отношением S по атрибуту Y называют отношение (R times S) where (X Y). Синтаксис на языке SQL: Select * from R, S where (R. X S. Y) SRF iib. Sa. R. .

Операции соединения Пример тета-соединения В базе данных хранится информация о: — преподавателях; — предметах. Примечание: преподаватели имеют право преподавать предметы, статус которых не выше статуса преподавателя. Табельный номер Фамилия X(Статус преподавателя) 4587 Бондаренко 4 2136 Воронин 1 5496 Анисимова 2 Отношение R (Преподаватели) Код предмета Название Y(Статус предмета) 101 История 3 102 География 2 103 Философия 1 Отношение S (Предметы)

Операции соединения Ответ на вопрос: “Какие преподаватели имеют право преподавать какие предметы? » дает -соединение R [ X Y ] S: Табельный номер Фамилия X(Статус преподавателя) Код предмета Название Y(Статус предмета) 4587 Бондаренко 4 101 История 3 4587 Бондаренко 4 102 География 2 4587 Бондаренко 4 103 Философия 1 2136 Воронин 1 103 Философия 1 5496 Анисимова 2 102 География 2 5496 Анисимова 2 103 Философия 1 Отношение «Какие преподаватели преподают какие предметы? «

Операции соединения Э кви-соединение (соединение по эквивалентности) — частный случай -соединения, когда есть просто равенство (предикат F содержи т только оператор равенства (=)). Синтаксис экви-соединения: R [ X = Y ] S Синтаксис на языке SQL: select R. *, S . * from R, S where (R. X = S. Y)

Операции соединения(Ошибка) Пример экви-соединения Номер студента S NUM Фамилия студента S NAME 6 Иванов 17 Петров 19 Сидоров Отношение S (Студенты) Код предмета PCOD Название предмета P NAME 101 Физика 102 Математика 103 Информатика Отношение P (Предметы)

Номер студента S NUM Код предмета PCOD Средний бал по предмету SRBALL 6 101 4, 5 6 102 4 6 103 5 17 101 3, 5 17 102 4 19 101 4, 5 Операции соединения Отношение SP (Изучение) Ответ на вопрос: » Какие предметы изучаются студентами? “, дает экви-соединение S [ S NUM= S NUM] SP. Т. к. в отношениях имеются одинаковые атрибуты, то требуется сначала их переименовать. Получаем: (S rename S NUM as S NUM 1)[ S NUM 1= S NUM 2](SP rename S NUM as S NUM 2).

Номер студента S NUM 1 Фамилия студента S NAME Номер студента S NUM 2 Код предмета PCOD Средний балл по предмету SRBALL 6 Иванов 6 101 4, 5 6 Иванов 6 102 4 6 Иванов 6 103 5 17 Петров 17 101 3, 5 17 Петров 17 102 4 19 Сидоров 19 101 4, 5 Операции соединения Отношение «Какие предметы изучаются какими студентами? «

Операции соединения Естественное соединене — соединение по эквивалентности двух отношений R и S , выполненное по всем общим атрибутам, из результатов которого исключается по одному экземпляру каждого общего атрибута. Синтаксис естественного соединения: R join S. Естественное соединение производится по всем одинаковым атрибутам. SR

Операции соединения Пример естественного соединения Упрощенная запись: Ответ на вопрос «Какие предметы изучаются какими студентами? “ в виде естественного соединения трех отношений S join SP join P: Номер студента S NUM Фамилия студента S NAME Код предмета PCOD Название предмета P NAME Средний балл по предмету SRBALL 6 Иванов 101 Физика 4, 5 6 Иванов 102 Математика 4 6 Иванов 103 Информатика 5 17 Петров 101 Физика 3, 5 17 Петров 102 Математика 4 19 Сидоров 101 Физика 4, 5 Отношение S JOIN SP JOIN P

Операции соединения Операция внешнего соединения используется при соединении двух отношений, столбцы которых имеют несовпадающие значения. Внешнее соединение: левое и правое. Левое внешнее соединение: кортежи отношения R , не имеющие совпадающих значений в общих столбцах отношения S , также включаются в результирующее отношение. О бозначения отсутствующих значений во втором отношении — определитель NULL. SR

Номер студента Фамилия Средний бал 6 Иванов 5 17 Петров 3 19 Сидоров 4 Примечание: с тудент может принимать участие в олимпиадах по предметам, установленный общий бал которых не больше среднего бала студента. Задание: н а основе отношений R и S создать список, в котором указаны студенты и предметы, по которым они учавствуют в олимпиадах. Операции соединения Пример левого внешнего соединения Отношение R

Отношение S Код предмета Название Общий балл 101 Физика 4, 5 102 Химия 4 Номер студента Фамилия Средний балл Код предмета Название Общий балл 6 Иванов 5 101 Физика 4, 5 6 Иванов 5 102 Химия 4 17 Петров 3 NULL 19 Сидоров 4 102 Химия 4 Таблица ((П (R)) S)< Операции соединения

Операции соединения Правое внешнее соединение: в результирующем отношении содержатся все кортежи правого отношения. Полное внешнее соединение: в результирующее отношение помещаются все кортежи из обоих отношений и для обозначения несовпадающих значений кортежей используются определители NULL.

Операции соединения Операция полусоединения: определяет отношение, которое содержит те кортежи отношения R , которые входят в соединение отношений R и S. Формулировка операции полусоединения с помощью операторов проекции и соединения: SRF)SR(ПSRFAF где А — набор всех атрибутов в отношении R.

Пример операции полусоединения Номер студента Фамилия Средний балл Код предмета Название Общий балл 6 Иванов 5 101 Физика 4, 5 6 Иванов 5 102 Химия 4 19 Сидоров 4 102 Химия 4Операции соединения

Операция деления П усть: — отношение R определено на множестве атрибутов А; — отношение S - на множестве атрибутов В; — В А; — С=А-В (С является множеством атрибутов отношения R , которые не являются атрибутами отношения S). Результат деления R S — набор кортежей отношения R , определенных на множестве атрибутов С, которые соответствуют комбинации всех кортежей отношения S.

Операция деления Пример операции деления Отношение R Номер группы Количество студентов ФИО куратора Код предмета Название предмета ТМ-31 20 Иванов 01 Математика ТМ-32 22 Петров 01 Математика ТИ-31 13 Сидоров 01 Математика ТМ-31 20 Иванов 02 Физика ТМ-32 22 Петров 02 Физика

Отношение S T 1: Select ’Код предмета’, ’Название предмета’ from RОперация деления Номер группы Количество студентов ФИО куратора ТМ-31 20 Иванов ТМ-32 22 Петров ТИ-31 13 Сидоров Код предмета Название предмета 01 Математика 02 Физика

T 21: Select * from T 1, S Операция деления Код предмета Название предмета Номер группы Количество студентов ФИО куратора 01 Математика ТМ-31 20 Иванов 01 Математика ТМ-32 22 Петров 01 Математика ТИ-31 13 Сидоров 02 Физика ТМ-31 20 Иванов 02 Физика ТМ-32 22 Петров 02 Физика ТИ-31 13 Сидоров

T 22: (Select * from T 21) exept (Select * from R) T 2: Select ’Код предмета’, ’Название предмета’ from T 22 Операция деления Р= T 1- T 2 Код предмета Название предмета Номер группы Количество студентов ФИО куратора 02 Физика ТИ-31 13 Сидоров Код предмета Название предмета 02 Физика Код предмета Название предмета 01 Математика

Реляционное исчисление Происхождение н азвания “ реляционное исчисление ”: от части символьной логики, которая называется исчислением предикатов. Реляционное исчисление существует в двух формах: — реляционного исчисления кортежей; — реляционного исчисления доменов.

Реляционное исчисление Предикат в логике первого порядка ─ истинностная функция с параметрами. Суждение ─ выражение, которое принимает функция после подстановки значений вместо параметров. Суждение: истинное и ложное. Пусть: Р — предикат; х — переменная. Тогда: — множество всех значений х, при которых суждение Р – истина. Предикаты могут соединяться с помощью логических операторов: (AND), (О R) и (N OT) с образованием составных предикатов.)}x(P|x{

Реляционное исчисление кортежей Задача реляционного исчисления кортежей: нахождение кортежей, для которых предикат является истинным. Исчисление основано на переменных кортежа. Переменными кортежа — переменные, областью определения которых является указанное отношение.

Пример З апрос: “ Выбрать атрибуты № склада, адрес, идент. код, дата, ФИО заказчика для заказов с количеством >60 » Запись запроса: { S | R (S) ^ S. количество > 6 0} Пояснение: Выражение “S. количество часов ” — значение атрибута количество часов для кортежа. Реляционное исчисление кортежей

Реляционное исчисление кортежей Д ва типа кванторов, используемых для указания количества экземпляров, к которым должен быть применен предикат: — квантор существования (символ “существует”) : используется в формуле, которая должна быть истинной хотя бы для одного экземпляра; — квантор общности (символ “для всех”): используется в выражениях, которые относятся ко всем экземплярам.

П ример применения квантора существования Студент (S) ^ {Зв} (Год рождения (B) ^ (В. имя =S. имя) ^ В. группа =’ ТИ-31 ‘) В ыражение означает: в отношении Год рождения существует кортеж, который имеет такое же значение атрибута имя, что и значение атрибута имя в текущем кортеже S из отношения Студент, а атрибут группа из кортежа В имеет значение ‘ ТИ-31 ‘. Пример применения квантора общности (B) (В. группа * ‘ ТИ-31 ‘) Выражение означает: ни в одном кортеже отношения Год рождения значение атрибута группа не равно ‘ ТМ-31 ‘. Реляционное исчисление кортежей

Свободные переменные — переменные кортежа, которые неквалифицируются кванторами, в противном случае они называются связанными переменными. В реляционном исчислении допустимые формулы – только недвусмысленные и небессмысленные последовательности. Реляционное исчисление кортежей

Правила построения формулы в исчислении предикатов: 1. Если Р — n -арная формула (предикат с n аргументами), t 1, t 2, …, tn — константы или переменные, то Р (t 1, t 2, …, tn) — правильно построенная формула. 2. Если t и t 2 — константы или переменные из одного домена, — один из операторов сравнения (<, >=, -=), то t 1 t 2 — правильно построенная формула. 3. Если F 1 , F 2 — формулы, то F 1 F 2 — конъюнкция формул, F 1 F 2 — дизъюнкция, — отрицание. 4. Если F 1 — формул а со свободной переменной X , то F (Х) и F(Х) — также формулы. FРеляционное исчисление кортежей

Реляционное исчисление доменов Значения переменных, используемых в реляционном исчислении доменов берутся из доменов, а не из кортежей отношений. Путь: Р(d 1, d 2, …, dn) — предикат; d 1, d 2, …, dn — переменные. Тогда: { d 1, d 2, …, dn |Р(d 1, d 2, …, dn)} — множество всех переменных домена, для которых предикат — истина. Выражение R(х, у) — истинное тогда и только тогда, когда в отношении R имеется кортеж со значениями х и у в двух его атрибутах.

Пример Найти: имена всех менеджеров, зарплата которых превышает 2500 гривен. {Имя, Фамилия должность, зарплата ((фамилия, должность, зарплата) должность= ‘менеджер’ зарплата>2500)} Реляционное исчисление доменов

Другие языки Дополнительные категории реляционных языков: — на основе преобразований; — графические языки; — языки четвертого поколения. Языки на основе преобразований — класс непроцедурных языков Используют отношения для преобразования исходных данных к требуемому вид у (примеры: SQUARE , SEQUEL и его версии, SQL).

Графические языки — рисунок или другое графическое отображение структуры отношения. Пользователь создает некий образец желаемого результата, и система возвращает затребованные данные в указанном формате (пример: QBE). Языки четвертого поколения: — создают полностью готовое и соответствующее требованиям заказчика прикладное приложение с помощью ограниченного набора команд; — предоставляют дружественную по отношению к пользователю среду разработки. Другие языки

Эта модель данных реализована во многих существующих СУБД, причем на сегодняшний день она является

наиболее распространенной. Основные достоинства реляционного подхода:

небольшой набор простых и точных понятий, которые позволяют моделировать разнообразные предметные области;теоретическая поддержка в виде

мощного математического аппарата

теории множеств и реляционной алгебры;

При формальном рассмотрении этой модели, которая относится к низкоуровневым моделям данных, выделяют следующие основные

аспекты: структурная организация данных

– от этого зависит эффективность хранения данных и скорость их обработки;

способы обеспечения целостности данных – для исключения противоречий между взаимосвязанными элементами данных;

манипулирование данными, т.е.

Структурная организация данных в реляционной модели

Основа реляционной модели –

математическое понятие отношения (англ. – relation).

Физическим представлением отношения является обычная двумерная таблица .

В отдельной таблице обычно хранятся данные для некоторого

информационного объекта (ИО).

При таком способе структурирования данных БД называется реляционной .

Примеры информационных объектов

В таблице реляционной БД столбцы называют полями и они соответствуют реквизитам ИО , для которого предназначена рассматриваемая таблица.

Каждому полю обычно дают содержательное название , причем в отдельной таблице названия полей не

должны повторяться .

Строки таблицы для хранения данных называют записями (или кортежами ).

В полях отдельной записи хранятся значения реквизитов для конкретного экземпляра рассматриваемого ИО.

Пример таблицы для хранения данных

При формировании заголовка таблицы порядок расположения столбцов значения не имеет.

Количество столбцов определяет

степень отношения (таблицы).

Унарное отношение имеет степень 1, а бинарное отношение – степень 2.

Кардинальность отношения

измеряется количеством записей

Фундаментальные (базовые) свойства отношения (таблицы)

1.Каждая ячейка отношения содержит только одно элементарное (атомарное, неделимое) значение.

2.Каждая запись является уникальной, т.е. дублирование записей не допускается.

Это следует из определения таблицы как множества записей, а каждое множество по определению состоит из различных элементов.

3.Порядок размещения записей не имеет никакого значения, что также вытекает из понятия «множество».

При необходимости записи можно

упорядочить с помощью операции

Целостность данных в реляционной модели

Эти требования, гарантирующие корректность данных, включают в себя два условия:

целостность таблиц (отношений);

Требование целостности таблицы

состоит в том, что любая запись в рассматриваемой таблице должна быть отличимой от любой другой записи.

Минимальный набор атрибутов, позволяющий однозначно

идентифицировать каждую запись рассматриваемого отношения,

называется потенциальным ключом. Ключ называют простым, если он состоит из одного атрибута (поля).

Например, по номеру налогоплательщика (ИНН) можно однозначно определить его адрес, фамилию и другие персональные данные.

Ключ называется составным , если он

образован из нескольких атрибутов.

Отношение всегда имеет хотя бы один ключ, т.к. в крайнем случае для этой роли можно использовать все

множество атрибутов.

Тот потенциальный ключ, который выбран для однозначной идентификации

записей таблицы, называют первичным ключом (Primary Key - PK).

В составе первичного ключа ни один атрибут не может содержать пустых значений (NULL).

Остальные потенциальные ключи

становятся альтернативными ключами (Alternate Key - AK).

Для первичного ключа лучше всего

Требование ссылочной

целостности обусловлено тем, что

очень часто данные для

взаимосвязанных информационных

объектов (ИО) хранятся в разных

Преподава

таблицах.

(РК Кодтели преп

Код_кафед

Отчество

Должность

Название

(FК Кафедра






















1 из 21

Презентация на тему:

№ слайда 1

Описание слайда:

№ слайда 2

Описание слайда:

База данных В узком смысле слова, база данных - это некоторый набор данных, необходимых для работы. Однако данные - это абстракция; никто никогда не видел "просто данные"; они не возникают и не существуют сами по себе. Данные суть отражение объектов реального мира.В широком смысле слова база данных - это совокупность описаний объектов реального мира и связей между ними, актуальных для конкретной прикладной области.

№ слайда 3

Описание слайда:

Классификация СУБД от модели данных Традиционно все СУБД классифицируются в зависимости от модели данных, которая лежит в их основе. Принято выделять: Иерархическую модель данныхСетевую модель данныхРеляционную модель данныхИногда к ним добавляют модель данных на основе инвертированных списков.

№ слайда 4

Описание слайда:

Реляционная модель данных Реляционной считается такая база данных, в которой все данные представлены для пользователя в виде прямоугольных таблиц значений данных, и все операции над базой данных сводятся к манипуляциям с таблицами. Таблица состоит из строк и столбцов и имеет имя, уникальное внутри базы данных. Таблица отражает тип объекта реального мира, а каждая ее строка - конкретный объект.

№ слайда 5

Описание слайда:

Основные понятия базы данных Так, таблица Деталь содержит сведения о всех деталях, хранящихся на складе, а ее строки являются наборами значений атрибутов конкретных деталей. Каждый столбец таблицы - это совокупность значений конкретного атрибута объекта. Так, столбец Материал представляет собой множество значений "Сталь", "Олово", "Цинк", "Никель". В столбце Количество содержатся целые неотрицательные числа. Значения в столбце Вес - вещественные числа, равные весу детали в килограммах.Эти значения не появляются из воздуха. Они выбираются из множества всех возможных значений атрибута объекта, которое называется доменом. Так, значения в столбце материал выбираются из множества имен всех возможных материалов - пластмасс, древесины, металлов и т.д. Следовательно, в столбце Материал принципиально невозможно появление значения, которого нет в соответствующем домене, например, "вода" или "песок".Каждый столбец имеет имя, которое обычно записывается в верхней части таблицы. Оно должно быть уникальным в таблице, однако различные таблицы могут иметь столбцы с одинаковыми именами. Любая таблица должна иметь по крайней мере один столбец; столбцы расположены в таблице в соответствии с порядком следования их имен при ее создании. В отличие от столбцов, строки не имеют имен; порядок их следования в таблице не определен, а количество логически не ограничено.

№ слайда 6

Описание слайда:

№ слайда 7

Описание слайда:

Взаимосвязь таблиц базы данных Взаимосвязь таблиц является важнейшим элементом реляционной модели данных. Она поддерживается внешними ключами. Рассмотрим пример, в котором база данных хранит информацию о рядовых служащих (таблица Служащий) и руководителях (таблица Руководитель) в некоторой организации. Первичный ключ таблицы Руководитель - столбец Номер. Столбец Фамилия не может выполнять роль первичного ключа, так как в одной организации могут работать два руководителя с одинаковыми фамилиями. Любой служащий подчинен единственному руководителю, что должно быть отражено в базе данных. Таблица Служащий содержит столбец Номер руководителя, и значения в этом столбце выбираются из столбца Номер таблицы Руководитель. Столбец Номер Руководителя является внешним ключом в таблице Служащий.

№ слайда 8

Описание слайда:

№ слайда 9

Описание слайда:

Таблицы невозможно хранить и обрабатывать, если в базе данных отсутствуют "данные о данных", например, описатели таблиц, столбцов и т.д. Их называют обычно метаданными. Метаданные также представлены в табличной форме и хранятся в словаре данных.Помимо таблиц, в базе данных могут храниться и другие объекты, такие как экранные формы, отчеты, представления и даже прикладные программы, работающие с базой данных.Для пользователей информационной системы недостаточно, чтобы база данных просто отражала объекты реального мира. Важно, чтобы такое отражение было однозначным и непротиворечивым. В этом случае говорят, что база данных удовлетворяет условию целостности.Для того, чтобы гарантировать корректность и взаимную непротиворечивость данных, на базу данных накладываются некоторые ограничения, которые называют ограничениями целостности.

№ слайда 10

Описание слайда:

Ограничительные условия, поддерживающие целостность В реляционной модели Кодда есть несколько ограничительных условий, используемых для проверки данных в базе данных, а также для придания осмысленности структуре данных. Принято выделять следующие ограничения: Категорная целостностьЦелостность на уровне ссылокФункциональные зависимости

№ слайда 11

Описание слайда:

Целостность категории и ссылок В целостной части реляционной модели данных фиксируются два базовых требования целостности, которые должны поддерживаться в любой реляционной СУБД. Первое требование называется требованием целостности сущности.Второе требование называется требованием целостности по ссылкам, является более сложным

№ слайда 12

Описание слайда:

№ слайда 13

Описание слайда:

Традиционные операции Объединение двух отношений (С1 = А U В) предполагает, что на входе задано два односхемных отношения А и В. Результат объединения есть построенное по той же схеме отношение С, содержащее все кортежи А и все кортежи отношения В.Пересечение двух отношений (С2=А U В) предполагает на входе два односхемных отношения А и В. На выходе создается отношение по той же схеме, содержащее только те кортежи отношения А, которые есть в отношении В.Вычитание двух отношений (С3=А-В). Все три отношения строятся по одной схеме. В результирующее отношение С3 включаются только те кортежи из А, которых нет в отношении В.Декартово произведение (С4=А X В). Ее важное отличие от предшествующих состоит в том, что отношения А и В могут быть построены по разным схемам, а схема отношения С4 включает все атрибуты отношении А и В.

№ слайда 14

Описание слайда:

Специальные операции Операция селекция выполняется по строкам. На входе операции используется одно отношение. Результат выборки есть новое отношение, построенное по той же схеме, содержащее подмножество кортежей исходного отношения, удовлетворяющих условию выборки.Операция проекция. На входе операции используется одно отношение. Результирующее отношение включает подмножество атрибутов исходного. Каждому кортежу исходного отношения соответствует такой кортеж в результирующем отношении, что значения одинаковых атрибутов этих двух кортежей совпадают. Но при этом в результирующем отношении кортежи-дубликаты устраняются, в связи с чем мощность результирующего отношения может быть меньше мощности исходного.Операция соединение естественное. На входе операции используется два отношения. В каждом из отношений выделен атрибут, по которому будет осуществляться соединение. Оба атрибута должны быть определены на одном и том же домене. Схема результирующего отношения включает все атрибуты двух отношений. Допускается, чтобы в схеме результирующего отношения вместо двух атрибутов, по которым выполняется соединение, был представлен только один. Операция соединение похожа на декартово произведение. Операция деление. На входе операции используется два отношения А и В. Пусть отношение А, называемое делимым, содержит атрибуты (А1,А2, ...,Аn). Отношение В – делитель -содержит подмножество атрибутов А; положим, (А1,А2, ...,Аk), где (k

№ слайда 15

Описание слайда:

Операции реляционной модели данных предоставляют возможность произвольно манипулировать отношениями, позволяя обновлять БД, а также выбирать подмножества хранимых данных и представлять их в нужном виде.Рассмотренные нами операции реляционной алгебры или алгебры отношений, позволяют пошагово описать процесс получения результирующего отношения.

№ слайда 16

Описание слайда:

Нормализация отношений Одна из важнейших проблем проектирования схемы БД заключается в выделении типов записей, определении состава их атрибутов. Группировка атрибутов должна быть рациональной, т.е. минимизирующей дублирование данных и упрощающей процедуры их обработки и обновления.Сначала эти вопросы решались интуитивно. Однако интуиция может подвести даже опытного специалиста, поэтому Коддом был разработан в рамках реляционной модели данных аппарат, называемый нормализацией отношений. И хотя идеи нормализации сформулированы в терминологии реляционной модели данных, они в равной степени применимы и для других моделей данных.Коддом выделено три нормальных формы отношений. Самая совершенная из них - третья. Предложен механизм, позволяющий любое отношение преобразовать к третьей нормальной форме. В процессе таких преобразований могут выделяться новые отношения.

№ слайда 17

Описание слайда:

Первая нормальная форма Отношение называется нормализованным или приведенным к первой нормальной форме (1НФ), если все его атрибуты простые.Ненормализованное отношение легко сделать нормализованным. Такое преобразование может привести к увеличению мощности отношения и изменению ключа.Функциональная зависимость. Пусть Х и Y - два атрибута некоторого отношения, Говорят, что Y функционально зависит от X, если в любой момент времени каждому значению Х соответствует не более чем одно значение атрибута Y. Функциональную зависимость можно обозначить так: Х>Y.Полная функциональная зависимость. Говорят, что не ключевой атрибут функционально полно зависит от составного ключа, если он функционально зависит от ключа, но не находится в функциональной зависимости ни от какой части составного ключа.

№ слайда 18

Описание слайда:

Вторая нормальная форма Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме и каждый не ключевой атрибут функционально полно зависит от составного ключа.Чтобы отношение привести ко второй нормальной форме, необходимо:построить его проекцию, исключив атрибуты, которые не находятся в полной функциональной зависимости от составного ключа;построить дополнительно одну или несколько проекций на часть составного ключа и атрибуты, функционально зависящие от этой части ключа.Транзитивная зависимость. Пусть X, Y, Z - три атрибута некоторого отношения. При этом Х>Y и Y>Z, но обратное соответствие отсутствует, т. е. Z не> или Y не>Х. Тогда говорят, что Z транзитивно зависит от X.

Описание слайда:

Другие нормальные формы Первая нормальная форма запрещает таблицам иметь неатомарные, или многозначные атрибуты. Однако существует множество ситуаций моделирования, требующих многозначных атрибутов. Например, преподаватель в вузе отвечает за несколько дисциплин. Существует несколько решений, каждое из которых имеет определенные недостатки. Все они требуют лишней памяти из-за наличия пустых значений, либо из-за необходимости вводить избыточные данные. Те из них, в которых есть пустые значения, нарушают категорийную целостность, поскольку все атрибуты вместе составляют ключ таблицы. Эти кажущиеся связи между независимыми атрибутами можно исключить, потребовав, чтобы каждое значение атрибута сочеталось с каждым значением другого атрибута как минимум в одной строке. Условие, обеспечивающее независимость атрибутов путем обязательного повторения значений, называется многозначной зависимостью. Многозначная зависимость является таким же ограничительным условием, как функциональная зависимость. Очевидно, что поскольку они требуют огромного числа повторений значений данных, важный этап процесса нормализации состоит в избавлении от многозначных зависимостей.Таблица имеет четвертую нормальную форму (4НФ), если она имеет 3НФ и не содержит многозначных зависимостей.Для избавления от некоторых других аномалий были предложены еще несколько нормальных форм: пятая нормальная форма (5НФ), нормальная форма область/ключ (НФОК) и т.д. Однако они имеют очень ограниченное практическое использование.

№ слайда 21

Описание слайда:

Заключение Необходимо подчеркнуть, что настоящая работа не дает рецепта построения хорошей схемы базы данных. Она, скорее, обозначает проблему и объясняет, как ее можно решить в общем виде. Для того чтобы дать практические рекомендации необходимо выполнить следующие шаги:Выбрать концептуальную модель, с помощью которой будет построена концептуальная схема;Построить точное описание семантических ограничений, поддерживаемых выбранной СУБД;Построить отображение выбранной концептуальной модели в модель данных, поддерживаемую СУБД.Определить, что такое хорошая схема и описать методику ее построения.