Управление данными

Содержание

Слайд 2

Программа курса (ГОС) Основные понятия банков данных и знаний Информация и

Программа курса (ГОС)

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

банка данных
Роль и место банков данных в информационных системах
Пользователи банков данных
Преимущества централизованного управления данными
База данных как информационная модель предметной области
Система управления базой данных (СУБД)
Администратор базы данных;
Слайд 3

Программа курса (ГОС) Архитектура банка данных Инфологическое проектирование базы данных Выбор

Программа курса (ГОС)

Архитектура банка данных
Инфологическое проектирование базы данных
Выбор модели

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

Литература Карпова Т.С. Базы данных: модели, разработка, реализация : Учебник для

Литература

Карпова Т.С. Базы данных: модели, разработка, реализация : Учебник для вузов.

— СПб.: Питер, 2001 . — 304 с.
Ю.А. Григорьев, Г.И. Ревунков Банки данных: Учебник для вузов. — М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. — 320 с.
Дейт К. Дж. Введение в системы баз данных, 8-е издание.: Пер. с англ. — М.: Издательский дом «Вильямс», 2005. — 1328 с.
Краморенко Н.В. Базы данных: Учебное пособие. — Владивосток: ТИДОТ ДВГУ, 2004. — 85 с.
Кузнецов С.Д. Введение в реляционные базы данных. — http://www.intuit.ru/department/database/rdbintro/
Швецов В.И. Базы данных. — http://www.intuit.ru/department/database/databases/
http://citforum.ru/database/
Грабер М. SQL.: Пер. с англ. — М.: Изд-во «Лори», 2003. — 644 с.
Слайд 5

Информационные системы с точки зрения управления данными Информация и данные Развитие

Информационные системы с точки зрения управления данными
Информация и данные
Развитие систем и

средств управления данными

Тема 1. Введение в управление данными

Слайд 6

Информационные системы Информационная система (ИС) — программно-аппаратный комплекс, предназначенный для хранения

Информационные системы

Информационная система (ИС) — программно-аппаратный комплекс, предназначенный для хранения и

обработки информации какой-либо предметной области.
Предметная область — часть реального мира, рассматриваемая как самостоятельная единица. Она определяет информационные потребности и область применения ИС.
Слайд 7

Сферы применения ИС Классификация ИС по сфере применения: экономические медицинские географические

Сферы применения ИС

Классификация ИС по сфере применения:
экономические
медицинские
географические

Слайд 8

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

Информация и данные

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

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

Информация и данные Данные — информация, фиксированная в определенной форме, пригодной

Информация и данные

Данные — информация, фиксированная в определенной форме, пригодной для

последующей обработки, хранения и передачи.
Данные несут в себе информацию о событиях, произошедших в материальном мире
Чтобы данные стали информацией, необходимо преобразовать их в известные понятия
Чтобы извлечь из данных информацию необходимо подобрать соответствующий форме данных адекватный метод получения информации
Слайд 10

Информация и данные Информация = данные + смысл

Информация и данные

Информация = данные + смысл

Слайд 11

Информация и данные Информация не является статичным объектом – она динамически

Информация и данные

Информация не является статичным объектом – она динамически меняется

и существует только в момент взаимодействия данных и методов
Информация существует только в момент протекания информационного процесса
Все остальное время информация содержится в виде данных
Слайд 12

Аспекты проектирования ИС Два аспекта рассмотрения понятий и проектирования ИС: инфологический даталогический

Аспекты проектирования ИС

Два аспекта рассмотрения понятий и проектирования ИС:
инфологический
даталогический

Слайд 13

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

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

Рассматривается смысловое содержание данных независимо от способа их представления в

памяти.
О каких объектах или явлениях реального мира требуется накапливать и обрабатывать информацию в системе?
Какие их основные характеристики и взаимосвязи между собой будут учитываться?
Какие вводимые в ИС понятия об объектах и явлениях, их характеристиках и взаимосвязях требуют уточнения?
Слайд 14

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

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

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

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

Даталогическое проектирование На этапе даталогического проектирования рассматриваются вопросы представления данных в

Даталогическое проектирование

На этапе даталогического проектирования рассматриваются вопросы представления данных в памяти

информационной системы:
формы представления информации в системе
модели и методы представления и преобразования данных
правила смысловой интерпретации данных
Слайд 16

