Смекни!
smekni.com

Управление базами данных (стр. 3 из 5)

Для работы с данными формата dBase (или иных dBase-подобных СУБД) совершенно необязательно пользоваться диалектами собственного языка xBase. Доступ к этим данным возможен с помощью ODBC API (и соответствующих драйверов) и некоторых других механизмов доступа к данным, и это позволяет создавать приложения, использующие формат данных dBase, практически с помощью любого средства разработки, поддерживающего один из этих механизмов доступа к данным.

Дальнейшее продолжение dBase получила в продукте Visual dBase, который приобрел набор дополнительных возможностей, среди которых специальные типы полей для графических данных, поддерживаемые индексы, хранение правил ссылочной целостности внутри самой базы данных, а также возможность манипулировать данными других форматов, в частности серверных СУБД.


2.2.2 Paradox

Принцип хранения данных в Paradox (www.corel.com) сходен с принципами хранения данных в dBase - каждая таблица хранится в своем файле (расширение *.db), MEMO- и BLOB-поля хранятся в отдельном файле (расширение *.md), как и индексы (расширение *.рх). Однако, в отличие от dBase, формат данных Paradox не является открытым, поэтому для доступа к данным этого формата требуются специальные библиотеки.

Windows-версии СУБД Paradox позволяют манипулировать данными других форматов, в частности dBase и данными, хранящимися в серверных СУБД. Такую возможность пользователи Paradox получили благодаря использованию библиотеки Borland Database Engine. Это позволило использовать Paradox в качестве универсального средства управления различными базами данных.

2.2.3 Microsoft FoxPro и Visual FoxPro

По сравнению с аналогичными версиями dBase, FoxBase (www.micro-soft.com) и более поздняя версия этого продукта, получившая название FoxPro, предоставляли своим пользователям несколько более широкие возможности, такие как использование деловой графики, генерация кода приложений, автоматическая генерация документации к приложениям и т. д.

Последняя версия этого продукта - Visual FoxPro, доступна и отдельно, и как составная часть Microsoft Visual Studio 6.0. Ее отличительной особенностью от двух рассмотренных выше является интеграция с технологиями Microsoft, в частности поддержка COM (Component Object Model - компонентная объектная модель, являющаяся основой функционирования 32-разрядных версий Windows), интеграция с Microsoft SQL Server.


2.2.4 Microsoft Access

В отличие от СУБД Visual FoxPro, фактически превратившейся в средство разработки приложений, Access (www.microsoft.com) (рис. 2.1) ориентирована на пользователей Microsoft Office. В состав Access входят средства манипуляции данными Access и данными, доступными через ODBC, средства создания форм, отчетов и приложений; при этом отчеты могут быть экспортированы в формат Microsoft Word или Microsoft Excel, а для создания приложений используется Visual Basic for Applications, общий для всех составных частей Microsoft Office и др.

Рис. 2.1. Одна из самых популярных настольных СУБД, используемых в малом бизнесе

Поддержка модели СОМ в Access выражается в возможности использовать элементы управления ActiveX в формах и Web-страницах, созданных с помощью Access. В отличие от Visual FoxPro создание СОМ-серверов с помощью Access не предполагается.

2.2.5 Microsoft Data Engine

MSDE (www.microsoft.com) представляет собой СУБД, базирующуюся на технологиях Microsoft SQL Server, но предназначенную для использования в настольных системах или в сетевых приложениях с объемом данных до 2 Гбайт и небольшим количеством пользователей. По существу MSDE является облегченной версией Microsoft SQL Server, не содержащей средств администрирования, и к настольным СУБД может быть отнесена весьма условно.

В Microsoft Access пользователь может выбрать, какой механизм доступа к данным следует применять: Microsoft Jet - стандартный набор библиотек доступа к данным или MSDE (в этом случае управление базой данных осуществляется с помощью отдельного процесса). Возможно преобразование имеющихся баз данных Access в базу данных MSDE из среды разработки Access.

Базы данных MSDE полностью совместимы с базами данных Microsoft SQL Server и могут при необходимости управляться этим сервером. Как большинство серверных СУБД, эти базы данных поддерживают транзакции, позволяют создавать триггеры и хранимые процедуры (недоступные в базах данных Access).


3. Корпоративные СУБД

3.1 Серверы баз данных

Данный термин обычно используют для обозначения всей СУБД, основанной на архитектуре клиент-сервер, включая и серверную, и клиентскую части. Такие системы предназначены для хранения и обеспечения доступа к базам данных для всех пользователей локальной сети.

