Разделы презентаций


Базы данных Введение

Содержание

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

Слайды и текст этой презентации

Слайд 1Базы данных Введение
Бессарабов Н.В.
bes@fpm.kubsu.ru
2020 г.

Базы данных ВведениеБессарабов Н.В.bes@fpm.kubsu.ru2020 г.

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

Р. Декарт
Базы данных (БД) рассматриваются с одной стороны как отображения

моделей бизнеса, с другой как компоненты информационных систем, с третьей стороны, учитываются особенности реализации систем управления базами данных (СУБД).
Предлагается вариант семиотического подхода, что совсем не обычно для подобных курсов. Рассматривается семантика и прагматика данных, которые в подобных курсах почти не изучаются.
В настоящее время СУБД используют большое количество моделей данных. Разобраться в этом зоопарке можно работая с такими моделями и моделями бизнеса, а также исследуя их морфизмы.
Используемый инструментарий (СУБД Caché, Neo4j, Oracle, CASE-средство ERWin и модель WinRDBI) выбран так, чтобы за ограниченное время освоить шесть моделей данных и получить представление о моделях NoSQL. В частности, внимание, уделяемое Caché вызвано тем, что в ней удобно изучать пять моделей данных, а морфизмы трёх из них просто встроены в эту СУБД.
Важно понимать, что без достаточно большой практической работы ничто не понимается до конца и не запоминается надолго.

 Бессарабов Н.В. 2020

Особенности курса				Знание немногих принципов освобождает от знания 					многих фактов.   Р. ДекартБазы данных (БД) рассматриваются с одной

Слайд 3Разделы первой части курса (4 семестр)
Данные, их синтаксис, семантика

и прагматика.
Бизнес-процессы. Процессный подход.
Модели данных. Понятие СУБД.
Инфологические

модели. Модель “Cущность – связь”.
Иерархическая модель. Язык Caché ObjectScript (изучается на
практических занятиях).
Реляционная модель.
Нормализация, денормализация и рефакторинг.
Языки SQL и QBE.
Введение в СУБД Oracle.
Транзакции.
Объектно-реляционная модель данных.
Морфизмы объектных, реляционных и иерархических моделей.
Представление о NoSQL. Графовая модель (на примере Neo4J).
Шаблоны/паттерны проектирования баз данных
Замечание: Язык COS СУБД Cache изучается на практических занятиях.

 Бессарабов Н.В. 2020

Возможны изменения в составе разделов, их объёмах. Какой вариант выбираем?

При изучении SQL и Oracle рассматриваются элементы администрирования в стиле “Где что плохо/хорошо лежит”

Разделы первой части курса (4 семестр) Данные, их синтаксис, семантика и прагматика. Бизнес-процессы. Процессный подход. Модели данных.

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

Читаются в 4-м семестре:
Введение в исчисления предикатов

1, 2 порядков и в
многозначные логики – 2 час.
Понятие о модальных и темпоральных логиках – 2 час.
Введение в семиотику. Семантики данных – 2 час.
Шаблоны в структурах данных и программах – 2 час.
UML 2 лек 2 практ. час.

 Бессарабов Н.В. 2020

Дополнительные необязательные лекции для первой части курса “Базы данных”    Читаются в 4-м семестре: Введение

Слайд 5Разделы второй части курса (5 семестр)
Многомерные модели данных и аналитические

функции
NoSQL базы данных
-- модель ключ – значение;


-- модель семейство столбцов;
-- документные базы данных (на примере MongoDB);
Блок-чейн
Процедурные языки баз данных
Администрирование баз данных
-- структуры информационных систем; расслоения; модули;
-- структуры СУБД;
-- серверы баз данных, кластеры, шардинг, облака;
-- словарь; получение информации об объектах и процессах;
-- запуск и останов СУБД;
-- кеширование запросов и результатов;
-- работа с индексами;
-- отслеживание информации о процедурном коде,
тестирование профилирование;
-- тюнинг; SQL- тюнинг; планы исполнения;

 Бессарабов Н.В. 2020

Разделы второй части курса (5 семестр)Многомерные модели данных и аналитические функцииNoSQL базы данных   -- модель

Слайд 6Дополнительные необязательные лекции для второй части курса “Базы данных”
Читаются в

5-м семестре
Процессный подход. Понятие о Domain Driven Design. Рефакторинг данных

2 - 4 часа
XML 6 лек. 4 практ
JASON 2 час.

 Бессарабов Н.В. 2020

Дополнительные необязательные лекции для второй части курса “Базы данных”Читаются в 5-м семестреПроцессный подход. Понятие о Domain Driven

Слайд 7 Бессарабов Н.В. 2020
Обеспеченность литературой (100 экз.) + сайт ИНТУИТ

Учебное пособие: www.intuit.ru (HTML, .fb2). Слайды лекций рассчитаны не только на представление

материала во время лекций, но представляют почти полный конспект.
 Бессарабов Н.В. 2020   Обеспеченность литературой  (100 экз.)  + сайт ИНТУИТ

