Технология построения баз данных

Классификация баз данных

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

Задачи обработки данных - это специальный класс решаемых на ЭВМ задач, связанных с вводом, хранением, сортировкой, отбором по заданному условию и группировкой записей данных однородной структуры. При этом предусматривается генерация для пользователя различных отчетов, как правило, табличной формы, обеспечивающих систематизацию и, возможно, агрегирование данных, с промежуточными итогами по некоторым элементам данных для групп записей и с полными итогами по всему отчету.

При построении информационного обеспечения любой системы необходимо начинать рассмотрение ее предметной области (ПО). Под предметной областью обычно понимают совокупность реальных объектов (сущностей), как часть реального мира, которую предстоит изучить, систематизировать и, в конечном итоге, автоматизировать. Именно на ее основе может быть построена информационная система. Примером ПО может служить лицо (фамилия, имя отчество, возраст, пол и т.д.), Транспортное средство (марка, цвет, гос.номер и т.д.).

Ввиду громоздкости описания предметной области в терминах объектов множество ПО разбивают на типы объектов. Каждый такой тип обладает одинаковыми наборами свойств (атрибутов) объектов.

Всем объектам присваивается идентификатор для быстрого поиска элемента в базе. Для того, чтобы можно было однозначно ссылаться на определенный объект, существует уникальный идентификатор, называемый первичным ключом, в качестве которого может использоваться какой-либо обязательный атрибут объекта. Значения первичного ключа не могут обновляться. Примером первичного ключа автомобиля может служить его номер двигателя. В случае, если невозможно подобрать атрибут с уникальными значениями, то в качестве первичного ключа используется комбинация атрибутов (Например: Фамилия – Имя – Отчество – Год рождения). Вторичным ключом является не уникальный идентификатор.

Между объектами существуют структурные связи различной размерности (арности). Большинство связей ПО могут быть представлены простыми или составными бинарными связями (т.е. связи между двумя объектами или двумя множествами объектов). Их 3 типа:

а) один-к-одному (1:1)

 
 

 


б) один-ко-многим (1:n)

 
 

 


в) многие-ко-многим (m:n)

 

 

В основе построения любой базы данных лежит понятие структуризации информации, целью которого является наиболее полное отображение свойств реальных объектов.

Различают три основных уровня структуризации:

- концептуальный (с позиции пользователя системой) осуществляющий сбор, анализ и редактирование требований к данным;

- уровень реализации или логический уровень (с позиций прикладного программиста) где требования к данным преобразуются в структуры будущей системы;

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

Каждый этап имеет свою модель. Каждой модели соответствует инфологическое описание, т.е. "взгляд" на предметную область пользователя (оперативника, администратора БД, программиста) который, кстати, не связан со средствами реализации информационной системы [5].

Система баз данных поддерживает в памяти ЭВМ модель предметной области. Результат отображения предметной области в терминах модели данных является моделью баз данных. Вообще моделью данных называется формализованное описание информационных структур и операций над ними. Любая модель должна обеспечивать представление объектов предметной области, их атрибутов и структурных связей.

Наиболее известными и часто применяемыми являются три модели данных: иерархическая, сетевая и реляционная. В первых двух моделях база данных описывается графом, вершины которого соответствуют логическим записям, ребра - адресным указателям, обеспечивающими связи между записями. Иерархическое представление состоит их нескольких типов записей, один из которых определен как корневой (входной) тип данных [7]. Иерархическая модель данных используется в системах IMS, и SYSTEM 2000, отечественных (ИНЭС, ОКА, ДИАМС, ФОРБИН, КВАНТ, МИРИС [3]).

Сетевая модель подобна иерархической, но является более общей в том смысле, что любая запись может входить в любое число именованных связей как исходная или порожденная или как и то и другое. Поэтому здесь нет корневого узла, т.к. любая запись может быть определена как точка входа. Сетевые модели реализованы ряде систем основанных на модели CODASYL (IDMS, DMS1100, DBMS, отечественных - СЕТОР, СЕТЬ). Еще несколько систем, относящиеся к категории систем с инвертированными файлами, могут косвенно представить сетевую концепцию (Model 204, DATACOM/DB, ADABAS, отечественной - МОДИС).

В настоящее время наиболее широкое распространение получили реляционные (от английского relation - отношение) модели, благодаря тому, что к ней применима математическая теория множеств. Отношением R, определенным на множествах D1,D2,...,Dn, называют подмножество декартова произведения D1 x D2 x ... Dn. При этом множество D1, D2, ..., Dn называется доменами отношения, а элементы декартова произведения - кортежами отношения. Число n определяет степень (арность) отношения, а количество кортежей - его мощность [5].

