
- •Системы управления базами данных введение
- •1. Компоненты субд
- •1.1. Типы и структуры данных
- •1.1.1. Основные типы данных.
- •1.1.2. Обобщенные структуры или модели данных.
- •1.2. Методы доступа к данным.
- •1.2.1.Методы поиска по дереву.
- •1.2.2.Хеширование.
- •2. Представление данных
- •2.1. Представление данных с помощью модели "сущность-связь".
- •2.1.1.Назначение модели.
- •2.1.2.Элементы модели.
- •2.2.Диаграмма "сущность-связь".
- •2.3. Целостность данных.
- •3. Дореляционные модели представления данных.
- •3.1.Иерархическая модель данных.
- •3.1.1.Структура данных.
- •3.1.2.Операции над данными, определенные в иерархической модели:
- •3.1.3.Ограничения целостности.
- •3.2.Сетевая модель данных
- •3.2.1.Структура данных.
- •3.2.2.Операции над данными.
- •3.2.3.Ограничения целостности.
- •4. Реляционный подход к представлению данных
- •4.1.Реляционная модель данных
- •4.1.1.Структура данных.
- •4.1.2.Свойства отношений.
- •4.2.Теория нормальных форм.
- •4.2.1.Функциональные зависимости.
- •4.2.5. Bcnf - нормальная форма Бойса-Кодда.
- •4.2.6. Многозначные зависимости и четвертая нормальная форма (4nf).
- •4.2.7. Зависимости по соединению и пятая нормальная форма (5nf).
- •4.3.Ограничения целостности
- •4.3.1.Целостность сущностей.
- •4.3.2.Целостность ссылок
- •4.4. Реляционная алгебра
- •4.4.1. Операции обработки кортежей.
- •4.4.2. Операции обработки отношений.
- •4.5. Реляционное исчисление.
- •4.6.Язык sql
- •4.7. Вопросы практического программирования.
- •4.8.Навигационный подход к манипулированию данными и персональные субд.
- •4.9.Транзакции, блокировки и многопользовательский доступ к данным.
- •4.10. Определение степени соответствия субд реляционной модели.
- •5. Проектирование реляционных баз данных.
- •5.1. Этапы проектирования данных
- •5.2.Инструментальные средства проектирования информационных систем.
- •5.4.Концептуальное моделирование.
- •5.5.Правила порождения реляционных отношений из модели "сущность-связь"
- •5.5.1. Бинарные связи
- •5.5.3. Иерархические связи.
- •5.6. Проектирование реляционной базы данных на основе декомпозиции универсального отношения.
- •5.7.Обзор некоторых case-систем.
- •5.7.1. Power Designer компании Sybase.
- •5.7.2. Silverrun компании Silverrun Technologies Ltd.
- •5.7.3. BpWin и erWin компании LogicWorks.
- •5.7.4. Designer/2000 компании Oracle.
- •6. Классификация субд.
- •6.1.Ограничения реляционных баз данных.
- •6.2.Постреляционные субд.
- •6.3.Объектно-ориентированные субд.
- •6.3.1. Объектно-ориентированная парадигма.
- •6.3.2. Объектно-ориентированные субд.
- •6.3.3. Стандарт odmg.
- •6.3.4. Объектные расширения реляционных субд. Язык sql-3.
- •6.4. Объектно-реляционные субд.
- •6.5.Нечисловая обработка и ассоциативные процессоры.
- •7. Представление данных по принципу технологии "клиент-сервер".
- •7.1.Архитектура "клиент-сервер".
- •7.1.1. Основные понятия.
- •7.1.2. Модели взаимодействия клиент-сервер.
- •7.1.3. Мониторы транзакций.
- •7.2.Обработка распределенных данных.
- •7.3.Структура сервера базы данных.
- •8.Базы знаний.
- •8.1. Понятие системы баз знаний.
- •8.2.Структура и функции системы баз знаний.
- •8.3.Инструментальные средства построения систем баз знаний.
7.3.Структура сервера базы данных.
В заключение рассмотрим физическую организацию сервера базы данных. Как правило, он включает следующие компоненты:
подсистема взаимодействия с клиентским приложением Данный модуль отвечает за поддержание связи с клиентом. Механизм его работы: Подсистема взаимодействия "прослушивает" сеть в ожидании клиентских запросов на установление соединения. Когда такой запрос обнаруживается, порождается новый процесс, который будет обеспечивать связь с данным клиентом. Клиенту сообщается идентификатор данного процесса, в дальнейшем клиент передает свои запросы и получает данные взаимодействуя с этим интерфейсным процессом. После того, как клиент закрывает соединение, обслуживавший его процесс прекращается. Характеристики интерфейсных процессов зависят от операционной системы, под которой исполняется сервер базы данных.
подсистема синтаксического разбора запросов Данный модуль отвечает за компиляцию поступающих от клиентов через интерфейсные процессы запросов во внутренний код, который будет исполняться сервером. При ошибках компиляции соответствующие сообщения передаются клиенту. Наиболее современные СУБД позволяют сохранять откомпилированный код запросов некоторое время. Это позволяет избежать стадии компиляции при повторном обращении клиента к запросу.
подсистема планирования выполнения запросов Данный модуль должен составить такой план выполнения запроса, чтобы он был обработан наиболее быстро. Для этого анализируются условия выборок и соединений, устанавливается порядок их выполнения. Пусть, например, надо извлечь одного сотрудника из списка работников, в качестве критерия поиска задаются его имя и фамилия. Возможны два плана выполнения запроса: (1) вначале делается выборка всех сотрудников с данным именем, из нее извлекаются записи, содержащие данную фамилию; (2) - наоборот, вначале делается выборка по фамилии, затем по имени. Поскольку множество имен, как правило, меньше множества фамилий, во втором случае запрос будет обработан быстрее, т.к. на втором этапе здесь мы получим меньшую выборку. Планировщики запросов ведущих СУБД отслеживают информацию о распределении значений в таблицах. План выполнения запроса включается в его откомпилированный код.
подсистема выполнения транзакций Здесь выполняется оптимизированный код запроса, обновляются индексы, выполняются в случае необходимости триггеры и хранимые процедуры. Как правило, несколько запросов могут исполняться параллельно, при этом обеспечивается необходимый уровень их изоляции. Также ведется журнал транзакций, обеспечивается их завершение и корректный откат.
подсистема управления памятью Этот компонент отвечает за считывание данных с диска в оперативную память, синхронизацию обновлений с данными диске и т.д. Он может использовать файловые функции операционной системы, но часто СУБД имеет свои собственные низкоуровневые средства доступа к дискам.
8.Базы знаний.
8.1. Понятие системы баз знаний.
Аналогично СБД (система баз знаний) существует понятие СБЗ - система баз знаний. Близкими понятиями являются: экспертная система - система, обеспечивающая создание и использование с помощью компьютера баз знаний экспертов; система искусственного интеллекта. В последнее время, однако, предпочтение отдается терминам, подчеркивающим знания, а не интеллект. Такие системы демонстрируют шаблонное использование знания, а не интеллекта, которые предполагает творческий подход, нешаблонность. СБЗ - система, базирующаяся на знаниях. Таким образом, определение:
СБЗ - система, дающая возможность использовать подходящим образом представленные знания с помощью вычислительной машины.
Компоненты СБЗ: база знаний, механизм получения решений, интерфейс.
Самая характерная черта СБЗ - использование базы знаний. К сожалению, общепринятого определения базы знаний нет.