Слайд 1Системы управления базами данных
Модели данных
Основы проектирования баз данных
Слайд 2Определение базы данных
База данных (БД) — представленная в объективной форме
совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и
иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ).
Выделяются следующие признаки баз данных:
БД хранится и обрабатывается в вычислительной системе.
Данные в БД логически структурированы (систематизированы) с целью обеспечения возможности их эффективного поиска и обработки в вычислительной системе.
БД включает схему, или метаданные, описывающие логическую структуру БД в формальном виде (в соответствии с некоторой метамоделью).
Слайд 3Система управления базами данных
Система управления базами данных (СУБД) — совокупность
программных и лингвистических средств общего или специального назначения, обеспечивающих управление
созданием и использованием баз данных.
Основные функции СУБД:
управление данными во внешней памяти (на дисках);
управление данными в оперативной памяти с использованием дискового кэша;
журнализация изменений, резервное копирование и восстановление базы данных после сбоев;
поддержка языков БД (язык определения данных, язык манипулирования данными).
Слайд 4Система управления базами данных
Обычно современная СУБД содержит следующие компоненты:
ядро, которое
отвечает за управление данными во внешней и оперативной памяти и
журнализацию,
процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода,
подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД
а также сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.
Слайд 5Метаданные
Метаданные, в общем случае, это информация о базе данных:
1 -
Метаданные — это субканальная информация об используемых данных[1].
2 - Структурированные
данные, представляющие собой характеристики описываемых сущностей для целей их идентификации, поиска, оценки, управления ими.
набор допустимых структурированных описаний, которые доступны в явном виде и предназначение которых может помочь найти объект.
3 - Данные из более общей формальной системы, заданную с описывающей свойства системы данных.
4 - Информация о содержащейся на веб-странице свойств информации (создателе и т. п.). Пример: Имя автора правки в тексте.
Слайд 8Виды моделей данных
В классической теории баз данных, модель данных есть
формальная теория представления и обработки данных в системе управления базами
данных (СУБД), которая включает, по меньшей мере, три аспекта:
аспект структуры: методы описания типов и логических структур данных в базе данных;
аспект манипуляции: методы манипулирования данными;
аспект целостности: методы описания и поддержки целостности базы данных.
Аспект структуры определяет, что из себя логически представляет база данных, аспект манипуляции определяет способы перехода между состояниями базы данных (то есть способы модификации данных) и способы извлечения данных из базы данных, аспект целостности определяет средства описаний корректных состояний базы данных.
Модель данных — это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактную машину доступа к данным, с которой взаимодействует пользователь.
Слайд 9Виды моделей данных
Иерархическая модель данных — это модель данных, где
используется представление базы данных в виде древовидной (иерархической) структуры, состоящей
из объектов (данных) различных уровней.
Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка (объект более близкий к корню) к потомку (объект более низкого уровня), при этом возможна ситуация, когда объект-предок не имеет потомков или имеет их несколько, тогда как у объекта-потомка обязательно только один предок.
Объекты, имеющие общего предка, называются близнецами (в программировании применительно к структуре данных дерево устоялось название братья).
Слайд 10Виды моделей данных
Объектные базы данных (также объектно-ориентированные системы управления базами данных)
являются системой управления базами данных, в которых информация представлена в
виде объектов, используется в объектно-ориентированном программировании.
Объектные базы данных отличаются от реляционных баз данных, являющихся таблично-ориентированными. Объектно-реляционные базы данных являются гибридом обоих подходов.
Объектно-ориентированные системы управления базами данных (ООСУБД) объединяют возможности базы данных с возможностями языка объектно-ориентированного программирования
Слайд 11Виды моделей данных
Объектно-реляционная СУБД (ОРСУБД) — реляционная СУБД (РСУБД), поддерживающая
некоторые технологии, реализующие объектно-ориентированный подход: объекты, классы и наследование реализованы
в структуре баз данных и языке запросов.
Объектно-реляционными СУБД являются, например, широко известные Oracle Database, Informix, DB2, PostgreSQL.
Реляционная модель данных (РМД) — логическая модель данных, прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики, как теория множеств и логика первого порядка.
Слайд 12Виды моделей данных
На реляционной модели данных строятся реляционные базы данных.
Реляционная
база данных — база данных, основанная на реляционной модели данных.
Слово «реляционный» происходит от англ. relation («отношение», «зависимость», «связь»). Для работы с реляционными БД применяют реляционные СУБД.
Реляционная модель данных включает следующие компоненты:
Структурный аспект (составляющая) — данные в базе данных представляют собой набор отношений.
Аспект (составляющая) целостности — отношения (таблицы) отвечают определенным условиям целостности. РМД поддерживает декларативные ограничения целостности уровня домена (типа данных), уровня отношения и уровня базы данных.
Аспект (составляющая) обработки (манипулирования) — РМД поддерживает операторы манипулирования отношениями (реляционная алгебра, реляционное исчисление).
Кроме того, в состав реляционной модели данных включают теорию нормализации.
Слайд 13Виды моделей данных
Нормальная форма — свойство отношения в реляционной модели
данных, характеризующее его с точки зрения избыточности, потенциально приводящей к
логически ошибочным результатам выборки или изменения данных. Нормальная форма определяется как совокупность требований, которым должно удовлетворять отношение.
Процесс преобразования отношений базы данных к виду, отвечающему нормальным формам, называется нормализацией.
Отношение — фундаментальное понятие реляционной модели данных.
Целостность базы данных (database integrity) — соответствие имеющейся в базе данных информации её внутренней логике, структуре и всем явно заданным правилам.
Слайд 14Виды моделей данных
Сетевая модель данных — логическая модель данных, являющаяся
расширением иерархического подхода, строгая математическая теория, описывающая структурный аспект, аспект
целостности и аспект обработки данных в сетевых базах данных.
Разница между иерархической моделью данных и сетевой состоит в том, что в иерархических структурах запись-потомок должна иметь в точности одного предка, а в сетевой структуре данных у потомка может иметься любое число предков.
Сетевая БД состоит из набора экземпляров определенного типа записи и набора экземпляров определенного типа связей между этими записями.
Тип связи определяется для двух типов записи: предка и потомка. Экземпляр типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка.
Для данного типа связи L с типом записи предка P и типом записи потомка C должны выполняться следующие два условия:
каждый экземпляр типа записи P является предком только в одном экземпляре типа связи L;
каждый экземпляр типа записи C является потомком не более чем в одном экземпляре типа связи L.
Слайд 15Сущность
Сущность - это что-то такое, о чем нужно хранить информацию
в базе данных.
При проектировании баз данных достаточно описать происходящую ситуацию
- и большинство существительных и часть глаголов будут кандидатами на сущности.
Например: "Покупатели покупают товары. Сотрудники продают товары покупателям. Поставщики поставляют товары" - покупатели, товары, сотрудники и поставщики - это сущности. Глаголы "покупать" и "продавать" - тоже сущности (хотя могут быть и одной сущностью, разной с точки зрения покупателя и продавца).
При проектировании БД главный источник информации о сущностях - это беседа с заказчиком в целях уяснения его бизнес-процессов.
Кроме того, анализируются стандартные документы, используемые в бизнес-процессах: бланки, отчеты, инструкции и т.п. После получения такого списка необходимо проверить его на полноту и связность, а также выявить дубли - одинаковые сущности, которые называются разными словами, и сущности, которые на самом деле отличаются, но описываются один и ем же термином.
Сущности могут моделировать конкретные понятия (клиенты, товары, звонки) и абстрактные (агент отвечает за клиента, студент записан на курс).
Слайд 16Атрибуты
Записи об определенных параметрах каждой из сущностей называются атрибутами.
Например,
для сущности "заказчик", видимо, будет храниться информация об его наименовании,
представителях, адресе и т.п.
Выбор нужного комплекта атрибутов - одна из самых больших проблем при проектировании баз данных.
Очень часто в реальной базе данных нужный комплект атрибутов в итоге не хранится - просто по той причине, что пользователи не смогли сообщить в процессе сбора информации, что он действительно нужен.
Иногда в базе, наоборот, попадают лишние атрибуты, заполнение которых требует дополнительного времени.
Очень часто возникает проблема с форматом вводимых данных, например, на какие части делить адрес и что делать с нестандартными случаями.
Слайд 17Ключи (идентификаторы)
Ключ или потенциальный ключ – это минимальный набор атрибутов,
по значениям которых можно однозначно выбрать требуемый экземпляр сущности.
Минимальность
означает, что исключение из набора любого атрибута не позволяет идентифицировать сущность по оставшимся. Каждая сущность должна но не обязана обладать хотя бы одним возможным ключом.
Ключи можно разделить по признаку общности как:
Простой – сформирован из значений единственного поля, которые однозначно определяют каждую запись
Составной – сформирован из значений нескольких полей, применяется
По способу возникновения:
Естественный – основан на уже существующем поле. Например поле фамилия.
Суррогатный – основан на добавленном искусственным путем отдельном поле для однозначной идентификации.
Интеллектуальный ключ – основан на естественном ключе путем добавления дополнительного поля.
Слайд 18ER-модель данных
Модель сущность-связь (ER-модель) (англ. entity-relationship model, ERM) — модель
данных, позволяющая описывать концептуальные схемы предметной области.
ER-модель используется при высокоуровневом
(концептуальном) проектировании баз данных. С её помощью можно выделить ключевые сущности и обозначить связи, которые могут устанавливаться между этими сущностями.
Во время проектирования баз данных происходит преобразование ER-модели в конкретную схему базы данных на основе выбранной модели данных (реляционной, объектной, сетевой или др.).
ER-модель представляет собой формальную конструкцию, которая сама по себе не предписывает никаких графических средств её визуализации.
В качестве стандартной графической нотации, с помощью которой можно визуализировать ER-модель, была предложена диаграмма сущность-связь (ER-диаграмма) (англ. entity-relationship diagram, ERD)