Основные понятия БД. Модели данных презентация

Содержание

1. Основные понятия БД 2. Модели данных

Слайд 1Список литературы
Советов Б.Я. Базы данных: теория и практика: учеб. для бакалавров:

[Учеб. для вузов. Рекомендовано УМО]/ Б.Я. Советов, В.В. Цехановский, В.Д. Чертовский.- 2-е изд., стер.- М.: Юрайт, 2012.- 462 с. - (Бакалавр. Базовый курс)
Кузнецов С.Д. Основы баз данных: учеб. пособие/ С.Д.Кузнецов.- 2-е изд., испр.- М.: Интернет-Университет Информационных Технологий: БИНОМ. Лаборатория знаний, 2010.- 484с.
Бейли Л. Изучаем SQL/ Л.Бейли.- М. [и др.]: Питер, 2012.- 582с.
Коннолли Т., Бегг К. Базы данных: проектирование, реализация, сопровождение. Теория и практика, 3-е изд. : Пер. с англ. : Уч. пос. – М.: Изд. дом "Вильямс", 2003. – 1440 с.
Грабер М. SQL. (любое издание).

Слайд 21. Основные понятия БД 2. Модели данных


Слайд 3Основные понятия БД


Слайд 4Две основные предпосылки появления баз данных:
Необходимость хранить и обрабатывать большое

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

Эволюция технологий обработки данных:


Массив данных общего пользования в системах, основанных на данных, называется базой данных.

Предпосылки появления БД


Слайд 5Базы данных: термины
Информация – любые сведения о каком-либо событии, объекте или

процессе, являющиеся объектом некоторых операций: восприятия, передачи, преобразования, хранения или использования.

Данные – это информация, зафиксированная в некоторой форме, пригодной для последующей обработки, передачи и хранения, например, находящаяся в памяти ЭВМ или подготовленная для ввода в ЭВМ.

Слайд 6Базы данных: термины
Обработка данных – это совокупность задач, осуществляющих преобразование массивов данных.


Обработка данных включает в себя:
ввод данных в ЭВМ,
отбор данных по каким-либо критериям,
преобразование структуры данных,
перемещение данных на внешней памяти ЭВМ,
вывод данных, являющихся результатом решения задач, в табличном или в каком-либо ином удобном для пользователя виде.

Слайд 7Базы данных: термины
Система обработки данных (СОД) – это набор аппаратных и программных средств, осуществляющих

выполнение задач по управлению данными.
Управление данными – совокупность функций обеспечения требуемого представления данных, их накопления и хранения, обновления, удаления, поиска по заданному критерию и выдачи данных. [ГОСТ 20886-85]
Предметная область – часть реального мира, подлежащая изучению с целью организации управления и, в конечном итоге, автоматизации.

Слайд 8Базы данных: термины
База данных (БД) – совокупность связанных данных конкретной предметной

области, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования данными, независимо от прикладных программ.

Фактически база данных – это модель предметной области (ПО).
Данные БД могут быть использованы для решения многих задач многими пользователями


Слайд 9Базы данных: термины
Ведение базы данных – деятельность по обновлению, восстановлению и

изменению структуры базы данных с целью обеспечения её целостности, сохранности и эффективности использования [ГОСТ 20886-85].

Система управления базами данных (СУБД) – это совокупность программ и языковых средств, предназначенных для управления данными в базе данных, ведения базы данных и обеспечения взаимодействия её с прикладными программами [ГОСТ 20886-85].

Слайд 10Базы данных: термины
Требования к СУБД
Эффективное выполнение функций ПО
Минимизация избыточности
Предоставление непротиворечивой информации
Безопасность
Простота

в эксплуатации
Простота в физической реорганизации
Возможность централизованного управления
Упрощение приложений

Слайд 11Базы данных: термины
Автоматизированная информационная система (АИС) – совокупность программно-аппаратных средств, предназначенных

для автоматизации деятельности, связанной с хранением, передачей и обработкой информации

Слайд 12Базы данных: термины
Администратор БД (АБД) – это сотрудник (группа лиц), выполняющих

следующие функции:
Координация проектирования, реализации и ведения БД
Обслуживание пользователей БД
Определение структуры данных и правила доступа
Оценка перспективы и формирование требований, исходя из особенностей ПО


