Модели представления данных, архитектура и основные функции СУБД.

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

База данных - совместно используемый набор логически связанных данных (и описание этих данных), предн-ый для удовлетворения инф потребностей.

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

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

В зависимости от вида организации данных в системе различают следующие основные модели представления данных в БД: иерархическую, сетевую, реляционную и объектноориентированную.

В иерархической модели данные представляются в виде древовидной (иерархической) структуры. Представляет собой дерево, в вершинах которого располагаются типы записей. Каждая вершина связана только с одной вершиной более высокого уровня. Поиск данных выполняется по одной из ветвей, начиная с корневой вершины.

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

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

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

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

- Контроль за избыточностью данных -Непротиворечивость данных

-Поддержка целостности базы данных (корректность и непротиворечивость)

-Целостность описывается с помощью ограничений

-Независимость приложений от данных -Совместное использование данных -Повышенный уровень безопасности

Современные СУБД способны реализовывать произвольно сформулированные запросы на близком пользователю языке. Такие языки называются языками запросов к базам данных. На данный момент самым распространенным языком запросов является SQL. Основные функции СУБД

управление данными во внешней памяти (на дисках);

управление данными в оперативной памяти с использованием дискового кэша;

Управление транзакциями Транзакция - это последовательность операций над БД, рассматриваемых СУБД как единое целое

журнализация изменений, резервное копирование и восстановление базы данных после сбоев;  поддержка языков БД (язык определения данных, язык манипулирования данными).

Обычно современная СУБД содержит следующие компоненты:

ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию,

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

подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД

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

Описание структуры данных на любом уровне называется схемой.

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

Внешний - представление БД с точки зрения пользователя.

Концептуальный - обобщенное представление БД, описывает какие данные хранятся в БД и связи между ними. Поддерживает внешние представления, поддерживается внутренним уровнем.

Внутренний - физическое представление БД в компьютере.

По способу доступа к БД

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

На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах — недостатком[2].

Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

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

Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.

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

Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.

Понятие распределенной системы. Требования к распределенным системам.

Наши рекомендации