КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Программное обеспечение
Между собственно физической базой данных (т.е. данными, которые реально хранятся на компьютере) и пользователями системы располагается уровень программного обеспечения, который можно называть пo-разному: диспетчер базы данных (database manager), сервер базы данных (database server) или система управления базами данных, СУБД (DataBase Management System— DBMS). Все запросы пользователей на получение доступа к базе данных обрабатываются СУБД. Все имеющиеся средства добавления файлов (или таблиц), выборки и обновления данных в этих файлах или таблицах также предоставляет СУБД. Основная задача СУБД — дать пользователю базы данных возможность работать с ней, не вникая во все подробности работы на уровне аппаратного обеспечения. (Пользователь СУБД более отстранен от этих подробностей, чем прикладной программист, применяющий языковую среду программирования.) Иными словами, СУБД позволяет конечному пользователю рассматривать базу данных как объект более высокого уровня по сравнению с аппаратным обеспечением, а также предоставляет в его распоряжение набор операций, выражаемых в терминах языка высокого уровня.
Основным назначением систем баз данных, безусловно, является поддержка разработки и выполнения приложений баз данных. Поэтому на высоком уровне систему баз данных можно рассматривать как систему с очень простой структурой, состоящей из описанных ниже двух частей - сервера (внутреннего компонента, или машины базы данных) и клиентов (внешних компонентов, или внешних интерфейсов), как показано на рис.2.5. 1. Сервер— это сама СУБД. Он поддерживает все основные функции СУБД, которые обсуждались в разделе 2.8, а именно: определение данных, манипулирование данными, защиту данных, поддержание целостности данных и т.д. В частности, он предоставляет полную поддержку внешнего, концептуального и внутреннего уровней, обсуждавшихся в разделе 2.8. Поэтому сервер в этом контексте — это просто другое название для СУБД. 2. Клиенты — это различные приложения, которые выполняются с помощью СУБД. Таковыми являются как приложения, написанные пользователями, так и встроенные приложения, предоставляемые поставщиками СУБД или некоторыми сторонними поставщиками программного обеспечения. Конечно, в самом сервере разница между встроенными приложениями и приложениями, написанными пользователем, не обнаруживается, поскольку все эти приложения используют один и тот же интерфейс сервера, а именно интерфейс внешнего уровня, который уже рассматривался в разделе 2.3. (Некоторые специальные "служебные" приложения могут оказаться исключениями. Как упоминалось выше, в разделе 2.5, они иногда работают непосредственно на внутреннем уровне системы. Подобные утилиты правильнее относить к встроенным компонентам СУБД, а не к приложениям в обычном смысле. В следующем разделе утилиты обсуждаются более подробно.)
Рис. 2.5. Архитектура "клиент/сервер"
Приложения, в свою очередь, делятся на несколько четко определенных категорий. ■ Приложения, написанные пользователями. В основном, это обычные прикладные программы, чаще всего написанные либо на языке программирования общего назначения, таком как C++ или C#, либо на одном из специализированных языков четвертого поколения, хотя в обоих случаях эти языки должны как-то связываться с соответствующим подъязыком данных. ■ Приложения, предоставляемые поставщиками (часто называемые инструментальными средствами). В целом, назначение таких средств — упрощать процесс создания и выполнения других приложений, т.е. приложений, которые разрабатываются специально для решения некоторой конкретной задачи. Часто эти приложения могут выглядеть вовсе не так, как приложения в общепринятом смысле. И это понятно, поскольку само назначение инструментальных средств состоит в предоставлении пользователям, особенно конечным, возможности создавать приложения без написания традиционных программ. Например, одно из предоставляемых поставщиком СУБД инструментальных средств может быть генератором отчетов, с помощью которого конечный пользователь сможет получить отформатированный отчет, выполнив обычный запрос к системе. Каждый такой запрос является, по существу, не чем иным, как небольшим специальным приложением, написанным на языке очень высокого уровня (с конкретным назначением), а именно — на языке формирования отчетов. Отдельно поставляемые инструментальные средства, в свою очередь, делятся на несколько самостоятельных классов. а) Процессоры языков запросов. б) Генераторы отчетов. в) Графические бизнес-подсистемы. г) Электронные таблицы. д) Процессоры команд на естественных языках. е) Статистические пакеты. ж) Средства управления копированием или средства извлечения данных. з) Генераторы приложений (включая процессоры языков четвертого поколения). и) Другие средства разработки приложений, включая CASE-инструменты (CASE, или Computer-Aided Software Engineering — автоматизированное проектирование и создание программ) и т.д. к) Инструментальные средства интеллектуального анализа данных и визуализации. Подробное обсуждение этих приложений выходит за рамки данной книги, однако следует отметить, что (как утверждалось ранее) главная задача системы баз данных — поддержка создания и выполнения приложений. Поэтому качество имеющихся клиентских инструментальных средств должно быть главным фактором при выборе СУБД, наиболее подходящей для конкретного заказчика. Другими словами, характеристики самой СУБД — не единственный и не важнейший фактор, который нужно учитывать в этом случае. Завершим настоящий раздел ссылкой на последующий материал. Так как система в целом может быть четко разделена на две части (сервер и клиенты), появляется возможность организовать работу этих двух частей на разных компьютерах. Иначе говоря, существует возможность организации распределенной обработки. Распределенная обработка предполагает, что отдельные компьютеры можно соединить какой-нибудь коммуникационной сетью так, чтобы выполнение одной задачи обработки данных можно было распределить на несколько компьютеров этой сети. Как показала практика, эта возможность настолько заманчива по различным соображениям (главным образом, экономическим), что термин "клиент/сервер" стал применяться почти исключительно в тех случаях, когда клиенты и сервер действительно находятся на разных компьютерах.
УТИЛИТЫ Утилиты — это программы, разработанные для администратора базы данных и используемые им при решении различных административных задач. Как упоминалось выше, некоторые утилиты выполняются на внешнем уровне системы и потому представляют собой не что иное, как приложения специального назначения. Одни из них могут быть созданы даже не поставщиком данной СУБД, а какими-то сторонними разработчиками. Однако другие утилиты выполняются непосредственно на внутреннем уровне (т.е. действительно являются частью сервера) и поэтому должны предоставляться поставщиками СУБД. Ниже приводится несколько примеров утилит различных типов, которые часто применяются на практике.
■ Инструменты загрузки, применяемые для создания исходной версии базы данных из одного или нескольких файлов операционной системы. ■ Инструменты выгрузки—перезагрузки, применяемые для выгрузки базы данных или ее части, создания резервных копий хранимых данных и восстановления базы данных из этих копий. (Безусловно, инструменты перезагрузки по сути идентичны упомянутым выше инструментам загрузки.) ■ Инструменты реорганизации, применяемые для перераспределения данных в хранимой базе данных (обычно в целях повышения производительности). В частности, это может быть процедура группирования данных на диске не которым специальным образом или освобождения пространства, прежде занятого данными, которые больше не используются. ■ Статистические инструменты, применяемые для вычисления различных статистических показателей и показателей производительности, таких как сведения о размерах файлов или значениях данных, о количестве операций ввода-вывода и т.п. ■ Инструменты анализа, применяемые для анализа упомянутой выше статистической информации. Этот список охватывает лишь небольшую часть функциональных возможностей, обычно предоставляемых доступными утилитами. Помимо перечисленных, существует множество других функций.
Необходимо отметить еще две особенности. СУБД - это наиболее важный, но не единственный программный компонент системы. В числе других компонентов можно назвать утилиты, средства разработки приложений, средства проектирования, генераторы отчетов и диспетчер транзакций(transaction manager), или диспетчер обработки транзакций(transaction processing monitor— TP monitor). Термин СУБДтакже часто используется в отношении конкретных программных продуктов конкретных изготовителей, например, таких как DB2 Universal Databaseкомпании IBM. Иногда в тех случаях, когда конкретная копия подобного продукта устанавливается для работы на определенном компьютере, используется термин экземпляр.Безусловно, необходимо строго различать эти два понятия. Следует отметить, что термин база данныхчасто используется даже тогда, когда на самом деле подразумевается СУБД(в одном из уже упомянутых толкований).
Дата добавления: 2015-06-25; Просмотров: 643; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |