Создание клиентских частей SQL-баз данных под Win95 и WinNT

  d8ef8794     

Обзор СУБД


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

Во всей истории вычислительной техники можно проследить две основных области ее использования. Первая область - применение вычислительной техники для выполнения численных расчетов, которые слишком долго или вообще невозможно производить вручную. Развитие этой области способствовало интенсификации методов численного решения сложных математических задач, развитию класса языков программирования, ориентированных на удобную запись численных алгоритмов, становлению обратной связи с разработчиками новых архитектур ЭВМ.

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

Вторая область использования вычислительной техники возникла несколько позже первой. Это связано с тем, что на заре вычислительной техники возможности компьютеров по хранению информации были очень ограниченными.


Но поскольку в информационных системах требуется поддержка сложных структур данных, эти индивидуальные средства управления данными составляли существенную часть информационных систем, практически повторяясь (как программные компоненты) от одной системы к другой. Стремление выделить общую часть информационных систем, ответственную за управление сложно структурированными данными явилось первой побудительной причиной создания СУБД, которая, возможно, могла бы представлять некоторую общую библиотеку программ, доступную каждой информационной системе.
Однако очень скоро стало понятно, что невозможно обойтись такой общей библиотекой программ, реализующей над стандартной базовой файловой системой более сложные методы хранения данными.
Вообще, согласованность данных является ключевым понятием баз данных. На самом деле, если информационная система поддерживает согласованное хранение информации в нескольких файлах, можно говорить о том, что она поддерживает базу данных. Если же некоторая вспомогательная система управления данными позволяет работать с несколькими файлами, обеспечивая их согласованность, можно назвать ее системой управления базами данных. Уже только требование поддержания согласованности данных в нескольких файлах не позволяет обойтись библиотекой функций: такая система должна обладать некоторыми собственными данными (мета-данными) и даже знаниями, определяющими целостность данных.
Прежде чем приступить к конкретному обзору Систем Управления Базами Данных (СУБД), необходимо дать ряд определений терминам, использующимся для описания СУБД.
Данные – это информация, зафиксированная в определенной (структурированной) форме, пригодной для последующей обработки, хранения и передачи. К данным необходим «прозрачный» доступ сразу нескольких пользователей, т.е. любой пользователь должен иметь возможность получать необходимую ему информацию, модернизировать ее, заносить новую и удалять старую, причем конечный пользователь может обо всех этих операциях и не знать. Банк Данных (БнД) – это информационная система, включающая в себя информационные, математические (алгоритмические), программные, языковые, организационные и технические средства (аппаратная платформа и операционная система) обеспечивающие в совокупности централизованную поддержку и коллективное использование данных пользователем БнД. Языковые средства – языки, с помощью которых описывается структура данных (DDL) и языки манипулирование данными (DML ­– SQL). База Данных (БД) – это структурированная определенным образом совокупность данных, относящихся к конкретной задаче. БД может быть как локальная, так и распределенная. Система Управления Базами Данных (СУБД)


представляет собой комплекс инструментальных средств (программных и языковых) реализующих централизованное управление БД и обеспечивающих доступ к данным (изменения, добавления, удаления, резервного копирования и т.д.). СУБД должна обеспечивать поиск, модификацию и сохранность данных, а также оперативный доступ (время отклика), защиту целостности данных от аппаратных сбоев и программных ошибок, разграничение прав и защита от несанкционированного доступа, поддержка совместной работы нескольких пользователей с данными.
При работе с СУБД можно выделить несколько уровней представления данных:
- Внешний уровень (уровень конечного пользователя). В некотором смысле это самый главный уровень. Именно с ним работает конечный пользователь или конечная программа. Пользователь воспринимает данные как совокупность некоторых взаимосвязанных полей в удобном виде, позволяющих ему решать свою задачу.
-        Концептуальный уровень (уровень программиста и администратора) – это обобщенное представление обо всех данных, хранящихся в базе или совокупность внешних представлений. На этом уровне работают программист, создающий прикладные программы, и администратор, разрабатывающий структуру (схему) базы данных. Администратору доступна вся схема, вся информация, а конкретному программисту - только ее часть, ограниченная его привилегиями.
-        Физический уровень (уровень реализации). На физическом уровне определяются способы хранения данных с учетом подробностей (вплоть до физического адреса) и доступа к ним. Сервер СУБД реализует именно этот уровень.
По логическому представлению структуры данных СУБД делятся на несколько типов: реляционные, сетевые и иерархические. Главная характеристика, определяющая тип – это используемое представление данных.
Основной структурой в иерархических моделях данных
является «дерево». Особенности такого представления в наличии корня – единственной точки входа в дерево, и что каждый порожденный узел имеет только одного родителя. Недостатком этой системы является высокая избыточность. Одна запись БД – это совокупность деревьев. Через эту структуру нельзя построить отношение N:N (многие ко многим).


Основной структурой в сетевых моделях данных является «сеть». При таком представлении существует несколько входов в сеть – неоднозначность доступа к данным. Особенности такого представления: один или несколько узлов могут иметь больше одного родителя; время доступа изменяется в зависимости от исходного входа. Время доступа в сетевой структуре может быть больше, чем в иерархической структуре.
Недостатком обеих этих структур является то, что при добавлении новых вершин или установлении новых связей возникают проблемы выгрузки данных из базы, перегенерации полностью структуры, загрузка данных обратно в базу. При этом возникает вероятность потерять данные при обратной загрузке.
В основе структуры данных реляционной модели лежит мощный аппарат реляционной алгебры, реляционного исчисления и теории нормализации. При проектировании реляционной модели БД используется понятия ER-модели: сущность – объект, атрибут – свойства и связь. Связи бывают нескольких типов: 1:1, 1:N (N:1), N:N. У реляционной модели есть ряд ограничений: невозможность существования двух одинаковых записей; задание типа столбца, области значений атрибута. Достоинство реляционных СУБД, обеспечившее высокую популярность, заключается в не функциональности языка запросов. Это означает, что формулируете запрос не то, как надо найти данные, а что надо найти.
Сегодня основы современной информационной технологии составляют базы данных (БД) и системы управления базами данных (СУБД), роль которых как единого средства хранения, обработки и доступа к большим объемам информации постоянно возрастает. При этом существенным является постоянное повышение объемов информации, хранимой в БД, что влечет за собой требование увеличения производительности таких систем. Резко возрастает также в разнообразных применениях спрос на интеллектуальный доступ к информации. Это особенно проявляется при организации логической обработки информации в системах баз знаний, на основе которых создаются современные экспертные системы. Быстрое развитие потребностей применений БД выдвигает новые требования к СУБД: поддержка широкого спектра типов представляемых данных и операций над ними (включая фактографические, документальные, картинно-графические данные); естественные и эффективные представления в БД разнообразных отношений между объектами предметных областей (например, пространственно-временных с обеспечением визуализации данных); поддержка непротиворечивости данных и реализация дедуктивных БД; обеспечение целостности БД в широком диапазоне разнообразных предметных областей и операционных обстановок; управление распределенными БД, интеграция неоднородных баз данных; существенное повышение надежности функционирования БД.
На российском рынке наиболее популярны СУБД Progress (Progress software), Oracle RDBMS v7 (Oracle), Microsoft SQL Server v6.5 (Microsoft), DB2 (IBM), Sybase System 11 (Sybase).

Содержание раздела