Слайд 8Цели лекции
Дано предварительное определение базы данных.
Вначале

выясняется что такое “данные”, их “семантика” и
“прагматика”. Рассматриваются наборы

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

 Бессарабов Н.В. 2020

Цели лекции	Дано предварительное определение базы данных.   Вначале выясняется что такое “данные”, их “семантика” и “прагматика”.

Слайд 9Часть1. Данные, их синтаксис, семантика и прагматика

Здесь даются предварительные определения,


необходимые для быстрого вхождения в тему.
Под “базой данных” временно будем

понимать
любое (и не обязательно электронное) средство для
хранения информации.

 Бессарабов Н.В. 2020

Часть1.  Данные, их синтаксис, семантика и прагматика Здесь даются предварительные определения, необходимые для быстрого вхождения в

Слайд 10Понятие данных
Данные – это представление фактов о предметной области информационной

системы в виде структуры, состоящей из знаков.
Вопрос: Если имеются данные

по какому-то объекту, процессу, то что ещё, кроме них, может понадобиться?
Вариант вопроса: Разве в базе данных имеется что-либо кроме этих самых данных?
Ответ: Много чего. Данные должны кем-то или чем-то распознаться, а затем интерпретироваться. Сами по себе они не могут быть использо-ваны. Нужны семантики, то есть смыслы (интерпретации) данных, и прагматики, отражающие отношение интерпретатора к данным.
Уже для восприятия данных нужно представлять, какие знаки будем воспринимать. Иначе говоря, уметь распознавать эти знаки и как-то представлять систему знаков.
Пример: Пусть имеется знак: I
Можете без дополнительной информации сказать, что это: черта, заглавная буква латиницы, или римское число 1? Если, например, ожидается римское число, то неоднозначность восприятия отпадает.
Прагматику можно понимать как выбор одной из возможных семантик.


 Бессарабов Н.В. 2020

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

Слайд 11Примеры: семантики и прагматики
Пример: (анализ семантики по косвенным признакам):

На вступительных экзаменах в вуз преподаватель, не получив ответа, просит

студента хотя бы прочесть выражение вида 2xy2+… и получает совсем неожиданную (для преподавателя) интерпретацию “два ху и два наверху”.
Разве не понятно, насколько абитуриент разобрался с многочленами, какой семантикой (смыслом) для него обладает запись “2xy2+… ” ?
Пример: Табло на здании банка – запись с тремя полями

Интерпретатор – человек. Некоторые варианты прочтения:
Человек не знает, что такое валюта и как её обменивать. Ответ: “?”
Знает, но интересуется только покупкой долларов (такая у него прагматика). Ответ: “Сегодня здесь продают доллар США за 65 рублей”. Здесь использована уже другая семантика.
Знает, что такое маржа и что она характеризует. Ответ: ”3 рубля. А вчера было…Ожидание обмена валюты банком … (повышается/ понижается)”. Здесь третья прагматика и задаваемая ею семантика.
Заметьте, что в последнем варианте для интерпретации потребовались дополнительные данные.

 Бессарабов Н.В. 2020

Примеры: семантики и прагматики Пример: (анализ семантики по косвенным признакам): На вступительных экзаменах в вуз преподаватель, не

Слайд 12А причём здесь базы данных?
По таблице «Сотрудники» определите количество сотрудников

работающих в отделе №30








Так, как следует назвать или охарактеризовать эту

таблицу? Дайте текст названия или комментария одной фразой. Название может быть кратким, например, emp, но смыслы данных должны быть выявлены.
А можно ли использовать эту единственную таблицу как базу данных Human Resouces?
Попробуйте определить понятие “посетитель сайта” и задайте его атрибуты.

 Бессарабов Н.В. 2020

А причём здесь базы данных?По таблице «Сотрудники» определите количество сотрудников работающих в отделе №30Так, как следует назвать

Слайд 13Синтаксис, семантики и прагматики (2/2)

Элемент данных, или знак

Означаемое

Озна-чаемое
Интер-претатор
Др. эле-менты данных
Семантики
Прагматики
Синтактика
Предмет,

процесс или представление о нём
Синтактика включает синтагматику (это сочетаемость знаков)

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

 Бессарабов Н.В. 2020

Примеры на доске с темпоральными данными

Morris Ch. W. Foundations
of the theory of signs. - Chicago, 1938. Источник: http://niv.ru/doc/communications/pocheptsov/126.htm

Синтаксис, семантики и прагматики (2/2)Элемент данных, или знакОзначаемоеОзна-чаемоеИнтер-претаторДр. эле-менты данныхСемантикиПрагматикиСинтактикаПредмет, процесс или представление о нёмСинтактика включает синтагматику

Слайд 14Уточнения к предыдущему слайду
Стрелки на предыдущем слайде это скорее некоторое

соответствие, не всегда чётко определённое. Их не следует связывать с