Доступ к базе данных от приложения или пользователя производится путем обращения к клиентской части системы. В качестве основного интерфейса между клиентской и серверной частями выступает язык баз данных SQL.

Сервер баз данных отвечает за работу с файлами базы данных, поддержку ссылочной целостности, резервное копирование, обеспечение авторизованного доступа к данным, протоколирование операций и, конечно, за выполнение пользовательских запросов на выбор и модификацию данных и метаданных. Клиентские приложения, являющиеся источниками этих запросов, функционируют на персональных компьютерах в сети.

Не останавливаясь подробно на достоинствах и недостатках подобной архитектуры, отметим, что при использовании серверных СУБД выполнение запросов производится самим сервером, поэтому клиентские приложения получают от сервера только результаты самого запроса, что существенно снижает сетевой трафик при обработке запросов. Отметим также, что многие объекты, предназначенные для реализации бизнес-правил доступны лишь в серверных СУБД.

Собирательное название SQL-сервер относится ко всем серверам баз данных, основанных на SQL. Серверы баз данных, интерфейс которых основан исключительно на языке SQL, обладают своими преимуществами и своими недостатками. Очевидное преимущество -стандартность интерфейса. Явный недостаток - на таком высоком уровне интерфейса между клиентской и серверной частями системы на стороне клиента работает слишком мало программ СУБД. Это нормально, если на стороне клиента используется маломощная рабочая станция. Но если клиентский компьютер обладает достаточной мощностью, то часто возникает желание возложить на него больше функций управления базами данных, разгрузив сервер, который является узким местом всей системы. Что собственно говоря и обусловило появление двух- и трехуровневых (звенных) систем.

3.2 Два уровня или три?

Информационные системы, созданные на основе классической клиент-серверной архитектуры, называются двухзвенными системами или системами с «толстым» клиентом. Они состоят из сервера баз данных, содержащего сгенерированные таблицы и другие объекты БД, реализующие бизнес-правила, и одного или нескольких клиентских приложений, предоставляющих интерфейс пользователя и производящих проверку допустимости и обработку данных согласно содержащимся в них алгоритмам (рис. 3.1).

Если приходится иметь дело с несколькими СУБД, то наиболее существенным является общий интерфейс доступа к данным. Наличие такого интерфейса позволяет использовать стандартные инструментальные средства и существенно упрощает процесс разработки приложения. К наиболее популярным интерфейсам относятся ODBC, OLE DB и ActiveX Data Object (ADO). В клиентских приложениях для доступа к источникам данных используются вызовы функций прикладных программных интерфейсов клиентских частей соответствующих серверных СУБД.


Рис. 3.1. Структура 2-уровневой системы

В системах с так называемым «тонким» клиентом на клиентском компьютере отсутствует клиентская часть серверной СУБД. В этом случае функциональность, связанная с доступом к данным (а нередко и какие-либо иные функции), возлагается на другое приложение, называемое обычно сервером приложений, и являющееся клиентом серверной СУБД. В свою очередь, клиентские приложения обращаются не непосредственно к серверной СУБД, а к серверу приложений, являющемуся для них источником данных. Таким образом, сервер приложений является средним звеном в цепи «тонкий клиент - сервер приложений - сервер баз данных» (рис. 3.2) и, соответственно, относится к классу программных продуктов middleware.


Рис. 3.2. Клиент «утончается» за счет сервера приложений

В настоящее время промежуточное ПО (middleware) относится к любому программному компоненту, который располагается между пользовательскими приложениями на персональных (клиентских) компьютерах и реляционной СУБД или унаследованной системой, непосредственно управляющими необходимыми данными.

Направление объектно-ориентированных БД соединило в себе реляционные СУБД и развивающиеся языки программирования с абстрактными типами данных и объектно-ориентированными языками программирования (табл. 3.1). Любая сущность реального мира в объектно-ориентированных языках и системах моделируется в виде объекта. Любой объект, например Сотрудник, при создании получает уникальный идентификатор, который связан с ним все время его существования и не меняется при изменении состояния объекта.

Каждый объект имеет состояние и поведение. Состояние объекта - набор значений его атрибутов. Поведение объекта- набор методов (программный код), оперирующих над состоянием объекта. Значение атрибута объекта - это тоже некоторый объект или множество объектов. Состояние и поведение объекта инкапсулированы в объекте; взаимодействие объектов производится на основе передачи сообщений и выполнении соответствующих методов.

Множество объектов с одним и тем же набором атрибутов и методов образует класс объектов. Объект должен принадлежать только одному классу (если не учитывать возможности наследования).