Слайд 13Банк данных (БнД)
Банк данных (БнД) – это автоматизированная информационная система, включающая в

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

Слайд 14Компоненты системы баз данных


Слайд 15Компоненты системы баз данных

Основным принципом организации базы данных является совместное хранение

данных и их описаний. Это отличает базу данных от любого другого набора данных, хранящихся в ЭВМ.
Описание базы данных хранится в так называемом словаре-справочнике данных (ССД) или каталоге данных. Хранение данных вместе с их описанием и позволяет обеспечивать независимость данных от программ, т.е. интерпретация данных определяется не программой, а описанием данных.

Слайд 16Уровни представления данных архитектуры ANSI/SPARC


Концептуальный уровень: поддерживает единый взгляд на

базу данных, общий для всех её приложений и независимый от них и от среды хранения.
Внутренний уровень: схема хранения данных в среде хранения.
Внешний уровень (внешние схемы): предназначены для групп пользователей.
Схема базы данных – это описание базы данных в терминах конкретной модели данных.
Физическая и логическая независимость данных.



Слайд 17Актуализация данных в БД



Каждому моменту времени можно сопоставить некоторое состояние предметной

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





Слайд 18Этапы проектирования БД


Слайд 19Предметная область
Информационные потребности пользователей
Построение инфологической модели ПО
Выбор СУБД
Построение концептуальной модели данных

(ЛП)

Построение физической модели данных (ФП)

Этап инфологического проектирования

Этап датологического проектирования


Слайд 20Этапы проектирования БД
Проектирование данных – процесс перевода общих представлений о данных,

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

Слайд 21Этапы проектирования БД
На этапе инфологического проектирования осуществляется построение семантической модели, описывающей

сведения из предметной области которые могут заинтересовать пользователей БД
Семантическая модель – представление совокупности сведений о ПО в виде графа, в вершинах которого расположены понятия, а дуги представляют отношения между понятиями
Подобные модели называются моделями «сущность-связь» (ER-model: Entity-Relationship)

Слайд 22Этапы проектирования БД
Реальные процессы и объекты предметной области представлены в ER-моделях

в виде сущностей.
Сущности: базовые и зависимые. Тип сущности. Экземпляр сущности.
Для каждого типа сущности необходимо определить имя.

Слайд 23Этапы проектирования БД
Атрибуты: характеристики сущностей. Атрибуты бывают:
Идентифицирующие и описательные.
Составные и простые.


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

Слайд 24Между сущностями ПО могут существовать связи, имеющие различный содержательный смысл(семантику). Например,

студент учится в группе

Этапы проектирования БД

СТУДЕНТ

УЧИТСЯ

ГРУППА

Связи характеризуются следующими атрибутами:
Кардинальность
Степень связи


Слайд 25N
M
1
Кардинальность связи:
Один к одному (1:1)
Один ко многим (1:М), многие к одному

(М:1)
Многие ко многим (M:N)

Этапы проектирования БД

СТУДЕНТ

УЧИТСЯ

ГРУППА

ИЗУЧАЕТ

ДИСЦИПЛИНА

M

M

N

ПРЕПОДАВАТЕЛЬ

ВЕДЕТ


Слайд 26Степень связи – это количество сущностей, которые входят в связь.
Этапы

проектирования БД

СОТРУДНИК

Руководить

СТУДЕНТ

Экзаменовать

ПАЦИЕНТ

ВРАЧ

Лечить

Унарная связь

Бинарная связь

ПРЕПОДАВАТЕЛЬ

ДИСЦИПЛИНА

Тернарная связь


Слайд 27Этапы проектирования БД
Датологическое проектирование подразделяется на логическое и физическое проектирование
Логическое проектирование–преобразование

требований к данным в структуры данных (в форматах, поддерживаемых выбранной СУБД).
Физическое проектирование – определение особенностей хранения данных, методов доступа и т. д.

Слайд 28Различие уровней представления данных на каждом этапе проектирования реляционной базы данных:
КОНЦЕПТУАЛЬНЫЙ

