Функциями приложения-клиента являются:
Посылка к серверу запросов;
Интерпретация результатов запросов, полученных от сервера, и представление их пользователю в требуемой форме;
Реализация интерфейса пользователя.сервер должен быть загружен на момент принятия запроса клиента.
Функциями сервера БД являются:
Прием запросов от приложений-клиентов, интерпретация запросов, выполнение запросов в БД, отправка результата выполнения запроса приложению-клиенту;
Управление целостностью БД, обеспечение системы безопасности, блокировка неверных действий приложений-клиентов;
Хранение бизнес-правил, часто используемых запросов в уже интерпретированном виде;
Обеспечение одновременной безопасной от отказоустойчивой многопользовательской работы с одними и теми же данными.
В архитектуре "клиент-сервер" используются так называемые "удаленные" (или "промышленные") СУБД. Промышленными они называются из-за того, что именно СУБД этого класса могут обеспечить работу информационных систем масштаба среднего и крупного предприятия, организации, банка. Локальные СУБД предназначены для однопользовательской работы или для обеспечения работы информационных систем, рассчитанных на небольшие группы пользователей.
К разряду промышленных СУБД принадлежат oracle, informix, sybase, ms sql server, db2, interbase и ряд других.
Как правило, sql-сервер управляется отдельным сотрудником или группой сотрудников (администраторы sql-сервера). Они управляют физическими характеристиками баз данных, производят оптимизацию, настройку и переопределение различных компонентов БД, создают новые БД, изменяют существующие и т.д., а также выдают привилегии различным пользователям.
Кроме этого, существует отдельная категория сотрудников, называемых администраторами баз данных. Как правило, это администраторы сервера, разработчики БД или пользователи, имеющие привилегии на создание, изменение, настройку оптимальных параметров отдельных серверных БД. Администраторы БД также отвечают за предоставление прав на разноуровневый доступ к сопровождаемым ими БД для других пользователей.
.3 Механизмы доступа
При выборе СУБД необходимо иметь представление, с помощью каких средств разработки будет создаваться информационная система на основе данной СУБД, а также о том, каким образом разработанные приложения будут манипулировать данными. От того, правильно ли выбран механизм доступа к данным, зависит очень многое, в частности производительность приложений, возможность применения тех или иных функциональных особенностей данной СУБД, простота разработки пользовательского интерфейса и ряд других факторов.
Существует несколько способов доступа к данным из средств разработки и клиентских приложений.
Подавляющее большинство СУБД содержит в своем составе библиотеки, предоставляющие специальный прикладной программный интерфейс (application programming interface, api) для доступа к данным этой СУБД. Обычно такой интерфейс представляет собой набор функций, вызываемых из клиентского приложения. В случае настольных СУБД эти функции обеспечивают чтение/запись файлов базы данных (БД), а в случае серверных СУБД инициируют передачу запросов серверу баз данных и получение от сервера результатов выполнения запросов или кодов ошибок, интерпретируемых клиентским приложением. Библиотеки, содержащие api для доступа к данным серверной СУБД, обычно входят в состав ее клиентского программного обеспечения, устанавливаемого на компьютерах, где функционируют клиентские приложения.
В последнее время windows-версии клиентского программного обеспечения наиболее популярных серверных СУБД, в частности microsoft sql server, oracle, informix, содержат также СОМ-серверы, предоставляющие объекты для доступа к данным и метаданным.
Использование клиентского api (или клиентских СОМ-объектов) является наиболее очевидным способом манипуляции данными в приложении. Однако в этом случае созданное приложение сможет использовать данные только СУБД этого производителя, и замена ее на другую повлечет за собой переписывание значительной части кода клиентского приложения - клиентские api, а объектные модели не подчиняются никаким стандартам и различны для различных СУБД.
Другой способ манипуляции данными в приложении базируется на применении универсальных механизмов доступа к данным. Универсальный механизм доступа к данным обычно реализован в виде библиотек и дополнительных модулей, называемых драйверами или провайдерами. Библиотеки содержат некий стандартный набор функций или классов, нередко подчиняющийся той или иной спецификации. Дополнительные модели, специфичные для той или иной СУБД, реализуют непосредственное обращение к функциям клиентского api конкретных СУБД.
Отметим, что достоинством универсальных механизмов является возможность применения одного и того же абстрактного api, а во многих случаях - СОМ-серверов, компонентов, классов для доступа к различным типам СУБД. Поэтому приложения, использующие универсальные механизмы доступа к данным, легко модифицировать, если необходима смена СУБД.
Наиболее популярными среди универсальных механизмов доступа к данным можно назвать следующие:
open database connectivity (odbc).db.data objects (ado).database engine (bde).
Универсальные механизмы odbc, ole db и ado фирмы microsoft представляют
собой по существу промышленные стандарты. Что касается механизма доступа к
данным bde фирмы borland, то он так и не стал промышленным стандартом, однако
до недавнего времени применялся довольно широко, поскольку до выхода delphi 5
был практически единственным универсальным механизмом доступа к данным,
поддерживаемым средствами разработки borland на уровне компонентов и классов.
.4 Что такое sql?
часто называют языком эсперанто для СУБД. Действительно, в мире нет
другого языка для работы с базами данных (БД), который бы настолько широко
использовался в программах. Первый стандарт sql появился в 1986 г. и к
настоящему времени завоевал всеобщее признание. Его можно использовать даже при
работе с не реляционными СУБД. В отличие от других программных средств, таких,
как языки Си и Кобол, являющихся прерогативой программистов-профессионалов, sql
применяется специалистами из самых разных областей. Программисты,
администраторы СУБД, бизнес - аналитики - все они с успехом обрабатывают данные
с помощью sql. Знание этого языка полезно всем, кому приходится иметь дело с
БД.- это специализированный непроцедурный язык, позволяющий описывать данные,
осуществлять выборку и обработку информации из реляционных СУБД.
Специализированность означает, что sql предназначен лишь для работы с БД;
нельзя создать полноценную прикладную систему только средствами этого языка -
для этого потребуется использовать другие языки, в которые можно встраивать sql
- команды. Поэтому sql еще называют вспомогательным языковым средством для
обработки данных. Вспомогательный язык используется только в комплексе с
другими языками.
В прикладном языке общего назначения обычно имеются средства для создания
процедур, а в sql их нет. С его помощью нельзя указать, каким образом должна
выполняться некоторая задача, а можно лишь определить, в чем именно она
заключается. Другими словами, при работе с sql нас интересуют результаты, а не
процедуры для их получения. Иными словами, sql является непроцедурным языком.
Термин "непроцедурный" означает, что на этом языкек можно сформулировать,
что именно нужно сделать с данными, но нельзя проинструктировать, как это
следует сделать. В языке sql отсутствуют алгоритмические конструкции, такие как
метки, операторы цикла, условные переходы и т.п.
Наиболее существенным свойством sql является возможность доступа к
реляционным БД. Многие даже считают, что выражения "БД, обрабатываемая
средствами sql" и "реляционная БД" - синонимы. Предположим, что
имеется база данных, управляемая с помощью какой-либо СУБД. Для извлечения из
нее данных используется запрос, сформулированный на языке sql. СУБД
обрабатывает этот запрос, извлекает запрашиваемые данные и возвращает
их.позволяет не только извлекать данные, но и определять структуру данных,
добавлять и удалять данные, ограничивать или предоставлять доступ к данным, поддерживать
ссылочную целостность. sql сам по себе не является, ни СУБД, ни отдельным
продуктом. Это - язык, применяемый для взаимодействия с СУБД и являющийся в
определенном смысле ее неотъемлемой частью.
Глава 3. Анализ качества баз данных
Для анализа свойств баз данных предлагается выделять характеристики качества системы управления базой данных и содержащейся в ней информации. Состав этих характеристик рекомендуется систематизировать на основе требований международного стандарта ISO 9126.
Современные базы данных - один из тех объектов в сфере информатизации, от которых иногда требуется особенно высокое качество и наличие возможности его оценки. Но что означает качество баз данных, какие требования следует предъявлять к их качеству, какими характеристиками можно описывать качество, как их оценивать и измерять? Для этого могут быть полезны методы и стандарты, разработанные для анализа сложных программных средств.
При комплексном анализе качества баз данных не всегда удается четко разделить требования и значения характеристик качества для каждого из этих объектов. Одна СУБД может обрабатывать различные по структуре, составу и содержанию данные, а одни и те же данные могут управляться различными СУБД. При анализе качества баз данных целесообразно рассматривать два компонента: систему программ управления данными и совокупность данных, упорядоченных по некоторым правилам. Хотя эти компоненты тесно взаимодействуют при реализации конкретной базы данных, первоначально они создаются независимо и могут рассматриваться в своем жизненном цикле как два объекта, которые различаются:
- номенклатурой и содержанием показателей качества, определяющих их назначение, функции и потребительские свойства;
технологией и средствами автоматизации разработки и обеспечения всего жизненного цикла объекта;
категориями специалистов, обеспечивающих создание, эксплуатацию или применение баз данных;
комплектами эксплуатационной и технологической документации, поддерживающими жизненный цикл объекта.
Практически весь набор характеристик и атрибутов из стандарта ISO 9126 «Качество программных средств» в той или иной степени может использоваться в составе требований к СУБД. Особенности состоят в изменении акцентов при их выборе и упорядочении. Во всех случаях важнейшими характеристиками качества СУБД являются требования к функциональной пригодности процессов формирования и изменения информационного наполнения баз данных администраторами, а также доступа к данным и представления результатов пользователям.
Различия требований к характеристикам качества привели к созданию широкого спектра локальных, специализированных и распределенных СУБД. В зависимости от области применения, приоритет при оценке качества может отдаваться различным конструктивным характеристикам: надежности и защищенности применения (финансовая сфера), удобству использования малоквалифицированными пользователями (социальная сфера), эффективности использования ресурсов (сфера материально-технического снабжения). Однако практически во всех случаях сохраняется некоторая роль других конструктивных показателей качества - для каждого из них необходимо оценивать его приоритет для конкретной сферы применения, меры и шкалы необходимых и допустимых характеристик качества.
При разработке базы данных в техническом задании и спецификации на нее должен формализоваться представительный набор функциональных требований к качеству базы данных, адекватный ее назначению и области применения, а также требованиям заказчика и потенциальных пользователей. Так же как для программных систем, характеристики качества информации можно разделить на функциональные и конструктивные. Их номенклатура, содержание и субхарактеристики базируются на ISO 9126. Может быть заложена основа для стандартизированного формирования требований к качеству баз данных и при изложении содержания характеристик качества использованы номенклатура и описания характеристик, в которых объекты для анализа качества - «программы», заменены термином и содержанием - «информация баз данных». Однако номенклатура показателей качества не всегда может ограничиваться только характеристиками информации в базе данных, а должна включать ряд уточнений, отражающих комплексную эффективность и функциональную пригодность ее применения в реальных условиях.
Функциональная пригодность информации базы данных может представлять сложную проблему для измерения и оценки соответствия требованиям реальных значений атрибутов качества. Особенно это актуально для больших распределенных баз данных, в которых циркулирует разнообразная и сложная информация об анализируемых объектах. Мерой качества функциональной пригодности может быть степень покрытия целей, назначения и функций баз данных доступной пользователям информацией. Как и для программных систем, для баз данных целесообразно использовать группу субхарактеристик, определяющих функциональные, структурные и эксплуатационные требования. На содержательном уровне функциональную пригодность многих баз данных отражают:
Полнота накопленных описаний объектов - относительное число объектов или документов, имеющихся в базе данных, к общему числу объектов по данной тематике или по отношению к числу объектов в аналогичных базах данных.
Идентичность - относительное число описаний объектов, не содержащих дефекты и ошибки, к общему числу документов об объектах в базах данных.
Актуальность - относительное число устаревших данных об объектах в базах данных, к общему числу накопленных и обрабатываемых данных.
Разнообразие функций баз данных ограничивает возможность стандартизации требований к ним только общими правилами их организации, структурирования и документирования. Меры и шкалы качества функциональной пригодности столь же разнообразны, насколько различаются назначения и специфика функций информации баз данных, однако конструктивные характеристики могут быть в значительной степени стандартизированы.
К конструктивным характеристикам качества информации можно отнести практически все стандартизированные показатели качества, представленные в ISO 9126. Требования к информации баз данных также должны содержать особенности обеспечения ее надежности, эффективности использования ресурсов компьютера, практичности, применимости, сопровождаемости и мобильности. Содержание и атрибуты этих характеристик несколько отличаются от тех, которые применяются для программ, однако их сущность целесообразно использовать. Меры и шкалы для оценивания конструктивных характеристик, в значительной степени, могут применяться те же, что при анализе качества программных средств.
Корректность или достоверность данных - это степень соответствия данных об объектах в базах данных реальным объектам в данный момент времени, определяющаяся изменениями самих объектов, некорректностями записей об их состоянии или некорректностями расчетов их характеристик. Выбор и установку требований к корректности данных можно оценивать по степени покрытия накопленными, актуальными и достоверными данными состояния и изменения внешних объектов, которые они отражают. Сюда же можно отнести и некоторые объемно-временные характеристики сохраняемых и обрабатываемых данных:
Объем базы данных - относительное число записей описаний объектов или документов, доступных для хранения и обработки, по сравнению с полным числом реальных объектов во внешней среде.
Оперативность - степень соответствия динамики изменения данных состояниям реальных объектов.
Глубина ретроспективы - интервал времени от даты выпуска и/или записи в базу данных самого раннего документа до настоящего времени.
Динамичность - относительное число изменяемых описаний объектов к общему числу записей в базе данных за некоторый интервал времени, определяемый периодичностью издания версий базы.
Защищенность информации реализуется средствами СУБД в сочетании с поддерживающими их средствами защиты данных. Цели, назначение и функции защиты тесно связаны с особенностями функциональной пригодности каждой базы данных. В распределенных базах данных показатели защищенности тесно связаны с характеристиками целостности и отражают степень тождественности одинаковых данных в памяти удаленных компонентов.
На практике способности защищать информацию баз данных от негативных воздействий описываются обычно составом средств, используемых для защиты от внешних и внутренних угроз. Однако есть попытки измерять и описывать качество защищенности информации обобщенно, трудоемкостью и временем, необходимыми для преодоления злоумышленниками системы защиты. Косвенным показателем ее качества может служить относительная доля вычислительных ресурсов, используемых непосредственно средствами защиты информации.