Отношения удобно располагать в виде таблиц. При этом строки таблицы соответствуют кортежам, а столбцы - атрибутам. Каждый атрибут определен на некотором домене. Доменом называют множество атомарных значений. Несколько атрибутов отношения могут быть определены на одном и том же домене.

Множество объектов реляционной модели данных однородно - структура данных определяется только в терминах отношений. Основная единица обработки в реляционной модели данных не запись (как в сетевых и иерархических моделях), а множество записей - отношение.

Важной особенностью реляционной модели является то, что в отличии от иерархических и сетевых у нее отсутствует понятие групповые отношения, использующихся в последних для отражения ассоциаций между записями.

Чаще всего база данных организуется так, чтобы каждому состоянию предметной области соответствовало некоторое состояние БД. Однако, существуют базы организуемые таким образом, что наряду с текущим состоянием используется некоторая предыстория, хронология.

Различаются централизованные и распределенные базы данных. При использовании централизованной БД в локальных сетях доступ к ней осуществляется через ЭВМ данной сети. Распределенная БД состоит из нескольких, возможно пересекающихся и дублирующих частей данных, хранимых на разных ЭВМ, причем конечный пользователь может и не знать на какой именно ЭВМ расположены те или иные ее компоненты. Работа с такой базой данных ведется с помощью системы управления распределенной базой данных (СУРБД). А все данные и их размещение описываются в системном справочнике.

Модели баз данных:

1) Иерархическая. Данные организованны в виде записи, но все таблицы просматриваются в определенном порядке. В каждой группе записи один из элементов главный, а остальные подчиненные. Группы записи, то есть упорядочены в соответствии с иерархией.

Каждый из прямоугольников представляет собой таблицу, идут они по иерархической системе. Поиск всегда идет в определенном порядке.

2) Сетевая. Она подобна иерархической, но с одним отличием, в том, что могут быть установлены связи между таблицами не соседних уровней.

3) Реляционнаямодель (реляционная- относительная) - это таблицы, связанные через ключевые поля. Здесь нет никакой иерархии. Причем связи бывают различных видов:

- один к одному (одно поле строго определено связывается с другим полем) "пациент-койка";

- многие к одному "пациенты - палата";

- связь многие ко многим "пациент - врачи"

4) Смешанная модель (обычно объединяется иерархическая и реляционные модели). Реляционная модель удобна для несложных баз данных, ну а в сложных случаях используе6тся иерархическая модель, поэтому, поэтому эта комбинация 2х моделей широко используется.

 
 

 

 


Рис. 3


База данных в действительности представлена полностью в "материализованном" виде только в среде хранения. Механизмы среды хранения БД служат для управления двумя группами ресурсов системы - ресурсами хранимых данных и ресурсами пространства памяти среды хранения. Более того, они обеспечивают поддержку представления "физической" базы данных - структуры хранимых данных, управление пространством памяти БД, а также поддержку отображения структуры хранимых данных в пространство памяти, позволяющего определить место их размещения при запоминании и при поиске данных.

Среди большого разнообразия подходов к организации среды хранения данных в качестве основной структурообразующей единицы наиболее часто применяется хранимая запись. Она может представлять полную запись концептуальной базы данных или некоторый ее фрагмент. Хранимые записи одного типа состоят из фиксированной совокупности полей и могут иметь формат фиксированной или переменной длины.

Записи переменной длины возникают, если допускается использование повторяющихся групп полей с переменным числом повторений либо строк переменной длины. Работа с хранимыми записями переменной длины существенно усложняет управление пространством памяти среды хранения.

Структура базы данных представляется в терминах хранимых записей и связей между ними. Поэтому наиболее важная функция среды хранения - поддержка связей между хранимыми записями. Способы представления связей определяются схемой хранения и чаще всего основаны на использовании указателей, но могут применяться также некоторые способы размещения, например, размещение в смежных частях пространства памяти.

Для организации пространства памяти среды хранения используют возможности операционной среды и ресурсов ЭВМ.

Каждой хранимой записи в пространстве памяти ставится в соответствие ее адрес, определяющий место размещения записи, который в подходе CODASYL называется ключом базы данных.

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

Этапы проектирования БД:

1. Анализ предметной области

· Определение категории объектов;

· Определение вопросов которые будет задавать пользователь;

· Описание каждого объекта;

· Выявление связей внутри объекта и между объектами.

2. Логическое проектирование

· Определение модели БД;

· На основе выбранной модели БД выбрать СУБД;

· Описание структуры файлов БД и взаимосвязь между различными БД.

3. Физическое проектирование

· Формирование структуры файлов БД с помощью СУБД;

· Осуществление интерфейса;

· Подготовка сервисных программ, обслуживающих эти БД.

4. Опытная эксплуатация

· заполнение БД;

· выполнение запросов;

· отладка системы.

5. Сопровождение БД при ее рабочей эксплуатации.