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

Содержание

Слайд 2

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

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

Слайд 3

Основные понятия БД

Основные понятия БД

Слайд 4

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

Разработка методов совместного использования данных.
Эволюция технологий обработки данных:

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

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

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

Слайд 5

Базы данных: термины

Информация – любые сведения о каком-либо событии, объекте или процессе, являющиеся

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

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

Слайд 6

Базы данных: термины

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

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

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

Слайд 7

Базы данных: термины

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

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

Базы данных: термины Система обработки данных (СОД) – это набор аппаратных и программных

Слайд 8

Базы данных: термины

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

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

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

Слайд 9

Базы данных: термины

Ведение базы данных – деятельность по обновлению, восстановлению и изменению структуры

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

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

Слайд 10

Базы данных: термины

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

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

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

Слайд 11

Базы данных: термины

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

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

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

Слайд 12

Базы данных: термины

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

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

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

Слайд 13

Банк данных (БнД)

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

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

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

Слайд 14

Компоненты системы баз данных

Компоненты системы баз данных

Слайд 15

Компоненты системы баз данных

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

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

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

Слайд 16

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

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

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

Уровни представления данных архитектуры ANSI/SPARC Концептуальный уровень: поддерживает единый взгляд на базу данных,

Слайд 17

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

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

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

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

Слайд 18

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

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

Слайд 19

Предметная область

Информационные потребности пользователей

Построение инфологической модели ПО

Выбор СУБД

Построение концептуальной модели данных (ЛП)

Построение физической

модели данных (ФП)

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

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

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

Слайд 20

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

Проектирование данных – процесс перевода общих представлений о данных, выраженных концептуальной

моделью, в конкретную логическую модель.

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

Слайд 21

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

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

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

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

Слайд 22

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

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

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

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

Слайд 23

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

Атрибуты: характеристики сущностей. Атрибуты бывают:
Идентифицирующие и описательные.
Составные и простые.
Однозначные и

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

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

Слайд 24

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

в группе

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

СТУДЕНТ

УЧИТСЯ

ГРУППА

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

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

Слайд 25

N

M

1

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

многим (M:N)

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

СТУДЕНТ

УЧИТСЯ

ГРУППА

ИЗУЧАЕТ

ДИСЦИПЛИНА

M

M

N

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

ВЕДЕТ

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

Слайд 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) делятся

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

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

Слайд 47

Ограничение целостности

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

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

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

Слайд 48

Модели данных

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

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

Слайд 49

ИЕРАРХИЧЕСКАЯ МОДЕЛЬ ДАННЫХ

ИЕРАРХИЧЕСКАЯ МОДЕЛЬ ДАННЫХ

Слайд 50

Иерархическая модель данных

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

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

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

Слайд 51

Иерархическая модель данных

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

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

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

Слайд 52

Иерархическая модель данных

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


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

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

Слайд 53

Иерархическая модель данных

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

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

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

Слайд 54

А

B

C

А B C

Слайд 55

Иерархическая модель данных

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

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

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

Слайд 56

Иерархическая модель данных

3. Ограничения целостности
Поддерживается только целостность связей между владельцами и членами группового

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

Иерархическая модель данных 3. Ограничения целостности Поддерживается только целостность связей между владельцами и

Слайд 57

Иерархическая модель данных

При работе с иерархической БД возможны нежелательные явления, которые называют аномалиями.
Аномалия

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

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

Слайд 58

Иерархическая модель данных

Достоинства:
Простота в использовании и обслуживании
Высокая скорость доступа
Недостатки
Невозможность реализации отношения «многие ко

многим» в рамках одной БД
Возможны аномалии в работе с БД
Первая иерархическая СУБД IMS компании IBM (1969 г.)

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

Слайд 59

СЕТЕВАЯ МОДЕЛЬ ДАННЫХ

СЕТЕВАЯ МОДЕЛЬ ДАННЫХ

Слайд 60

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

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

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

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

Слайд 61

Слайд 62

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

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

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

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

Слайд 63

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

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

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

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

Слайд 64

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

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

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

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