УРОВЕНЬ — Представление аналитика (используется модель «сущность-связь»)
термины: сущности, атрибуты, связи
ЛОГИЧЕСКИЙ УРОВЕНЬ — Представление программиста
термины: записи, элементы данных, связи между записями
ФИЗИЧЕСКИЙ УРОВЕНЬ — Представление администраторов БД, СУБД, ЛВС, ...
термины: группирование данных, индексы, методы доступа, распределенная БД, репликация, производительность, надежность, кластеры…

Этапы проектирования БД


Слайд 29Независимость данных

Данные независимы, если существует возможность нормального функционирования БД при изменениях

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






Слайд 30Модели данных


Слайд 31Модели данных
Модель данных – это формализованное описание, отражающее состав и типы

данных, а также взаимосвязь между ними
Модель данных состоит из трех частей:
Набора типов структур данных
Множества допустимых операций, выполняемых в структуре данных
Ограничения для контроля целостности данных

Слайд 32Типы структур
Структурированная запись базируется на использовании концепций «агрегации» и «обобщения».
Один из

первых вариантов структуризации данных был предложен Ассоциацией по языкам обработки данных (Conference of Data Systems Languages, CODASYL)

Элемент данных

Агрегат данных

Запись

Набор

База данных


Слайд 33Типы структур
Элемент данных – наименьшая поименованная единица данных, к которой СУБД

может обращаться непосредственно и с помощью которой выполняется построение всех остальных структур.
Для каждого элемента данных должен быть определен его тип


Слайд 34Типы структур
Агрегат данных – поименованная совокупность элементов данных внутри записи, которую

можно рассматривать как единое целое.
Агрегат может быть простым (включает только элементы данных) и составным (включает элементы данных и другие агрегаты)


Слайд 35Типы структур
Агрегат данных .

А(название)
А(дата)
число
месяц
год
А(предприятие)
название
А(адрес)
улица
и дом
город
индекс


Слайд 36Типы структур
Запись – поименованная совокупность элементов и агрегатов данных.
Запись – это

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



Слайд 37Типы структур
Запись.

А
(ФИО)
фамилия
имя
отчество
А
(адрес)
улица
и дом
город
индекс
№ пропуска
Дата рождения
Паспорт
Пол
Должность
Оклад


Слайд 38Типы структур
Среди полей записи выделяются одно или несколько ключевых полей.
Значения ключевых

полей позволяют классифицировать сущность, к которой относится конкретная запись.
Потенциальный ключ – это любой из ключей записи
Один из ключей назначается первичным, остальные являются вторичными.
Значение первичного ключа должно быть уникальным и обязательным для записей одного типа


Слайд 39Типы структур
Набор (групповое отношение)– поименованная совокупность записей, образующих двухуровневую структуру.
Каждый

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


Слайд 40Типы структур
Набор (групповое отношение)–
Каждый экземпляр набора должен содержать только один экземпляр

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


Слайд 41Типы структур
Наборы (групповые отношения) удобно изображать с помощью диаграммы Бахмана.
Диаграмма Бахмана

представляет собой ориентированный граф: вершины – типы записей, дуги – наборы (групповые отношения)

Поликлиники

Организации

Жители

Квартиры

Ремонтно-эксплуат. управления

диспансеризация

работают

обслуживают

проживают


Слайд 42Типы структур
База данных – поименованная совокупность экземпляров групп и групповых отношений.

Это самый высокий уровень структуризации.

Примечание: структуризация данных по версии CODASYL используется в сетевой и иерархической моделях данных. В реляционной модели принята другая структуризация, основанная на теории множеств

Слайд 43Операции над данными
Модель данных определяет множество действий, которые допустимо производить над

некоторой реализацией БД для ее перевода из одного состояния в другое.
Это множество соотносят с языком манипулирования данными (Data Manipulation Language, DML)
Любая операция над данными включает в себя селекцию данных (select)
Условие селекции – это некий критерий отбора данных

Слайд 44Операции над данными
По типу производимых действий различают следующие операции:
Идентификация данных и

нахождение их позиции в БД
Выборка (чтение) данных из БД
Включение (запись) данных в БД
Удаление данных из БД
Модификация данных БД

Слайд 45Операции над данными
Обработка данных в БД осуществляется с помощью процедур БД

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

