Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
01.05.2014
Размер:
15.68 Кб
Скачать
Базы данны
@Два способа организации:
1. файловые структуры: " минусы" трудный поиск информации.
2. базы данных (хранится не только сама информация по Программному Обеспечению, но и информацию по связям) - автоматический поиск информации.
Трудности при работе c данными по ПО.
1. Данные по ПО необходимо абстрагировать и формализовать. (*)
2. Большинство современных ЭВМ расчитано на вычесления, а не на работу с данными. Существует МБД, но их мало. МБД использует технологию, аналогичную с поиском человека; есть ассоциации ( близко, далеко... ).
3. Как хранить данные?
А ). Централизованное хранение ( в одном месте )
"+" удобство в обновлении данных
Б ). Распределённое ( там где они используется )
" +" большая часть данных используется по месту её возникновения.

Три этапа проектирования базы данных.
- концептуальное (см *)
- логическое
- физическое

Модель Чена:
А ). ПО разбиению на классы, затем на объекты ( кто? что? )
Б ). Выделяются свойства объекта.
В ). Определяются связи между объектами.
Связь: 1 к 1 ( может реализованна практически )
1 к многим ( нельзя реализовать практически )
Многие к многим ( нельзя реализовать практически )
ПО должно содержать не менее 10 объектов.

Логические модели:
- иерархические ( библиотечный каталог карточек )
- сетевая
- реалиционные ( табличный способ представления ) - четкий математический аппарат.

Физическое проектирование - выбор СУБД; обеспечение безопасности и целостности данных.

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

5 форм нормализации последовательно производят.
Идея: введение избыточности.

@ Объектно - орентированные базы данных (1989 год )
Недостатки БД приведшие к появлению ООБД:
Автор Ф. Кодд.
- сложно проводить нормализацию, то есть сложная структура
- низкая производительность поиска по ключу
- ограниченный набор типов данных ( только двухмерные таблици )
- невозможность реализации таблиц с нелинейной структурой
- невозможность послойного рассмотрения данных
- возникновение конфузии ( утрата данных при многочисленных изменениях )

1989 - манифест ООБД: ООСУБД = СУБД + ООЯП
ООЯП - объектно орентированный язык програмирования.
"+" ООСУБД: поддержка объекта с нелинейной структурой, что достигается инкапсуляцией и наследованием.

1991 - сформированна группа ODMG для создания стандартов ООБД
Предложенный стандарт ODMG-3:
1 ). объектная модель
2 ). язык определения объектов
3 ). объектный язык запросов
4 ). интерфейсы языков програмирования

2003: существует множество СУБД.

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

В ООБД выделяются несколько специфических понятий:
Класс - некоторый блок данных и алгоритмов.
Данные называются свойствами.
Алгоритмы методами.

Доступ к классу осуществляется либо через свойства ( в статическом режиме - написание и отладка ), либо через методы ( выполнение программы ).
Программную реализацию класса называют компонентой.
Три свойства:
1 ). инкапсуляция - выделение класса объектов с доступом к нему через свойства или методы.
2 ). наследование - трансформация класса путём изменения свойств и методов с помощью способов называемых конструктором и деструктором.
Все классы строятся иерархическим методом с происхождением от некоторого класса.
3 ). полиморфизм - использование метода с одним именем как в базовом так и в производных классах.

Положения ООБД.
1. В качестве значения столбца может быть использован произвольный картёж, то есть он может быть представлен другой таблицей, что дает возможность реализации нелинейной структуры.
2. процедура манипуляции данными позволяет присоединять процедуры, определенные значениями столбцов.
3. данные столбцов могут наследоваться
4. элементами отношений могут служить не только отдельные элементы как в реляционных БД, но и множества
5. формируются классы данных, которые организуют столбцы в иерархию.

Базовым языком в ООБД является С++
Новый SQL-3, SQL-2 ( частный случай SQL-3 ).
Два направления разработки ООБД:
1. Microsoft: OLE
2. CORBA ( IBM, Novell, DEC ) - Орентированный на все платформы
Два стандарта управления БД CORBA:
1. ODL
2. SQL-3

К объектно- орентированным относяться только те БД, у которых все элементы построены с использованием ОО подхода.