Слайд 65

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

3. Ограничения целостности
Поддерживается только целостность связей между владельцами и членами группового

отношения.

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

Слайд 66

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

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

счет некорректных удалений, сбоев и т.д. накапливается мусор – данные к которым нет доступа
Слабая выразительность языка запросов. Обычно он позволяет манипулировать лишь одной запись одновременно, программист во время работы должен хорошо представлять пути доступа к данным
Первая сетевая СУБД IDMS компании Computer Associates (1971 г.). Другой пример – СУБД IMAGE/1000 фирмы Hewlett-Packard

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

Слайд 67

РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ

РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ

Слайд 68

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

1. Основные понятия
Предложена сотрудником компании IBM Е.Ф. Коддом в 1970 г.
Кодд

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

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

Слайд 69

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

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

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

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

Слайд 70

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

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

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

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

Слайд 71

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

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

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

Слайд 72

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

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

Пример:
Домен Возраст –

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

Реляционная модель данных Определение: Домен D – это совокупность (множество) однотипных значений данных

Слайд 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)}

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

Слайд 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)}

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

Слайд 75

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

Определение:
Атрибут A – атомарное данное, определяющее один из столбцов (полей) отношения.


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

Пример:

Реляционная модель данных Определение: Атрибут 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

Иерархическая модель данных

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

Слайд 85

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

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

Слайд 86

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

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

Слайд 87

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

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

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

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

Слайд 88

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

2. Операции над данными:
Обрабатывающая часть модели определяется операциями реляционной алгебры:
Выборка
Проекция
Объединение
Пересечение
Соединение
и др.

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

Слайд 89

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

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

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

Реляционная модель данных 3. Ограничения целостности Существуют два ограничения, которые должны выполняться в

Слайд 90

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

3.1. Null-значения
Null-значение – это некий маркер, показывающий, что значение неизвестно.
Любые

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

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

Слайд 91

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

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

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

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

Слайд 92


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

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

Слайд 93

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

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

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

Слайд 94

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

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

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

Слайд 95

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

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

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

Слайд 96

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

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

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

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

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

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

«Герой»

2

2

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

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

Слайд 97

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


Эти две взаимосвязи косвенно определяют новую взаимосвязь между "Поставщиками" и «Товаром":
«Товары поставляются Поставщиками» – (M:N)
Взаимосвязи типа "многие-ко-многим" реализуются в РБД использованием нескольких взаимосвязей типа "один-ко-многим".
Отношение, входящее в связь со стороны "один" ("Поставщики"), называют родительским отношением.
Отношение, входящее в связь со стороны "много" ("Поставки"), называется дочернем отношением.

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

Слайд 98

Отношение «Поставщики»

Отношение «Поставки»

Отношение «Товары»

Отношение «Поставщики» Отношение «Поставки» Отношение «Товары»

Слайд 99

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

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

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

Слайд 100

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

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

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

Слайд 101

Целостность внешних ключей
Т.к. внешние ключи фактически служат ссылками на кортежи в другом (или

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

Целостность внешних ключей Т.к. внешние ключи фактически служат ссылками на кортежи в другом

Слайд 102

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

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

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

Слайд 103

Нарушение целостности для родительского отношения
Вставка кортежа в родительском отношении.
При вставке кортежа в

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

Нарушение целостности для родительского отношения Вставка кортежа в родительском отношении. При вставке кортежа

Слайд 104

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

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

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

Слайд 105

Нарушение целостности для родительского отношения
Удаление кортежа в родительском отношении.
При удалении кортежа в

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

Нарушение целостности для родительского отношения Удаление кортежа в родительском отношении. При удалении кортежа

Слайд 106

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

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

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

Слайд 107

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

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

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

Слайд 108

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

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

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

Слайд 109

Стратегии поддержания ссылочной целостности
Стратегии RESTRICT и CASCADE являются стандартными и присутствуют во всех

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

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

Имя файла: Основные-понятия-БД.-Модели-данных.pptx
Количество просмотров: 133
Количество скачиваний: 0