Архитектура баз данных (БД)
Базы данных и программные средства их создания и ведения (СУБД) имеют многоуровневую архитектуру. При проектировании БД сначала разрабатывается концептуальная модельБД, в которой на естественном языке с помощью диаграмм и других средств описываются объекты предметной области и их взаимосвязи, то есть выделяется и описывается информация, которая должна быть представлена в БД. Эта модель не зависит от конкретной используемой СУБД и является основой для построения логической модели БД.
Логическая модельотражает информационное содержание и является основой для всех пользователей информационной системы. Логическая модель описывает всю БД как единое целое. Но у каждой группы пользователей БД есть свои задачи, для решения которых нет необходимости знать всю модель БД, поэтому пользователей делят на группы по правам доступа к определенным частям БД. Отдельное логическое представление данных для каждого пользователя называется внешней моделью данныхилипользовательским представлением.
Так, сотрудник, оформляющий заказы, работает с представлением, в котором основой является заказ и пункты заказа. Сотрудник, занимающийся работой с клиентами, должен иметь полную информацию о клиентах и их заказах. Руководитель отдела маркетинга должен работать со сводками, в которых представлена вся маркетинговая деятельность компании (товары, поставщики, клиенты, заказы, продажи) и имеется возможность проводить анализ этой деятельности.
Внутренняя модель состоит из отдельных экземпляров записей, отображающих требуемую организацию данных в среде хранения, и соответствует физическому аспекту представления данных. Преобразование данных из физической БД в представления логической модели (и обратно) осуществляет СУБД.
Этап проектированияявляется самым важным этапом в разработке информационной системы и ее БД, так как допущенные на этом этапе ошибки в дальнейшем бывает очень сложно или невозможно устранить. Основные виды работ данного этапа:
обследование программного обеспечения;
разработка проекта БД (определение объектов и их свойств, разработка структуры и технологии работы с БД, выбор технических и программных средств).
На этапе реализациипроизводится создание БД и разработка программ (приложений) в выбранной СУБД.
Эксплуатацияначинается с заполнения БД реальными данными. На этом этапе необходимо сопровождениеБД, т.е. проведение контроля непротиворечивости, резервное копирование, архивирование и т.д.
По мере использования БД происходит выявление недоработок, уточнение и, возможно, изменение требований к БД. В результате может быть принято решение о ее модификации.
На всех этапах жизненного цикла информационной системы (ИС) на предприятии должны существовать две группы сотрудников: группа заказчика (руководитель предприятия, отдела, конечные пользователи) и группа разработчиков (администратор БД, системный программист, консультант по предметной области, технический работник).
Цели и задачи системы определяют заказчики. Они предоставляют разработчику все сведения о бизнес-процессах и характеристики моделируемых объектов.
Успех разработки во многом определяется усилиями заказчика по четкому формулированию целей, описанию реалий бизнеса и определению уровня детализации информации. На этапе эксплуатации группа заказчика выявляет степень соответствия системы поставленным целям и при необходимости определяет направления ее модификации.
Главным лицом в группе разработчика является администраторБД. Он руководит всеми работами по проектированию и программной реализации БД. На стадии эксплуатации он отвечает за функционирование ИС и управляет режимом использования данных. Его основные задачи при эксплуатации системы:
разработка и реализация мер по обеспечению защиты данных и разграничению доступа к данным;
контроль за непротиворечивостью и достоверностью данных;
анализ эффективности использования ресурсов ИС;
координация работы системных программистов по улучшению эксплуатационных характеристик системы;
координация работы прикладных программистов, разрабатывающих новые приложения для работы с БД.
Проектирование баз данных
Проектирование БД заключается в ее многоступенчатом описании с различной степенью детализации и формализации, в ходе которого производится уточнение и оптимизация структуры БД. Проектирование начинается с описания предметной области и задач ИС, идет к более абстрактному уровню логического описания данных и далее – к схеме физической (внутренней) модели БД. Трем основным уровням моделирования системы – концептуальному, логическому и физическомусоответствуют три последовательных этапа детализации описания объектов БД и их взаимосвязей.
На концептуальном уровнепроектирования производится смысловое описание информации предметной области, определяются ее границы, производится абстрагирование от несущественных деталей. В результате определяются моделируемые объекты, их свойства и связи. Выполняется структуризация знаний о предметной области, стандартизируется терминология. Затем строится концептуальная модель, описываемая на естественном языке. Для описания свойств и связей объектов применяют различные диаграммы.
На следующем шаге принимается решение о том, в какой конкретно СУБД будет реализована БД. Выбор СУБДявляется сложной задачей и должен основываться на потребностях с точки зрения ИС и пользователей. Определяющими здесь являются вид программного продукта и категория пользователей (или профессиональные программисты, или конечные пользователи, или и то и другое). Другими показателями, влияющими на выбор СУБД, являются:
удобство и простота использования;
качество средств разработки, защиты и контроля БД;
уровень коммуникационных средств (в случае применения ее в сетях);
фирма-разработчик;
стоимость.
Каждая конкретная СУБД работает с определенной моделью данных.
Модель данных – совокупность структур данных и операций их обработки. Выделяют три основных типа моделей данных: иерархическую, сетевую и реляционную.
СУБД основывается на использовании одной из этих моделей или их комбинации на некотором их подмножестве.
Иерархическая структура представляет собой совокупность элементов, связанных между собой по определенным правилам. Объекты, связанные иерархическими отношениями, образуют ориентированный граф (перевернутое дерево).
Уровень 1 | А | |||||||
Уровень 2 | В1 | В2 | В3 | В4 | В5 | |||
Уровень 3 | С1 | С2 | С3 | С4 | С5 | С6 | С7 | С8 |
К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь. Узел – это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево может иметь только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом уровне). Зависимые (подчиненные узлы) находятся на втором, третьем и т. д. уровнях. Количество деревьев в базе данных определяется числом корневых записей. К каждой записи базы данных существует только один (иерархический) путь от корневой записи. Например, как видно из рисунка, для записи С4 путь проходит через записи А и В3.
В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент может быть связан с любым другим элементом.
В настоящее время большинство СУБД использует табличную модель данных, называемую реляционной. Понятие реляционный (англ. relation – отношение) связано с разработками известного американского специалиста в области систем баз данных Е. Кодда. Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
Каждый элемент таблицы – один элемент данных.
Все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину.
Каждый столбец имеет уникальное имя.
Одинаковые строки в таблице отсутствуют.
Порядок следования строк и столбцов может быть произвольным.
№ личного дела | Фамилия | Имя | Отчество | Дата рождения |
Иванов | Иван | Иванович | 01.01.75 | |
Сидоров | Сидор | Сидорович | 01.02.78 | |
Петров | Петр | Петрович | 01.01.87 |
Отношения представлены в виде таблиц, строки которых соответствуют кортежам или записям, а столбцы – атрибутам отношений, доменам, полям.
Достоинства реляционной модели:
Простота и доступность для понимания конечным пользователем. Единственной информационной конструкцией является таблица.
При проектировании реляционных БД применяются строгие правила, базирующиеся на математическом аппарате.
Полная независимость данных. При изменении структуры реляционной БД изменения, которые требуется произвести в прикладных программах, минимальны.
Для построения запросов и написания прикладных программ нет необходимости знания конкретной организации БД во внешней памяти.
Недостатки реляционной модели:
По сравнению с другими моделями реляционная модель имеет более низкую скорость доступа и требует большего объема внешней памяти.
Появление большого количества таблиц в результате логического проектирования затрудняет понимание структуры данных.
Далеко не всегда предметную область можно представить в виде совокупности таблиц.
Для преодоления недостатков, присущих реляционной модели, в настоящее время развиваются постреляционная, многомерная и объектно-ориентированная модели. Эти модели в той или иной степени опираются на реляционную модель. Но реляционная модель и коммерческие продукты, основанные на этой модели, доминируют при построении экономических ИС.