Слайд 46Ограничение целостности
Это правила, которым должны удовлетворять значения элементов данных.
Ограничения целостности (integrity

constraint) делятся на внутренние и явные.
Определение
Ограничения, обусловленные возможностями конкретной СУБД, называют «внутренними ограничениями целостности»
Определение
Ограничения, обусловленные особенностями хранимых данных о конкретной ПО, называют «явными ограничениями целостности»


Слайд 47Ограничение целостности
За выполнением целостности следит СУБД в процессе своего функционирования: если

какая-либо команда нарушает ограничение целостности, она не будет выполнена и система выдаст соответствующее сообщение об ошибке.

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


Слайд 48Модели данных
Модели первого поколения
Иерархическая
Сетевая
Модели второго поколения
Реляционная
Модели третьего поколения
Объектно-ориентированная
Объектно-реляционная


Слайд 49ИЕРАРХИЧЕСКАЯ МОДЕЛЬ ДАННЫХ


Слайд 50Иерархическая модель данных
Организация данных в СУБД иерархического типа определяется в терминах:

элемент, агрегат, запись (группа), групповое отношение, база данных.

Иерархическая модель реализуется древовидной структурой, объекты которой представлены узлами дерева

Слайд 51Иерархическая модель данных
1. Свойства иерархической модели
Существует корень
Узел содержит атрибуты
Исходный и зависимый

узлы находятся в отношении «непосредственный предок и потомок»
Потомок соединен единственной связью с предком
Предок может иметь несколько потомков
Доступ к данным производится через предка
Может существовать множество экземпляров узла
При удалении узла удаляется все его поддерево

Слайд 52Иерархическая модель данных
Корневая запись каждого дерева обязательно должна содержать ключ с

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

Слайд 53Иерархическая модель данных
Пример: Рассмотрим следующую модель данных предприятия
предприятие состоит из отделов,

в которых работают сотрудники. В каждом отделе может работать несколько сотрудников, но сотрудник не может работать более чем в одном отделе.
Для автоматизации учета контрактов с заказчиками необходимо создание еще одной иерархической структуры : заказчик - контракты с ним - сотрудники, задействованные в работе над контрактом.



Слайд 55Иерархическая модель данных
2. Операции над данными:
ДОБАВИТЬ в БД новую запись. Для

корневой записи обязательно формирование значения ключа
ИЗМЕНИТЬ значение данных выбранной записи. Ключевые данные не должны подвергаться изменениям
УДАЛИТЬ некоторую запись и все подчиненные ей записи
ИЗВЛЕЧЬ
Корневую запись по ключу
Следующую запись (в порядке левостороннего обхода дерева)

Слайд 56Иерархическая модель данных
3. Ограничения целостности

Поддерживается только целостность связей между владельцами и

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


Слайд 57Иерархическая модель данных
При работе с иерархической БД возможны нежелательные явления, которые

называют аномалиями.
Аномалия включения: в варианте C нельзя добавить новый контракт без добавления исполнителей
Аномалия удаления: при удалении отдела, удаляются и данные о его сотрудниках

Слайд 58Иерархическая модель данных
Достоинства:
Простота в использовании и обслуживании
Высокая скорость доступа
Недостатки
Невозможность реализации отношения

«многие ко многим» в рамках одной БД
Возможны аномалии в работе с БД


Первая иерархическая СУБД IMS компании IBM (1969 г.)

Слайд 59СЕТЕВАЯ МОДЕЛЬ ДАННЫХ


Слайд 60Сетевая модель данных
Сетевая модель данных определена в тех же терминах, что

и иерархическая модель данных
1. Отличия сетевой и иерархической моделей:
Запись может быть членом более чем одного группового отношения
Каждое групповое отношение именуется
Тип группового отношения определяет свойства общие для всех экземпляров данного типа
Экземпляр группового отношения представляется записью-владельцем и множеством (возможно пустым) подчиненных записей
Экземпляр записи не может быть членом двух экземпляров групповых отношений одного типа

Слайд 62Сетевая модель данных
Выделяют три класса членства подчиненных записей в групповых отношениях:
Фиксированное.

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


Слайд 63Сетевая модель данных
2. Операции над данными:
ДОБАВИТЬ в БД новую запись в