@ Объектно- реалиционные БД ( ОРБД )
ОРБД: ОО подход используется только при создании интерфейса и алгоритма приложения.
@ Разновидности ОРБД:
1. Гибридные ОРБД
Интерфейс + алгоритм приложения - ООП
БД - реалиционные
СУБД Парадокс, Access ( с натяжкой ) при использовании Visual Basic.
2. Расширенные/постреляционные
ООП используется в интерфейсе, алгоритм приложения и сама БД.

@ Взаимосвязь моделей данных.
I Сравнительная характеристика моделей данных.
Вид моделей:
1. Иерархическая
Достоинства:
- простота понимания
- высокое быстродействие при совпадении структур БД и запроса.
Недостатки:
- отношение многие к многим может быть реализованно только искусственно.
- избыточность данных
- усложняются операции включения и удаления
- удаление исодных сегментов приводит к удалению порожденных сегментов
- процедурный характер построения структуры БД
- доступ к любому порожденному сегменту возможен только через корневой сегмент
- сильная зависимость логических и физических моделей данных
- ограниченный набор структур запроса и невозможность реализации таблиц с нелинейной структурой.
2 Сетевая:
Достоинства:
- сохранения информации при уничтожении записи владельца
- более богатая структура запросов
- меньшая зависимость логических и физических моделей
- возможность реализации таблиц с нелинейной структурой.
Недостатки:
- отношение многие к многим может быть реализованно только искусственно
- необходимость системному програмисту знать логическую структуру БД
- процедурный характер построения структуры БД и манипулирование данными
- возможная потеря независимости данных при реорганизации БД.
3 Реляционная:
Достоинства:
- произвольная структура запроса
- простота работы и отражение представлений пользователя
- независимость моделей всех уровней
- хорошая теоретическая проработка
Недостатки:
- отношение многие к многим может быть реализованно только искусственно
- необходимость нормализации данных
- возможность логических ошибок при нормализации
- невозможность реализации таблиц с нелинейной структурой
4 Объектно- орентированная:
Достоинства:
- неограниченный набор типов данных
- возможность реализации таблиц с нелинейной структурой
- послойное представление информации
- высокая скорость работы из-за отсутствия ключей
- отсутствие нормализации
- легкая расширяемость структуры и её гибкость
- повторное использование типов данных и компонент
- реализация отношения многие к многим
Недостатки:
- сложность освоения моделей
- нечёткий язык програмирования
- недостаточная защита данных
- нечётко проработанный одновременный доступ

II Выбор моделей данных ( осуществляется по критериям )
Основные критерии:
Количественные критерии
1. Быстродействие
2. удобство обновления
3. стоимость
4. производительность
5. неизыточность
Качественные критерии - факторы:
1. типы элементов данных
2. интерфейс пользователя
3. структура и отношения данных, способы манипулирования данными
4. целостность БД и защиты данных
5. поддержка программная и техническая
6. комерческая поддержка
7. критерии качества ( надежность, точность, соответствие стандартам )
8. возможность роста и развития.

При выборе используется векторный критерий.
Упращенный вариант основанный на некоторых суждениях. Для БД реализованных на ЭВМ основной задачей является бустродействие, поэтому предпочтение - многомерная модель. Для БД на персональных компьютерах главное - простота обновления: 3 - 4.
Среди объектно- орентированных моделей: CACHE
Существуют неформальные факторы, поэтому целесообразно использовать следующую последовательность выбора СУБД:
1. Выбрать СУБД подходящую по техническим характеристикам.
2. Из получившегося набора СУБД провести следующий отбор:
А ). по категории конечного пользователя
Б ). по удобству интерфейса
В ). по качеству средств разработки
Г ). по качеству соцелности и защиты данных
Д ). по характеристикам формирования распределения данных
Е ). по поддержки стандартных интерфейсов с БД
Ж ). по видам блокировки данных
З ). по имеджу фирмы разработчика СУБД

Существует ряд тестов: цена/производительность
-TPC-A
-TPC-B
-TPC-C
-TPC-D
-TPC-E

III Преобразование моделей данных.
Возможные формы преобразования:
1. Реструкторизация - изменение структуры в рамках одной модели данных.
2. Трансляция - проектирование схемы, когда требования приложений выражается средствами одной модели данных, а реализация осуществляется посредством другой модели данных.
3. Реаргонизация ( частный случай реструктурирования, когда исходная и порожденная схемы изоморфны ).
4. конвентирование

