Понятие системы баз данных
Основные понятия теории баз данных
Место баз данных в Космических войсках
Источники муниципального права
Система муниципального права
Метод муниципального права
Предмет муниципального права
Понятие муниципального права
Муниципально-правовые отношения, субъекты, объекты, содержание
В настоящее время в частях, центрах управления и командных пунктах Космических войск задача автоматизации информационного обмена и обработки данных приобрела большое значение. Специфика функционирования частей космических войск связана с обработкой больших объемов данных, поступающей от различных средств получения первичной информации (РЛС-станции системы ПРН, комплексы "Окно", "Крона" и "Момент" системы ККП, информация со спутников 1-го эшалона системы ПРН, РЛС-станций системы ПРО). Все эти данные по каналам связи поступают в информационные пункты обработки информации, командные пункты, где происходит их обработка с целью анализа космической обстановки, выявления фактов старта баллистических ракет.
Работа с такими большими объемами данных требует эффективных информационных средств их обработки, в том числе и на программном уровне вычислительных комплексов. Хранение и обработка больших объемов данных в настоящее время осуществляется с использованием систем управления баз данных, которые реализуют эффективные и надежные алгоритмы по их обработке. Примером является построение Главного Каталога Системы (ГКС) системы ККП, в котором хранится информация обо всех известных космических объектах.
Для решения этих задач проектируются базы данных. Помимо имеющихся высокоэффективных систем управления базами данных, осуществляющих контроль и управление работой с базами данных, необходимо уметь проектировать базы данных и запросы по манипулированию к ним таким образом, чтобы работа с данными в этих базах данных выполнялась наиболее эффективно, обеспечивалась целостность данных и их непротиворечивость.
В данном курсе рассматриваются вопросы построения баз данных таким образом, чтобы они удовлетворяли всем требованиям к высокоэффективной организации хранения данных и их обработке.
Одним из основополагающих понятий теории баз данных является система баз данных (СБД). Точно определить данный термин не предоставляется возможным ввиду его сложности. В данном курсе мы дадим следующее определение для СБД:
Система баз данных – компьютеризированная система хранения записей.
Саму базу данных можно рассматривать как подобие электронной картотеки, т.е. как хранилище или контейнер, для некоторого набора занесенных в компьютер файлов данных. Пользователям данной системы предоставляется возможность выполнять множество различных операций над такими файлами, например:
§ добавлять новые пустые файлы в базу данных;
§ вставлять новые данные в существующие файлы;
§ получать данные из существующих файлов;
§ изменять данные в существующих файлах;
§ удалять данные из существующих файлов;
§ удалять существующие файлы из базы данных.
Основным назначением СБД является хранение информации и предоставление пользователям средства ее извлечения и модификации. К информации может относиться все, что заслуживает внимания отдельного пользователя или организации, использующей систему, иначе говоря, все необходимое для текущей работы данного пользователя или предприятия.
Замечание: Термины «информация» и «данные» трактуются в данном курсе как синонимы, если иного не следует из контекста.
На рис. 1.1 показана весьма упрощенная схема системы управления баз данных. Здесь отражено четыре главных компонента системы, а именно: данные, аппаратное обеспечение, программное обеспечение и пользователи. Каждый из этих компонентов кратко рассматриваются ниже.
Рис. 1.1 Упрощенная схема системы баз данных
Данные.Предоставляемые каждой конкретной системой средства зависят от мощности и возможностей базовой машины. Системы на больших машинах («большие системы»), в основном, многопользовательские, тогда как системы на малых машинах («малые системы»), как правило, однопользовательские. Однопользовательская система (single-user system) – система, в которой одновременно к базе данных может получить доступ не более одного пользователя, а многопользовательская система (multi-user system) – система в которой к базе данных может получить доступ одновременно несколько пользователей. Основная задача многопользовательских систем – позволить каждому отдельному пользователю работать с ней так, как он мог бы работать с однопользовательской системой. Различия между этими двумя видами систем проявляются в их внутренней структуре, и поэтому практически не видны конечному пользователю.
Замечание: Далее для упрощения предполагается, что все данные в системе хранятся в одной базе данных, хотя на практике могут быть серьезные причины для распределения информации по нескольким отдельным базам данных.
В общем случае данные в базе данных являются интегрированными и разделяемыми.
Интегрированность данных – возможность представления базы данных как объединение нескольких отдельных файлов данных, полностью или частично исключающее избыточность хранения информации.
Разделяемость данных – возможность использования отдельных элементов, хранимых в базе данных несколькими различными пользователями. Имеется в виду, что каждый их пользователей сможет получить доступ к одному и тому же элементу данных в одно и то же время, возможно, для достижения различных целей.
Одним из следствий, упомянутых выше характеристик базы данных (интегрированности и разделяемости) является то, что каждый конкретный пользователь обычно имеет дело лишь с небольшой частью всей базы данных, причем обрабатываемые различными пользователями данные могут произвольным образом перекрываться. Иначе говоря, каждая база данных воспринимается ее различными пользователями по-разному. Даже два пользователя, работающие с одними и теми же элементами данных, могут иметь значительно отличающиеся представления о них.
Аппаратное обеспечение.К аппаратному обеспечению системы относится следующее.
§ Тома вторичной (внешней) памяти (обычно это магнитные диски), используемые для хранения информации, а также соответствующие устройства ввода-вывода (дисководы и т.п.), контроллеры устройств, каналы ввода-вывода и т.д.
§ Аппаратный процессор (или процессоры) вместе с основной (первичной) памятью, предназначенные для поддержки работы программного обеспечения СБД.
Вопросы, касающиеся характеристик данных устройств не являются специфическими исключительно для СБД, поэтому здесь аппаратное обеспечение просто указано как составляющая часть СБД.
Программное обеспечение.Между собственно физической базой данных (т.е. данными, которые действительно хранятся) и пользователями системы располагается уровень программного обеспечения, который можно называть по-разному: менеджер базы данных (database manager), сервер базы данных (database server) или, что более привычно, система управления базами данных, СУБД (database management system – DBMS). Все запросы пользователей на доступ к базе данных обрабатываются СУБД. Основная задача СУБД – предоставить пользователю базы данных возможность работы с ней, не вникая в детали на уровне аппаратного обеспечения. Иными словами, СУБД позволяет конечному пользователю рассматривать базу данных как объект более высокого уровня по сравнению с аппаратным обеспечением, а также предоставляет в его распоряжение набор операций, выражаемых в терминах языка высокого уровня (например, набор операций, которые можно выполнять с помощью языка SQL).
Необходимо отметить две особенности.
§ СУБД – это наиболее важный, но не единственный программный компонент системы. Среди других компонентов – утилиты, средства разработки приложений, средства проектирования, генераторы отчетов и менеджер транзакций (transaction manager) или диспетчер выполнения транзакций (TP monitor).
§ Термин СУБД часто используется в отношении конкретных программных продуктов конкретных изготовителей, например такого, как СУБД Microsoft Server 2003 или Base из программного комплекса OpenOffice. Иногда, в тех случаях, когда конкретная копия подобного продукта устанавливается для работы на определенном компьютере, используется термин экземпляр СУБД.
Пользователи.Пользователей можно разделить на три большие и отчасти перекрывающиеся группы:
§ Прикладные программисты – пользователи, отвечающие за написание прикладных программ, использующих базу данных. Для этих целей применимы такие языки как C++, C#, Java, Delphi и др. Прикладные программы получают доступ к базе данных посредством выдачи соответствующего запроса к СУБД (обычно это некоторый SQL-оператор). Подобные программы могут быть простыми пакетными приложениями или интерактивными приложениями, предназначенными для работы конечным пользователей. В последнем случае они предоставляют пользователям непосредственный оперативный доступ к базе данных через рабочую станцию или терминал. Большинство современных приложений относится именно к этой категории.
§ Конечные пользователи – работают с СБД непосредственно через рабочую станцию или терминал. Конечный пользователь может получать доступ к базе данных, применяя одно из интерактивных приложений, упомянутых выше, или через интерфейс самой СУБД (встроенные приложения). Работа конечного пользователя с базой данных осуществляется за счет выбора пользователем необходимых команд меню или заполнения требуемых полей в предоставленных формах.
§ Администраторы базы данных (АБД). Следует отметить, что необходимо различать администратора данных (АД) – человека, отвечающего за стратегию и политику принятия решений, связанных с данными предприятия, и администратора базы данных (АБД) – человек, обеспечивающий необходимую техническую поддержку с целью реализации принятых решений. АБД отвечает за управление системой на техническом уровне. Рассмотрим функции АБД:
1. Определение концептуальной схемы. Администратор данных решает какая информация будет храниться в базе данных (логическое проектирование БД). После этого АБД создает концептуальную схему.
2. Определение внутренней схемы. АБД должен решить, как данные будут представлены в хранимой базе данных (физическое проектирование БД). Затем АБД создает соответствующие структуры хранения на внутреннем языке определения данных.
3. Взаимодействие с пользователями. Предоставление пользователям необходимых данных и написание требуемых внешних схем с применением прикладного внешнего языка определения данных, консультации по разработке приложений, обеспечение требуемого технического образования, предоставление помощи в выявлении устранении возникающих проблем.
4. Определение требований защиты и обеспечение целостности данных.
5. Определение процедур резервного копирования и восстановления. Необходимо разработать и реализовать схему восстановления, включающую периодическую выгрузку БД на устройство резервного копирования и процедуры загрузки БД с последней копии в случае необходимости.
6. Управление производительностью и реагирование на изменяющиеся требования. Необходимо организовывать систему так, чтобы достигалась оптимальная для всего предприятия в целом производительность и корректировать ее работу (настраивать) в соответствии с изменяющимися требованиями.