зависимости от режима включения, либо включить ее в групповое отношение, где она объявлена подчиненного, либо не включать ни в какое групповое отношение.
ВКЛЮЧИТЬ В ГРУППОВОЕ ОТНОШЕНИЕ связать существующую подчиненную запись с записью-владельцем
ПЕРЕКЛЮЧИТЬ связать существующую подчиненную запись с другой записью-владельцем в том же групповом отношении.
ОБНОВИТЬ изменить значение элементов предварительно извлеченной записи

Слайд 64Сетевая модель данных
Операции над данными:
ИЗВЛЕЧЬ извлечь записи последовательно по значению ключа,

а также использую групповые отношения – от владельца перейти к записям-членам, а от подчиненной записи к владельцу набора.
УДАЛИТЬ убрать из БД запись. Если эта запись является владельцем группового отношения, то анализируется класс членства подчиненных записей.
Обязательные члены должны быть предварительно исключены из группового отношения
Фиксированные удалены вместе с владельцем
Необязательные останутся в БД.
ИСКЛЮЧИТЬ ИЗ ГРУППОВОГО ОТНОШЕНИЯ разорвать связь между записью-владельцем и записью –членом.

Слайд 65Сетевая модель данных
3. Ограничения целостности

Поддерживается только целостность связей между владельцами и

членами группового отношения.



Слайд 66Сетевая модель данных
Достоинства:
Реализуется отношение «многие ко многим»
Высокая производительность
Недостатки
Трудность реорганизации БД
В процессе

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

Первая сетевая СУБД IDMS компании Computer Associates (1971 г.). Другой пример – СУБД IMAGE/1000 фирмы Hewlett-Packard

Слайд 67РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ


Слайд 68Реляционная модель данных
1. Основные понятия
Предложена сотрудником компании IBM Е.Ф. Коддом в

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

Слайд 69Реляционная модель данных
В основу реляционной модели Кодд положил три принципа (стремления):
Независимость

данных на логическом и физическом уровнях – стремление к независимости
Создание структурно-простой модели – стремление к коммуникабельности
Использование концепции языков высокого уровня для описания операций над порциями информации – стремление к обработке множеств.

Слайд 70Реляционная модель данных
В качестве структурной единицы используется отношение n-порядка.
Отношение n-го

порядка – представляет собой математическое множество, в котором порядок строк не имеет значения
Способ выбора данных ассоциативный: каждая единица информации ассоциируется с уникальной тройкой:
Имя отношения
Значение ключа
Имя атрибута


Слайд 71Реляционная модель данных
Структурная часть модели состоит из следующих компонент:
Домен
Отношение
Атрибут
Кортеж
Потенциальный ключ
Первичный ключ



Слайд 72Реляционная модель данных
Определение:

Домен D – это совокупность (множество) однотипных значений данных

Пример:
Домен

Возраст – [0..100]
Домен Пол – [‘м’, ‘ж’]
Домен Номер – [‘00001’..’99999’]
и т.д.

Слайд 73Реляционная модель данных
Определение:
Декартово произведение множеств D1× D2×… ×Dn – это новое

множество, состоящее из всех возможных комбинаций элементов исходных множеств

Пример:
Даны множества: D1 = {1,2} , D2 = {5,6,7}

D1 × D2 = {(1,5), (1,6), (1,7), (2,5), (2,6), (2,7)}


Слайд 74Реляционная модель данных
Определение:

Отношением R, определенным на множествах (доменах) D1, D2, …,

Dn называется подмножество декартово произведения D1× D2 × … × Dn

Пример: Даны множества: D1 = {1,2} , D2 = {5,6,7}
D1 × D2 ={(1,5), (1,6), (1,7), (2,5), (2,6), (2,7)}

R ⊆ D1 × D2 = {(1,5), (1,7), (2,6)}


Слайд 75Реляционная модель данных
Определение:

Атрибут A – атомарное данное, определяющее один из столбцов

(полей) отношения.
Атрибут есть подмножество некоторого домена, на котором определено отношение

Пример:


Слайд 76Реляционная модель данных
Определение:

Кортеж – строка (элемент) отношения, представляет собой некоторый элемент

декартово произведения.


