Основные понятия теории баз данных.
Лекция, 18 Ноября 2012, автор: пользователь скрыл имя
Описание работы
Лекции с глоссарием по базам данным
Работа содержит 1 файл
Лекции_БД_ВМЕСТЕ С ГЛОССАРИЕМ.doc
— 1.52 Мб (Скачать)
Архитектура информационной системы
Пользователи информационной системы
Пользователей информационной системы можно разделить на две группы: внутренних и конечных (рис. 3.1). Внутренние пользователи разрабатывают и поддерживают правильное функционирование информационной системы, а конечные пользователи - это те пользователи, ради которых и создается информационная система.
|
Рис. 3.1 Пользователи базы данных. |
- На стадии проектирования администратор БД выступает как идеолог и конструктор системы, руководит работами по созданию программного окружения БД. На стадии эксплуатации администратор – ответственное лицо за функционирование БД. Основная задача администратора БД при эксплуатации – защита данных от разрушения, обеспечения корректного группового доступа и анализ эффективности использования ресурсов информационной системы.
- Администратор функциональных подсистем совместно с администратором БД определяет алгоритмы обработки данных.
- Системные программисты выполняют генерацию СУБД, следят за ее функционированием, разрабатывают дополнительные модули СУБД по заказу администратора.
- Задача прикладных программистов – разработка программной среды, т.е. прикладных программ.
- Косвенные конечные пользователи не общаются с ЭВМ непосредственно, они формулируют свои запросы службе администратора БД, а затем получают свои ответы на бумаге, но прежде этот ответ интерпретируется специалистами.
- Прямые конечные пользователи общаются с ИС в интерактивном режиме. Часть из них умеет обращаться к заранее разработанным приложениям и понимать получаемые ответы, другие умеют самостоятельно разрабатывать новые приложения.
Современные СУБД обладают средствами, ориентированными на конечных пользователей, которые могут разрабатывать новые приложения самостоятельно, не прибегая к услугам прикладных программистов.
Уровни представления информационной системы.
С информационной системой работают пользователи различных категорий.
Для конечных пользователей информационная
система – это хранилище
Для внутренних пользователей информационная система предоставляется в виде программных файлов и файлов данных.
Прикладные программисты оперируют файлами, записями, полями и т.д., а системные занимаются внутренним представлением данных, т.е методами физического хранения и способами доступа к данным. Можно сказать, что информационная система (ИС) имеет несколько уровней представления (рис. 3.2):
Начальный уровень
Соответствует представлениям о предметной области (ПО) конечных пользователей. Он называется уровнем локальных пользовательских представлений.
Инфологический уровень
Он представляет собой интеграцию локальных пользовательских представлений, и соответствует взгляду на предметную среду администратора БД. Администратор видит все фрагменты, все возможные связи между ними, в то время как конечный пользователь видит только ограниченные фрагменты предметной области (ПО).
Эти два уровня существуют в независимости от того, какая СУБД будет использоваться при создании информационной системы (ИС).
Концептуальный уровень
Соответствует представлению о ПО администратора БД как о совокупности файлов данных, т.е. отражает логическую организацию хранящихся в ИС данных о ПО. Этот уровень очень похож на инфологический, но его отличие состоит в том, что он ориентирован на конкретную СУБД. Описание БД на концептуальном уровне задается на языке описания данных, используемого в СУБД.
Внутренний уровень
Данный уровень рассматривает представление данных в памяти ЭВМ, а также способы доступа и хранения данных.
|
Рис. 3.2 Уровни представления информационной системы. |
Сетевые базы данных
На разработку этого стандарта большое влияние оказал американский ученый Ч.Бахман. Основные принципы сетевой модели данных были разработаны в середине 60-х годов, эталонный вариант сетевой модели данных описан в отчетах рабочей группы по языкам баз данных (COnference on DAta SYstem Languages) CODASYL (1971 г.).
Структура данных сетевой модели
Основные понятия сетевых баз данных - элемент, агрегат, запись (группа), групповое отношение, база данных.
Элемент данных представляет собой наименьшую единицу структуры данных, каждому элементу приписывается уникальное имя, по которому обращаются к этому элементу при обработке данных.
Агрегат данных – есть совокупность элементов или других агрегатов.
При описании БД каждому агрегату приписывается уникальное имя, по которому к агрегату можно обратиться, как к единому целому при обработке данных.
Пример: Адрес [индекс, город, улица, дом, квартира]
Запись – это агрегат, не входящий ни в какой другой агрегат. Это основная единица обработки БД.
Следует различать тип записи и экземпляр записи:
Тип записи определяет состав ее элементов и агрегатов.
Экземпляр записи – конкретная совокупность значений элементов, составляющих запись.
Если запись содержит несколько значений одного типа, то говорят, что в записи определен вектор (рис.4.1)
Если в каждом экземпляре записи длина вектора одинакова, то это вектор фиксированной длины (рис. 4.1), иначе – вектор переменной длины (например сведения о работах в записи жителя рис. 4.2).
Тип записи Житель |
|
| |
| |
Рис. 4.1 Пример записи-вектора фиксированной длины. | |
Тип записи Сотрудник |
|
| |
| |
Рис. 4.2 Пример записи-вектора переменной длины. | |
Один элемент или некоторая совокупность элементов могут быть описаны как первичный ключ записи. Значение первичного ключа каждой записи должно быть уникально.
Групповое отношение – это иерархическое (подчиненное) отношение между записями двух типов. Записи первого типа являются владельцами отношения, записи второго типа – членами отношения или подчиненными записями.
Групповое отношение графически изображается ориентированного, где дугами будут отношения, а вершинами типы записей. Такое изображение структуры БД называется диаграммой Бахмана. Также необходимо различать тип отношения и экземпляр отношения (рис.4.3) и (рис.4.4).
Диспансеризация |
|
Поликлиника (владелец отношения) |
|
Житель (член отношения) | ||
Рис. 4.3 Тип отношения изображен с помощью диаграммы Бахмана. | ||
Тип отношения – характеризуется именем отношения и определяет общие свойства для всех экземпляров данного типа отношений.
Экземпляр отношения – есть экземпляр записи-владельца отношения и множество (возможно пустое) подчиненных экземпляров записей-членов отношения.
Зарисуем пример по отношению к “Диспансеризации” (рис. 4.4):
Поликлиника №17 |
|
Рис. 4.4 Экземпляр отношения “ |
Предполагается, что экземпляр подчиненной записи может войти только в один экземпляр отношений одного типа (т.е. Иванов может стоять на учете только в поликлинике №17). Один и тот же тип записей может быть участником нескольких отношений, таким образом, в одних отношениях тип записи может быть владельцем, а в других – подчиненным (рис. 4.5).
|
Рис. 4.5 Один тип записи участвует в нескольких отношениях. |
Сетевая модель данных позволяет устанавливать
несколько одинаково
Из рисунка видно, что здесь два типа отношений – это отношение “основная работа” (1) и отношение “совместительство” (2).
Каждой организации
|
Рис. 4.6 Нескольких групповых отношений в сетевой модели данных. |
Каждый тип группового отношения характеризуется следующими признаками.
- Способы упорядочения подчиненных записей;
- Режим включения подчиненных записей;
- Режим исключения подчиненных записей.
Способы упорядочения подчиненных записей
Каждый экземпляр группового отношения
можно рассматривать как
- произвольный;
- хронологический – списки в записи располагаются в последовательности поступления их в БД, такие списки называются очереди, т.е. всякая новая запись помещается в конец списка;
- обратно хронологический – новая запись размещается в начале списка (стек, магазин);
- сортировочный, в этом случае в типе подчиненной записи выбирается ключ упорядочения, и место новой записи определяется по ключу.
Режим включения подчиненных записей
Различают два режима включения
подчиненных записей
- Автоматический режим – подчиненная запись включается в групповое отношение одновременно с включением её в БД. Другими словами невозможно внести в БД запись, чтобы она автоматически не была закреплена за владельцем. В этом случае экземпляр-владелец должен быть помещен раньше подчиненного экземпляра в БД.
- Ручной режим – позволяет занести подчиненную запись в БД и не включать её немедленно в экземпляр группового отношения.
Режим исключения подчиненных записей.
Режим исключения подчиненной записи зависит от класса членства записи.
Принято выделять три класса членства
подчиненных записей в
- Фиксированное членство – подчиненная запись жестко закрепляется за записью-владельцем и не может существовать без неё. В этом случае исключить запись из некоторого экземпляра-отношения можно только исключив её из БД. Эту запись нельзя переключить на другого владельца или оставить без владельца.
- Обязательное членство – каждая подчиненная запись, будучи однажды включенной в групповое отношение впредь будет всегда связана с какой-либо записью-владельцем. Допускается переключение записи к другому владельцу, но недопустимо существование записи без владельца. Для удаления записи владельца необходимо, чтобы она не имела подчиненных с обязательным членством. Такие подчиненные записи следует предварительно удалить либо переключить в другой экземпляр этого отношения.
- Необязательное членство – позволяет исключить подчиненную запись из группового отношения, но сохраняя её в БД, не прикрепляя к другому владельцу. При удалении записи-владельца, ее подчиненные члены сохраняются в БД, не участвуя более в этом отношении. В дальнейшем они снова могут быть включены в это отношение.
Операции над данными в сетевой модели.
- Заполнить – позволяет занести в БД новую запись и автоматически включить эту запись в групповое отношение, где она объявлена подчиненной с автоматическим режимом включения.
- Включить в групповое отношение - позволяет существующую запись связать с записью-владельцем.
- Переключить – дает возможность изменить владельца в том же групповом отношении.
- Обновить – позволяет изменить значение элементов существующей записи. Перед обновлением существующая запись должна быть извлечена из БД.
- Извлечь Эта операция имеет несколько модификаций: