Сервер баз данных

Сервер баз данных

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

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

Содержание

Язык SQL

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

Хранимые и присоединенные процедуры


Существуют расширенные версии языка SQL, которые поддерживают такие расширения, как хранимые и расширенные процедуры, а также управление ходом программы через ветвления и организацию циклов.
Хранимые процедуры — это предварительно откомпилированные предложения языка SQL, которые сохраняются на сервере базы данных, использующей язык SQL. Клиент запускает хранимую процедуру с помощью команды EXRCUTE<имя процедуры>. Таким образом, по сети передаются только два слова вместо двух сотен. Поскольку эта процедура уже откомпилирована и оптимизирована, серверу не нужно тратить время на компиляцию и оптимизацию.
В качестве хранимых процедур обычно используются часто выполняемые запросы.
Присоединенные процедуры (триггеры) подобны хранимым процедурам и исполняются в ответ на события, происходящие в БД. Когда с некоторыми приложениями языка SQL связана присоединенная процедура, выполнение этого предложения всегда запускает целую серию команд, входящих в эту процедуру. Присоединенная процедура автоматически выполняет одно или более предложений языка SQL, всякий раз, когда выполняет предложения INSERT, UPDATE или DELETE.
Самое важное применение присоединенных процедур заключается в обеспечении ссылочной целостности.

Операционная среда серверов

Серверы БД: SQL SERVER (Microsoft), SQL BASE SERVER, Oracle SERVER (Oracle Corporation).Каждый сервер БД может работать на определенных типах компьютеров и сетей. Операционными системами серверов могут быть MSDOS, OS/2, Xenix,Unix, Dec VMS/ Рабочии станции пользователей обычно работают под управление MSDOS, OS/2, Xenix, Unix.
Существуют возможности смешанного использования различных ОС. Большая часть SQL-серверов может хранить описание БД в системном каталоге, который обычно бывает доступен пользователям. Для обращения к этому каталогу используются SQL-запросы. Реляционные СУБД могут использовать информацию, хранящуюся в системном каталоге для оптимизации SQL-запросов.

Ссылочная целостность реляционных БД

Большинство SQL-серверов поддерживают ссылочную целостность реляционных БД, состоящих из отдельных таблиц, которые могут быть объединены на основе общей информации Рассмотрим на следующем примере: база данных содержит таблицу клиентов и таблицу заказов, которые связаны полем номера клиента, содержащимся в обеих таблицах. Поскольку может быть более одного заказа от одного клиента, соотношение таблиц – «один-ко-многим». Когда таблицы соединены, то таблица клиентов является родительской, а таблица заказов – дочерней. Если запись-родитель стирается, а соответствующие ей дочерние записи – нет, то говорят, что дочерние записи «осиротели». Ссылочная целостность означает, что ни в одной таблице не допустимы записи-«сироты». Запись может осиротеть тремя способами:

1)родительская запись удалена;

2)родительская запись изменена таким образом, что связь между «родителем» и «потомками» потеряна;

3)введена дочерняя запись без соответствующей родительской.

Поддержание ссылочной целостности возможно несколькими способами:

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

2)Использование присоединенных процедур – процедурная ссылочная целостность. Присоединенные программы обеспечивают ссылочную целостность за счет автоматического выполнения предложений SQL всякий раз, когда встречается одно из предложений UPDATE/INSERT или DELETE (либо запрещается удаление родительской записи, либо стираются все дочерние записи).

Транзакции и целостность БД

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

Согласованность чтения

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

Тупиковые ситуации

Серверы БД должны иметь средства определения состояния взаимоблокировки (dead lock)При возникновении такой ситуации выполнение одной из транзакций прерывается, выводя другую транзакцию из состояния вечного ожидания. Прерванная транзакция после исключения возможности ее блокировки выполняется сначала.

Схемы оптимизации работ на языке SQL

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



Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Сервер баз данных" в других словарях:

  • Сервер баз данных — сервер, выполняющий обработку запросов, направляемых базе данных. См. также: Серверы приложений Системы управления базами данных Финансовый словарь Финам …   Финансовый словарь

  • сервер баз данных — Сервер, выполняющий обработку запросов, направляемых базе данных. [РД 01.120.00 КТН 228 06] Тематики магистральный нефтепроводный транспорт …   Справочник технического переводчика

  • сервер (баз данных) — Cерверная часть СУБД [Л.М. Невдяев. Телекоммуникационные технологии. Англо русский толковый словарь справочник. Под редакцией Ю.М. Горностаева. Москва, 2002] Тематики электросвязь, основные понятия EN back end …   Справочник технического переводчика

  • DATABASE SERVER - сервер баз данных — (сервер БД) сервер, который получает по сети запросы от программ клиентов и передает в ответ запрашиваемые данные (набор ответов) …   Словарь электронного бизнеса

  • сервер — Функциональное устройство, предоставляющее услуги рабочим станциям, персональным компьютерам или другим функциональным устройствам. [РД 01.120.00 КТН 228 06] сервер Компьютер или приложение, предоставляющие услуги, ресурсы или данные клиентскому… …   Справочник технического переводчика

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

  • сервер тиражирования — Сервер периодической пересылки обновленных данных в копии баз данных [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN replicator …   Справочник технического переводчика

  • СЕРВЕР — (от англ. server – служитель). В компьютерных сетях – высокопроизводительная ЭВМ с быстродействующим процессором и большим объемом памяти, обслуживающая другие компьютерные сети (организует обмен файлами между ними, управляет использованием баз… …   Новый словарь методических терминов и понятий (теория и практика обучения языкам)

  • Сервер (приложение) — Логотип сервера англ. server от англ. to serve служить) в информационных технологиях программный компонент вычислительной системы, выполняющий сервисные (обслуживающие) функции по запросу клиента, предоставляя ему доступ к определённым ресурсам… …   Википедия

  • Сервер (программное обеспечение) — У этого термина существуют и другие значения, см. Сервер. Логотип Web сервера Apache Серверное программное обеспечение (англ. server от …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»