какими-либо математическими конструкциями.
Означаемое может трактоваться двояко:
-- как денотат, то есть класс структур, предметов, явлений
обозначаемых знаком; денотат соответствует объёму понятия в логике;
-- как десигнат, идеальный объект, обозначенный данным знаком;
Существуют так называемые пустые понятия, имеющие десигнат без денотата, например, «русалка».
Эти уточнения необходимы потому, что терминология в изучаемой нами области баз данных и, особенно, моделей бизнеса, как и во многих других, используется весьма фривольно. Часто под одним названием в разных частях одного документа имеются совсем разные вещи и наоборот, одно называется разными именами.
Уточнения к предыдущему слайдуСтрелки на предыдущем слайде это скорее некоторое соответствие, не всегда чётко определённое. Их не

Слайд 15Пример
Пример 1: Дана таблица с именем “Сотрудники” и шапкой


Что хранится в таблице? Каков смысл данных?
Оказывается, в нынешнем

виде таблица бессмысленна.
Как в этом убедиться?
Отобразим таблицу (это наш знак) на модель бизнес-процессов (это у нас обозначаемое – денотат). Замечаем, что в бизнесе нет ничего вечного. Сотрудника сначала не было, затем его приняли, а далее может быть перевели, и не один раз, потом уволили, снова приняли и т.д. Наша таблица этого никак не отображает и потому бессмысленна, но не совсем!
Замечаем, что стоит попробовать как-то привязаться к дате или отрезку времени. Например, если заменить название, скажем, на словосочетание “Сотрудники на 20.02.2020”, некоторый смысл появится.
Замечание: позже вы увидите, что очень много проблем с выявлением смыслов связано именно с темпоральными данными.


ПримерПример 1: Дана таблица с именем “Сотрудники” и шапкой   Что хранится в таблице? Каков смысл

Слайд 16Как описать базу данных
База данных определяется:
тем,

какие данные в ней хранятся, и какие ограничения на них

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

 Бессарабов Н.В. 2020

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

Слайд 17Поля, записи, наборы записей
Данные часто хранятся в виде записей.
Записью в

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

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

 Бессарабов Н.В. 2020

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

Слайд 18Примеры записи, схемы записи
Пример: Запись “сотрудник”, с полем “адрес”
сотрудник(1101, Пирогов

Олег Николаевич, лаборант, 2000,
адрес(350033, Россия, Краснодар, Ставропольская, 140, 5))‏
Схема записи

“сотрудник”:

 Бессарабов Н.В. 2020

Теперь понятно, почему мы говорили: запись -- это иерархия полей