Развитие управления данными Ручная обработка данных (4000 г. до н. э.

Развитие управления данными

Ручная обработка данных (4000 г. до н. э. –

1900)
Носители данных: глина, папирус, пергамент, бумага, книги
Слайд 17

Развитие управления данными Автоматизированная обработка информации с перфокартами (1900-1955)

Развитие управления данными

Автоматизированная обработка информации с перфокартами
(1900-1955)

Слайд 18

Применение вычислительной техники Первое направление: применение вычислительной техники для выполнения численных

Применение вычислительной техники

Первое направление: применение вычислительной техники для выполнения численных расчетов
Второе

направление: использование средств вычислительной техники в автоматических или автоматизированных информационных системах
Слайд 19

Развитие управления данными Программируемое оборудование обработки записей (1955-1970) Носители данных: магнитные ленты и барабаны

Развитие управления данными

Программируемое оборудование обработки записей (1955-1970)
Носители данных: магнитные ленты и

барабаны
Слайд 20

Развитие управления данными Программируемое оборудование обработки записей язык программирования COBOL модель

Развитие управления данными

Программируемое оборудование обработки записей
язык программирования COBOL
модель обработки записей на

основе файлов
системы пакетной обработки транзакций
Слайд 21

Системы управления файлами Переход к использованию централизованных систем управления файлами Файл

Системы управления файлами

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

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

Системы управления файлами Система управления файлами берет на себя: распределение внешней

Системы управления файлами

Система управления файлами берет на себя:
распределение внешней памяти
отображение имен

файлов в соответствующие адреса во внешней памяти
обеспечение доступа к данным и авторизации
Недостатки:
зависимость программ от данных (от структуры файлов)
проблемы при одновременной работе многих пользователей с одним файлом
отсутствие централизованных методов управления доступом к информации
Слайд 23

Развитие управления данными Оперативные сетевые базы данных (1965-1980) Носители данных: жесткие магнитные диски

Развитие управления данными

Оперативные сетевые базы данных (1965-1980)
Носители данных: жесткие магнитные диски

Слайд 24

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

Развитие управления данными

Наличие аппаратного обеспечения — устройств внешней памяти: жестких магнитных

дисков
Наличие системного программного обеспечения: операционных систем с системами управления файлами
Новый подход к управлению информацией: Базы Данных и Системы Управления Базами Данных
Слайд 25

Развитие управления данными Оперативные сетевые базы данных: использование консольных терминалов с

Развитие управления данными

Оперативные сетевые базы данных:
использование консольных терминалов с интерактивным режимом

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

Развитие управления данными Реляционные базы данных простота и эффективность использования простота

Развитие управления данными

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

(табличная форма)
математическое обоснование (реляционная алгебра)
Слайд 27

Развитие управления данными Эпоха персональных компьютеров (1980-1995-…) Мощность и доступность персональных

Развитие управления данными

Эпоха персональных компьютеров
(1980-1995-…)
Мощность и доступность персональных компьютеров
Широкое использование

настольных (desktop) СУБД с монопольным доступом к БД
Развитый и удобный пользовательский интерфейс
Использование высокоуровневых языков манипулирования данными (SQL)
Слайд 28

Распределенные базы данных Проблема согласованности (синхронизации) данных, хранящихся и обрабатывающихся в

Распределенные базы данных

Проблема согласованности (синхронизации) данных, хранящихся и обрабатывающихся в разных

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

Развитие управления данными Мультимедийные базы данных (1995-...) Объектно-ориентированный подход

Развитие управления данными

Мультимедийные базы данных (1995-...)
Объектно-ориентированный подход

Слайд 30

Перспективные направления и задачи Определение моделей данных для новых типов (например,

Перспективные направления и задачи

Определение моделей данных для новых типов (например, пространственных,

графических) и их интеграция с традиционными системами баз данных
Развитие объектно-ориентированных и объектно-реляционных СУБД
Масштабирование баз данных по размеру (до петабайт), пространственному размещению (распределенные) и многообразию (неоднородные)
OLAP-технологии – аналитическая обработка в реальном времени
Слайд 31

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

Перспективные направления и задачи

Автоматическое обнаружение тенденций данных, их структур и аномалий

(Data Mining: интеллектуальный анализ данных)
Интеграция (комбинирование) данных из нескольких источников
Создание сценариев и управление потоком работ (процессом) и данными в организациях
Автоматизация проектирования и администрирования баз данных
Слайд 32

Тема 2. Основные понятия о базах данных, банках данных и СУБД

Тема 2. Основные понятия о базах данных, банках данных и СУБД

Основные

понятия и определения (БнД, БД, СУБД)
Роль и место банков данных в ИС
Преимущества использования БД и централизованного подхода к управлению данными
Архитектура баз данных. Трехуровневая модель ANSI/SPARC
Жизненный цикл банка данных
Пользователи банка данных
Слайд 33

База данных База данных (БД) (англ. data base) — именованная совокупность

База данных

База данных (БД) (англ. data base) — именованная совокупность структурированных

данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области
База данных — важнейший компонент любой информационной системы
База данных является объектом манипулирования со стороны СУБД
Слайд 34

Система управления базами данных Система управления базами данных (СУБД) (англ. DBMS

Система управления базами данных

Система управления базами данных (СУБД)
(англ. DBMS —

Data Base Management System) — программные средства манипулирования данными в целях обеспечения доступа к ним и поддержания БД в актуальном состоянии.
Приложение — прикладная программа, использующая БД и написанная в СУБД или на языке программирования.
Банк данных — синоним приложения.

СУБД ≠ БД

Слайд 35

Банк данных В узком смысле: В широком смысле: Банк данных (БнД)

Банк данных

В узком смысле:
В широком смысле:
Банк данных (БнД) — это

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

Банк данных = СУБД + БД

Банк данных = АИС

Слайд 36

Роль и место банков данных в ИС

Роль и место банков данных в ИС

Слайд 37

Преимущества использования БД Компактность Быстродействие Низкие трудозатраты Актуальность информации Защита данных

Преимущества использования БД

Компактность
Быстродействие
Низкие трудозатраты
Актуальность информации
Защита данных

Слайд 38

Преимущества использования БД Централизованное управление данными: возможность совместного доступа к данным

Преимущества использования БД

Централизованное управление данными:
возможность совместного доступа к данным
сокращение избыточности данных


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

Независимость данных

Независимость данных

Слайд 40

Архитектура баз данных Архитектура ANSI/SPARC (Трехуровневая модель) ANSI American National Standards

Архитектура баз данных

Архитектура ANSI/SPARC
(Трехуровневая модель)
ANSI
American National Standards Institute
SPARC
Study

Group on Data Management Systems
Слайд 41

Трехуровневая модель ANSI/SPARC

Трехуровневая модель ANSI/SPARC

Слайд 42

Жизненный цикл банка данных

Жизненный цикл банка данных

Слайд 43

Пользователи банка данных Конечные пользователи (параметристы) Разработчики (прикладные программисты) и администраторы приложений Администраторы банка данных

Пользователи банка данных

Конечные пользователи (параметристы)
Разработчики (прикладные программисты) и администраторы приложений
Администраторы банка

данных
Слайд 44

Группа администратора БнД Системные аналитики Проектировщики структур данных Проектировщики технологических процессов

Группа администратора БнД

Системные аналитики
Проектировщики структур данных
Проектировщики технологических процессов обработки данных
Системные и

прикладные программисты
Операторы и специалисты по техническому обслуживанию
Специалисты по маркетингу (для коммерческих БнД)
Слайд 45

Тема 3. Основные модели данных Понятие модели данных Классификация моделей данных

Тема 3. Основные модели данных
Понятие модели данных
Классификация моделей данных
Иерархическая модель
Сетевая модель
Реляционная

модель
Слайд 46

Понятие модели данных Модель данных — это некоторая абстракция, которая, будучи

Понятие модели данных

Модель данных — это некоторая абстракция, которая, будучи приложена

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

Классификация моделей данных

Классификация моделей данных

Слайд 48

Классификация моделей данных

Классификация моделей данных

Слайд 49

Даталогические модели

Даталогические модели

Слайд 50

Теория графов

Теория графов

Слайд 51

Иерархическая модель: дерево

Иерархическая модель: дерево

Слайд 52

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

Иерархическая модель: дерево

Корневое дерево как ориентированный граф определяется следующим образом:
имеется единственная

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

Иерархическая модель: дерево

Иерархическая модель: дерево

Слайд 54

Иерархическая модель: понятия Основными информационными единицами в иерархической модели являются: поле сегмент база данных (БД)

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

Основными информационными единицами в иерархической модели являются:
поле
сегмент
база данных

(БД)
Слайд 55

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

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

Поле — минимальная, неделимая единица данных, доступная пользователю с

помощью СУБД.
Тип сегмента — это поименованная совокупность типов полей, в него входящих.
Экземпляр сегмента образуется из конкретных значений полей.
Слайд 56

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

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

Слайд 57

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

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

Слайд 58

Иерархическая модель: физическая БД Схема иерархической БД представляет собой совокупность отдельных

Иерархическая модель: физическая БД

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

(лес)
Каждое дерево в рамках модели называется физической базой данных
Каждая физическая БД удовлетворяет следующим иерархическим ограничениям:
существует один корневой сегмент;
каждый логически исходный сегмент может быть связан с произвольным числом подчиненных сегментов;
каждый логически подчиненный сегмент может быть связан только с одним логически исходным (родительским) сегментом;
Слайд 59

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

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

Слайд 60

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

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

Слайд 61

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

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

Слайд 62

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

Иерархическая модель: операции

Примеры операция манипулирования данными:
Найти указанное дерево БД
Перейти от одного

дерева к другому
Перейти от одной записи к другой внутри дерева
Перейти от одной записи к другой в порядке обхода иерархии
Вставить новую запись в указанную позицию
Удалить текущую запись
Слайд 63

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

Иерархическая модель: операции

Для поиска нужного сегмента используются навигационные операции — выполняется

обход дерева
При вводе данных — контекстность по вводу
При удалении данных — контекстность по удалению
Слайд 64

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

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

Достоинства:
легкость реализации
простота и наглядность представления данных
простота оценки характеристик БД
Недостатки:
сложность

реализации связи M:N (многие ко многим)
сложность включения/удаления данных из-за контекстной зависимости данных
Слайд 65

Сетевая модель: понятия CODASYL (Conference of Data System Languages) Базовые объекты

Сетевая модель: понятия

CODASYL
(Conference of Data System Languages)
Базовые объекты сетевой модели:
элемент

данных (= поле)
запись (= сегмент)
набор данных — двухуровневый граф, связывающий отношением «один-ко-многим» (1:M) два типа записи
база данных
Слайд 66

Сетевая модель: набор

Сетевая модель: набор

Слайд 67

Сетевая модель: примеры

Сетевая модель: примеры

Слайд 68

Сетевая модель: наборы

Сетевая модель: наборы

Слайд 69

Сетевая модель: примеры

Сетевая модель: примеры

Слайд 70

Сетевая модель: примеры

Сетевая модель: примеры

Слайд 71

Сетевая модель: связь M:M

Сетевая модель: связь M:M

Слайд 72

Сетевая модель: операции Сетевая модель также является навигационной Предусмотрены операции не

Сетевая модель: операции

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

узлами графа (записями и типами записей), но и с дугами (наборами)
Слайд 73

Сетевая модель: операции Найти конкретную запись в наборе (по условию) Перейти

Сетевая модель: операции

Найти конкретную запись в наборе (по условию)
Перейти от владельца

набора к первому члену набора по закольцованной связи
Перейти к следующему члену в наборе
Перейти от члена набора к владельцу
Создать новую запись
Удалить запись
Модифицировать запись
Включить запись в набор
Исключить запись из набора
Переместить запись в другой набор и т.д.
Слайд 74

Сетевая модель: выводы Достоинства: простота реализации связей М:М поддержка любых структур

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

Достоинства:
простота реализации связей М:М
поддержка любых структур данных (произвольной сложности)
экономичность
Недостатки:
сложность

навигации
Слайд 75

Реляционная модель Американский математик Э. Ф. Кодд в 1970 году впервые

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

Американский математик Э. Ф. Кодд в 1970 году впервые сформулировал

основные понятия и ограничения реляционной модели
Простота и наглядность модели и серьезное теоретическое обоснование определили большую популярность этой модели
Основной структурой данных в модели является отношение, именно поэтому модель получила название реляционной (от английского relation — отношение)
Слайд 76

Реляционная модель: аспекты Три аспекта данных реляционной модели: объекты данных (структура

Реляционная модель: аспекты

Три аспекта данных реляционной модели:
объекты данных (структура данных)
целостность

данных
обработка данных (реляционная алгебра)
Слайд 77

Реляционная модель: понятия Основные понятия реляционных БД: тип данных домен атрибут

Реляционная модель: понятия

Основные понятия реляционных БД:
тип данных
домен
атрибут
кортеж
первичный

ключ
отношение
схема отношения
база данных и схема БД
Слайд 78

Реляционная модель: домен Домен представляет собой именованное множество атомарных значений одного

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

Домен представляет собой именованное множество атомарных значений одного типа
Домены

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

Реляционная модель: отношение Отношение удобно представить в виде таблицы, столбцы которой

Реляционная модель: отношение

Отношение удобно представить в виде таблицы, столбцы которой соответствуют

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

Реляционная модель: отношение Отношение содержит две части: заголовок и тело: Заголовок

Реляционная модель: отношение

Отношение содержит две части: заголовок и тело:
Заголовок — это

строка заголовков столбцов.
Тело отношения — это множество строк данных.
Заголовок (или схема отношения) содержит фиксированное множество атрибутов или, точнее, пар <имя-атрибута : имя-домена>: {, , …, }, где n – степень отношения
Слайд 81

Реляционная модель: схемы Схемы двух отношений называются эквивалентными, если они имеют

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

Схемы двух отношений называются эквивалентными, если они имеют одинаковую

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

Реляционная модель: отношение Тело отношения содержит множество кортежей Каждый кортеж содержит

Реляционная модель: отношение

Тело отношения содержит множество кортежей
Каждый кортеж содержит множество пар <имя-атрибута

: значение-атрибута>
Отношение — это множество кортежей, соответствующих одной схеме отношения
Количество кортежей называется кардинальным числом или мощностью отношения
Слайд 83

Реляционная модель: ключи Ключ — атрибут, значение которого однозначно идентифицирует кортежи.

Реляционная модель: ключи

Ключ — атрибут, значение которого однозначно идентифицирует кортежи.
Если кортежи

идентифицируются только сцеплением значений нескольких атрибутов, то отношение имеет составной ключ
Всегда один из ключей объявляется первичным (PRIMARY KEY), его значения не могут обновляться
Слайд 84

Реляционная модель: ключи Основные свойства ключей: Уникальность Наличие значений (NOT NULL) Дополнительные свойства: Компактность Стабильность

Реляционная модель: ключи

Основные свойства ключей:
Уникальность
Наличие значений (NOT NULL)
Дополнительные свойства:
Компактность
Стабильность

Слайд 85

Реляционная модель: ключи Виды ключей: Естественный ключ — один или несколько

Реляционная модель: ключи

Виды ключей:
Естественный ключ — один или несколько атрибутов отношения,

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

Реляционная модель: пример

Реляционная модель: пример

Слайд 87

Реляционная модель: пример Схема отношения (заголовок): { , , , , , }

Реляционная модель: пример

Схема отношения (заголовок):
{<№ рейса : № рейса>,
<Пункт отправления :

Населенные пункты>,
<Пункт назначения : Населенные пункты>,
<Время отправления : Время>,
<Время прибытия : Время>,
<Тип поезда : Тип поезда>}
Слайд 88

Реляционная модель: пример Тело отношения (один из кортежей): { , , , , , }

Реляционная модель: пример

Тело отношения (один из кортежей):
{<№ рейса : 681>,
<Пункт отправления

: ‘Владивосток’>,
<Пункт назначения : ‘Новочугуевка’>,
<Время отправления : 22:05>,
<Время прибытия : 9:30>,
<Тип поезда : ‘ПАСС’>}
Слайд 89

Реляционная модель: свойства Свойства реляционных таблиц (отношений): Каждый элемент таблицы (атрибут)

Реляционная модель: свойства

Свойства реляционных таблиц (отношений):
Каждый элемент таблицы (атрибут) содержит один

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

Реляционная модель: свойства Отличие обычной таблицы от отношения: атомарность значений атрибутов

Реляционная модель: свойства

Отличие обычной таблицы от отношения:
атомарность значений атрибутов

Слайд 91

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

Реляционная модель: пример

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

Слайд 92

Реляционная модель: связи (задача) Задача: требуется добавить к таблице Clients столбец

Реляционная модель: связи (задача)

Задача: требуется добавить к таблице Clients столбец с

номерами телефонов. Большинство людей имеют несколько телефонных номеров (домашний, сотовый, рабочий).
Противоречие свойству атомарности атрибутов
либо избыточность данных
Необходимость второй таблицы
Слайд 93

Реляционная модель: связи (примеры)

Реляционная модель: связи (примеры)

Слайд 94

Реляционная модель: связи (пример)

Реляционная модель: связи (пример)

Слайд 95

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

Реляционная модель: связи (понятия)

Реляционная модель представляет базу данных в виде множества

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

Реляционная модель: связи (понятия) В основном отношении для связи используется родительский

Реляционная модель: связи (понятия)

В основном отношении для связи используется родительский ключ

(parent) отношения
В качестве родительского ключа обычно выступает первичный ключ (PRIMARY KEY) основного отношения
В подчиненном отношении используется набор атрибутов, соответствующий первичному ключу основного отношения — внешний ключ (FOREIGN KEY)
Слайд 97

Реляционная модель: связи (типы) Типы связей: «один ко многим» (1:M) «один

Реляционная модель: связи (типы)

Типы связей:
«один ко многим» (1:M)
«один к одному» (1:1)
«многие

ко многим» (М:N)
Слайд 98

Реляционная модель: связи (пример) PRIMARY KEY отношения «Сотрудник» атрибут Паспорт является FOREIGN KEY для отношения «Карьера»

Реляционная модель: связи (пример)

PRIMARY KEY отношения «Сотрудник» атрибут Паспорт является FOREIGN

KEY для отношения «Карьера»
Слайд 99

Реляционная модель: целостность Целостность данных — правильность данных в любой момент

Реляционная модель: целостность

Целостность данных — правильность данных в любой момент времени

при манипулировании данными:
структурная целостность
языковая целостность
ссылочная целостность
семантическая целостность
Слайд 100

Реляционная модель: целостность Структурная целостность подразумевает, что реляционная СУБД может работать

Реляционная модель: целостность

Структурная целостность подразумевает, что реляционная СУБД может работать только

с реляционными отношениями
Требования структурной целостности:
при добавлении кортежей в отношение проверяется уникальность их первичных ключей
не допускается, чтобы какой-либо атрибут, участвующий в первичном ключе, принимал неопределенное значение (NOT NULL)
Слайд 101

Реляционная модель: целостность Языковая целостность состоит в том, что реляционная СУБД

Реляционная модель: целостность

Языковая целостность состоит в том, что реляционная СУБД должна

обеспечивать языки описания и манипулирования данными не ниже стандарта SQL
Требование языковой целостности:
не должны быть доступны иные низкоуровневые средства манипулирования данными, не соответствующие стандарту
Слайд 102

Реляционная модель: целостность Ссылочная целостность обеспечивает поддержание целостности по ссылкам при

Реляционная модель: целостность

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

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

Реляционная модель: целостность Требование ссылочной целостности: то есть значение внешнего ключа

Реляционная модель: целостность

Требование ссылочной целостности:
то есть значение внешнего ключа должно либо:
быть

равным значению родительского ключа
быть полностью неопределенным (NULL)
Слайд 104

Реляционная модель: целостность Для каждого внешнего ключа нужно решить: Может ли

Реляционная модель: целостность

Для каждого внешнего ключа нужно решить:
Может ли данный внешний

ключ принимать неопределенные значения (NULL)?
Что произойдет при попытке УДАЛЕНИЯ записи из основного отношения, на которую ссылается внешний ключ подчиненного отношения?
Слайд 105

Реляционная модель: целостность При удалении возможно три варианта: Каскадирование удаления Ограничение

Реляционная модель: целостность

При удалении возможно три варианта:
Каскадирование удаления
Ограничение удаления
Установка неопределенных значений

для внешнего ключа при удалении
Слайд 106

Реляционная модель: целостность Что произойдет при попытке ОБНОВЛЕНИЯ родительского ключа основного

Реляционная модель: целостность

Что произойдет при попытке ОБНОВЛЕНИЯ родительского ключа основного отношения,

на который ссылается некоторый внешний ключ подчиненного отношения?
При обновлении также возможно три варианта:
Каскадирование обновления
Ограничение обновления
Установка неопределенных значений для внешнего ключа при обновлении
Слайд 107

Реляционная модель: целостность Семантическая целостность задается разработчиком посредством задания ограничений для

Реляционная модель: целостность

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

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

Реляционная модель: операции

Реляционная модель: операции

Слайд 109

Реляционная алгебра: совместимость по типу Два отношения совместимы по типу, если

Реляционная алгебра: совместимость по типу

Два отношения совместимы по типу, если у

них эквивалентные схемы:
если каждое из них имеет одно и то же множество атрибутов
если возможно такое упорядочение атрибутов в схемах, что на одинаковых местах будут находиться сравнимые атрибуты
Слайд 110

Реляционная алгебра: совместимость по типу

Реляционная алгебра: совместимость по типу

Слайд 111

Реляционная алгебра: объединение Объединение: Объединением двух совместимых по типу отношений А

Реляционная алгебра: объединение


Объединение:
Объединением двух совместимых по типу отношений А и В

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

Реляционная алгебра: объединение Пример:

Реляционная алгебра: объединение

Пример:

Слайд 113

Реляционная алгебра: пересечение Пересечение: Пересечением двух совместимых по типу отношений А

Реляционная алгебра: пересечение
Пересечение:
Пересечением двух совместимых по типу отношений А и В

называется отношение, содержащее все кортежи, принадлежащие одновременно двум определенным отношениям.
Слайд 114

Реляционная алгебра: пересечение Пример:

Реляционная алгебра: пересечение

Пример:

Слайд 115

Реляционная алгебра: вычитание Вычитание: Вычитанием двух совместимых по типу отношений А

Реляционная алгебра: вычитание
Вычитание:
Вычитанием двух совместимых по типу отношений А и В

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

Реляционная алгебра: вычитание Примеры:

Реляционная алгебра: вычитание

Примеры:

Слайд 117

Декартово произведение: Декартовым произведением двух отношений А и В называется отношение,

Декартово
произведение:
Декартовым произведением двух отношений А и В называется отношение, содержащее

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

Реляционная алгебра: декартово пр-е

Слайд 118

Реляционная алгебра: декартово пр-е Пример:

Реляционная алгебра: декартово пр-е

Пример:

Слайд 119

Ограничение: (выборка, фильтрация) Ограничением, заданным на отношении А в виде условного

Ограничение:
(выборка, фильтрация)
Ограничением, заданным на отношении А в виде условного выражения

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

Реляционная алгебра: ограничение

Слайд 120

Реляционная алгебра: ограничение Примеры:

Реляционная алгебра: ограничение

Примеры:

Слайд 121

Реляционная алгебра: проекция Проекция: Проекцией отношения A по атрибутам X, Y,

Реляционная алгебра: проекция

Проекция:
Проекцией отношения A по атрибутам X, Y, …, Z,

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

Реляционная алгебра: проекция Примеры:

Реляционная алгебра: проекция

Примеры:

Слайд 123

Реляционная алгебра: соединение Естественное соединение: Естественным соединением отношений A и B,

Реляционная алгебра: соединение

Естественное
соединение:
Естественным соединением отношений A и B, имеющим один или

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

Реляционная алгебра: соединение Пример естественного соединения:

Реляционная алгебра: соединение

Пример естественного соединения:

Слайд 125

Реляционная алгебра: соединение Пример условного соединения:

Реляционная алгебра: соединение

Пример условного соединения:

Слайд 126

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

Реляционная модель: замкнутость

Свойство замкнутости операций реляционной алгебры:
Результат каждой операции над отношением

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

Реляционная модель: выводы Достоинства: простота и наглядность представления простота проектирования и

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

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

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

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

Тема 4. Проектирование баз данных

Жизненный цикл БД
Этапы проектирования БД
Системный анализ предметной

области
Инфологическое моделирование предметной области. Модель «сущность-связь»
Даталогическое проектирование. Переход от модели «сущность-связь» к реляционной модели. Принципы нормализации
Слайд 129

Жизненный цикл баз данных

Жизненный цикл баз данных

Слайд 130

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

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

Слайд 131

Системный анализ предметной области Цель: провести подробное словесное описание объектов предметной

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

Цель: провести подробное словесное описание объектов предметной области

и реальных связей между объектами
Функциональный подход — реализует принцип движения «от задач» , когда заранее известны необходимые функции
Предметный подход — когда информационные потребности будущих пользователей БД жестко не фиксируются
Слайд 132

Системный анализ предметной области Системный анализ должен включать: подробное описание информации

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

Системный анализ должен включать:
подробное описание информации об объектах

предметной области
формулировку конкретных задач c кратким описанием алгоритмов их решения
описание выходных документов, которые должны генерироваться в системе
описание входных документов, которые служат основанием для заполнения данными БД
Слайд 133

Пример описания предметной области Задача: требуется разработать ИС для автоматизации учета

Пример описания предметной области

Задача: требуется разработать ИС для автоматизации учета получения

и выдачи книг в библиотеке
Основные объекты:
книги и экземпляры книг
читатели
выдачи книг на руки
Слайд 134

Параметры, характеризующие каждую книгу: уникальный шифр название фамилии авторов (могут отсутствовать)

Параметры, характеризующие каждую книгу:
уникальный шифр
название
фамилии авторов (могут отсутствовать)
место издания (город)
издательство
год издания
количество

страниц
стоимость книги
область знаний
количество экземпляров книги в библиотеке

Пример описания предметной области

Слайд 135

На каждого читателя в картотеку заносятся следующие сведения: уникальный номер читательского

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

имя, отчество
домашний адрес
телефон
дата рождения

Пример описания предметной области

Слайд 136

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

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

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

Пример описания предметной области

Слайд 137

Предусмотреть следующие ограничения : Книга может не иметь ни одного автора

Предусмотреть следующие ограничения :
Книга может не иметь ни одного автора
В библиотеке

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

Пример описания предметной области

Слайд 138

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

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

какие задачи будет решать каждый пользователь (или группа пользователей)

Пример описания предметной области

Слайд 139

Инфологическое моделирование Инфологическое проектирование связано с представлением семантики предметной области в

Инфологическое моделирование

Инфологическое проектирование связано с представлением семантики предметной области в модели

базы данных
Инфологическое описание не должно быть привязано к конкретной СУБД
Инфологическая (семантическая) модель представляет собой емкое формализованное описание предметной области
Слайд 140

Модель «сущность-связь» Модель «сущность-связь» (Entity-Relationship model, ER-модель) ER-модель является концептуальной моделью,

Модель «сущность-связь»

Модель «сущность-связь»
(Entity-Relationship model, ER-модель)
ER-модель является концептуальной моделью, т.е. не учитывает

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

Модель «сущность-связь»: понятия В основе ER-модели лежат следующие базовые понятия: Сущности Атрибуты Связи

Модель «сущность-связь»: понятия

В основе ER-модели лежат следующие базовые понятия:
Сущности
Атрибуты
Связи

Слайд 142

Модель «сущность-связь»: сущность Сущность — это реальный или представляемый объект, информация

Модель «сущность-связь»: сущность

Сущность — это реальный или представляемый объект, информация о

котором должна сохраняться в проектируемой системе
Сущность имеет имя, уникальное в пределах системы
Сущность соответствует некоторому классу однотипных объектов (существует множество экземпляров данной сущности)
Слайд 143

Модель «сущность-связь»: атрибуты Объект имеет свой набор атрибутов — характеристик, определяющих

Модель «сущность-связь»: атрибуты

Объект имеет свой набор атрибутов — характеристик, определяющих свойства

данного объекта
Атрибут должен иметь имя, уникальное в пределах данной сущности
Ключ сущности — это минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности
Слайд 144

Модель «сущность-связь»: сущность

Модель «сущность-связь»: сущность

Слайд 145

Модель «сущность-связь»: сущность

Модель «сущность-связь»: сущность

Слайд 146

Модель «сущность-связь»: связь Связь — это ассоциация, установленная между несколькими сущностями

Модель «сущность-связь»: связь

Связь — это ассоциация, установленная между несколькими сущностями и

показывающая, как взаимодействуют сущности между собой
Связь определяет взаимосвязь между экземплярами сущностей
Связь также может иметь атрибуты
Между сущностями может быть задано сколько угодно связей с разными смысловыми нагрузками
Слайд 147

Модель «сущность-связь»: связь Связь может существовать: между двумя разными сущностями (бинарная

Модель «сущность-связь»: связь

Связь может существовать:
между двумя разными сущностями (бинарная связь)
между

n сущностями (n-арная связь)
между сущностью и ей же самой (рекурсивная связь)
Слайд 148

Модель «сущность-связь»: связь

Модель «сущность-связь»: связь

Слайд 149

Модель «сущность-связь»: связь Степень связи — число экземпляров сущностей, которое может

Модель «сущность-связь»: связь

Степень связи — число экземпляров сущностей, которое может быть

ассоциировано через связь с экземплярами другой сущности
Слайд 150

Степени бинарных связей: один-к-одному (1:1) один-ко-многим (1:M) многие-ко-многим (M:N) Модель «сущность-связь»: связь

Степени бинарных связей:
один-к-одному (1:1)
один-ко-многим (1:M)
многие-ко-многим (M:N)

Модель «сущность-связь»: связь

Слайд 151

Модель «сущность-связь»: связь Класс принадлежности входящих в связь сущностей: Связь любого

Модель «сущность-связь»: связь

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

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

Модель «сущность-связь»: связь Связь степени 1, необязательный класс Связь степени 1,

Модель «сущность-связь»: связь

Связь степени 1, необязательный класс
Связь степени 1, обязательный класс
Связь

степени N, необязательный класс
Связь степени N, обязательный класс
Слайд 153

Модель «сущность-связь»: примеры Примеры связей один-к-одному:

Модель «сущность-связь»: примеры

Примеры связей один-к-одному:

Слайд 154

Модель «сущность-связь»: примеры Примеры связей один-ко-многим:

Модель «сущность-связь»: примеры

Примеры связей один-ко-многим:

Слайд 155

Модель «сущность-связь»: связь Если существование сущности x зависит от существования сущности

Модель «сущность-связь»: связь

Если существование сущности x зависит от существования сущности y,

то x называется зависимой сущностью
Слайд 156

Модель «сущность-связь»: примеры Примеры связей многие-ко-многим: Между одними и теми же сущностями могут существовать несколько связей:

Модель «сущность-связь»: примеры

Примеры связей многие-ко-многим:
Между одними и теми же сущностями могут

существовать несколько связей:
Слайд 157

Модель «сущность-связь»: построение Этапы построения диаграммы «сущность-связь»: Определение списка сущностей выбранной

Модель «сущность-связь»: построение

Этапы построения диаграммы «сущность-связь»:
Определение списка сущностей выбранной предметной области
Определение

списка атрибутов сущностей
Описание связей между сущностями (степени, классы принадлежности связей, а также атрибуты связей, если они необходимы)
Организация данных в виде диаграммы "сущность-связь"
Слайд 158

Модель «сущность-связь»: пример Задача: построить диаграмму, отображающую связь данных для информационной

Модель «сущность-связь»: пример

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

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

Модель «сущность-связь»: пример Составим список сущностей с их атрибутами: Сущность «Продукты»

Модель «сущность-связь»: пример

Составим список сущностей с их атрибутами:
Сущность «Продукты»
Код продукта –

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

Модель «сущность-связь»: пример Сущность «Поставщики» Код поставщика – уникальный идентификатор, ключевой

Модель «сущность-связь»: пример

Сущность «Поставщики»
Код поставщика – уникальный идентификатор, ключевой атрибут
Поставщик –

название организации или ФИО физического лица
Код города – город, где находится поставщик (для поиска)
Адрес – улица и дом (а также квартира – для физического лица)
ФИО директора
Телефон
Факс
Слайд 161

Модель «сущность-связь»: пример Сущность «Продажи» Дата продажи Код продукта – какой

Модель «сущность-связь»: пример

Сущность «Продажи»
Дата продажи
Код продукта – какой именно продукт был

продан
Количество – сколько продано этого продукта в тех единицах измерения, которые указаны для этого продукта в сущности Продукт
Цена продажи – цена при продаже за единицу продукта
Слайд 162

Модель «сущность-связь»: пример Сущность «Города» Код города – уникальный идентификатор, ключевой атрибут Город – название города

Модель «сущность-связь»: пример

Сущность «Города»
Код города – уникальный идентификатор, ключевой атрибут
Город –

название города
Слайд 163

Модель «сущность-связь»: пример Рассмотрим связи, существующие между сущностями: Связь M:N «Поставляют» между сущностями Продукты и Поставщики

Модель «сущность-связь»: пример

Рассмотрим связи, существующие между сущностями:
Связь M:N «Поставляют» между сущностями

Продукты и Поставщики
Слайд 164

Модель «сущность-связь»: пример Связь «Поставляют» имеет следующие атрибуты: Дата поставки Код

Модель «сущность-связь»: пример

Связь «Поставляют» имеет следующие атрибуты:
Дата поставки
Код поставщика – какой

поставщик поставил этот продукт
Код продукта – какой именно продукт был поставлен
КоличествоП – сколько поставлено этого продукта
Цена поставки – цена при поставке за единицу продукта
Дата изготовления – дата изготовления продукта
Слайд 165

Модель «сущность-связь»: пример Связь M:N «Заказаны» между сущностями Продукты и Поставщики

Модель «сущность-связь»: пример

Связь M:N «Заказаны» между сущностями Продукты и Поставщики
Дата заказа
Код

поставщика – какому поставщику заказан этот продукт
Код продукта – какой именно продукт был заказан
КоличествоЗ – сколько поставлено этого продукта
Слайд 166

Модель «сущность-связь»: пример Связи между сущностями Продукты и Поставщики:

Модель «сущность-связь»: пример

Связи между сущностями Продукты и Поставщики:

Слайд 167

Модель «сущность-связь»: пример Связь N:1 «Происходят» между сущностями Продажи и Продукты

Модель «сущность-связь»: пример

Связь N:1 «Происходят» между сущностями Продажи и Продукты
Связь N:1

«Находятся» между сущностями Поставщики и Города
Слайд 168

Модель «сущность-связь»: пример

Модель «сущность-связь»: пример

Слайд 169

Инфологическое моделирование: CASE CASE-средства Computer-Aided System (Software) Engineering CASE-средства обеспечивают поддержку

Инфологическое моделирование: CASE

CASE-средства
Computer-Aided System (Software) Engineering
CASE-средства обеспечивают поддержку технологий автоматизированного

проектирования, разработки и сопровождения программных систем
Пример: AllFusion ERwin Data Modeler (ERwin)
Слайд 170

Инфологическое моделирование: CASE

Инфологическое моделирование: CASE

Слайд 171

Алгоритм перехода к реляционной модели Каждой сущности модели «сущность-связь» ставится в

Алгоритм перехода к реляционной модели

Каждой сущности модели «сущность-связь» ставится в соответствие

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

Первичный ключ сущности становится первичным ключом соответствующего отношения В каждое отношение,

Первичный ключ сущности становится первичным ключом соответствующего отношения
В каждое отношение, соответствующее

сущности со стороны «многие» (связь 1:М), добавляется набор атрибутов сущности со стороны «один», являющихся первичным ключом сущности со стороны «один»

Алгоритм перехода к реляционной модели

Слайд 173

Для моделирования необязательного и обязательного класса принадлежности: у атрибутов сущности необязательного

Для моделирования необязательного и обязательного класса принадлежности:
у атрибутов сущности необязательного

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

Алгоритм перехода к реляционной модели

Слайд 174

Разрешение связей типа M:N: Связи становится в соответствие новое отношение, имеющее

Разрешение связей типа M:N:
Связи становится в соответствие новое отношение, имеющее

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

Алгоритм перехода к реляционной модели

Слайд 175

Пример перехода к реляционной модели Пример преобразования модели «сущность-связь» к реляционной

Пример перехода к реляционной модели

Пример преобразования модели «сущность-связь» к реляционной модели:
В

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

Пример перехода к реляционной модели

Пример перехода к реляционной модели

Слайд 177

Пример перехода к реляционной модели

Пример перехода к реляционной модели

Слайд 178

Пример перехода к реляционной модели Схема отношения «Продукты»

Пример перехода к реляционной модели

Схема отношения «Продукты»

Слайд 179

Пример перехода к реляционной модели Схема отношения «Поставщики»

Пример перехода к реляционной модели

Схема отношения «Поставщики»

Слайд 180

Пример перехода к реляционной модели Схема отношения «Продажи»

Пример перехода к реляционной модели

Схема отношения «Продажи»

Слайд 181

Пример перехода к реляционной модели Схема отношения «Города»

Пример перехода к реляционной модели

Схема отношения «Города»

Слайд 182

В примере две связи имеют степень M:N. Это связи Поставляют и

В примере две связи имеют степень M:N. Это связи Поставляют и

Заказаны.
Следовательно, дополнительно появляются еще два отношения:
Поставки
Заказы

Пример перехода к реляционной модели

Слайд 183

Пример перехода к реляционной модели Схема отношения «Поставки»

Пример перехода к реляционной модели

Схема отношения «Поставки»

Слайд 184

Пример перехода к реляционной модели Схема отношения «Заказы»

Пример перехода к реляционной модели

Схема отношения «Заказы»

Слайд 185

Пример перехода к реляционной модели Окончательный вариант реляционной модели (Схемы БД)

Пример перехода к реляционной модели

Окончательный вариант реляционной модели (Схемы БД)

Слайд 186

Даталогическое проектирование Цель даталогического проектирования: разработка корректной схемы БД в терминах

Даталогическое проектирование

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

анализа корректности схемы являются анализ функциональных зависимостей между атрибутами отношений БД
Слайд 187

Даталогическое проектирование

Даталогическое проектирование

Слайд 188

Даталогическое проектирование После нормализации схемы БД и окончательного выбора СУБД выполняется:

Даталогическое проектирование

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

схемы БД в терминах выбранной СУБД
Описание внешних моделей в терминах выбранной СУБД
Описание правил поддержки целостности базы данных
Разработка процедур поддержки семантической целостности базы данных
Слайд 189

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

Проектирование схемы БД

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

(разбиения):
путем последовательной нормализации схем отношений
путем синтеза
Универсальное отношение — это таблица, в которую включены все интересующие атрибуты, то есть та таблица, которая требует нормализации
Слайд 190

Нормализация базы данных Нормализация — это процесс преобразования отношения в состояние,

Нормализация базы данных

Нормализация — это процесс преобразования отношения в состояние, обеспечивающее

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

Нормальные формы первая нормальная форма (1NF) вторая нормальная форма (2NF) третья

Нормальные формы

первая нормальная форма (1NF)

вторая нормальная форма (2NF)

третья нормальная форма (3NF)

нормальная

форма Бойса—Кодда (BCNF)

четвертая нормальная форма (4NF)

пятая нормальная форма (5NF)

Слайд 192

Свойства нормальных форм Каждой нормальной форме соответствует определенный набор ограничений Основные

Свойства нормальных форм

Каждой нормальной форме соответствует определенный набор ограничений
Основные свойства нормальных

форм:
каждая следующая нормальная форма улучшает свойства предыдущей
при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются
Слайд 193

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

Первая нормальная форма

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

его атрибутов атомарны.
Слайд 194

Первая нормальная форма: пример

Первая нормальная форма: пример

Слайд 195

Первая нормальная форма: пример

Первая нормальная форма: пример

Слайд 196

Недостатки первой нормальной формы избыточность — многократное повторение информации в столбцах

Недостатки первой нормальной формы

избыточность — многократное повторение информации в столбцах данных
аномалии

модификации (обновления) данных
аномалии добавления данных
аномалии удаления данных
Пример:
Экзамены (ФИО, Номер зач.кн., Группа, Дисциплина, Дата экзамена, Оценка)
Слайд 197

Избыточность данных: пример

Избыточность данных: пример

Слайд 198

Функциональная зависимость Атрибут Y некоторого отношения функционально зависит от X (атрибуты

Функциональная зависимость

Атрибут Y некоторого отношения функционально зависит от X (атрибуты могут

быть составными), если в любой момент времени каждому значению X соответствует одно значение Y.
Функциональная зависимость обозначается: X Y
Пример: Номер зач.кн. ФИО
Слайд 199

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

Полная функциональная зависимость

Неключевой атрибут функционально полно зависит от составного ключа, если

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

Вторая нормальная форма Отношение (таблица) находится во 2НФ, если оно находится

Вторая нормальная форма

Отношение (таблица) находится во 2НФ, если оно находится в

1НФ, и каждый неключевой атрибут функционально полно зависит от всего ключа.
Приводить ко 2 НФ необходимо только отношения с составным ключом
Слайд 201

Вторая нормальная форма Если какой-либо атрибут зависит от части составного первичного

Вторая нормальная форма

Если какой-либо атрибут зависит от части составного первичного ключа,

то необходимо:
создать новое отношение, атрибутами которого будут:
часть составного ключа (первичный ключ нового отношения)
атрибут, зависящий от нового ключа
из исходного отношения исключить атрибут, включенный в новое отношение
Слайд 202

Вторая нормальная форма

Вторая нормальная форма

Слайд 203

Вторая нормальная форма: пример

Вторая нормальная форма: пример

Слайд 204

Определение неполных ФЗ Составление таблицы-опросника: КЛ – ключевые атрибуты, НК – неключевые атрибуты

Определение неполных ФЗ

Составление таблицы-опросника:
КЛ – ключевые атрибуты, НК – неключевые атрибуты

Слайд 205

Транзитивная зависимость Транзитивная функциональная зависимость: Пусть A ,B, C – три

Транзитивная зависимость

Транзитивная функциональная зависимость:
Пусть A ,B, C – три атрибута некоторого

отношения R.
Схема транзитивной зависимости:
Слайд 206

Третья нормальная форма Отношение находится в 3НФ, если оно находится во

Третья нормальная форма

Отношение находится в 3НФ, если оно находится во 2НФ

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

Третья нормальная форма

Третья нормальная форма

Слайд 208

Третья нормальная форма: пример

Третья нормальная форма: пример

Слайд 209

Определение транзитивных ФЗ Составление таблицы-опросника: НК – неключевые атрибуты

Определение транзитивных ФЗ

Составление таблицы-опросника:
НК – неключевые атрибуты

Слайд 210

Тема 6. Приложения и системы управления базами данных Прохождение запроса к

Тема 6. Приложения и системы управления базами данных

Прохождение запроса к БД
Основные

функции СУБД
Режимы работы с БД
Распределенная обработка данных
Уровни приложения. Архитектуры приложений
Транзакции
Индексы
Слайд 211

Схема прохождения запроса к БД

Схема прохождения запроса к БД

Слайд 212

Основные функции СУБД Определение схемы данных Манипулирование данными Оптимизация и выполнение

Основные функции СУБД

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

данных
Защита и поддержка целостности данных
Поддержка многопользовательской работы
Управление ресурсами среды хранения
Поддержка функций администрирования
Слайд 213

Режимы работы с БД

Режимы работы с БД

Слайд 214

Архитектуры приложений Централизованная архитектура (монолитное приложение) Двухзвенная архитектура («файл-сервер» или «клиент-сервер») Трехзвенная архитектура

Архитектуры приложений

Централизованная архитектура (монолитное приложение)

Двухзвенная архитектура («файл-сервер» или «клиент-сервер»)

Трехзвенная архитектура

Слайд 215

Централизованная архитектура Автономная работа (все размещено на одном компьютере) Главный недостаток: невозможна параллельная работа нескольких пользователей

Централизованная архитектура

Автономная работа (все размещено на одном компьютере)
Главный недостаток: невозможна параллельная

работа нескольких пользователей
Слайд 216

Централизованная архитектура Примеры СУБД с централизованной архитектурой (70-80-е года): Первые версии

Централизованная архитектура

Примеры СУБД с централизованной архитектурой (70-80-е года):
Первые версии Oracle
Первые версии

DB2
Первые версии Ingres
Слайд 217

Распределенная обработка данных Система распределенной обработки данных — система, обеспечивающая параллельный

Распределенная обработка данных

Система распределенной обработки данных — система, обеспечивающая параллельный доступ

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

Двухзвенная архитектура Сервер — логический процесс, обеспечивающий обслуживание других процессов Клиент

Двухзвенная архитектура

Сервер — логический процесс, обеспечивающий обслуживание других процессов
Клиент — логический

процесс, посылающий серверу запрос на обслуживание
Слайд 219

Уровни приложения Presentation Logic Business Logic Database Logic Database Manager System Processing Служебные функции

Уровни приложения

Presentation Logic

Business Logic

Database Logic

Database Manager System Processing

Служебные функции

Слайд 220

Уровни приложения

Уровни приложения

Слайд 221

Модель «File Server» (FS) Модель файлового сервера

Модель «File Server» (FS)

Модель файлового сервера

Слайд 222

Модель «File Server» Основные свойства: Выделяется файл-сервер для реализации услуг по

Модель «File Server»

Основные свойства:
Выделяется файл-сервер для реализации услуг по обработке файлов
Сервер

передает СУБД, размещенной на компьютере-клиенте, требуемый блок данных
Протокол обмена — набор низкоуровневых вызовов файловых команд
Вся обработка осуществляется на компьютере-клиенте
Слайд 223

Модель «File Server» Преимущества: разделение монолитного приложения на два взаимодействующих процесса

Модель «File Server»

Преимущества:

разделение монолитного приложения на два взаимодействующих процесса (клиент и

сервер)
простота архитектуры, использование штатных средств ОС

Недостатки:

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

Слайд 224

Модель «File Server» Примеры файл-серверных СУБД: dBase Microsoft Access FoxPro и Visual FoxPro Paradox Clipper

Модель «File Server»

Примеры файл-серверных СУБД:
dBase
Microsoft Access
FoxPro и Visual FoxPro
Paradox
Clipper

Слайд 225

Модель «Remote Data Access» (RDA) Модель удаленного доступа к данным Сервер

Модель «Remote Data Access» (RDA)

Модель удаленного доступа к данным
Сервер БД —

логический процесс, отвечающий за обработку запросов к БД
Слайд 226

Модель «Remote Data Access» Основные свойства: Коды компонента представления и прикладного

Модель «Remote Data Access»

Основные свойства:
Коды компонента представления и прикладного компонента совмещены

и выполняются на компьютере-клиенте
Доступ к информационным ресурсам обеспечивается операторами языка SQL
Инициатор манипуляций с данными — программы на компьютере-клиенте
Ядро СУБД выполняет пассивную роль (выполняет SQL-команды от клиента)
Слайд 227

Модель «Remote Data Access» Преимущества: процессор сервера загружается операциями обработки данных

Модель «Remote Data Access»

Преимущества:

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

(передача только SQL-запросов)
унификация интерфейса «клиент-сервер» в виде языка SQL

Недостатки:

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

Слайд 228

Модель «Database Server» (DBS) Модель сервера баз данных

Модель «Database Server» (DBS)

Модель сервера баз данных

Слайд 229

Модель «Database Server» Основные свойства: Использования механизма хранимых процедур и триггеров,

Модель «Database Server»

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

программирования SQL-сервера
Компонент представления выполняется на компьютере-клиенте
Прикладной компонент и ядро СУБД — на компьютере-сервере базы данных
Слайд 230

Хранимые процедуры Хранимая процедура — фрагмент программного кода, который хранится на

Хранимые процедуры

Хранимая процедура — фрагмент программного кода, который хранится на сервере

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

Триггеры Триггер базы данных — это хранимая процедура особого типа, которая

Триггеры

Триггер базы данных — это хранимая процедура особого типа, которая вызывается

при наступлении определенного события (действия)
Слайд 232

Модель «Database Server» Преимущества: низкие требования к клиенту («тонкий» клиент) возможность

Модель «Database Server»

Преимущества:

низкие требования к клиенту («тонкий» клиент)
возможность централизованного администрирования
централизованное управление

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

Недостатки:

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

Слайд 233

Примеры RDA- и DBS-СУБД Примеры СУБД, реализующих синтез RDA- и DBS-моделей:

Примеры RDA- и DBS-СУБД

Примеры СУБД, реализующих синтез RDA- и DBS-моделей:
Oracle
MS SQL

Server
DB2
Sybase
Ingres
Informix
PostgreSQL
MySQL
Слайд 234

Трехзвенная архитектура Модель «Application Server» (AS) (модель сервера приложений)

Трехзвенная архитектура

Модель «Application Server» (AS)
(модель сервера приложений)

Слайд 235

Трехзвенная архитектура Основные свойства: Клиент отвечает только за интерфейс пользователя Прикладные

Трехзвенная архитектура

Основные свойства:
Клиент отвечает только за интерфейс пользователя
Прикладные функции (бизнес-логика) выделены

как важнейший изолированный элемент и выполняются на сервере приложений (AS)
Все операции над БД выполняются соответствующим сервером БД
Слайд 236

Трехзвенная архитектура Преимущества: «Тонкий» клиент (чаще всего web-клиент) Централизованное управление приложениями

Трехзвенная архитектура

Преимущества:

«Тонкий» клиент (чаще всего web-клиент)
Централизованное управление приложениями (настройка, обновление)
Безопасность на

уровне сервера приложений
Сервер приложений имеет стандартизированные интерфейсы с двумя другими компонентами

Недостатки:

сложное программное обеспечение

Слайд 237

Модель «Application Server» Примеры серверов приложений: Java application servers Apache Geronimo

Модель «Application Server»

Примеры серверов приложений:
Java application servers
Apache Geronimo
Glassfish Application Server (Sun)
WebSphere

Application Server (IBM)
JBoss (Red Hat)
Jetty (Eclipse Foundation)
WebLogic Server (Oracle)
Microsoft .NET Framework
Слайд 238

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

Понятие транзакции

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

(фиксация изменений)
либо полностью отвергнута
ROLLBACK (откат изменений)
Транзакция — это логическая единица работы с базой данных
Транзакция обычно включает в себя несколько операций над базой данных
Слайд 239

Пример транзакции /*Перевод денег со счета А на счет В*/ BEGIN

Пример транзакции

/*Перевод денег со счета А на счет В*/
BEGIN TRANSACTION;
UPDATE

account A; /*Списание денег со счета А */
UPDATE account В; /*Зачисление денег на счет В */
IF <все выполнено успешно>
THEN COMMIT; /* Нормальное завершение */
ELSE ROLLBACK; /* Аварийное завершение */
END IF;
Слайд 240

Свойства транзакций Требования ACID: Атомарность (Atomicity) Согласованность (Consistency) Изолированность (Isolation) Долговечность (Durability)

Свойства транзакций

Требования ACID:
Атомарность (Atomicity)
Согласованность (Consistency)
Изолированность (Isolation)
Долговечность (Durability)

Слайд 241

Модель транзакций ANSI/ISO

Модель транзакций ANSI/ISO

Слайд 242

Журнализация транзакций Журнал транзакций — системная структура, хранящая информацию об изменениях

Журнализация транзакций

Журнал транзакций — системная структура, хранящая информацию об изменениях базы

данных
Цель журнализации: обеспечение возможности восстановления согласованного состояния базы данных после любого сбоя
Восстанавливается последнее по времени согласованное состояние базы данных
Слайд 243

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

Восстановление базы данных

Индивидуальный откат транзакции
Восстановление после внезапной потери содержимого оперативной памяти

(мягкий сбой)
Восстановление после поломки основного внешнего носителя базы данных (жесткий сбой)
Слайд 244

Журналы транзакций Варианты ведения журналов транзакций: Для каждой транзакции поддерживается отдельный

Журналы транзакций

Варианты ведения журналов транзакций:
Для каждой транзакции поддерживается отдельный локальный журнал

изменений БД и поддерживается общий журнал изменений базы данных
Поддержание только общего журнала изменений базы данных (чаще всего используется этот вариант)
Общая структура журнала — последовательный файл, в котором фиксируется каждое изменение БД, которое происходит в ходе выполнения транзакции
Слайд 245

Пример журнала транзакций

Пример журнала транзакций

Слайд 246

Тема 7. Знания, интеллектуальные банки и базы знаний (на самостоятельное изучение)

Тема 7. Знания, интеллектуальные банки и базы знаний

(на самостоятельное изучение)
Направления развития

искусственного интеллекта, представление знаний
Данные, информация и знания
Особенности знаний, классификация знаний
Иерархическая структура обработки информации
Банки и базы знаний
Экспертные системы
Слайд 247

Представление знаний и разработка систем, основанных на знаниях Разработка естественно-языковых интерфейсов

Представление знаний и разработка систем, основанных на знаниях
Разработка естественно-языковых интерфейсов и

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

Направления развития искусственного интеллекта

Слайд 248

Данные — это отдельные факты, характеризующие объекты, процессы и явления в

Данные — это отдельные факты, характеризующие объекты, процессы и явления в

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

Данные

Слайд 249

Знания — это выявленные закономерности предметной области (принципы, связи, законы), позволяющие

Знания — это выявленные закономерности предметной области (принципы, связи, законы),

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

Знания

Слайд 250

информация = данные + смысл знание = информация + цель Знания

информация = данные + смысл
знание = информация + цель

Знания

— это система информации, обеспечивающая увеличение вероятности достижения какой-либо цели
Знания — это технологии обработки информации

Данные, информация, знания

знания = данные + смысл + цель

Слайд 251

Особенности знаний Для знаний (в отличие от данных) характерно: Интерпретируемость Наличие классифицируемых отношений Наличие ситуативных связей

Особенности знаний

Для знаний (в отличие от данных) характерно:
Интерпретируемость
Наличие классифицируемых отношений
Наличие ситуативных

связей
Слайд 252

Классификация знаний Знания бывают: поверхностными — знания о видимых взаимосвязях между

Классификация знаний

Знания бывают:
поверхностными — знания о видимых взаимосвязях между отдельными событиями

и фактами в предметной области
глубинными — абстракции, аналогии, схемы, отображающие структуру и природу процессов предметной области
Знания также можно разделить на:
процедурные — знания, «растворенные» в алгоритмах (на языках программирования)
декларативные — знания, записанные на языках представления знаний (близкие к естественным языкам)
Слайд 253

Иерархическая структура обработки информации

Иерархическая структура обработки информации

Слайд 254

Банки и базы знаний Банк знаний (БнЗ) — это информационная система

Банки и базы знаний

Банк знаний (БнЗ) — это информационная система представления

знаний, ядром которой является интеллектуальный банк данных (банк данных + база знаний)
База знаний (БЗ) — это структурированная совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке представления знаний, приближенном к естественному языку)
Слайд 255

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

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

Слайд 256

Экспертные системы Наибольшее применение на практике находит такая разновидность БнЗ, как

Экспертные системы

Наибольшее применение на практике находит такая разновидность БнЗ, как экспертные

системы (ЭС)
Экспертные системы (ЭС) — это сложные программные комплексы, которые:
аккумулируют знания специалистов (экспертов) в конкретных предметных областях
предоставляют эти знания для консультаций менее квалифицированных пользователей
Слайд 257

Структура экспертной системы

Структура экспертной системы

Слайд 258

Задачи, решаемые экспертными системами Интерпретация данных Диагностика Мониторинг Проектирование Прогнозирование Планирование Обучение Управление Поддержка принятия решений

Задачи, решаемые экспертными системами

Интерпретация данных
Диагностика
Мониторинг
Проектирование
Прогнозирование
Планирование
Обучение
Управление
Поддержка принятия решений