Классификация систем БД

advertisement
Классификация систем БД
Как любую сложную систему, систему баз данных можно
классифицировать по многим критериям:
1. по форме представления информации:
- видео – системы содержат символьный текст, неподвижное
графическое изображение;
- аудио и мультимедиа системы, характерны тем, что в них хранятся и
выдаются тексты, звуки, неподвижные и движущиеся изображения.
2. по типу хранимой информации:
- фактографические;
- лексикографические (словари, классификаторы и т. д.);
- документальные (реферативные и полнотекстовые).
Увеличение скорости обработки данных, создание большой памяти,
построение коммуникационных сетей с высокой пропускной способностью
привели к использованию полнотекстовых баз данных. Служба глобального
соединения (WWW) обеспечивает универсальный доступ к большому числу
баз данных, расположенных на различных континентах.
по типу поддерживаемой модели данных:
реляционные (табличные);
сетевые;
иерархические;
объектно-ориентированные;
мультимодельные системы поддерживают одновременно несколько
моделей данных.
Наибольшее распространение получили реляционные СУБД, а в
последние годы к ним добавились СУБД, имеющие объектноориентированную архитектуру и многомерное представление данных. В этих
базах создаются модули объектов, в том числе прикладных программ,
которые управляются внешними событиями с помощью графического
интерфейса пользователя.
3.
-
по типу СУБД как программы:
полнофункциональные СУБД (ПФСУБД);
серверы БД;
клиенты БД;
средства разработки приложений БД, серверов и клиентов БД.
ПФСУБД – это традиционные СУБД: Clarion, MS Access, FoxPro,
Paradox и др.
4.
-
Сервер управляет ресурсом, клиент использует ресурс. Если ресурсом
является БД, то говорят о сервере БД. Серверы БД предназначены для
организации центров управления и обработки данных в сетях. Серверы БД:
MS SQL Server, Oracle Server, Informix, InterBase, Ingress и др.
Клиенты БД: ПФСУБД, электронные таблицы, текстовые процессоры.
Средства разработки приложений: Clipper, Visual FoxPro, Visual Basic,
Borland Delphi, Power Builder и др.
Способы разработки приложений:
- ручное кодирование (Clipper, FoxPro, Paradox);
- создание текстов с помощью генераторов;
- автогенерация методами визуального программирования (Delphi,
Access).
С точки зрения средств разработки приложений, различают замкнутые
и открытые СУБД. В замкнутых СУБД для создания программ могут
использоваться исключительно средства языка манипулирования данными
СУБД. Открытые СУБД допускают, кроме ЯМД, применение универсальных
языков программирования.
5. по характеру организации хранения и доступа к данным:
- персональные (локальные);
- многопользовательские: общие (интегрированные) и распределенные.
Персональные СУБД это обычно полнофункциональные СУБД.
Многопользовательские СУБД включают сервер БД и клиентов БД. Серверы
БД могут работать в неоднородной вычислительной среде, т.е. с разными
типами ЭВМ и ОС. Персональные СУБД могут выступать в роли клиентов в
многопользовательских СУБД.
Первые многопользовательские АИС создавались по технологии «файл
– сервер». В технологии «файл-сервер» по запросам клиентов файлы БД
передавались целиком и содержали много избыточных данных, была очень
высокая интенсивность передачи данных в сети. Современная архитектура
«клиент-сервер» сочетает централизованное хранение и обслуживание с
коллективным доступом тысяч пользователей, сервер БД передает
обработанные данные.
6. по степени универсальности СУБД:
- общего назначения;
- специализированные.
Первые ориентированы на любую предметную область и не зависят от
информационных потребностей конкретной группы пользователей.
Вторые создаются для решения специфических задач.
7. по виду хранимой информации:
- БД экстенсиональная - это база данных, в которой хранятся лишь
константные факты о внешнем мире.
- БЗ интенсиональная - это база знаний, в которой описаны общие
закономерности, характерные для некоторой предметной области, а также
способы постановки и решения задач в этой области.
БЗ может быть открытая или замкнутая. Открытая БЗ в процессе
функционирования позволяет корректировать содержимое базы. Свойство
открытости приводит к тому, что истинность выведенных в ней утверждений
может меняться в процессе работы системы с такой базой. Содержимое
замкнутой БЗ в процессе функционирования не изменяется и выведенные
утверждения остаются верными на весь период функционирования БЗ.
Принципы поддержки целостности в реляционной модели данных
Под целостностью будем понимать соответствие информации в БД
реальному состоянию объектов и их взаимосвязи в ПО в каждый момент
времени. Например, чтобы не было такой ситуации, отмечено, что экземпляр
книги на руках у читателя, но нет читателя, за которым числится этот
экземпляр.
Поддержка целостности в РМД должна быть по 3 аспектам:
1. структурная целостность
2. языковая целостность
3. ссылочная целостность
4. семантическая целостность.
Структурная целостность означает возможность работать только с
однородными структурами типа реляционное отношение.
Языковая целостность означает необходимость поддерживать ЯОД и
ЯМД, соответствующие стандарту SQL.
Ссылочная целостность означает реализацию одного из двух
следующих принципов взаимосвязи отношений:
- Кортежи подчиненного отношения уничтожаются при удалении
связанного с ними кортежа основного отношения.
- При удалении кортежа основного отношения в кортежах
подчиненного отношения ссылка на родителя принимает значение NULL.
Семантическая целостность связана с содержанием БД. Например,
год рождения читателя библиотеки не может быть равен текущему году.
Семантическая целостность обеспечивается несколькими способами,
например:
-на уровне атрибутов: задать значение по умолчанию, определить
обязательность или необязательность атрибута, задать условия ограничения
значений атрибута. Например, год_рождения студента такой, чтобы возраст
был не меньше 15 лет.
- на уровне доменов, если несколько атрибутов принимают значение из
одного домена, то удобнее задать ограничение на домен.
- на уровне отношений, если нужно задать ограничения сразу на
несколько столбцов. Например, для читателя должен быть задан хотя бы
один из телефонов, рабочий или домашний:
Дом_тел IS NOT NULL or Раб_тел IS NOT NULL
- на уровне связи между отношениями задать обязательность /
необязательность связи, каскадное обновление или удаление и др.
Ограничения целостности задаются при создании таблицы и
изменении таблицы.
Пример оператора создания таблицы:
CREATE TABLE КНИГИ
(
ШИФР_КНИГИ
НАЗВАНИЕ
ФИО_АВТОРА
ФИО_СОАВТОРА
ГОД_ИЗДАНИЯ
char (15) NOT NULL PRIMARY KEY,
char(50) NOT NULL,
char(25) NULL,
char (25) NULL,
int
CHECK (ГОД_ИЗДАНИЯ >= 1900 and
ГОД_ИЗДАНИЯ<=YEAR( GetDate() ))
)
При создании таблицы обязательно должен быть указан хотя бы один
столбец. Обязательным является указание имени столбца и его типа данных.
Все остальные параметры необязательные.
Если задаете ограничение UNIQUE, то автоматически проверяется
отсутствие дубликатов. PRIMARY KEY предполагает UNIQUE по
умолчанию. Если задаете для какого-то поля FOREIGN KEY, то проверяется
наличие значения PRIMARY KEY в родительской таблице.
Можно записать несколько SQL операторов на создание таблиц. Набор
операторов SQL называют не программой, а скриптом. Операторы SQL
транслируются в режиме интерпретации, что накладывает ограничения на
порядок описания создаваемых таблиц. Например, для БД «Библиотека»
порядок описания создаваемых таблиц следующий: КНИГИ, ЧИТАТЕЛИ,
ЭКЗЕМПЛЯРЫ, т.е. в первую очередь определяются основные таблицы, а
затем подчиненные.
Для модификации таблиц используется оператор ALTER TABLE,
можно добавить или удалить столбец, добавить или удалить первичный
ключ, изменить ограничения и т.д.
Например,
ALTER TABLE ЧИТАТЕЛЬ
ADD char ОБРАЗОВАНИЕ
DEFAULT NULL
CHECK
(ОБРАЗОВАНИЕ IS NULL or
ОБРАЗОВАНИЕ =”высшее” or
ОБРАЗОВАНИЕ =”неоконченное высшее” or
ОБРАЗОВАНИЕ =”среднее ” or
ОБРАЗОВАНИЕ =”начальное”)
Одним оператором можно добавить (удалить) только один столбец.
Особо внимательным нужно быть при изменении первичного ключа
отношения. Если отношение участвует в связях и в подчиненных
отношениях этот набор атрибутов является внешним ключом, то сначала
нужно удалить внешний ключ в подчиненных отношениях, а затем удалить
первичный ключ, назначить новый первичный ключ и назначить новые
внешние ключи в подчиненных отношениях.
Кроме таблиц можно создавать индексы.
CREATE INDEX
Индексы служат для ускорения поиска информации в БД. По
умолчанию для каждой таблицы создается индекс по первичному ключу.
Индексы нужно создавать для полей, по которым чаще всего ведется поиск
информации, по вторичным ключам.
Таблицы и индексы можно удалить:
DROP TABLE
DROP INDEX
Например,
DROP TABLE Книги CASCADE
Можно определить каскадное удаление всех связанных с таблицей
объектов. Но операция может быть не выполнена, если у вас нет достаточных
прав на удаление связанных объектов. Этого требует концепция
безопасности БД. Операция удаления таблицы Книги не будет выполнена,
т.к. на нее есть ссылки из других таблиц. Если действительно нужно удалить
таблицы, то выполнить это нужно в следующем порядке: удалить таблицы
Экземпляры, Читатели, Книги.
Все операции манипулирования данными связаны с понятием
целостности.
Например, оператор
INSERT
INTO
VALUES
P (НОМЕР_ДЕТАЛИ, НАЗВАНИЕ, ВЕС, ГОРОД)
(‘Р5’, ‘Кулачок’, 12, ‘Пермь’)
Значение поля Цвет детали не указано, устанавливается значение
NULL, если допускается ограничениями целостности.
Операции манипулирования данными не всегда выполнимы, даже если
синтаксически правильно написаны. Например, в БД «Сессия», не удастся
удалить запись о какой – то группе, т.к. в другой таблице есть студенты,
связанные с этой группой.
Основные компоненты СУБД MS ACCESS
СУБД MS ACCESS – это функционально полная РБД, является
современным приложением Windows, поэтому можно использовать все
возможности DDE и OLE.
DDE - динамический обмен данными с другими приложениями
Windows.
OLE – связь с объектами другого приложения и внедрение их в Access.
Определение данных.
Типы данных в Access 2000:
 текст;
 числовые данные;
 даты;
 время;
 денежные значения;
 поле объекта OLE (рисунки; звук; документы; электронные
таблицы);
 поле МЕМО;
 логический;
 гиперссылка;
 мастер подстановок.
