Лекция_02.1-Модели БД.ppt
- Количество слайдов: 28
Модели данных Лекция № 2. 1 Бутенко И. В. 2017 год
Основные определения • ИС –ориентированная на конечного пользователя система для сбора, хранения и обработки информации. • База данных это набор структурированной информации, предназначенный для совместного использования несколькими пользователями одновременно. • СУБД – связующее звено между БД и прикладными программами.
Модель данных • Данные набор конкретных значений, параметров, характеризующих объект, условие, ситуацию или любые другие факторы. • Модель данных абстракция, которая применительно к данным позволяет трактовать их как информацию, т. е. сведения, содержащие не только данные, но и взаимо связь между ними.
Классификация МД
Модель данных есть формальная теория представления и обработки данных в СУБД, которая включает три аспекта: • аспект структуры: методы описания типов и логических структур данных; • аспект манипуляции: методы манипулирования данными; • аспект целостности: методы описания и поддержки целостности базы данных. Модель данных есть средство моделирования, в то время как схема базы данных есть результат моделирования. Базовыми понятиями БД являются: • хранимое поле • хранимая запись • хранимый файл
Модели данных СУБД • Иерархические – сущности данных представлены в виде иерархии; • Сетевые – сущности данных представлены в виде сетевого графа; • Реляционные – сущности данных в табличном виде; • Объектные – основанные на принципах объектного подхода.
Иерархическая модель БД состоит из объектов с указателями от родительских объектов к потомкам, соединяя вместе связанную информацию. У каждого элемента может быть несколько “наследников” и существует один “родитель”.
Пример ИМ
Пример ИМ DBD NAME = ТЕМАТИЧЕСКИЕ_СБОРНИКИ SEGM NAME = ИЗДАТЕЛЬСТВО FIELD NAME = НАЗВАНИЕ FIELD NAME = АДРЕС FIELD NAME = СЧЕТ SEGM NAME = СБОРНИК, PARENT = ИЗДАТЕЛЬСТВО FIELD NAME = НАЗВАНИЕ FIELD NAME = ПЕРИОДИЧНОСТЬ FIELD NAME = ЦЕНА FIELD NAME = ОТВЕТСТВЕННЫЙ_РЕДАКТОР SEGM NAME = СТАТЬЯ, PARENT = СБОРНИК FIELD NAME = НАЗВАНИЕ SEGM NAME = АВТОР, PARENT = СТАТЬЯ FIELD NAME = ФИО FIELD NAME = ГОНОРАР Типичные операторы поиска данных • • • найти указанное дерево БД; перейти от одного дерева к другому; найти экземпляр сегмента, удовлетворяющий условию поиска; перейти от одного сегмента к другому внутри дерева; перейти от одного сегмента к другому в порядке обхода иерархии.
Иерархическая модель Преимущества • Быстрый поиск, если условия запроса соответствуют иерархии в схеме БД Недостатки • Проблемы с запросами, несоответствующими иерархии (в скольких сборниках статей опубликовал свои статьи Автор1) • Сложность внесения изменений
Применение ИМ • Information Management System (IMS) фирмы IBM (первая версия 1968 г. ) • Серверы каталогов, такие, как LDAP и Active Directory • Иерархические файловые системы и Реестр Windows.
Сетевая модель • Сетевые базы данных подобны иерархическим, за исключением того, что в них имеются указатели в обоих направлениях, которые соединяют родственную информацию. • Сетевая модель данных основывается на понятии элемента данных и связей, задающих логику взаимоотношениями между данными. Связи от каждого элемента могут быть направлены на произвольное количество других элементов. На каждый элемент могут быть направлены связи от произвольного числа других элементов. • IDMS (Integrated database management systems, интегрированная СУБД) от Computer Associates
Пример СМ
Пример СМ Язык CODASYL RECORD NAME IS ИЗДАТЕЛЬСТВО 01 НАЗВАНИЕ TYPE IS CHARACTER 20 01 АДРЕС TYPE IS CHARACTER 30 01 СЧЕТ IS PICTURE “ 9999999” RECORD IS СБОРНИК 01 НАЗВАНИЕ TYPE IS CHARACTER 20 01 FIELD NAME = ПЕРИОДИЧНОСТЬ 01 FIELD NAME = ЦЕНА 01 ОТВЕТСТВЕННЫЙ_РЕДАКТОР TYPE IS CHARACTER 20 RECORD IS СТАТЬЯ 01 НАЗВАНИЕ TYPE IS CHARACTER 20 RECORD IS АВТОР 01 ФИО TYPE IS CHARACTER 20 01 ГОНОРАР IS FIXED SET NAME IS ВЫПУСКАЕТ OWNER IS ИЗДАТЕЛЬСТВО MEMBER IS СБОРНИК SET NAME IS СОДЕРЖИТ OWNER IS СБОРНИК MEMBER IS СТАТЬЯ
Сетевая модель Преимущества • Высокая скорость поиска • Возможность адекватно описывать задачи в разных областях Недостатки • Проблемы с запросами, несоответствующими иерархии (найти все издательства, в которых была опубликована некторая статья) • Сложность внесения изменений
Реляционная модель Принципы были сформулированы в 1969 — 1970 годах Э. Ф. Коддом (E. F. Codd). Строгое изложение теории РБД в современном понимании описал К. Дж. Дейт.
Реляционная модель • Структурный аспект — данные в базе данных представляют собой набор отношений. • Аспект целостности — отношения (таблицы) отвечают определенным условиям целостности. РМД поддерживает декларативные ограничения целостности уровня домена (типа данных), уровня отношения и уровня базы данных. • Аспект обработки (манипулирования) — РМД поддерживает операторы манипулирования отношениями (реляционная алгебра, реляционное исчисление). В состав реляционной модели данных обычно включают теорию нормализации.
Понятие отношения • N арным отношением R, или отношением R степени n, называют подмножество декартового произведения множеств D_1, D_2, . . . , D_n, не обязательно различных. • Исходные множества D 1, D 2, . . . , Dn называют доменами (типы данных). • Отношение может быть представлено в виде таблицы, столбцы (поля, атрибуты) которой соответствуют вхождениям доменов в отношение, а строки (записи) — наборам из n значений, взятых из исходных доменов.
Пример РМ D 1 = {Иванов, Петров, Сидоров} D 2 = {БД, ТАА} D 3 = {3, 4, 5} R Фамилия Предмет Оценка Иванов БД 5 Иванов ТАА 5 Петров БД 4 Сидоров БД 4
Понятие отношения Такая таблица обладает рядом свойств: • В таблице нет двух одинаковых строк. • Таблица имеет столбцы, соответствующие атрибутам отношения. • Каждый атрибут в отношении имеет уникальное имя. • Порядок строк в таблице произвольный. Под атрибутом здесь понимается вхождение домена в отношение. Строки отношения называются кортежами.
Первичный ключ — это такой набор атрибутов, который однозначно определяет кортеж и минимален среди всех своих подмножеств (то есть нельзя убрать ни один из атрибутов). При добавлении новых записей первичный ключ обязан оставаться первичным ключом.
Связи между таблицами • Для того, чтобы связать две таблицы используют не жесткую, физически реализованную связь типа ссылки, а логическую, связь через сравнение значение атрибутов, которую строят динамически, в процессе поиска нужной информации. • Основным достоинством реляционных СУБД, обеспечившим таким СУБД высокую популярность, является нефункциональность языков запроса SQL. Это означает, что Вы формулируете не то, КАК Вам надо найти данные, а то, ЧТО Вам надо найти.
Пример РМ Издательства Сборники
Язык доступа к РБД Практически все современные реляционные СУБД поддерживают Structured Query Language (SQL) язык структурированных запросов. Синтаксис и семантика определены стандартами ISO, базирующимися на соответствующих стандартах ANSI SQL 87, SQL 89, SQL 92, SQL 99, SQL 2003, SQL 2008. CREATE TABLE Издательства ( Название CHAR(20), Адрес CHAR(40) ) CREATE TABLE Сборники ( Сборник CHAR(20), Издательство CHAR(20) ) SELECT Адрес FROM Издательства WHERE Название = (SELECT Издательство FROM Сборники WHERE Сборник = “Китайские воздушные змеи”)
Реляционная модель Преимущества • Простота и доступность понимания конечным пользователем — единственной информационной конструкцией является таблица. • При проектировании реляционной БД применяются строгие правила, базирующие на математическом аппарате. • Полная независимость данных. При изменении структуры реляционной изменения, которые требуют произвести в прикладных программах, минимальны. • Для построения запросов и написания прикладных программ нет необходимости знания конкретной организации БД во внешней памяти. Недостатки • Относительно низкая скорость доступа и большой объем внешней памяти. • Трудность понимания структуры данных из за появления большого кол ва таблиц в результате логического проектирования. • Далеко не всегда предметную область можно представить в виде совокупности таблиц.
Объектная модель ООСУБД обрабатывает данные как абстрактные объекты, наделённые свойствами, в виде неструктурированных данных, и использующие методы взаимодействия с другими объектами окружающего мира. Пример ООСУБД: • Caché • IBM Lotus Notes/Domino • Jasmine • Object. Store • СООБЗ Cerebrum • db 4 objects
Объектная модель Обязательные характеристики • Поддержка сложных объектов • Поддержка индивидуальности объектов • Поддержка инкапсуляции • Поддержка типов и классов • Поддержка наследования типов и классов от их предков • Перегрузка в сочетании с полным связыванием • Вычислительная полнота. Язык манипулирования данными должен быть языком программирования общего назначения. • Набор типов данных должен быть расширяемым
Резюме Каждая СУБД строится на основе некоторой явной или неявной модели данных. Реляционная база данных это набор информации, сгруппированной в одну или несколько таблиц. Отношение это неупрядоченное множество записей. Домен множество возможных значений конкретного столбца.
Лекция_02.1-Модели БД.ppt