Банк данных является сложной человеко-машинной системой, включающей в свой состав различные взаимосвязанные и взаимозависимые компоненты (рис.1).
Информационная компонента. Ядром БнД является база данных.
База данных — это поименованная совокупность взаимосвязанных данных, находящихся под управлением СУБД.
В настоящее время существует множество определений базы данных. Некоторые из них устарели и не соответствуют современным представлениям о БнД.
В технической документации некоторых СУБД, а также в некоторых литературных источниках в состав БД включаются не только собственно хранимые данные о предметной области, но и описания БД. Более правильно описания баз данных считать самостоятельными компонентами БнД, даже если они хранятся вместе с самими данными.
Рис.1 Компоненты банка данных
Описания баз данных относятся к метаинформации, т.е. информации об информации. Описания баз данных часто называют схемой. Кроме того, в БнД могут присутствовать описания отдельных частей баз данных с точки зрения отдельных пользователей — подсхемы.
Кроме описания баз данных в состав метаинформации, хранимой в БнД, может включаться информация о предметной области, необходимая для проектирования системы, о пользователях БнД, о проектных решениях и некоторая другая информация.
Центральное хранилище метаинформации называется словарем данных. В литературе также используются термины словарь-справочник, энциклопедия, репозиторий. В некоторых источниках выявляются различия между ними, в других они используются как синонимы.
Роль словарной системы особенно возрастает при использовании средств автоматизированного проектирования информационных систем. Для большинства из них репозиторий является ядром всей системы.
К банкам данных не относятся немашинные документы, служащие источниками информации, вводимой в БД, файлы входной и выходной информации, архивные файлы, выходные документы. Однако многие СУБД включают в свой состав языковые средства для описания этих компонентов. В этом случае сами описания, используемые в процессе функционирования БнД, будут входить в его состав.
Программные средства БнД. Программные средства БнД представляют собой сложный комплекс, обеспечивающий взаимодействие всех частей информационной системы при ее функционировании
Рис. 2. Программные средства БнД
Основу программных средств БнД представляет СУБД. В ней можно выделить ядро СУБД, обеспечивающее организацию ввода, обработки и хранения данных, а также другие компоненты, обеспечивающие настройку системы, средства тестирования, утилиты, обеспечивающие выполнение вспомогательных функций, таких как восстановление баз данных, сбор статистики о функционировании БнД и др. Важной компонентой СУБД являются трансляторы или компиляторы для используемых ею языковых средств.
Подавляющее большинство СУБД работает в среде универсальных операционных систем и взаимодействует с ОС при обработке обращений к БнД. Поэтому можно считать, что ОС также входит в состав БнД.
Для обработки запросов к БД пишутся соответствующие программы, которые представляют прикладное программное обеспечение БнД.
Языковые средства БнД. Языковые средства СУБД являются важнейшей компонентой банков данных, т.к. обеспечивают интерфейс пользователей разных категорий с банком данных. Языковые средства большинства СУБД относятся к языкам четвертого поколения.
Языки четвертого поколения создавались по принципу "люди стоят дороже, чем машины”. При их проектировании используются следующие принципы:
Принцип минимума работы: язык должен обеспечить минимум усилий, чтобы "заставить” машину работать.
Принцип минимума мастерства: работа должна быть так проста, как только это возможно; она не должна быть уделом избранных и быть понятной лишь посвященным.
Принцип естественности языка, упразднение "ино-родного” синтаксиса и мнемоники. Язык не должен требовать от пользователей значительных усилий в изучении синтаксиса или содержать много мнемонических или иных обозначений, которые быстро забываются.
Принцип минимума времени. Язык должен позволять без существенной задержки реализовывать возникающие потребности в доступе к информации и ее обработке.
Принцип минимума ошибок. Технология должна быть спроектирована таким образом, чтобы минимизировать ошибки человека, а уж если они возникли, то по возможности "выловить” их автоматически.
Принцип минимума поддержки. Механизм языков четвертого поколения должен позволить легко вносить изменения в имеющиеся приложения.
Принцип максимума результата. Языки четвертого поколения предоставляют пользователям мощный инструмент для решения разнообразных задач.
Компонентами языка четвертого поколения для построения приложений являются: Интерпретатор, Оптимизирующий компилятор, такие Параметры приложения, как Спецификация данных, Спецификация отчета, Спецификация экрана, Спецификация правил, Процедурные возможности, которые могут быть протестированы специальными инструментами тестирования.
Спектр языковых средств, применяемых в СУБД, широк. Можно выделить две концепции развития языковых средств: концепцию разделения и концепцию интеграции. При использовании концепции разделения различают языки описания данных (ЯОД), языки манипулирования данными (ЯМД), языки запросов и другие языковые средства.
В составе языков описания данных в зависимости от особенностей СУБД поддерживаются все или некоторые из следующих языков: язык описания схем, язык описания подсхем, язык описания хранимых данных, языки описания внешних данных (входных, выходных).
Языки манипулирования данными разделяются на две большие группы: процедурные и непроцедурные. При пользовании процедурными языками надо указать, какие действия и над какими объектами надо выполнить, чтобы получить результат. В непроцедурных языках указывается, что надо получить, а не как этого достичь.
Процедурные языки могут различаться по основным информационным единицам, которыми они манипулируют. Это могут быть языки, ориентированные на позаписную обработку данных, и языки, ориентированные на операции над множеством записей. Например, операции реляционной алгебры оперируют целиком отношением, а не каждой его записью.
Примерами непроцедурных языков являются языки, основанные на реляционном исчислении. Представителем языков, основанных на реляционном исчислении кортежей, является широко используемый язык запросов SQL.
Языковые средства предназначаются для пользователей различных категорий: конечных пользователей, системных аналитиков, профессиональных программистов. Повышение уровня языковых средств приводит к тому, что все большее число функций выпоняется пользователями-непрограммистами самостоятельно.
По функциональным возможностям выделяются группы языков от языков, обеспечивающих только возможности запросов до языков приложений.
По форме представления различают аналитические, табличные и графические языковые средства.
В рамках одной СУБД для одних и тех же целей могут использоваться языки разных типов; например, в СУБД FoxPro для манипулирования данными могут использоваться:
язык программирования FoxPro, который является процедурным языком, часть операторов которого реализует операции реляционной алгебры, а другая часть представляет собой нереляционные операции, обеспечивающие позаписную обработку файлов, организацию циклической и условной обработки и другие возможности;
табличный язык запросов, типа QBE;
язык SQL.
Описание данных в этой системе может быть представлено в табличном виде, либо, если определение данных происходит средствами SQL, — в аналитическом виде.
Большинство современных СУБД включает в свой состав несколько языковых средств разного уровня. Например, система FoxPro включает в себя генераторы экранных форм, отчетов и приложений, а также язык разветвленной иерархической системы "меню”, позволяющей пользователю выбрать те действия, которые он желает выполнить.
Языковые средства предназначаются для пользователей разных категорий: конечных пользователей, системных аналитиков, профессиональных программистов. Повышение уровня языковых средств, их дружелюбности способствует тому, что все большее число функций выполняется пользователями-непрограммистами самостоятельно.
|