Обзор современных СУБД
Основные функции СУБД:
- управление данными во внешней памяти (на дисках);
- управление данными в оперативной памяти с использованием дискового кэша;
- журнализация изменений, резервное копирование и восстановление базы данных после сбоев;
- поддержка языков БД (язык определения данных, язык манипулирования данными).
Компоненты современных СУБД:
- ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию,
- процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода,
- подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД
- а также сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.
Классификации
СУБД:
- По модели данных
- Иерархические
- Сетевые
- Реляционные
- Объектно-ориентированные
- Объектно-реляционные
- иерархическая. Под иерархической моделью данных понимается модель, объединяющая записи, хранимые в общей древовидной структуре с одним корневым типом записи, который имеет несколько подчиненных типов записи или не имеет совсем. Каждый подчиненный тип записи также может иметь несколько подчиненных типов или не иметь их совсем. Основной структурой, поддерживающей иерархическое представление информации, является дерево
Достоинствами иерархической модели
данных относятся эффективное исполь
Недостатком иерархической модели является ее громоздкость для обработки информации с достаточно сложными логическими связями, а также сложность понимания для обычного пользователя.
Примеры: зарубежные системы IMS, PC/Focus,
Team-Up и Data Edge, а также отечественные
системы Ока, ИНЭС и МИРИС;
- сетевая. Эта модель позволяет отображать
разнообразные взаимосвязи элементов
данных в виде произвольного графа, обобщая
тем самым иерархическую модель данных
Достоинством сетевой модели данных является возможность эффективной реализации по показателям затрат памяти и оперативности. В сравнении с иерархической моделью сетевая модель предоставляет большие возможности в смысле допустимости образования произвольных связей.
Недостатком сетевой модели данных является высокая сложность и жесткость схемы БД, построенной на ее основе, а также сложность для понимания и выполнения обработки информации в БД обычным пользователем. Кроме того, в сетевой модели данных ослаблен контроль целостности связей вследствие допустимости установления произвольных связей между записями.
Системы на основе сетевой модели не получили широкого распространения на практике. Наиболее известными сетевыми СУБД являются следующие: IDMS, db_VistaIII, СЕТЬ, СЕТОР и КОМПАС;
- реляционная модель. В реляционных базах данных вся информация представляется в виде двумерных таблиц. Реляционная модель опирается на систему понятий реляционной алгебры, важнейшими из которых являются “таблица”, “отношение”, “строка”, “первичный ключ”. Все операции над реляционной базой данных сводятся к манипуляциям с таблицами. Таблица состоит из строк и столбцов и имеет имя, уникальное внутри базы данных. Таблица отражает тип объекта реального мира (сущность), а каждая ее строки (кортеж) – конкретный объект.
Достоинство реляционной модели данных заключается в простоте, понятности и удобстве физической реализации на ЭВМ. Именно простота и понятность для пользователя явились основной причиной их широкого использования. Проблемы же эффективности обработки данных этого типа оказались технически вполне разрешимыми.
Основными недостатками реляционной модели являются следующие: отсутствие стандартных средств идентификации отдельных записей и сложность описания иерархических и сетевых связей.
Примерами зарубежных
Кроме того, в последние годы появились и стали более активно внедряться на практике следующие модели данных:
• объектно-ориентированная
Структура объектно-ориентированной БД графически представима в виде дерева, узлами которого являются объекты. Свойства объектов описываются некоторым стандартным типом (например, строковым — string) или типом конструируемым пользователем (определяется как class).
Основным достоинством объектно-ориентированной модели данных в сравнении с реляционной является возможность отображения информации о сложных взаимосвязях объектов. Объектно-ориентированная модель данных позволяет идентифицировать отдельную запись базы данных и определять функции их обработки.
Недостатками объектно-
Современные СУБД являются объектно-ориентированными и реляционными. Основной единицей является объект, имеющий свойства, и связи между объектами. СУБД используют несколько моделей данных: иерархическую и сетевую (с 60-х годов) и реляционную (с 70-х). Основное различие данных моделей в представлении взаимосвязей между объектами. Иерархическая модель данных строится по принципу иерархии объектов, то есть один тип объекта является главным, все нижележащие – подчиненными. Устанавливается связь «один ко многим», то есть для некоторого главного типа существует несколько подчиненных типов объектов. Иначе, главный тип именуется исходным типом, а подчиненные – порожденными. У подчиненных типов могут быть в свою очередь подчиненные типы. Наивысший в иерархии узел (совокупность атрибутов) называют корневым. Сетевая модель данных строится по принципу «главный и подчиненный тип одновременно», то есть любой тип данных одновременно может одновременно порождать несколько подчиненных типов (быть владельцем набора) и быть подчиненным для нескольких главных (быть членом набора). Реляционная модель данных объекты и связи между ними представляются в виде таблиц, при этом связи тоже рассматриваются как объекты. Все строки, составляющие таблицу в
реляционной базе данных должны иметь первичный ключ. Все современные средства СУБД поддерживают реляционную модель данных.
Объект (Сущность) – элемент какой-либо системы, информация о котором сохраняется. Объект может быть как реальным (например, человек), так и абстрактным (например, событие – поступление человека в стационар).
Атрибут – информационное отображение свойств объекта. Каждый
объект характеризуется
Первичный ключ – атрибут (или группа атрибутов), позволяющий однозначным
образом определить каждую строку в таблице.
- По степени распределённости
- Локальные СУБД (все части локальной СУБД размещаются на одном компьютере)
- Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).
- По способу доступа к БД
3.1 Файл-серверные
В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на процессор файлового сервера. Недостатки: потенциально высокая загрузка локальной сети; затруднённость или невозможность централизованного управления; затруднённость или невозможность обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Применяются чаще всего в локальных приложениях, которые используют функции управления БД; в системах с низкой интенсивностью обработки данных и низкими пиковыми нагрузками на БД.
На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах считается их недостатком.
Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.
3.2 Клиент-серверные
Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно. Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу. Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность.
Каждый из составляющих эту архитектуру элементов играет свою роль: сервер владеет и распоряжается информационными ресурсами системы, клиент имеет возможность воспользоваться ими. Сервер базы данных представляет собой мультипользовательскую версию СУБД, параллельно обрабатывающую запросы, поступившие со всех рабочих станций. В его задачу входит реализация логики обработки транзакций с применением необходимой техники синхронизации - поддержки протоколов блокирования ресурсов, обеспечение, предотвращение и/или устранения тупиковых ситуаций.
В ответ на пользовательский запрос
рабочая станция получит не «сырье»
для последующей обработки, а
готовые результаты. Программное
обеспечение рабочей станции
при такой архитектуре играет
роль только внешнего интерфейса (Front -
end) централизованной системы управления
данными. Это позволяет существенно уменьшить
сетевой трафик, сократить время на ожидание
блокированных ресурсов данных в мультипользовательском
режиме, разгрузить рабочие.
Как правило, клиент и сервер территориально отделены друг от друга, и в этом случае они входят в состав или образуют систему распределенной обработки данных.
Для современных СУБД архитектура «клиент-сервер» стала фактически стандартом. Если предполагается, что проектируемая информация будет иметь архитектуру «клиент-сервер», то это означает, что прикладные программы, реализованные в ее рамках, будут иметь распределенный характер, т. е. часть функций приложений будет реализована в программе-клиенте, другая - в программе-сервере.
Основной принцип технологии «клиент-сервер» заключается в разделении функций стандартного интерактивного приложения на четыре группы:
- функции ввода и отображения данных;
- прикладные функции, характерные для предметной области;
- фундаментальные функции хранения и управления ресурсами (базами данных);
- служебные функции.
Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.
3.3 Встраиваемые
Встраиваемая СУБД — СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы.
Примеры:
OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server
Compact, ЛИНТЕР.
Перспективы развития систем
управления базами данных:
Этот этап характеризуется появлением новой технологии доступа к данным — интранет. Основное отличие этого подхода от технологии клиент-сервер состоит в том, что отпадает необходимость использования специализированного клиентского программного обеспечения. Для работы с удаленной базой данных используется стандартный браузер Интернета, например Microsoft Internet Explorer или Netscape Navigator, и для конечного пользователя процесс обращения к данным происходит аналогично скольжению по Всемирной Паутине (см. рис. 1.1). При этом встроенный в загружаемые пользователем HTML-страницы код, написанный обычно на языке Java, Java-script, Perl и других, отслеживает все действия пользователя и транслирует их в низкоуровневые SQL-запросы к базе данных, выполняя, таким образом, ту работу, которой в технологии клиент-сервер занимается клиентская программа. Удобство данного подхода привело к тому, что он стал использоваться не только для удаленного доступа к базам данных, но и для пользователей локальной сети предприятия.
Требования к современным СУБД:
- быстрый рост значения и объемов электронной коммерции и тенденцию создания виртуальных предприятий, магазинов, офисов, киосков;
- роль коммуникационных технологий - электронной почты, средств групповой работы, телеконференций, интерактивной связи. Компьютерные сети, Интернет в том числе, растут очень быстро, еще быстрее растет ценность такого объединения;
- необходимость превращения "данных" в "информацию". Правильная интерпретация данных новыми удобными способами, наряду с мощными механизмами хранения и манипулирования данными – все это превращает информацию в важное преимущество в конкурентной борьбе;
- как правило, большинство организаций имеют значительные объемы данных, причем эти данные запасены в различных источниках в широком диапазоне гетерогенных систем. Поэтому, обязательное требование к новым системам - наряду с новшествами наиболее простыми способами интегрировать в себя весь объем данных уже существующих систем;
в условиях жесткой конкуренции, предприятия
имеют задачу "сделать как можно
больше, затратив наименьшие усилия".
Соответственно требуются программные
средства, которые можно быстро освоить,
настроить и приспособить для
выполнения конкретных задач, чтобы
не отстать от быстрых изменений рынка.
Cовременные технологии используемые
при работе с данными:
Технология «Клиент-сервер» – технология,
разделяющая приложение- СУБД на две части:
клиентскую (интерактивный графический
интерфейс, расположенный на компьютере
пользователя) и сервер,
собственно осуществляющий управление данными, разделение информации, администрирование и безопасность, находящийся на выделенном компьютере. Взаимодействие «клиент-сервер» осуществляется следующим образом: клиентская часть приложения формирует запрос к серверу баз данных, на котором выполняются все команды, а результат исполнения запроса отправляется клиенту для просмотра и использования. Данная технология применяется, когда размеры баз данных велики, когда велики размеры вычислительной сети, и производительность при обработке данных, хранящихся не на компьютере пользователя (в крупном учреждении обычно имеет место именно такая ситуация). Если технология
«клиент-сервер» на применяется, то
для обработки даже нескольких записей
весь файл копируется на компьютер пользователя,
а только затем обрабатывается. При этом
резко возрастает загрузка сети, и снижается
производительность труда многих сотрудников.
Microsoft Access, Microsoft Visual FoxPro, Microsoft Visual Basic
обеспечивают средства для создания клиентских
частей в приложениях «клиент-сервер»,
которые сочетают в себе средства просмотра,
графический интерфейс и средства построения
запросов, а Microsoft SQL Server является на сегодняшний
день одним из самых мощных серверов баз
данных.
OLE 2.0 (Object Linking and Embedding – связывание и
внедрение объектов) – стандарт, описывающий
правила интеграции прикладных программ.
Применяется для использования возможностей
других приложений. OLE 2.0 используется
для определения и совместного использования
объектов несколькими приложениями, которые
поддерживают данную технологию. Например,
использование в среде Access таблиц Excel и
его мощных средств построения диаграмм
или использование данных, подготовленных
Access, в отчетах составленных в редакторе
текстов Word (связывание или включение
объекта).
OLE Automation (Автоматизация OLE) – компонент
OLE, позволяющий программным путем устанавливать
свойства и задавать команды для объектов
другого приложения. Позволяет без необходимости
выхода или перехода в другое окно использовать
возможности нужного приложения. Приложение,
позволяющее другим прикладным программам
использовать свои объекты называется
OLE сервером. Приложение, которое может
управлять объектами OLE серверов называется
OLE контроллер или OLE клиент. Из рассмотренных
программных средств в качестве OLE серверов
могут выступать Microsoft Access, а также Microsoft
Excel, Word и Graph... Microsoft Visual FoxPro 3.0 и 5.0 может
выступать только в виде OLE клиента.
RAD (Rapid Application Development – Быстрая разработка
приложений) – подход к разработке
приложений, предусматривающий широкое
использование готовых компонентов и/или
приложений и пакетов (в том числе от разных
производителей). ODBC (Open Database Connectivity –
открытый доступ к базам данных) – технология,
позволяющая использовать базы данных,
созданные другим приложением при помощи
SQL.
SQL (Structured Query Language – язык структурированных
запросов) – универсальный язык, предназначенный
для создания и выполнения запросов, обработки
данных как в собственной базе данных
приложения, так и с базами данных, созданных
другими приложениями, поддерживающими
SQL. Также SQL применяется для управления
реляционными базами данных. VBA (Visual Basic
for Applications – Visual Basic для Приложений) – разновидность
(диалект) объектно-ориентированного языка
программирования Visual Basic, встраиваемая
в программные пакеты.

- Обзор современных электронных светодальномеров
- Обзор состояния пищевой промышленности Приморского края
- Обзор средств массовой информации на предмет выявления нарушений журналистской этики
- Обзор статистических пакетов
- Обзор статьи по стратегическому менеджменту на тему: «Долгоиграющая бизнес-модель»
- Обзор строения кровеносной системы позвоночных
- Обзор структурных схем ИВЭП
- Обзор СМК: от популярных до специфических
- Обзор современного аппаратного обеспечения
- Обзор современного прикладного программного обеспечения
- Обзор современного состояния энергоресурсов человечества
- Обзор современных информационных ресурсов в России, их области применения
- Обзор современных поисковых систем
- Обзор современных систем автоматизированного проектирования (САПР)