ОСНОВНЫЕ ПОНЯТИЯ РЕЛЯЦИОННОЙ МОДЕЛИ ДАННЫХ

  • В основе реляционных систем лежит реляционная модель данных .
  • Принципы реляционной модели были заложены в 1969–1970 гг. американским ученым Е. Ф. Коддом (E. F. Codd), в то время работавшим в корпорации IBM. Будучи математиком по образованию, он привнес в область управления базами данных строгие математические принципы и точность, которых не хватало ранним системам. Хотя реляционный подход утвердился не сразу, можно отметить, что почти все созданные с конца 70-х гг. продукты баз данных основаны именно на реляционном подходе.
  • Подавляющее большинство научных исследований в области баз данных в течение последних 35 лет также проводилось именно в этом направлении.
  • Рассматривая и постепенно уточняя основные понятия реляционной модели, будем иметь в виду три компоненты модели данных:
    • структуры данных,
    • операции, которые можно выполнять над данными, и
    • ограничения, связанные с обеспечением целостности данных.
  • Основной структурой данных в реляционной модели являются таблицы , называемые в реляционной теории отношениями. Собственно от термина отношение (по-английски relation) и произошло само название модели – реляционная . На рисунке приведен пример такой таблицы-отношения и пояснение основных терминов реляционной модели – кортеж, кардинальное число, атрибут, степень, домен, первичный ключ .
ОСНОВНЫЕ ПОНЯТИЯ РЕЛЯЦИОННОЙ МОДЕЛИ ДАННЫХ
  • Отношение это таблица , подобная приведенной на рисунке, состоящая из строк и столбцов и имеющая вверху строку, называемую заголовок отношения .
  • Строки таблицы-отношения называются кортежами (tuple), а столбцы атрибутами (attribute).
  • Количество кортежей в отношении называется кардинальным числом отношения, а количество атрибутов называется степенью отношения.
  • Каждый атрибут в отношении имеет наименование , которое указывается в заголовочной части отношения.
  • Ключ отношения – это атрибут или набор атрибутов отношения такие, что в любой момент времени в отношении не существует строк, для которых значение или комбинация значений ключевых атрибутов являются одинаковыми. Ключ , таким образом, является уникальным идентификатором кортежей отношения (на рисунке ключевой атрибут выделен жирным шрифтом).
  • Домен отношения – это множество значений, из которого могут браться значения конкретного атрибута. То есть конкретный набор значений атрибута в любой момент времени должен быть подмножеством множества значений домена, на котором определен этот атрибут. Значения атрибута, которые отсутствуют в множестве, задаваемом доменом, являются недопустимыми.
ОСНОВНЫЕ ПОНЯТИЯ РЕЛЯЦИОННОЙ МОДЕЛИ ДАННЫХ
  • Понятие домена является важным для реляционной модели. Домен фактически задает ограничения, которым должны удовлетворять значения соответствующего атрибута.
  • Как уже отмечалось, приведенные выше определения не являются строгими. Такие термины как таблица, строка, столбец, строго говоря, не являются полностью эквивалентными используемым в реляционной модели математическим понятиям отношение, кортеж, атрибут соответственно. Однако на практике их часто используют именно как синонимы, что, в общем, допустимо, если при этом понимать, какой действительный смысл вкладывается в эти термины.
  • Основные задачи проектирования баз данных:
    • Обеспечение хранения в БД всей необходимой информации.
    • Обеспечение возможности получения данных по всем необходимым запросам.
    • Сокращение избыточности и дублирования данных.
    • Обеспечение целостности данных (правильности их содержания): исключение противоречий в содержании данных, исключение их потери и т.д.
  • Основные этапы проектирования баз данных:
  • 1) Концептуальное (инфологическое) проектирование – построение формализованной модели предметной области. Такая модель строится с использованием стандартных языковых средств, обычно графических, например ER-диаграмм (диаграмм «Сущность-связь»). Такая модель строится без ориентации на какую-либо конкретную СУБД.
    • Основные элементы данной модели:
    • Описание объектов предметной области и связей между ними.
    • Описание информационных потребностей пользователей (описание основных запросов к БД).
    • Описание алгоритмических зависимостей между данными.
    • Описание ограничений целостности, т.е. требований к допустимым значениям данных и к связям между ними.
ЭТАПЫ И ОСНОВНЫЕ ПРИНЦИПЫ ПРОЕКТИРОВАНИЯ БАЗЫ ДАННЫХ
  • 2) Логическое (даталогическое) проектирование – отображение инфологической модели на модель данных, используемую в конкретной СУБД, например на реляционную модель данных. Для реляционных СУБД даталогическая модель – набор таблиц, обычно с указанием ключевых полей, связей между таблицами. Если инфологическая модель построена в виде ER-диаграмм (или других формализованных средств), то даталогическое проектирование представляет собой построение таблиц по определённым формализованным правилам, а также нормализацию этих таблиц. Этот этап может быть в значительной степени автоматизирован.
  • 3) Физическое проектирование – реализация даталогической модели средствами конкретной СУБД, а также выбор решений, связанных с физической средой хранения данных: выбор методов управления дисковой памятью, методов доступа к данным, методов сжатия данных и т.д. – эти задачи решаются в основном средствами СУБД и скрыты от разработчика БД.
  • На этапе инфологического проектирования в ходе сбора информации о предметной области требуется выяснить:
    • основные объекты предметной области (объекты, о которых должна храниться информация в БД);
    • атрибуты объектов;
    • связи между объектами;
    • основные запросы к БД.