Примеры записи, схемы записиПример: Запись “сотрудник”, с полем “адрес”сотрудник(1101, Пирогов Олег Николаевич, лаборант, 2000,адрес(350033, Россия, Краснодар, Ставропольская,

Слайд 19Типы данных
Разделим типы данных на три группы:


Простые типы данных.
Структурированные типы данных.
Ссылочные типы данных.

Простые, иначе атомарные, или скалярные типы данных
не обладают внутренней структурой. К простым типам
относятся как минимум:
строковые (с переменной и фиксированной длиной),
численные (целый, вещественный),
денежный (вещественный с двумя знаками после десятичной точки),
интервальные типы (дата, время, временные метки),
перечислимые типы.
Замечание: Не повезло в базах логическому типу. Очень часто он
отсутствует. Поэтому приходится представлять его, например,
символьным типом со значениями 1 как true и 0 как false.

 Бессарабов Н.В. 2020

Типы данных   Разделим типы данных на три группы: Простые типы данных. Структурированные типы данных. Ссылочные

Слайд 20Сложные структуры данных
Структурированные типы данных образуются из

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


более распространены структурированные типы: массивы и записи.
Пример: Структурированный тип данных запись «адрес»,
рассмотренный ранее на слайде 13
сотрудник(таб_номер, ФИО, должность, зарплата,
адрес(индекс, страна, город, улица, дом, квартира))‏
Ссылочные типы данных используются в объектных базах для
определения ссылочных атрибутов, представляемых так называемыми
объектными ссылками (OID и OREF). Пока мы подобными конструкциями
не занимаемся.
Обратите внимание на то, что данные любых типов, за исключением
структурированных, воспринимается как единое и неделимое целое.
У данных структурированных типов такими неделимыми элементами
являются листовые элементы дерева типа.
С точки зрения пользователя или других программ эти “неделимые”
элементы могут иметь свою структуру, но система управления базами
данных не может воспринимать её детали.

 Бессарабов Н.В. 2020

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

Слайд 21Домены
Домен можно считать уточнением типа данных.

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


Домен должен иметь уникальное в пределах базы
данных имя. Определяется он на некотором типе данных
или на другом домене. Домен характеризуется условием,
выделяющем подмножество данных описываемого домена.
Пример: Домен “возраст человека” характеризуется условием
(возраст>0 и возраст<120).
На этом домене с помощью условий
(возраст>21 и возраст< 45)
можно определить домен “возраст сотрудника охранного
предприятия”.
Замечание: К сожалению, в существующих системах
управления базами данных домены не поддерживаются.

 Бессарабов Н.В. 2020

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

Слайд 22схема записи
Структура набора записей
Имена полей
Типы полей

данные
Набор записей
 Бессарабов Н.В. 2020
А

как связываются
наборы записей?
Домены задают ограничениями
целостности

схема записиСтруктура набора записейИмена полейТипы полей…данныеНабор записей Бессарабов Н.В. 2020А как связываются наборы записей?Домены задают ограничениями целостности

Слайд 23Схема базы
Вспомним, что схема записи это описание ее структуры.
Описание базы

или ее фрагмента принято называть схемой
базы/фрагмента. Некоторые наборы записей

в схеме базы могут
быть связаны. Поэтому в схему базы включаются связи,
представляемые как часть схем связываемых записей, либо
отдельным описанием.
Пример: в двух наборах записей “сотрудник” и “отдел” со схемой
сотрудник(табельный_номер, ФИО, должность, таб_ном_начальника, зарплата, комисионные, номер_отдела)‏
отдел ( номер_отдела, название_отдела, город)‏
свяжем эти наборы записей через поля “номер_отдела”, имея в виду,
что у каждого сотрудника в поле “номер_отдела” должен стоять
номер отдела, который имеется в одной из записей набора “отдел” и
не может быть номера, не указанного в одной из записей набора
“отдел”. Остается добавить схему связи:
связь_сотр_отд(сотрудник.номер_отдела, отдел.номер_отдела)‏
При моделировании реальных объектов бизнеса, следует уточнить
многие подробности, например, как-то указать, что в отделе может не
быть сотрудников, что один сотрудник не может работать в двух отделах
и т.д. Этими ограничениями целостности мы займёмся позже.

 Бессарабов Н.В. 2020

Схема базы	Вспомним, что схема записи это описание ее структуры.	Описание базы или ее фрагмента принято называть схемой базы/фрагмента.

Слайд 24Данные и метаданные
Метаданные это данные специального вида,

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

метадан-
ных – комментарии – интерпретируется только человеком. Остальные
данные «понятны» транслятору и, может быть, человеку. Поскольку
какие - то метаданные имеются всегда, база самодокументирума.
Понятно, что схема базы -- это существенная часть её метаданных.
Метаданные представляют часть семантики “основных” данных,
зависящую от принятой модели данных и особенностей реализации
базы.

 Бессарабов Н.В. 2020

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

Слайд 25Пример. Данные и метаданные
Данные содержатся в двух таблицах. Таблица T1

приведена ниже,
таблица Т2 на этом слайде не показана.


T1:

Часть метаданных может быть записаны в двух таблицах.
M1 содержит перечень таблиц, M2 – перечень столбцов

M1: M2:

 Бессарабов Н.В. 2020

Замечание: К метаданным относятся типы, комментарии, ограничения целостности и много других видов данных.

В М1 и М2 не все метаданные

Пример. Данные и метаданныеДанные содержатся в двух таблицах. Таблица T1 приведена ниже, таблица Т2 на этом слайде

Слайд 26Степени структурированности данных
Будем считать, что записи сгруппированы

в некоторые агрегаты,
которые здесь будем называть наборами. Выделение агрегатов


определяется степенью сходства семантики объединяемых записей.
Пример 1: Наборы записей <Номер, ФИО, Должность> и <Номер, ФИО,
Дата_рождения, Хобби> можно объединить в набор «Человек».
Пример 2: не очень осмысленное объединение наборов записей «про
человека» и «про морковку».
Если метаданные набора применимы ко всем входящим в него
данным, а метаданные схемы ко всем элементам схемы, то
соответствующая модель данных называется структурированной.
Заметим, что учётные данные почти всегда хорошо структурированы.
Если метаданные не обязательны для части данных, модель
называется полуструктурированной.
Модель, в которой метаданные могут описывать только одну запись
или только некоторые записи наборов или только некоторые компоненты
входящих в них записей, называется неструктурированной.
Степени структурированности данных   Будем считать, что записи сгруппированы в некоторые агрегаты, которые здесь будем называть

Слайд 27Что такое база данных (устаревшее, узкое и неполное псевдоопределение)‏

Теперь будем понимать под базой данных (БД) собрание


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

 Бессарабов Н.В. 2020

Что такое база данных (устаревшее, узкое и неполное псевдоопределение)‏    Теперь будем понимать под базой

Слайд 28Пример для самостоятельного решения в аудитории и дома

Составить схему базы для хранения информации об имуществе предприятия. По

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

Замечание: Задача решается в аудитории и завершается дома. Можно разделить данные по участникам. Как?
Рекомендация: Старайтесь уменьшить количество сущностей.
Пример для самостоятельного решения в аудитории и дома   Составить схему базы для хранения информации об

Слайд 29Часть 2. Модели данных. Базы данных и файловые системы.
 Бессарабов Н.В.

2020

Часть 2. Модели данных. Базы данных и  файловые системы. Бессарабов Н.В. 2020

Слайд 30Ограничения целостности
Ограничения целостности структурированных данных это


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

(хотя бы одного), для некоторой
подсхемы или схемы всей базы данных. Выделяют декларативные
и процедурные ограничения.
Декларативные ограничения описываются при создании схемы
базы на декларативном языке её описания. Например, ограничение
“первичный ключ” (“primary key”) означает, что, задав значения
ключевых полей, можно выбрать запись однозначно.
Процедурные ограничения определяются процедурами
специального вида, называемыми обычно триггерами и реагирующие
на события из некоторого набора. Что-то вроде демонов в Unix.
Процедурные ограничения записываются в специальном
процедурном языке.
Замечание: Ограничения целостности – это ещё один элемент
семантики данных.

 Бессарабов Н.В. 2020

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

Слайд 31Примеры декларативных ограничений целостности
1. Ограничение “Первичный ключ”
Если имеем дело только

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


Сотрудник (ИНН, ФИО, Должность, Зарплата)
поле “ИНН” может использоваться как первичный
ключ так как значение ИНН уникально.

2. Ограничение типа “Check” (Проверка)‏
В наборе записей
Сотрудник (ИНН, ФИО, Должность, Зарплата, Бонус)
для каждой записи должно выполняться условие
Бонус<0.2*Зарплата
Замечание: Ограничения Check строятся на данных
одной текущей записи.

 Бессарабов Н.В. 2020

Примеры декларативных ограничений целостности1. Ограничение “Первичный ключ”Если имеем дело только с людьми, у которых есть ИНН, то

Слайд 32Пример процедурного ограничения целостности
Пример процедурного ограничения: В наборе записей
сотрудник(ИНН,

ФИО, Должность, Зарплата, Бонус)
предусмотреть изменение поля “Зарплата” только в

сторону
уменьшения.
Почему это ограничение не декларативно? Потому, что
назначаемая зарплата в базе данных пока еще не записана и
отношение
“Новая_зарплата” < “Старая_зарплата”
нельзя выразить через данные базы.

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

 Бессарабов Н.В. 2020

Пример процедурного ограничения целостностиПример процедурного ограничения: В наборе записей сотрудник(ИНН, ФИО, Должность, Зарплата, Бонус) предусмотреть изменение поля

Слайд 33Модели данных
Определение 1 (М.Р. Когаловский): Модель данных это “система
типов

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

которые могут быть для них определены”.
Определение 2 (М.Р. Когаловский): Модель данных это
“метамодель для описания моделей предметной области в среде
выбранной СУБД”.
Таким образом по отношению к данным базы модель данных это
метаметамодель.
Замечание: в обоих определениях не полностью учтена семантика и
никак не учитывается прагматика. Но временно, как рабочие
определения, их можно принять.
Теперь понятно, что к определению базы, данному на слайде 21
следует добавить еще свойство:
База данных создается в рамках одной или нескольких
моделей данных.
Замечание: В современных СУБД число моделей м.б. до 3 -5-ти.

 Бессарабов Н.В. 2020

Модели данныхОпределение 1 (М.Р. Когаловский): Модель данных это “система типов данных, типов связей между ними и допустимых

Слайд 34Три аспекта/слоя модели данных
По Дейту [3], реляционная модель, которая нами

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


манипуляционной.
Заметьте, что семантика и прагматика
в этом раскладе в явном виде отсутствуют.
Перечисленные аспекты могут
выделяться в любой структурированной
модели данных, но не всегда реализуются явно.
В наше определение базы (но не модели) данных следует добавить:
способность создавать и поддерживать схемы,
работу с ограничениями целостности,
манипулирование данными.
Забегая вперёд, отметим, что структурная часть реляционной
модели, образуется отношениями и связями между ними. Единственная
структура данных в реляционной модели это описанные выше n-арные
отношения, связанные бедным набором связей типов 1:1 и 1:n.
Семантика в базах данных реализуется как минимум типами данных,
метаданными и ограничениями целостности.

 Бессарабов Н.В. 2020

Три аспекта/слоя модели данныхПо Дейту [3], реляционная модель, которая нами будет рассмотренав следующих лекциях, состоит из трех

Слайд 35Файловые системы и базы данных
Для долговременного

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

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

 Бессарабов Н.В. 2020

Файловые системы и базы данных    Для долговременного хранения больших объемов данных в настоящее время

Слайд 36Системы управления базами данных
Термин: Система управления базами данных (СУБД), в


английском Database Management System (DBMS)‏.
Определение: СУБД это “программная система,


предназначенная для создания и хранения базы данных на
основе некоторой модели данных, обеспечения логической
и физической целостности содержащихся в ней данных,
надежного и эффективного использования ресурсов
(данных, пространства памяти и вычислительных ресурсов),
предоставления к ней санкционированного доступа
для приложений и конечных пользователей, а также
для поддержки функций администратора базы данных”.
(М.Р. Когаловский).
Замечание: Определение устаревшее, но пока достаточное.
Во многих современных больших СУБД используют минимум
три модели данных – табличную, одну из объектных и
иерархическую (обычно для работы с XML). А часто ещё и
многомерную.

 Бессарабов Н.В. 2020

Системы управления базами данныхТермин: Система управления базами данных (СУБД), в английском Database Management System (DBMS)‏. Определение: СУБД

Слайд 37БАЗА
поля
набор записей
поля
набор записей
схема
схема
схема
С
У
Б
Д
Упрощённое представление базы данных
 Бессарабов Н.В. 2020
Схема это

структуры данных и связей, огра-ничения целостности

БАЗАполянабор записейполянабор записейсхемасхемасхемаСУБДУпрощённое представление базы данных Бессарабов Н.В. 2020Схема это структуры данных и связей, огра-ничения целостности

Слайд 38Часть 3. База данных как модель бизнеса
 Бессарабов Н.В. 2020

Часть 3. База данных как  модель бизнеса Бессарабов Н.В. 2020

Слайд 39 Под бизнесом в дальнейшем изложении будем понимать

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

бизнес-процессов, как-то связанных между собой.
Из-за сложности предметной области модели бизнеса многослойны. При создании информационных систем необходимо построить модель
бизнес-процессов (в UML это как минимум, диаграммы прецедентов,
деятельностей и последовательностей), а затем переходить к
концептуальной модели базы данных. База данных это модель бизнеса,
очевидно, не полная. Но она должна как можно полнее отобразить модель
бизнеса.
Модельный подход очень важен и для студента, изучающего
базы данных, и для постановщика задач создания информационных
систем. Например, при изучении аномалий невозможно разобраться с
ними до конца, не учитывая модельный аспект.
Существуют системы, для управления которыми достаточно
регулировать потоки документов регламентирующих и сопровождающих
бизнес-процессы. Такая документо-ориентированная система в
чрезвычайно упрощённом виде представлена на следующем слайде.

 Бессарабов Н.В. 2020

Модельный подход

Под бизнесом в дальнейшем изложении будем понимать любую деятельность, не обязательно связанную с извлечением

Слайд 40
База данных как модель

бизнеса (пример документарного подхода)‏
Процесс 3
Процесс 2
Специ-фика- ции
Ограни-че-
ния
Документы, поддерживающие управление Процессом 1
Документ,

поддерживающий управление Процессом 3

Приложение, реализующее функции информационной системы

Процесс 1

Бизнес-процессы

База данных

 Бессарабов Н.В. 2020

База данных как модель бизнеса (пример документарного подхода)‏Процесс 3Процесс 2Специ-фика- цииОграни-че-нияДокументы,

Слайд 41Процесс моделирования базы данных
Условно выделим этапы процесса

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

целей моделирования. Цель определяет сложность модели и возможности дальнейшего изменения модели (рефакторинга).
Второй этап: построение концептуальной модели. Выявляются существенные объекты, исключаются второстепенные. Задаются типы данных и домены. Результат – концептуальная схема модели. Возможно, проводится рефакторинг бизнеса.
Третий этап: создание логической модели.
Четвертый этап: создание физической модели.
Пятый этап: аппаратная реализация.
Концептуальная модель данных описывает данные исходя из требований бизнеса и теоретически может никак не учитывать последующие реализации. Правда, в жизни всё сложнее и хороший постановщик задачи учитывает возможности будущих реализаций.
Логическая (даталогическая) модель представляет схему данных для реализации в СУБД некоторого класса, например, в табличных.
Физическая модель реализуется в конкретной СУБД.
Аппаратная реализация учитывает особенности платформы, на которой реализуется база данных.

 Бессарабов Н.В. 2020

В современных технологиях разработки эти этапы могут выполняться не последовательно!

Процесс моделирования базы данных   Условно выделим этапы процесса моделирования данных предполагая, что модель бизнеса уже

Слайд 42Общие требования к моделям
Требования к любым моделям:
адекватность –

точное, в некотором смысле, отображение объекта;
полнота – предоставление возможности

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

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

Замечание: справиться со сложностью системы можно используя декомпозиции и расслоения моделей. На следующем слайде представлена трёхуровневая модель ANSI/ISO.

Общие требования к моделям Требования к любым моделям: адекватность – точное, в некотором смысле, отображение объекта; полнота

Слайд 43Трёхуровневая модель ANSI
Модель ANSI
Отображение внешней модели

в концептуальную
Отображение концептуальной модели в

логическую
Отображение логической модели в физическую

Бизнес

Понятия

Концепты

 Бессарабов Н.В. 2020

Трёхуровневая модель ANSIМодель ANSI    Отображение внешней модели в концептуальную     Отображение

Слайд 44Трёхуровневая модель (в экземплярах)‏
Аппаратная реализация
Внешние уровни
Бизнес
Концептуальная модель
Логические модели
Физические модели
Модель n

…………
модель 4
модель 3
модель 2
модель 1
Физ.
Модель1.m1
Физ.
Модель …
Физ.
Модель

1.2

Физ.
Модель 1.1

Физ.
Модель
n.mn

Физ.
Модель
n. …

Физ.
Модель
n.2

Физ.
Модель
n.1

внешние схемы

Концептуальная модель

Логическая модель

Физическая модель

Внутренние уровни

 Бессарабов Н.В. 2020

Трёхуровневая модель (в экземплярах)‏Аппаратная реализацияВнешние уровниБизнесКонцептуальная модельЛогические моделиФизические моделиМодель n ………… модель 4 модель 3 модель 2

Слайд 45Какие модели описывают бизнес. Схема Закмана
Это наши модели

Какие модели описывают бизнес. Схема ЗакманаЭто наши модели

Слайд 46Аппаратная реализация
Виды памяти используемой базами данных:
Первичная (оперативная) память – емкость

до единиц гигабайт. Время обращения десятки или сотни наносекунд (10-8

– 10-7 с). НЕ СОХРАНЯЕТ ИНФОРМАЦИЮ ПРИ ПЕРЕРЫВАХ В ПИТАНИИ!!
Вторичная (как правило, жесткий магнитный диск) – емкость от сотен гигабайт до единиц терабайт. Время обращения сотые доли секунды (10-2 с).
‏ Ожидаемая замена на флеш-память изобретённую в 1984 году
Фудзио Масуокой в компании Тошиба. В наст. время ресурс записи
10-100 тыс. раз. Скорость чтения десятки микросекунд и менее.
Скорость передачи данных 300 - 500 Мбайт/с. Скорость стирания от единиц до сотен мс.
Третичная (массивы дисков магнитных или оптических, другие оптические носители) – емкость практически не ограничена. Время обращения секунды, десятки секунд или минуты. (см. Дартмут. Ун-т)
Свойства современных запоминающих устройств во многом определяют
структуру и функции СУБД.

 Бессарабов Н.В. 2020

В соответствии с традицией термин
“память” означает “оперативная память”

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

Слайд 47Проблема быстродействия
При работе с немедленно сохраняемыми

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

Выход из положения: В первичной памяти создается
кэш буферов достаточно большой емкости. Если кроме
информации используемой в данный момент удается
извлечь информацию, которая понадобится в
ближайшем будущем, и сначала искать информацию в
кэше, то число обращений к диску резко сократится.
Показатель
Hit_ratio = (число_обращений_в_кэш)/(число_обращений_к_данным)
должен быть как можно ближе к 1, например >>0,95.
Примечание: В современных СУБД применяется сложная
система буферов.

 Бессарабов Н.В. 2020

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

Слайд 48Заключение
Что Вы должны освоить прослушав эту лекцию:

Общие представления о синтактике,

семантике и прагматике
Понятие “запись”. Схемы записи. Наборы записей.
Классификация типов данных
Понятие

“домен”
Понятия “модель данных”, “структрированные”, “полуструктурированные” и “неструктурированные” данные
Представление о базе данных. Понятие “СУБД”
Схема базы и набора записей. Связи наборов записей
Ограничения целостности, декларативные и процедурные ограничения
Понятия “данные”, “метаданные” и “модели данных”‏
База как модель бизнеса
Модель ANSI

В дальнейшем весь этот материал будет рассмотрен подробнее.

 Бессарабов Н.В. 2020

ЗаключениеЧто Вы должны освоить прослушав эту лекцию:Общие представления о синтактике, семантике и прагматикеПонятие “запись”. Схемы записи. Наборы

Слайд 49Литература
1. Когаловский М. Р. Энциклопедия технологий баз данных – М.:

Финансы и статистика, 2002.-800 с.
 Бессарабов Н.В. 2020

Литература1. Когаловский М. Р. Энциклопедия технологий баз данных – М.: Финансы и статистика, 2002.-800 с. Бессарабов Н.В.

Слайд 50Справочный материал
 Бессарабов Н.В. 2020

Справочный материал Бессарабов Н.В. 2020

Слайд 51Задачи для решения в аудитории
В таблице emp определите количество сотрудников

в отделе №30









Какие данные хранятся в emp? Дайте текст комментария

одной фразой.
Определите концепт “посетитель сайта”. Задайте его атрибуты.

 Бессарабов Н.В. 2020

Задачи для решения в аудиторииВ таблице emp определите количество сотрудников в отделе №30Какие данные хранятся в emp?

Слайд 52Что полезно изучить в университете и освоить самостоятельно
Любые курсы по

Oracle, особенно по SQL, PL/SQL, аналитическим функциям, основам администрирования, Apex.

Можно изучать любые “большие” СУБД – DB2, SQL Server, PostgreSQL
Язык и технологии Java, HTML5, CSS3, JavaScript, PHP, Python
XML (XSL, XSLT, Xpath, Xquery, …)
Облачные вычисления, базы данных в облаках
Администрирование баз данных
Технологии программирования (читается не на всех направлениях)
Настоятельно рекомендую:
Принять участие в разработке серьёзного проекта (самое главное!)
Изучать современную алгебру, в том числе теорию категорий, логики, в том числе, неклассические, и теорию систем
Изучать английский язык (проблемы с литературой на русском)
Технологии распределённых систем, особенно блокчейн
Готовиться к сдаче экзамена на сертификат Oracle (SQL, PL/SQL, MySQL, Java) или других “больших” СУБД.


 Бессарабов Н.В. 2020

Что полезно изучить в университете и освоить самостоятельноЛюбые курсы по Oracle, особенно по SQL, PL/SQL, аналитическим функциям,

Слайд 53Модели и метамодели
 Бессарабов Н.В. 2020
Интерфейсы обмена
между системами
Модели представления данных

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

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

NoSQL

Модели и метамодели Бессарабов Н.В. 2020Интерфейсы обменамежду системамиМодели представления данных в памяти Белым выделены модели, рассматриваемые в

Слайд 54Сколько языков программирования нужно знать для работы с ИС?
Пример Oracle.

Сейчас и 20 лет назад.
 Бессарабов Н.В. 2020
SQL
PL/SQL или TSQL
SQL*Plus


C/C++
HTML
JavaScript
PHP

1995 год

Сейчас


SQL
PL/SQL или TSQL
SQL*Plus
C/C++
HTML
JavaScript + пакеты
PHP


8. Язык Java + технологии
9. XML (XSL, XPath, Schema, RELAX NG,
XQuery, XMI)
10. Ruby (+ Rails) ??

11. Языки для представления семантики
(RDF, OWL, …)
12. Языки, специфичные для предметной
области (DSL, MDA) ??

Сколько языков программирования нужно знать для работы с ИС?Пример Oracle. Сейчас и 20 лет назад. Бессарабов Н.В.

Слайд 55Основные понятия баз данных
 Бессарабов Н.В. 2020
Сравните связи поня-
тий “СУБД”

и “Проце-
дурная часть прило-
жения”
Термин “хранилище” употреблён не в традиционом смысле
Соотношения

понятий “данные”, “семантика” и “прагматика” см. слайд 10

Основные понятия баз данных Бессарабов Н.В. 2020Сравните связи поня-тий “СУБД” и “Проце-дурная часть прило-жения”Термин “хранилище” употреблён не

Слайд 56Словарь студента (1/4)‏
База данных - собрание записей, обладающее следующими свойствами:
записи

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

(способностью к сохранению);
данные независимы от обрабатывающих их программ (для баз не использующих объекты).
Данные – это представление фактов о предметной области информационной системы в виде структуры, состоящей из знаков.
Семантики это смыслы данных
Прагматики, отражают отношение интерпретатора к данным. Прагматика задаёт выбор одной из возможных семантик.
Домен – подмножество значений некоторого типа данных, имеющих определенный смысл.
Записью в базах данных называют минимальную уникально идентифицируемую единицу независимого хранения данных, образованную иерархией полей.

 Бессарабов Н.В. 2020

Словарь студента (1/4)‏База данных - собрание записей, обладающее следующими свойствами:записи интегрированы в некоторые структуры;база как правило содержит

Слайд 57Ключ записи – элемент или множество элементов данных (полей записей),

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

типа в базе данных.
Метаданные - это данные специального вида, которые описывают структурные свойства данных, хранимых в базе.
Модель данных - это “система типов данных, типов связей между ними и допустимых видов ограничений целостности, которые могут быть для них определены” (М.Р. Когаловский). Составные части модели данных:
структурная часть - то есть типы, отношения и связи между ними;
целостная часть – ограничения целостности;
манипуляционная часть – языки для манипулирования данными и запросов к базе.
Неопределённое значение (NULL) – означает отсутствие заданного значения, но не пустое значение.
Ограничения целостности - это условия специального вида, которые должны выполняться для всей схемы или некоторой подсхемы базы данных. Выделяют:
• декларативные ограничения целостности;
• процедурные ограничения целостности.

Словарь студента (2/4)‏

 Бессарабов Н.В. 2020

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

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

базы данных или файла.
СУБД - это “программная система, предназначенная для

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

Словарь студента (3/4)‏

 Бессарабов Н.В. 2020

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

Слайд 59Хранилище данных это все, что хранит данные. Хранилище определяется:
тем,

что в нем хранится;
тем, как оно хранится;
какие семантики и прагматики

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

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



Словарь студента (4/4)‏

 Бессарабов Н.В. 2020

Хранилище данных это все, что хранит данные. Хранилище определяется: тем, что в нем хранится;тем, как оно хранится;какие

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

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

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

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

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


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

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