Обработка данных.
С помощью Access можно обрабатывать файлы PARADOX, dBaseIII,
dBaseIV, FoxPro и др. Импортировать данные из этих таблиц в таблицы
Access. Access может работать с базами данных, поддерживающими
открытый доступ к данным, такими как MS SQL Server, Oracle, DB2, RBD.
Для обработки данных используется мощный язык SQL. С помощью
языка SQL можно выделить из одной или нескольких таблиц необходимую
информацию. При этом знать язык в совершенстве нет необходимости,
построение запроса выполняется в диалоговом режиме через меню и
соответствующие окна, используя построенные связи между таблицами.
Запросы могут быть на выборку данных, создание представления или
перекрестного представления, создание таблицы, обновление и удаление
таблиц, изменение таблицы, добавление данных из одной таблицы в другую
и т.д..
Управление данными.
СУБД Access может быть использована в качестве самостоятельной
СУБД на отдельной рабочей станции, так и в сети в режиме клиент – сервер.
Предусмотрены средства защиты и обеспечения целостности.
Разработка приложений.
Access имеет средства, позволяющие легко проектировать и создавать
приложения для работы с БД без знания языка программирования.
Формы позволяют обеспечить удобный интерфейс при вводе и
просмотре данных. Могут создаваться для одной таблицы и нескольких
взаимосвязанных таблиц.
Отчеты определяют форматы и вид вывода данных. Можно строить на
основе таблиц или запросов.
Для установки связей между формами и отчетами или для выполнения
действий в ответ на событие можно создать макросы. Кроме этого можно
написать процедуру на языке Access Basic.
Поведение объектов зависит событий. Событием является любое
изменение состояния объекта MS Access:
 Открытие формы
 Закрытие формы
 Ввод данных
 Нажатие клавиш, кнопок во время ввода и т.д.