Пример: Отношение R = {(1,5), (1,7), (2,6)}
Кортежи: (1,5)
(1,7)
(2,6)


Слайд 77Реляционная модель данных
Определение:

Степень отношения – количество атрибутов отношения (унарные, бинарные, …,

n-арные).
Мощность отношения – количество кортежей отношения.


Пример: Отношение R = {(1,5), (1,7), (2,6)}

Степень R = 2
Мощность R = 3


Слайд 78Реляционная модель данных
Определения:

Ключевой атрибут (ключ) – атрибут (набор атрибутов), значение которого

однозначно идентифицирует кортежи.

Значения первичного ключа изменить нельзя.



Слайд 79Реляционная модель данных
Определения:

Схема отношения – именованное множество пар «имя атрибута –

имя домена».

Схема БД – набор именованных схем отношений.



Слайд 80Реляционная модель данных
ОТНОШЕНИЕ


Слайд 81Реляционная модель данных

Объектом реляционной модели могут быть только нормализованные отношения.

Отношение нормализовано,

если каждый его атрибут атомарен (т.е. не заменим другим отношением).



Слайд 82В отличие от иерархической и сетевой моделей данных в реляционной отсутствует

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

Реляционная модель данных


Слайд 83Реляционная модель данных
Пример: Модель данных предприятия
предприятие состоит из отделов, в которых

работают сотрудники. В каждом отделе может работать несколько сотрудников, но сотрудник не может работать более чем в одном отделе.
Для автоматизации учета контрактов с заказчиками необходимо создание еще одной иерархической структуры : заказчик - контракты с ним - сотрудники, задействованные в работе над контрактом.



Слайд 84А
B
C
Иерархическая модель данных


Слайд 85Сетевая модель данных


Слайд 86Реляционная модель данных


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

отношения является уникальным, т.е. в отношении не может быть повторяющихся строк
Упорядоченность кортежей теоретически несущественна
Количество атрибутов и их порядок в отношении должно быть фиксированным (т.е. кортежи должны иметь одинаковую длину и формат)


Слайд 88Реляционная модель данных
2. Операции над данными:

Обрабатывающая часть модели определяется операциями реляционной

алгебры:
Выборка
Проекция
Объединение
Пересечение
Соединение
и др.




Слайд 89Реляционная модель данных
3. Ограничения целостности

Существуют два ограничения, которые должны выполняться в

любой реляционной базе данных. Это:
Целостность сущностей.
Целостность внешних ключей.

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



Слайд 90Реляционная модель данных
3.1. Null-значения
Null-значение – это некий маркер, показывающий, что значение

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


Слайд 91Реляционная модель данных
3.2. Трехзначная логика (3VL)
Таким образом, определение истинности логических выражений

базируется на трехзначной логике (three-valued logic, 3VL), в которой кроме значений T - ИСТИНА и F - ЛОЖЬ, введено значение U - НЕИЗВЕСТНО.
Логическое значение U - это то же самое, что и null-значение.


Слайд 92





Таблицы истинности в трехзначной логике (3VL)


Слайд 93Имеется несколько парадоксальных следствий применения трехзначной логики.
Парадокс 1. Неверно, что

Null-значение равно самому себе. Значит выражение не обязательно ИСТИНА!
Парадокс 2. Неверно также, что null-значение не равно самому себе! Значит также, что выражение не обязательно ЛОЖЬ!
Парадокс 3. a or (not a) не обязательно ИСТИНА. Значит, в трехзначной логике не работает принцип исключенного третьего (любое высказывание либо истинно, либо ложно).

Слайд 94
Целостность сущностей

Т.к. потенциальные ключи фактически служат идентификаторами объектов предметной области (т.е.

предназначены для различения объектов), то значения этих идентификаторов не могут содержать неизвестные значения.

правило целостности сущностей:
Атрибуты, входящие в состав некоторого потенциального ключа не могут принимать null-значений.


Слайд 953.3. Внешние ключи

Внешние ключи отражают взаимосвязи между отношениями реляционной модели данных.



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


Слайд 96Потенциальный ключ – (Номер товара, Номер поставщика).
Проблемы:
При изменении наименования поставщика –

необходимо внести изменение во все строки таблицы
При удалении информации о поставках, удаляется и информация о поставщике.
Нельзя представить товар, не поставляемый никем.
Причина: смешана разнородная информация