ЭТАПЫ И ОСНОВНЫЕ ПРИНЦИПЫ ПРОЕКТИРОВАНИЯ БАЗЫ ДАННЫХ
  • Принципы разработки многопользовательских баз данных долж-ны сводиться к соблюдению двух обязательных условий: систем-ного подхода и стандартизации .
  • Системный подход. Системный подход к разработке информа-ционной системы означает, что такая система рассматривается как большая система, состоящая из некоторого множества вза-имосвязанных и взаимодействующих между собой элементов. При проектировании информационных систем необходимо соблюдать следующие принципы:
    • учет интересов всех потенциальных пользователей систем;
    • модульный принцип разработки и внедрения.
  • Стандартизация. Стандартизация разработки информационных систем, учитывая их многопользовательский характер, имеет сле-дующие аспекты:
    • информационный;
    • программный;
    • аппаратный.
  • Стандартизация информационного обеспечения обусловлена принципами компьютерной обработки символьной информации, так как объекты баз данных должны однозначно распознаваться компьютером.
ER-МОДЕЛЬ ДАННЫХ
  • Модель сущность-связь (ERM) - модель данных, позволяющая описывать концептуальные схемы предметной области.
  • ER-модель используется при высокоуровневом (концептуальном) проектировании баз данных. С её помощью можно выделить ключевые сущности и обозначить связи , которые могут устанавливаться между этими сущностями.
  • Во время проектирования баз данных происходит преобразование ER-модели в конкретную схему базы данных на основе выбранной модели данных (реляционной, объектной, сетевой или др.).
  • ER-модель представляет собой формальную конструкцию , которая сама по себе не предписывает никаких графических средств её визуализации.
  • Модель «сущность-связь» была предложена в 1976 году Питером Пин-Шен Ченом (англ. Peter Pin-Shen Chen), американским профессором компьютерных наук в университете штата Луизиана.
ER-МОДЕЛЬ ДАННЫХ
  • Нотация Питера Чена
  • Множества сущностей изображаются в виде прямоугольников, множества отношений изображаются в виде ромбов.
  • Если сущность участвует в отношении , они связаны линией. Если отношение не является обязательным, то линия пунктирная.
  • Атрибуты изображаются в виде овалов и связываются линией с одним отношением или с одной сущностью
  • Преобразование концептуальной модели в реляционную состоит в следующем:
    • Построить набор предварительных таблиц и указать первичные ключи.
    • Провести процесс нормализации.
  • Первый пункт мы рассматривали в третьем уроке, со вторым мы пока не знакомы, но ознакомимся на практике. Итак, нам надо построить набор таблиц.
  • Сделать это несложно, т.к. таблицы - это наши объекты, а поля таблиц - атрибуты объектов. Набор предварительных таблиц, исходя из нашей концептуальной модели, выглядит так:
ПРЕОБРАЗОВАНИЕ КОНЦЕПТУАЛЬНОЙ МОДЕЛИ В РЕЛЯЦИОННУЮ
  • Таким образом, у нас определены таблицы , поля , первичные ключи (РК) и связи (FK).
  • В таблицах Журнал поставок и Журнал покупок первичные ключи - составные , т.е. состоят из двух полей .
  • Теоретически бывают таблицы, в которых все поля являются одним составным ключом .
  • Нормализация - это пошаговый, обратимый процесс замены исходной схемы другой схемой, в которой таблицы имеют более простую и логичную структуру. Это нужно для устранения избыточности данных.

Подобные документы

    реферат, добавлен 08.03.2010

    Основные принципы проектирования реляционных баз данных и их практическая реализация в MS Access. Концептуальная и логическая модели реляционной базы данных, ее физическое проектирование. Автоматизация процесса взаимодействия с клиентами и поставщиками.

    курсовая работа, добавлен 10.03.2015

    Разработка концептуальной модели базы данных "Чемпионат авто": описание предметной области, каталог задач, описание таблиц, схема данных, ER-диаграмма. Проектирование реляционной модели "Спортивный комплекс". Реализация и результат работы базы данных.

    курсовая работа, добавлен 14.06.2011

    Понятие базы данных, ее архитектура. Классификация баз данных. Основные модели данных. Примеры структурированных и неструктурированных данных. Достоинства и недостатки архитектуры файл-сервер. Иерархическая модель данных. Виды индексов, нормализация.

    презентация, добавлен 06.08.2014

    Функции автоматизированной системы "Отдел аспирантуры". Проектирование реляционной модели и разработка SQL-кода базы данных. Анализ информационного обеспечения функций. Проектирования глобальной ER-модели. Спецификации локальных ограничений и правил.

    курсовая работа, добавлен 01.04.2011

    Построение инфологической модели данных каталога магазина цифровых дисков. Окно создания новых файлов. Типы данных в Visual FoxPro. Список типов индекса. Структура таблиц, связи между ними. Настройка внешнего вида формы. Выбор поля для сортировки данных.

    курсовая работа, добавлен 24.09.2013

    Информационная система на базе компьютера. Основное отличие системы с базой данных от традиционной файловой системы. Построение концептуальной модели, реляционной модели. Нормализация. Проектирование базы данных в ACCESS. Создание SQL запросов.

    курсовая работа, добавлен 06.11.2008

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

    курсовая работа, добавлен 01.02.2015

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

    реферат, добавлен 28.11.2011

    Определение базы данных и банков данных. Компоненты банка данных. Основные требования к технологии интегрированного хранения и обработки данных. Система управления и модели организации доступа к базам данных. Разработка приложений и администрирование.

Рассматриваемые вопросы: 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). Языки четвертого поколения: — создают полностью готовое и соответствующее требованиям заказчика прикладное приложение с помощью ограниченного набора команд; — предоставляют дружественную по отношению к пользователю среду разработки. Другие языки

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

1 слайд

2 слайд

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

3 слайд

4 слайд

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

5 слайд

6 слайд

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

7 слайд

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

8 слайд

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