Основные понятия и определения
Принципы построения и этапы проектирования баз данных
В науке одним из наиболее сложных для строгого определения является понятие "информация". Согласно кибернетическому подходу "информация" — первоначальное сообщение данных, сведений, осведомление и т.п. Кибернетика вывела понятие информации за пределы человеческой речи и других форм коммуникации между людьми, связала его с целенаправленными системами любой природы. Информация выступает в трех формах: 1) биологической (биотоки; связи в генетических механизмах); 2) машинной (сигналы в электрических цепях); 3) социальной (движение знаний в общественных системах)".
Иными словами, "информация — связь в любых целенаправленных системах, определяющая их целостность, устойчивость, уровень функционирования". Содержание и особенности информации раскрываются указанием действий, в которых она участвует:
хранение (на некотором носителе информации);
преобразование (в соответствии с некоторым алгоритмом);
передача (с помощью передатчика и приемника по некоторой линии связи).
В соответствии с этим же подходом "данные — факты и идеи, представленные в формализованном виде, позволяющем передавать или обрабатывать их при помощи некоторого процесса и соответствующих технических устройств".
Толковый словарь по информатике определяет понятия "информация" и "данные" несколько иначе:
"информация — 1) совокупность знаний о фактических данных и связях между ними; 2) в вычислительной технике — содержание, присваиваемое данным посредством соглашений, распространяющихся на эти данные; данные, подлежащие вводу в ЭВМ, хранимые в ее памяти, обрабатываемые на ЭВМ и выдаваемые пользователям";
"данные — информация, представленная в виде, пригодном для обработки автоматическими средствами при возможном участии человека".
Как легко заметить, приведенные определения вынужденно используют такие сложно определяемые понятия, как "факты", "идеи" и, особенно, "знания".
В дальнейшем под информацией будем понимать любые сведения о процессах и явлениях, которые в той или иной форме передаются между объектами материального мира (людьми; животными; растениями; автоматами и др.).
Если рассмотреть некоторый объект материального мира, информация о котором представляет интерес, и наблюдателя (в роли которого и выступают ИС), способного фиксировать эту информацию в определенной, понятной другим форме, то говорят, что в памяти ("сознании") наблюдателя находятся данные, описывающие состояние объекта. Таким образом, данными будем называть формализованную информацию, пригодную для последующей обработки, хранения и передачи средствами автоматизации профессиональной деятельности.
Информацию в ЭВМ можно хранить в виде различных данных (числовых; текстовых; визуальных и т.п.). Более того, для описания одной и той же информации можно предложить различные варианты их состава и структуры. Иными словами, правомерно говорить о моделировании в ИС информации о некотором множестве объектов материального мира совокупностью взаимосвязанных данных.
Информационное обеспечение (information support) ИС – совокупность единой системы классификации и кодирования информации; унифицированных систем документации и используемых массивов информации.
В этой связи в качестве главных задач создания информационного обеспечения ИС можно выделить:
§ во-первых, определение состава и структуры данных, достаточно "хорошо" описывающих требуемую информацию;
§ во-вторых, обоснование способов хранения и переработки данных с использованием ЭВМ.
Остановимся на понятиях и определениях, связанных с технологией банков данных. Прежде чем определить понятие "банк данных", необходимо остановиться на другом ключевом понятии — "предметная область".
Под предметной областью будем понимать информацию об объектах, процессах и явлениях окружающего мира, которая, с точки зрения потенциальных пользователей, должна храниться и обрабатываться в информационной системе. Банк данных (БнД) — информационная система, включающая в свой состав комплекс специальных методов и средств для поддержания динамической информационной модели с целью обеспечения информационных потребностей пользователей. Очевидно, что БнД может рассматриваться как специальная обеспечивающая подсистема в составе старшей по иерархии ИС. Поддержание динамической модели предметной области (ПрОбл) предусматривает не только хранение информации о ней и своевременное внесение изменений в соответствии с реальным состоянием объектов, но и обеспечение возможности учета изменений состава этих объектов (в том числе появление новых) и связей между ними (т.е. изменений самой структуры хранимой информации).
Обеспечение информационных потребностей (запросов) пользователей имеет два аспекта:
§ определение границ конкретной ПрОбл и разработка описания соответствующей информационной модели;
§ разработка БнД, ориентированного на эффективное обслуживание запросов различных категорий пользователей.
С точки зрения целевой направленности профессиональной деятельности принято выделять пять основных категорий пользователей:
§ аналитики;
§ системные программисты;
§ прикладные программисты;
§ администраторы;
§ конечные пользователи.
Кроме того, различают пользователей постоянных и разовых; пользователей-людей и пользователей-задач; пользователей с различным уровнем компетентности (приоритетом) и др., причем каждый класс пользователей предъявляет собственные специфические требования к своему обслуживанию (прежде всего – с точки зрения организации диалога "запрос—ответ"). Так, например, постоянные пользователи, как правило, обращаются в БнД с фиксированными по форме (типовыми) запросами; пользователи-задачи должны иметь возможность получать информацию из БнД в согласованной форме в указанные области памяти; пользователи с низким приоритетом могут получать ограниченную часть информации и т.д. Наличие столь разнообразного состава потребителей информации потребовало включения в БнД специального элемента — словаря данных.
Уровень сложности и важности задач информационного обеспечения ИС в рамках рассматриваемой технологии определяет ряд основных требований к БнД:
§ адекватность информации состоянию предметной области;
§ быстродействие и производительность;
§ простота и удобство использования;
§ массовость использования;
§ защита информации;
§ возможность расширения круга решаемых задач.
По сравнению с традиционным обеспечением монопольными файлами каждого приложения централизованное управление данными в БнД имеет ряд важных преимуществ:
§ сокращение избыточности хранимых данных;
§ устранение противоречивости хранимых данных;
§ многоаспектное использование данных (при однократном вводе);
§ комплексная оптимизация (с точки зрения удовлетворения разнообразных, в том числе и противоречивых, требований "в целом");
§ обеспечение возможности стандартизации;
§ обеспечение возможности санкционированного доступа к данным и др. Все названные преимущества по существу связаны с такими основополагающими принципами концепции БнД, как интеграция данных, централизация управления ими и обеспечение независимости прикладных программ обработки данных и самих данных.
Структура типового БнД, удовлетворяющего предъявляемым требованиям, приведена на рис. 1, где представлены:
ВС — вычислительная система, включающая технические средства (ТС) и общее программное обеспечение (ОПО);
БД – базы данных;
СУБД – система управления БД;
АБД – администратор баз данных, а также обслуживающий персонал и словарь данных. Рассмотрим составляющие БнД, представляющие наибольший интерес.
БД – совокупность специальным образом организованных (структурированных) данных и связей между ними. Иными словами, БД — это так называемое датологическое (от англ, data — данные) представление информации о предметной области. Если в состав БнД входит одна БД, банк принято называть локальным; если БД несколько — интегрированным.
Рис. 1. Основные компоненты БнД.
СУБД — специальный комплекс программ и языков, посредством которого организуется централизованное управление базами данных и обеспечивается доступ к ним. В состав любой СУБД входят языки двух типов: 1) язык описания данных (с его помощью описываются типы данных, их структура и связи); 2) язык манипулирования данными (его часто называют язык запросов к БД), предназначенный для организации работы с данными в интересах всех типов пользователей.
Словарь данных предназначен для хранения единообразной и централизованной информации обо всех ресурсах данных конкретного банка:
§ об объектах, их свойствах и отношениях для данной ПрОбл;
§ о данных, хранимых в БД (наименование; смысловое описание; структура; связи и т.п.);
§ о возможных значениях и форматах представления данных;
§ об источниках возникновения данных;
§ о кодах защиты и разграничении доступа пользователей к данным и т. п.
Администратор баз данных — это лицо (группа лиц), реализующее управление БД. В этой связи сам БнД можно рассматривать как автоматизированную систему управления базами данных. Функции АБД являются долгосрочными; он координирует все виды работ на этапах создания и применения БнД. На стадии проектирования АБД выступает как идеолог и главный конструктор системы; на стадии эксплуатации он отвечает за нормальное функционирование БнД, управляет режимом его работы и обеспечивает безопасность данных.
Основные функции АБД:
§ решать вопросы организации данных об объектах ПрОбл и установления связей между этими данными с целью объединения информации о различных объектах; согласовывать представления пользователей;
§ координировать все действия по проектированию, реализации и ведению БД; учитывать текущие и перспективные требования пользователей; следить, чтобы БД удовлетворяли актуальным потребностям;
§ решать вопросы, связанные с расширением БД в связи с изменением границ ПрОбл;
§ разрабатывать и реализовывать меры по обеспечению защиты данных от некомпетентного их использования, от сбоев технических средств, по обеспечению секретности определенной части данных и разграничению доступа к ним;
§ выполнять работы по ведению словаря данных; контролировать избыточность и противоречивость данных, их достоверность;
§ следить за тем, чтобы БнД отвечал заданным требованиям по производительности, т. е. чтобы обработка запросов выполнялась за приемлемое время;
§ выполнять при необходимости изменения методов хранения данных, путей доступа к ним, связей между данными, их форматов; определять степень влияния изменений в данных на всю БД;
§ координировать вопросы технического обеспечения системы аппаратными средствами, исходя из требований, предъявляемых БД к оборудованию;
§ координировать работы системных программистов, разрабатывающих дополнительное программное обеспечение для улучшения эксплуатационных характеристик системы;
§ координировать работы прикладных программистов, разрабатывающих новые прикладные программы, и выполнять их проверку и включение в состав ПрОбл системы.
На рис. 2 представлен типовой состав группы АБД, отражающий основные направления деятельности специалистов.
Рис. 2. Типовой состав группы АБД.