*99279*

Мелешко Е.А., Лозицкая Л.Г.

Национальный авиационный университет

Преимущества и пути развития реляционных баз данных

Существует несколько моделей баз данных: иерархическая, сетевая, реляционная, объектная и обьектно-ориентированная, обьектно-реляционная. Каждая из них имеет свои преимущества и недостатки. Наиболее часто на сегодняшний день используется реляционная (или основанная на таблицах) модель базы данных и представлена как большими коммерческими пакетами, такими как Oracle, Sybase, Informix, Ingres и Gupta, так и маленькими как DBaseIV, Access, FoxPro, Alpha4 и Paradox.

В основе современных реляционных баз данных лежит несколько правил и принципов сформулированных в свое время Т.Коддом:

1.     Правило информации.

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

2.     Правило гарантированного доступа.

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

3.     Правило поддержки недействительных значений.

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

4.     Правило динамического каталога, основанного на реляционной модели.

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

5.     Правило исчерпывающего подъязыка данных.

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

6.     Правило обновления представлений.

Все представления, которые теоретически можно обновить, должны быть доступны для обновления.

7.     Правило добавления, обновления и удаления.

Возможность работать с отношением как с одним операндом должна существовать не только при чтении данных, но и при добавлении, обновлении и удалении данных.

8.     Правило независимости физических данных.

Прикладные программы и утилиты для работы с данными должны на логическом уровне оставаться нетронутыми при любых изменениях способов хранения данных или методов доступа к ним.

9.     Правило независимости логических данных.

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

10. Правило независимости условий целостности.

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

11. Правило независимости распространения.

Реляционная СУБД не должна зависеть от потребностей конкретного клиента.

12. Правило единственности.

Если в реляционной системе есть низкоуровневой язык (обрабатывающий одну запись за один раз), то должна отсутствовать возможность использования его для того, чтобы обойти правила и условия целостности, выраженные на реляционном языке высокого уровня (обрабатывающем несколько записей за один раз).

Реляционные базы данных являются наиболее распространенным, проверенным средством для работы со значительными массивами данных. Это объясняется следующим:

·          Под реляционные базы создано множество продуктов, которые необходимо поддерживать и развивать.

·          Простота и доступность понимания конечным пользователем — единственной информационной конструкцией является таблица.

·          Реляционная модель имеет наиболее хорошую математическую базу, включающую реляционную алгебру и реляционное исчисления.

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

·          Для реляционных БД существует математический аппарат реляционной алгебры. Этот математический аппарат объясняет, как должны выполняться основные операции над отношениями в базе данных, доказывает их оптимальность.

·          В реляционных БД хранятся только голые данные. Что с ними будет делать приложение, зависит уже от приложения.

·          Наличие стандарта языка запросов.

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

Решением многих проблем было бы использование надстройки над реляционной базой данных, объединяющей достоинства объектных моделей и эффективность реляционных баз данных.

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

Базовым требованием к реляционным СУБД является наличие мощного и простого языка, позволяющего выполнять все необходимые пользователям операции. В последние годы таким повсеместно принятым языком стал язык реляционных БД SQL - Structured Query Language. До появления SQL в СУБД (независимо от того, на какой модели они основывались) приходилось поддерживать по крайней мере три языка: язык определения данных, служащий для спецификации структур БД; язык манипулирования данными, позволяющий создавать прикладные программы, взаимодействующие с БД; и язык администрирования БД, с помощью которого можно было выполнять служебные действия (например, изменять структуру БД или производить ее настройку с целью повышения эффективности).

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