Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция базы.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
339 Кб
Скачать
☆

Современные технологии, используемые для работы с данными.

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

OLE (Object Linking and Embedding — связывание и внедрение объектов) — стандарт, описывающий правила интеграции прикладных программ. Применяется для ис­пользования возможностей других приложений. OLE ис­пользуется для определения и совместного использова­ния объектов несколькими приложениями, которые под­держивают данную технологию.

OLE Automation (автоматизация OLE) — компонент OLE, позволяющий программным путем устанавливать свойства и задавать команды для объектов другого при­ложения. Позволяет без необходимости выхода или пере­хода в другое окно использовать возможности нужного приложения. Приложение, позволяющее другим приклад­ным программам использовать свои объекты, называется OLE-сервером. Приложение, которое может управлять объектами OLE-серверов, называется OLE-контроллер или 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, встраиваемая в программные пакеты.

Основные функции субд.

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

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

  3. Управление транзакциями. Транзакция — это по­следовательность операций над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно вы­полняется, и СУБД фиксирует изменения БД, произве­денные этой транзакцией, во внешней памяти, либо ни одно из этих изменений никак не отражается на состоя­нии БД. Понятие «транзакции» необходимо для поддер­жания логической целостности БД.

  4. Журнализация. Одним из основных требований к СУБД является надежность хранения данных во внеш­ней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить послед­нее согласованное состояние БД после любого аппаратно­го или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые мяг­кие сбои, которые можно трактовать как внезапную оста­новку работы компьютера (например, аварийное выключе­ние питания), и жесткие сбои, характеризуемые потерей информации на носителях внешней памяти. Поддержание надежности хранения баз данных в БД требует избыточ­ности хранения данных, причем та часть данных, кото­рая используется для восстановления, должна храниться особо надежно. Наиболее распространенным методом под­держания такой избыточной информации является веде­ние журнала изменений БД. Журнал изменений — это особая часть БД, недоступная пользователям СУБД и под­держиваемая с особой тщательностью (иногда поддержи­ваются две копии журнала, располагаемые на разных физических дисках), в которую поступают записи обо всех изменениях основной части БД. Во всех случаях придер­живаются стратегии «упреждающей» записи в журнал (так называемого протокола Write Ahead Log — WAL). Самая простая ситуация восстановления — индивидуаль­ный откат транзакции.

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

Логически в современной реляционной СУБД можно выделить внутреннюю часть — ядро СУБД (часто его на­зывают Data Base Engine), компилятор языка БД (обыч­но SQL), подсистему поддержки времени выполнения, набор утилит. В некоторых системах эти части выделя­ются явно, в других — нет, но логически такое разделе­ние можно провести во всех СУБД.

Ядро СУБД отвечает за управление данными во внеш­ней памяти, управление буферами оперативной памяти, управление транзакциями и журнализацию. Соответствен­но, можно выделить такие компоненты ядра (по крайней мере, логически, хотя в некоторых системах эти компо­ненты выделяются явно), как менеджер данных, менед­жер буферов, менеджер транзакций и менеджер журна­ла. Ядро СУБД обладает собственным интерфейсом, не доступным пользователям напрямую и используемым в программах, производимых компилятором SQL (или в подсистеме поддержки выполнения таких программ) и утилитах БД. Ядро СУБД является основной резидент­ной частью СУБД. При использовании архитектуры «кли­ент — сервер» ядро является основной составляющей сер­верной части системы.

Основной функцией компилятора языка БД является компиляция операторов языка БД в некоторую выполня­емую программу.

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