Автоматизированные банки данных
В настоящее время в нашей стране накоплен большой опыт разработки автоматизированных систем управления (АСУ). Этот опыт говорит о том, что центральным техническим вопросом разработки АСУ и любых других информационных систем является организация, хранение и комплексное использование данных. В конечном счете это привело к созданию развитых средств управления данными, которые являются основой любой информационной системы, построенной на базе использования средств вычислительной техники.
АСУ, спроектированные на основе концепции банков данных, обладают целым рядом характерных свойств, которые выгодно отличают их от предшествующих разработок, основой которых была система массивов данных, ориентированная на решении комплекса установившихся задач. Использование автоматизированных банков данных позволяет обеспечить многоаспектный доступ к совокупности взаимосвязанных данных, достаточно высокую степень независимости прикладных программ от изменений логической и физической организации данных, интеграции и централизации управления данными, устранение излишней избыточности данных, возможность совмещения пакетов и телепроцессорной обработки данных.
Поэтому разработки АСУ управления для любой сферы применения связаны прежде всего с созданием автоматизированных банков данных.
Так как основой любого управления является информация о состоянии объекта, то именно поэтому данные в автоматизированных системах, их организация, тщательное ведение, хранение, использование являются центром системы. Меняется техника, программное хозяйство, но данные остаются, работа с ними оказывается делом достаточно дорогим и именно поэтому задумались над системными принципами их организации, положенными в основу создания банков данных.
Под автоматизированным банком данных понимается организационно-техническая система, представляющая собой совокупность баз данных пользователей, технических и программных средств формирования и ведения этих баз и коллектива специалистов, обеспечивающих функционирование системы.
В самом общем виде основные функции банка данных можно сформулировать следующим образом: адекватное информационное отображение предметной области, обеспечение хранения, обновления и выдачи необходимых данных пользователям. Составными частями любого банка данных являются база данных, система управления базой данных (СУБД), администратор базы данных, прикладное программное обеспечение.
Функционирование СУБД основано на введении двух уровней организации базы данных – логического и физического. Эти два уровня соответствуют двум аспектам организации данных: физическому с точки зрения хранения данных в памяти ЭВМ и логическому с точки зрения использования данных в прикладных приложениях.
Описание логических баз данных определяет взгляд пользователей на организацию данных в системе, которые отображают состояние некоторой предметной области. Необходимо отметить, что в общем случае структуры логической и физической организации данных могут не совпадать. Формальное описание логической организации данных иногда называют моделью данных или схемой.
Говоря о физической организации, необходимо отметить, что существует много различных способов организации данных в запоминающей среде, с помощью которых можно обеспечить соответствие некоторой модели.
Наиболее общее представление о базе данных заключается в следующем: база данных (data base) – это совокупность хранимых во внешней памяти ЭВМ большого объема данных; база данных является "интегрированной", то есть представляет собой комплекс взаимосвязанных данных, предназначенный для обеспечения информационных нужд различных пользователей, каждый из которых имеет отношение к отдельным, возможно, совместно используемым частям данных; работа с базой данных может осуществляться либо в пакетном режиме, либо с удаленных терминалов в режиме реального времени.
Таким образом, база данных – это совокупность хранимых в памяти ЭВМ и специальным образом организованных взаимосвязанных данных, отображающих состояние предметной области. База данных также предназначена для обеспечения информационных нужд определенных пользователей.
Создание единой базы данных о предметной области сложно и в настоящее время практически нереализуемо, хотя бы из-за недостаточного объема памяти современных ЭВМ. На практике большинство баз данных проектируется для ограниченного числа приложений. На одной ЭВМ, как правило, создается несколько различных баз данных. Со временем некоторые базы данных, предназначенные для выполнения родственных функций, могут объединяться, если это будет способствовать повышению производительности всего вычислительного комплекса.
Информация об объекте или отношениях объектов, выраженная в знаковой форме, образует данные. Эти данные могут быть восприняты человеком или каким-либо техническим устройством и соответствующим образом интерпретированы.
Характерной особенностью данных является то, что их можно переводить из одной знаковой системы в другую (перекодировать) без потери информации. Это существенное свойство знакового отображения позволяет описывать реальную предметную ситуацию в различных системах знаков, ориентированных на воспринимающего. При построении банков данных стало уже традиционным говорить о логическом отображении, ориентированном на человека, и о физическом отображении, ориентированном на устройства долговременной памяти.
Сами по себе знаки не образуют данных, несущих информацию о предметной области. В простейшем случае знаки должны быть структурно оформлены в виде фиксированной последовательности-записи, а каждое поле (или столбец) записи (или строка), в которое помещается знак, должно иметь интерпретацию с точки зрения предметной области, для которой создается банк данных. Например, если знаки образуются из букв русского алфавита по правилам образования слов русского языка, то, будучи взяты сами по себе, они несут только информацию о правилах образования знаков – синтаксическая информация. И в этом смысле их можно рассматривать как данные.
Модели данных
Банк (или база) данных хранит информацию об объектах реального мира и отношения между объектами через данные и связи между этими данными. Прежде чем говорить о размещении данных и связей между ними на устройствах памяти (физическом уровне), необходимо представить взаимосвязь данных на логическом уровне, создав своеобразную модель данных.
Для четкого определения модели данных необходимы средства (язык) для ее описания. Основное назначение модели данных состоит в том, чтобы дать возможность представить в целом информационную картину без отвлекающих деталей, связанных с особенностями хранения. Она является инструментом, с помощью которого разрабатывается стратегия получения любых данных, хранящихся в базе.
Различают три основных вида модели данных: сетевую, иерархическую и реляционную.
Сетевая модель рисует довольно наглядную картину реальной действительности и, кроме того, претендует на то, что может быть естественным образом отражено в долговременной памяти вычислительной (информационной) системы. Например, запись "Деталь" может содержать три поля: шифр, наименование и масса детали. Наименование детали может быть связано с полем характеристика операции из записи "Операция" и с полем норма из записи "Норма на деталь". Запись "Норма на деталь", содержащая два поля – норма и единицы измерения, связана, в свою очередь, с полем наименование материала из записи "Материал".
Деталь | Материал | ||||||||
Шифр детали | Наименование детали | Масса | Шифр материала | Наименование материала | ГОСТ | ||||
Операция | Норма на деталь | ||||||||
Номер операции | Характеристики операции | Норма | Единицы измерения | ||||||
Каждый узел сети соответствует элементу данных, отображающему группу однородных объектов реального мира. Тогда в реальной сети в каждом узле будет находиться идентификатор соответствующего объекта, например шифр детали.
Недостатком сетевой модели данных является определенная трудность представления сети на описанном уровне детализации.
Иерархическая модель данных обеспечивает более удобное их представление за счет увеличения информационной избыточности на уровне модели данных. Дело в том, что сеть можно представить в виде совокупности деревьев. Для этого в иерархических структурах требуется повторить и несколько преобразовать некоторые вершины сети.
Если на уровне сети, не вдаваясь в подробности физического хранения данных, база данных представляется в виде сложной объемной паутины, то на уровне иерархической модели базы данных представляются в виде совокупности отдельных древовидных структур, в корнях которых стоят идентификаторы объектов, а на последующих ярусах раскрываются свойства этих объектов.
Следует отметить, что модель данных, представленная как совокупность нескольких деревьев, не обладает наглядностью, так как не создается впечатления некоторой взаимосвязанной системы данных. Поэтому одновременно с использованием деревьев для описания модели данных неплохо представлять себе модель данных в виде сети, с тем, чтобы ясно понимать, как с ней взаимодействуют иерархические структуры.
Сетевая модель, если она не очень громоздка, позволяет графически представить взаимодействие объектов, отображенных в базе данных.
Реляционная модель данных. Наиболее абстрактной моделью является реляционная модель данных. Абстрактна она в том смысле, что в значительной степени ориентирована на интересы пользователя (программиста) и не несет в себе черт реального отображения на физическую память. Эта модель исторически возникла позже других, и ее появление оправдывается тем, что по мере усложнения информационных систем и прогресса в устройствах долговременной памяти, поддержание математического обеспечения, несущего в себе черты "суеты представления", обходится очень дорого.
Реляционная модель получается путем дальнейшей формализации иерархической модели. В этой модели все связи между объектами задаются путем явной фиксации идентификаторов объектов в записях.
В очень упрощенном варианте реляционная модель может быть представлена в виде однородных таблиц (отношений), которые напоминают стандартные последовательные файлы (файлы последовательного доступа). Однако последовательный файл предполагает определенную упорядоченность и обработку в соответствии с этой упорядоченностью. То есть, предполагается вход только со стороны одного поля (ключа сортировки).
Существенное отличие реляционной модели от обыкновенного последовательного файла заключается в том, что все столбцы таблицы с точки зрения входа предполагаются эквивалентными. Именно это свойство делает эту модель весьма мощной и делает невозможным отображение ее на память в виде последовательного массива данных.
СУБД
Система управления базами данных является составной частью автоматизированного банка данных и обеспечивает работу прикладных программ с базой данных.
Одним из важнейших назначений СУБД является обеспечение независимости данных. Под этим термином понимается независимость данных и использующих их прикладных программ друг от друга в том смысле, что изменение одних не приводит к изменению других. Необходимо также отметить такие возможности СУБД, как обеспечение защиты и секретности данных, восстановление баз данных после сбоев, ведение учета работы с базами данных. Однако это является неполным перечнем того, что должна осуществлять СУБД для обеспечения интерфейса пользователей с базами данных и жизнеспособности всего автоматизированного банка данных.
СУБД имеет набор средств, которые обеспечивают определенные способы доступа к данным. Наиболее общими операциями, которые выполняются средствами СУБД, являются операции поиска, исправления, добавления и удаления данных. Необходимо отметить, что операция поиска является главной среди указанных.
Учет особенностей обработки данных в какой-либо предметной области позволяет спроектировать предметные СУБД, ориентированные на применение в АСУ предприятий с дискретным характером производства.
Существуют и универсальные СУБД, используемые для различных приложений. При настройке универсальных СУБД для конкретных приложений они должны обладать соответствующими средствами. К универсальным СУБД относятся, например, системы dBase, Paradox, Microsoft Access, MS DOS, UNIX, Windows, Oracle.