А - трансформация структур на основе ЯОД
Б - трансформация структур на основе ЯМД (манипуляция данными)

Преобразование моделей может быть автоматическим и ручным.
Отобразим в виде алгоритма:

рис #10

Пояснения:
Виды преобразований:
А - операции охвачены (на этом уровне осуществляется трансформация структуры на основе языка определения данных ЯОД)
Б - схемы изоморфны (на этом уровне осуществляется трансформация структуры на основе языка манипулирования данными ЯМД)
Д - модели одинаковы (на основе моделей данных).

В итоге имеются следующие варианты:
1. Реструктуризация
2. Трансляция
3. Реорганизация
4. Конвертирования (погружение одной модели данных в другую модель)
5. Взгляд - подсхемы различных пользователей в многопользовательских режимах.
6. Трансформация - нахождение схемы одной модели для другой.
7. Гомогенная БД - это построение глобальной схемы из локальных однотипных схем, покрывающих все другие схемы (характерно для распределенных БД).
8. Гетерогенная - это общий случай интеграции локальной БД в распределенную БД.

@Физическая организация данных.
- методы хранения данных и доступа к ним. Пользователи СУБД не производят физической организации данных.
Три основных режима работы приложений, связанных с использованием БД:
1. Получить все данный (последовательная обработка)
2. Требуется получить уникальные данные. В этом случае используют:
а. произвольный доступ (метод)
- хемирование - использование специальных функций, на основе которых определяется место хранения данных - идентификаторы.
б. индексный метод
- использование первичного ключа.
в. последовательный доступ
- бинарное В-дерево
3. Требуется получить некоторую группу записей. Для этого используют:
а. Вторичные ключи
б. Мультисписок
в. Инвертированный метод
г. Двухсвязное дерево

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

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

@Основные методы хранения и поиска данных:
1. Физически-последовательный
2. Прямой
3. Индексно-последовательный
4. Индексно-произвольный

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

Выделяют две группы методов доступа:
1. Первичные методы:
физически-последовательный, произвольный
2. Вторичные методы:
Мультисписковый, инвертированные файлы, двух связное дерево.

@Рассмотрим иерархическую модель данных:

Рис #13

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

@Распределенные БД
Первоначально все БД были централизованными.

@Достоинства РБД.
1. Соответствие структуры РБДструктуре организации.
2. Гибкое взаимодействие локальных БД.
3. Широкие возможности централизации узлов.
4. Непосредственный доступ к информации, снижение стоимости передачи.
5. Высокие системные характеристики (малое время отклика)
6. Модульная реализация взаимодействия
7. Возможность исползования объектно-орентированного подхода
8. Возможность распределения файлов в соответствии с их активностью. Независимая разработка БД через стандартный интерфейс.

Недостатки РБД:
1. Сложность структуры
2. избыточность
3. несогласованность данных по времени
4. сложность интеграции однородных локальных БД.

РБД - система логически - интегрированных и территормально - распределённых БД, языковых, программных, технических и организационных средств, предназначенных для создания, ведения и обработки информации.

Дополнительные специфические требования к РБД:
1. џзык описания данных в рамках схемы должно быть одним для всех локальных БД.
2. Доступ должен быть коллективным в любой области РБД с соответствующей защитой информации.
3. Подсхемы должны быть определены в месте сосредоточения алгоритмов пользователя.
4. Степень централизации данных должно быть разумной.
5. Необходим сбор и обработка информации об эффективности функционирования РБД.

Теорию РБД сформулировал и определелил К.Дейт. Он определил 12 правил для РБД:
1. Локальная автономность
2. Отсутствие опоры на центральный узел
3. Непрерывное функционирование РБД
4. Независимость РБД от расположения локальной БД
5. Независимость от фрагментации данных
6. Независимость от реплекации ( дублирования ) данных
7. Обработка распределённых запросов
8. Обработка распределённых транзакций
9. Независимость от типа оборудования
10. Независимость от операционой системы
11. Независимость от сетевой архитектуры
12. Независимость от типа СУБД

Расмотрим состав и работу РБД.
Схема РБД, демонстрирующая её организацию:

рисунок # 15

4 уровня данных:
1. Пользовательский
2. Глобальный
3. Фрагментальный
4. Распределённый

# 15


Соседние файлы в папке Набор конспектов по БД