Access предоставляет набор Мастеров по разработке объектов.
Данные в таблицах и объекты, для их обработки: формы, запросы,
отчеты, макросы и модули, полностью не зависимы друг от друга.
Взаимодействие основных объектов в MS Access
Модули, функции,
подпрограммы
Запустить
Запустить
Макросы
Открыть
Просмотр
Формы
Отчеты
Запустить
Запросы
Таблицы
-----_______
поток данных
действие
Запустить
История и перспективы развития БД и СУБД.
История СУ Данными во внешней памяти началась с появлением
магнитных дисков.
Следующим шагом в развитии ИС стал переход к использованию СУ
Файлами. Но использование простых СУФ затрудняло одновременную
работу с файлом нескольких пользователей.
Был предложен новый подход к управлению данными, т.н. СУБД, а
сами хранилища данных стали называть БД.
Первый этап – БД на больших ЭВМ, первая в 1968 г. – IMS, в 1975 г.
был принят стандарт CODASYL (Ассоциация по языкам систем обработки
данных). БД хранится во внешней памяти центральной ЭВМ, задачи в
основном решаются в пакетном режиме, доступ пользователей только для
ввода/вывода с консольных терминалов.
Особенности:
1. БД централизованная, работа в режиме распределенного
доступа;
2. Управление
ресурсами
осуществляют
мощные
мультипрограммные ОС = MVS, UNIX.
3. Языки
манипулирования
данными
низкого
уровня,
ориентированы в основном на методы доступа к данным.
4. Создана 1-ая система на реляционной модели, предложенной
Коддом, – System R.
5. Созданы первые языки высокого уровня для работы с РМД.
6. Разработаны мощные средства администрирования.
Второй этап – настольные СУБД на ПК. С повышением доступности
вычислительной техники резко возросло количество программ обработки
данных, которые стали называть СУБД. Достоинства: имели удобный
интерфейс, новые возможности, малую стоимость. Недостатки: выполняя
похожие функции, имели разные форматы данных, что затрудняло перенос
данных в новые СУБД, т.е. не было мобильности.
Особенности:
1. СУБД для БД монопольного доступа;
2. Удобный интерфейс, наличие инструментов для разработки
приложений;
3. В настольных СУБД поддерживается только внешний уровень РМД;
4. Появились высоко уровневые ЯМД –SQL;
5. Выродились функции администратора;
6. Достоинство – скромные требования к аппаратуре, например,
Clipper работал на PC 286.
Третий этап – распределенные БД. С развитием сетей остро встала
задача согласованности данных, параллельной обработки данных,
обеспечения целостности БД.
Особенности современных СУБД:
1. Обеспечивают структурную, языковую целостность;
2. Могут работать на различной аппаратной платформе, под
управлением разных ОС, т.е мобильны;
3. Развиты
средства
администрирования,
обеспечивающие
многопользовательскую работу, децентрализованное хранение,
защиту данных;
4. Сочетают преимущества настольных СУБД, позволяют подключать
клиентские приложения настольных СУБД, содержат средства
экспорта из форматов настольных СУБД;
5. Созданы
теоретические
основы
оптимизации
реализаций
распределенных БД и работы с распределенными транзакциями и
запросами. Транзакция – это последовательность операций над БД,
переводящая БД из одного непротиворечивого состояния в другое
непротиворечивое состояние;
6. Разработаны стандарты ЯОД и ЯМД SQL89, SQL92, SQL99 и
стандарты технологии по обмену данными между различными
СУБД, например протоколы ODBC.
7. Начаты работы по концепции ООБД.
Представители СУБД 3 этапа MS Access 97 и 2000, Oracle 7.3, 8.4, MS
SQL 7.0, System 10, System II, Informix, DB2, SQL Base.
Четвертый этап – это перспективные системы УБД.
Это появление новой технологии доступа к данным – интранет.
Отличается от технологии клиент– сервер тем, что нет необходимости в
специализированном клиентском ПО. Для работы с удаленной БД
используется Internet броузер. HTML страницы, загружаемые пользователем,
содержат код, написанный на языках Java, Java-script, Perl. Этот код
позволяет отслеживать действия пользователя и транслировать их в
низкоуровневые SQL запросы. То есть заменяет клиентскую программу.
Однако задачи со сложными алгоритмами требуют создания специального
клиентского ПО.
Перспективные БД и СУБД
1. Внедряется технология ИАД. Интеллектуальный анализ данных –
процесс выявления образов и тенденций в больших объемах данных,
динамики развития данных для анализа и прогнозирования.
Внедряется технология OLAP (On Line Analitical Processing) –
оперативная аналитическая обработка данных. Наиболее интересна
интеграция ИАД и OLAP.
В основе концепции OLAP лежит многомерное представление
агрегированных данных. Система OLAP обеспечивает быстрый доступ к
внутренней структуре данных и позволяет преобразовать и отобразить эту
структуру способом удобным пользователю. Термин OLAP предложил Кодд
для многомерного представления данных на концептуальном уровне.
Многомерное концептуальное представление состоит из нескольких
независимых измерений, по каждому из них можно проводить анализ.
Например, измерение СОТРУДНИК состоит из следующих уровней
обобщения
Предприятие – Отдел - Служащий
В то же время может быть измерение ВРЕМЯ в двух направлениях
Год – Квартал – Месяц – День
Неделя - День
Можно выбирать любой уровень обобщения и выполнять анализ
сразу по нескольким направлениям – многомерный анализ.
2. Новое направление – отказ от нормализации. Нормализация
нарушает естественные связи, поэтому их лучше на концептуальном уровне
сохранять, но на физическом конечно от избыточности нужно избавляться.
3. Развиваются ООБД. ПО – это множество классов взаимосвязанных
объектов. Объект характеризуется набором свойств и набором методов
работы с ним. Множество объектов с одним и тем же набором свойств и
методов образуют класс объектов.
Очень важен принцип наследования, когда на основе существующего
класса порождается новый класс. Важная особенность – это объектноориентированный подход к поведению объектов. В традиционных СУБД
структурная часть поддерживается СУБД, а поведенческая создается
отдельно.
Часть разработчиков предлагает хранить объекты внутри РБД, это
требует расширения языка SQL.
Другие от реляционных и иерархических подходов переходят на ОО
подход. Объектное проектирование было дополнено стандартами доступа к
БД – ODMG93.
Фирмы разработчики СУБД поступили по – разному. Фирма IBM для
СУБД DB2, также фирма ORACLE для СУБД Oracle добавили объектную
надстройку над реляционным ядром. Фирма Informix приобрела и встроила
объектно-реляционную СУБД Illustra. Фирма Computer Associates приобрела
и встроила чисто объектную СУБД Jasmine.
4. Следующее направление – темпоральные БД, чувствительные ко
времени. Позволяют исследовать изменение состояний объектов во времени.
Используется метод снятия срезов по времени для объектов БД. В РБД
возникает необходимость в дополнительных отношениях, имеющих одну и
ту же схему, но разное время снятия среза, т.е. разное содержание.
5. Следующее перспективное направление – объединение технологии
экспертных систем и БД и развитие дедуктивных БД. Эти БД
используются для получения новых знаний из БД. Используя правила вывода
и построив цепочки применяя эти правила, формируются ответы на запросы.
6. Наиболее перспективная технология – это взаимодействие Web
технологии и БД. В Интернете накопилась масса слабо структурированной
информации и она становится не управляемой. Постепенно задачи
управления страницами в файловой системе перекладываются на системы
БД. БД используются как серверы электронной коммерции. Статические
HTML страницы чаще заменяются на систему управления динамически
формируемым содержимым. Например, продавцы одежды предлагают
посмотреть как будет
сидеть выбранная модель на
вашем
персонализированном манекене.
Для разработки Интернет приложений, связанных с БД, используются
новые средства программирования: языки Perl, PHP, JavaScript
СУБД представляют пользователям и проектировщикам широкие
возможности по созданию сложных информационных систем, состоящих из
множества взаимосвязанных таблиц.
Однако при использовании СУБД большую роль играет
квалификация разработчиков. Он должен спроектировать структуру БД,
описать правила формирования отчетов, разработать структуры форм для
ввода и корректировки данных, описать алгоритмы обработки данных.
Поэтому важно развивать средства автоматизации проектирования
БД и приложений.
Download