ООО «Премьер-Видео»

ООО «Премьер-Видео»

ООО «Ди Ви Ди Клуб»

ООО «Диск ПРО»

«Герой»

2

2

4 «Турист» 200 3 ООО «Диск ПРО»


Слайд 97Связи: «Поставщики выполняют Поставки» – (1:M)

«Товары поставляются через Поставки» – (1:M)

Эти две взаимосвязи косвенно определяют новую взаимосвязь между "Поставщиками" и «Товаром":
«Товары поставляются Поставщиками» – (M:N)


Взаимосвязи типа "многие-ко-многим" реализуются в РБД использованием нескольких взаимосвязей типа "один-ко-многим".

Отношение, входящее в связь со стороны "один" ("Поставщики"), называют родительским отношением.
Отношение, входящее в связь со стороны "много" ("Поставки"), называется дочернем отношением.

Слайд 98Отношение «Поставщики»
Отношение «Поставки»
Отношение «Товары»


Слайд 99Определение .
Пусть дано отношение R. Подмножество атрибутов FK отношения R

будем называть внешним ключом, если:
1) Существует отношение S (R и S не обязательно различны) с потенциальным ключом K.
2) Каждое значение FK в отношении R всегда совпадает со значением K для некоторого кортежа из S, либо является null-значением.

Отношение S – родительское отношение
Отношение R – дочернее отношение.



Слайд 100Замечание. Внешний ключ, как правило, не обладает свойством уникальности. Это, собственно,

и дает тип отношения 1:N.
Замечание. Хотя каждое значение внешнего ключа обязано совпадать со значениями потенциального ключа в некотором кортеже родительского отношения, то обратное, вообще говоря, неверно. Например, могут существовать поставщики, не поставляющие никаких деталей.
Замечание. Для внешнего ключа не требуется, чтобы он был компонентом некоторого потенциального ключа.


Слайд 101
Целостность внешних ключей

Т.к. внешние ключи фактически служат ссылками на кортежи в

другом (или в том же) отношении, то они не должны указывать на несуществующие объекты.

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




Слайд 102Операции, могущие нарушить ссылочную целостность

Ссылочная целостность может нарушиться в результате операций,

изменяющих состояние базы данных:
Вставка кортежей
Обновление кортежей
Удаление кортежей



Слайд 103Нарушение целостности для родительского отношения

Вставка кортежа в родительском отношении.
При вставке

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



Слайд 104Нарушение целостности для родительского отношения

Обновление кортежа в родительском отношении.
При обновлении

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


Слайд 105Нарушение целостности для родительского отношения

Удаление кортежа в родительском отношении.

При удалении

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




Слайд 106Нарушение целостности для дочернего отношения

Вставка кортежа в дочернее отношение. Нельзя вставить

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



Слайд 107Нарушение целостности отношений

Таким образом, ссылочная целостность в принципе может быть нарушена

при выполнении одной из четырех операций:
Обновление кортежа в родительском отношении.
Удаление кортежа в родительском отношении.
Вставка кортежа в дочернее отношение.
Обновление кортежа в дочернем отношении.


Слайд 108Стратегии поддержания ссылочной целостности

RESTRICT (ОГРАНИЧИТЬ) – не разрешать выполнение операции, приводящей

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

CASCADE (КАСКАДИРОВАТЬ) – разрешить выполнение требуемой операции, но внести при этом необходимые поправки в других отношениях так, чтобы не допустить нарушения ссылочной целостности и сохранить все имеющиеся связи.


Слайд 109Стратегии поддержания ссылочной целостности



Стратегии RESTRICT и CASCADE являются стандартными и присутствуют

во всех СУБД, в которых имеется поддержка ссылочной целостности.



Слайд 110Стратегии поддержания ссылочной целостности

Дополнительные стратегии:
SET NULL (установить в NULL) – все

некорректные значения внешних ключей изменять на NULL-значения
SET DEFAULT (установить по умолчанию)– все некорректные значения внешних ключей изменять на некоторое значение, принятое по умолчанию
IGNORE (игнорировать) – выполнять операции, не обращая внимания на нарушения ссылочной целостности


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика