БД_3Лекция. Лекция 3 Компоненты среды и типовая организация субд 1 Компоненты среды субд
Скачать 101.95 Kb.
|
Лекция №3: Компоненты среды и типовая организация СУБД 3.1 Компоненты среды СУБД В среде СУБД можно выделить пять основных компонентов: аппаратное и программное обеспечение, данные, процедуры и пользователей. Аппаратное обеспечение. Для работы СУБД и приложений необходимо аппаратное обеспечение. Оно может варьировать в очень широких пределах - от единственного персонального компьютера или мэйнфрейма до сети компьютеров. Используемое аппаратное обеспечение зависит от требований предприятия и типа СУБД. При этом одни СУБД предназначены для работы только с конкретными типами операционных систем или оборудования, другие могут работать с широким кругом аппаратного обеспечения и различными операционными системами. Для работы самой СУБД обычно требуется некоторый минимум оперативной и дисковой памяти, но такой минимальной конфигурации может оказаться совершенно недостаточно для достижения приемлемой производительности системы. Программное обеспечение. Этот компонент охватывает программное обеспечение самой СУБД, операционной системы, включая и сетевое программное обеспечение, если СУБД используется в сети, прикладных программ и сред разработки прикладного ПО. Существуют следующие виды программ СУБД. Полнофункциональные СУБД (ПФСУБД). К ПФСУБД относятся, например, такие пакеты как: Clarion Database Developer, DataBase, Dataplex, dBase IV, Microsoft Access, Microsoft FoxPro и Paradox R:BASE и др. ПФСУБД имеют развитый интерфейс, позволяющий с помощью команд меню выполнять основные действия с БД: создавать и модифицировать структуры БД, вводить данные, формировать запросы, разрабатывать отчеты, выводить их на печать и т. п. Для создания запросов и отчетов не обязательно знания языков программирования или языка запросов, иногда удобно пользоваться языком QBE (Query By Example — формулировки запросов по образцу). Серверы БД. Предназначены для организации центров обработки данных в сетях ЭВМ. Серверы БД реализуют функции управления базами данных, запрашиваемые другими (клиентскими) программами обычно с помощью операторов SQL. Примерами серверов БД являются следующие программы: NetWare SQL (Novell), MS SQL Server (Microsoft), InterBase (Borland), SQLBase Server (Gupta), Intelligent Database (Ingress). Клиенты БД. В роли клиентских программдля серверов БД в общем случае могут использоваться различные программы: ПФСУБД, электронные таблицы, текстовые процессоры, программы электронной почты и т. д. При этом элементы пары «клиент — сервер» могут принадлежать одному или разным производителям программного обеспечения. В случае, когда клиентская и серверная части выполнены одной фирмой, естественно ожидать, что распределение функций между ними выполнено рационально. В остальных случаях обычно преследуется цель обеспечения доступа к данным «любой ценой». Примером такого соединения является случай, когда одна из полнофункциональных СУБД играет роль сервера, а вторая СУБД (другого производителя) — роль клиента. Так, для сервера БД SQL Server (Microsoft) в роли клиентских (фронтальных) программ могут выступать многие СУБД, такие как: dBASE IV, Blyth Software, Paradox, DataBase, Focus, 1-2-3, MDBS III, Revelation и др. Средства разработки программ работы с БД. Обычно приложения создаются на языках программирования высокого уровня, таких как С, С++, Java, Visual Basic, COBOL, Fortran, Ada или Delphi. Впрочем, СУБД может иметь свои собственные инструменты, предназначенные для быстрой разработки приложении с использованием встроенных непроцедурных языков запросов, генераторов отчетов, форм, графических изображений и даже полномасштабных приложений. Данные. Cамым важным компонентом среды СУБД (с точки зрения конечных пользователей) являются данные. База данных содержит как рабочие данные, так и метаданные, т.е. "данные о данных" в виде системного каталога. В системном каталоге содержатся следующие сведения: имена, типы и размеры элементов данных; имена связей; ограничения целостности данных; имена зарегистрированных пользователей, которым предоставлены некоторые права доступа к данным; используемые индексы и структуры хранения - например, инвертированные файлы. Процедуры.К процедурам относятся инструкции и правила, которые должны учитываться при проектировании и использовании базы данных. Пользователям и обслуживающему персоналу базы данных необходимо предоставить документацию, содержащую подробное описание процедур использования и сопровождения данной системы, включая инструкции о правилах выполнения приведенных ниже действий: регистрация в СУБД; запуск и останов СУБД; создание резервных копий СУБД; обработка сбоев аппаратного и программного обеспечения; изменение структуры таблицы, реорганизация базы данных, размещенной на нескольких дисках, способы улучшения производительности и методы архивирования данных на вторичных устройствах хранения. Пользователи. Среди них можно выделить следующие группы: администраторы данных и баз данных, прикладные программисты и конечные пользователи. Администратор данных отвечает за управление данными, включая планирование базы данных, разработку и сопровождение стандартов, прикладных алгоритмов и деловых процедур, а также за концептуальное и логическое проектирование базы данных. Основные задачи, связанные администрированием данных, перечислены ниже: выбор подходящих инструментов разработки; помощь в разработке корпоративных стратегий создания информационной системы, развития информационных технологий и бизнес-стратегий; разработка корпоративной модели данных; определение требований организации к используемым данным; определение стандартов сбора данных и выбор формата их представления; оценка объемов данных и вероятности их роста; определение способов и интенсивности использования данных; определение правил доступа к данным и мер безопасности, соответствующих правовым нормам и внутренним требованиям организации; концептуальное и логическое проектирование базы данных; взаимодействие с администратором БД и разработчиками приложений с целью обеспечения соответствия созданных приложений всем существующим требованиям; обучение пользователей - изучение существующих стандартов обработки данных и юридической ответственностиза их некорректное применение; постоянная модернизация используемых информационных систем и технологий по мере развития бизнес-процессов; обеспечение полноты всей требуемой документации, включая корпоративную модель, стандарты, ограничения, процедуры, использование словаря данных, а также управление работой конечных пользователей; поддержка словаря данных организации; взаимодействие с конечными пользователями для определения новых требований и разрешения проблем, связанных с доступом к данным и недостаточной производительностью их обработки; разработка правил защиты. Администратор базы данных отвечает за физическую реализацию базы данных, включая физическое проектирование и воплощение проекта, за обеспечение безопасности и целостности данных, за сопровождение операционной системы, а также за обеспечение максимальной производительности приложений и пользователей. Основные задачи администрирования базы данных перечислены ниже: оценка и выбор целевой СУБД; физическое проектирование базы данных; реализация физического проекта базы данных в среде целевой СУБД; определение требований защиты и поддержки целостности данных; взаимодействие с разработчиками приложений баз данных; разработка стратегии тестирования; обучение пользователей; ответственность за сдачу в эксплуатацию готового приложения базы данных; контроль текущей производительности системы и соответствующая настройка базы данных; регулярное резервное копирование; разработка требуемых механизмов и процедур восстановления; обеспечение полноты используемой документации, включая материалы, разработанные внутри организации; поддержка актуальности используемого программного и аппаратного обеспечения, включая заказ и установку пакетов обновлений в случае необходимости. По сравнению с АД, обязанности АБД носят более технический характер и для него необходимо знание конкретной СУБД и системного окружения. Прикладные программисты. Сразу после создания базы данных следует приступить к разработке приложений, предоставляющих пользователям необходимые им функциональные возможности. Именно эту работу и выполняют прикладные программисты. Обычно прикладные программисты работают на основе спецификаций, созданных системными аналитиками. Пользователи. Пользователи являются клиентами базы данных - она проектируется, создается и поддерживается для того, чтобы обслуживать их информационные потребности. Пользователей можно классифицировать по способу использования ими системы: конечные пользователи - обычно обращаются к БД с помощью специальных приложений, позволяющих в максимальной степени упростить выполняемые ими операции; опытные пользователи для выполнения требуемых операций могут использовать такой язык запросов высокого уровня, как SQL. А некоторые опытные пользователи могут даже создавать собственные прикладные программы. 3.2 Типовая организация СУБД Логически в современной СУБД можно выделить наиболее внутреннюю часть – ядро СУБД, компилятор языка БД (обычно язык SQL), подсистему поддержки времени выполнения, набор утилит. В некоторых системах эти части выделяются явно, в других – нет, но логически такое разделение можно провести во всех СУБД. Рисунок 2.2 –Типовая организация СУБД Рисунок 2.3 – Основные компоненты СУБД Ядро СУБД отвечает за управление данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями и журнализацию. Соответственно, можно выделить такие компоненты ядра (по крайней мере, логически, как менеджер данных, менеджер буферов, менеджер транзакций и менеджер журнала. Функции этих компонентов взаимосвязаны и для обеспечения корректной работы СУБД все эти компоненты должны взаимодействовать по протоколам. Ядро СУБД обладает собственным интерфейсом, не доступным пользователям напрямую и используемым в программах, производимых компилятором SQL (или в подсистеме поддержки выполнения таких программ) и утилитах БД. Ядро СУБД является основной резидентной частью СУБД. При использовании архитектуры «клиент-сервер» ядро является основной составляющей серверной части системы. Основной функцией компилятора языка БД является компиляция операторов языка БД в некоторую выполняемую программу и оптимизацию запросов на извлечение и изменение данных. Явной проблемой реляционных СУБД является то, что язык SQL являются непроцедурным, т.е. в операторе такого языка специфицируется некоторое действие над БД, но эта спецификация лишь описывает в некоторой форме условия совершения желаемого действия. Поэтому компилятор должен решить, каким образом выполнять оператор языка прежде, чем произвести программу. Результатом компиляции является выполняемая программа, представляемая в выполняемом внутреннем машинно-независимом коде. В этом случае реальное выполнение оператора производится с привлечением подсистемы поддержки времени выполнения, представляющей собой, по сути дела, интерпретатор этого внутреннего языка. СУБД должна предоставлять некоторый набор различных вспомогательных служб. Вспомогательные утилиты обычно предназначены для оказания помощи администраторам БД в эффективном администрировании базы данных. В утилиты БД обычно выделяют такие процедуры, которые слишком накладно выполнять с использованием языка БД, например, загрузка и выгрузка БД, сбор статистики, глобальная проверка целостности БД и т.д. Утилиты программируются с использованием интерфейса ядра СУБД. Приведем примеры таких утилит: - утилиты импортирования, предназначенные для загрузки данных из плоских файлов или других СУБД, а также утилиты экспортирования, которые служат для выгрузки базы данных в плоские файлы или другие СУБД; - средства мониторинга, предназначенные для отслеживания характеристик функционирования и использования базы данных; - программы статистического анализа, позволяющие оценить производительность или степень использования базы данных; - инструменты реорганизации индексов, предназначенные для перестройки индексов и обработки случаев их переполнения; - инструменты сборки мусора и перераспределения памяти для физического устранения удаленных записей с запоминающих устройств, объединения освобожденного пространства и перераспределения памяти в случае необходимости. |