Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Организация удаленного доступа к распределенным базам данных

  представления  (views)   и   даже
прикладные программы, работающие с базой данных.
      Для пользователей  информационной  системы  недостаточно,  чтобы  база
данных просто отражала объекты реального мира. Важно, чтобы такое  отражение
было однозначным и непротиворечивым. В этом случае говорят, что база  данных
удовлетворяет условию целостности (integrity).
      Для   того,    чтобы    гарантировать    корректность    и    взаимную
непротиворечивость  данных,   на   базу   данных   накладываются   некоторые
ограничения, которые  называют  ограничениями  целостности  (data  integrity
constraints).
      Существует  несколько  типов   ограничений   целостности.   Требуется,
например,  чтобы  значения  в   столбце   таблицы   выбирались   только   из
соответствующего домена. На практике учитывают и более  сложные  ограничения
целостности, например, целостность по ссылкам  (referential  integrity).  Ее
суть заключается в том,  что  внешний  ключ  не  может  быть  указателем  на
несуществующую строку  в  таблице.  Ограничения  целостности  реализуются  с
помощью специальных средств, таких как привила (rules), триггеры  (triggers)
и домены (domains).
      Сами по себе данные в компьютерной форме не представляют  интерес  для
пользователя, если отсутствуют средства  доступа  к  ним.  Доступ  к  данным
осуществляется в виде запросов  к  базе  данных,  которые  формулируются  на
стандартном языке  запросов.  Сегодня  для  большинства  СУБД  таким  языком
является SQL.
      Появление и развития этого языка как средства описания доступа к  базе
данных связано с созданием теории реляционных  баз  данных.  Прообраз  языка
SQL возник в 1970 году в рамках научно-исследовательского проекта  System/R,
работа над которым велась в лаборатории Санта-Тереза фирмы IBM. Ныне  SQL  -
это стандарт интерфейса с  реляционными  СУБД.  Популярность  его  настолько
велика,  что  разработчики  нереляционных   СУБД   (например,   Adabas   или
Betrieve), снабжают свои системы SQL-интерфейсом.
      Язык  SQL  имеет  официальный   стандарт   -   ANSI/ISO.   Большинство
разработчиков СУБД придерживаются этого стандарта,  однако  часто  расширяют
его для реализации новых  возможностей  обработки  данных.  Новые  механизмы
управления  данными  могут  быть  использованы  только   через   специальные
операторы SQL, в общем случае не включенные в стандарт языка.
      SQL не является языком программирования в традиционном  представлении.
На нем пишутся не  программы,  а  запросы  к  базе  данных.  Поэтому  SQL  -
декларативный язык. Это означает, что с его  помощью  можно  сформулировать,
что необходимо получить, но нельзя  указать,  как  это  следует  сделать.  В
частности, в отличие от процедурных языков  программирования  (Си,  Паскаль,
Ада), в языке SQL отсутствуют такие операторы,  как  if...then...else,  for,
while, хотя следует указать, что в расширении SQL для  хранимых  процедур  и
триггеров (SQL/PTL - SQL/Procedure And Trigger Language) они присутствуют.
      Запрос на языке SQL  состоит  из  одного  или  нескольких  операторов,
следующих один за другим и разделенных точкой с запятой.
      Ниже в таб. 2.1 перечислены наиболее важные операторы, которые  входят
в стандарт ANSI/ISO SQL.

|Синтаксис оператора |Выполняемое действие                 |
|SELECT              |Выбрать данные из базы данных        |
|INSERT              |Вставить данные в таблицу            |
|DELETE              |Удалить данные из таблицы            |
|UPDATE              |Изменить данные в таблице            |
|GRANT               |Передать права на действие над       |
|                    |объектом                             |
|REVOKE              |Отобрать права на действие над       |
|                    |объектом                             |
|COMMIT              |Подтвердить транзакцию               |
|ROLLBACK            |Откатить транзакцию                  |
|CREATE              |Создать объект базы данных           |
|DROP                |Удалить объект базы данных           |

Таб. 2.1. Основные операторы языка SQL.

      В  запросах  на  языке  SQL  используются  имена,  которые  однозначно
идентифицируют объекты базы данных. Наряду с  простыми,  используются  также
сложные имена - например, квалификационное  имя  столбца  (qualified  column
name) определяет имя столбца и имя таблицы, которой он принадлежит.
      Каждый столбец в  любой  таблице  хранит  данные  определенных  типов.
Различают базовые типы данных - строки символов фиксированной  длины,  целые
и вещественные  числа,  и  дополнительные  типы  данных  -  строки  символов
переменной длины, денежные единицы, дату и  время,  логические  данные  (два
значения - "ИСТИНА" и "ЛОЖЬ"). В  языке  SQL  можно  использовать  числовые,
строковые, символьные константы и константы типа "дата" и "время".
      Одним из средств, обеспечивающих быстрый доступ к  таблицам,  являются
индексы. Индекс - это структура базы данных, представляющая собой  указатель
на конкретную строку таблицы. Индекс содержит  значения,  взятые  из  одного
или нескольких столбцов конкретной строки таблицы, и ссылку на  эту  строку.
Значения в индексе упорядочены, что позволяет СУБД выполнять  быстрый  поиск
в таблице.
      Если индексов для таблицы не существует,  то  для  выполнения  запроса
СУБД должна просмотреть всю таблицу, последовательно выбирая из  нее  строки
и проверяя для каждой из  них  условие  выбора.  Для  больших  таблиц  такой
запрос будет выполняться очень долго.
      Если же был предварительно  создан  индекс  по  столбцам,  входящим  у
условие WHERE  запроса,  то  время  поиска  в  таблице  будет  сокращено  до
минимума. Индекс создается оператором SQL CREATE INDEX (СОЗДАТЬ ИНДЕКС).
      Для пользователя СУБД  интерес  представляют  не  отдельные  операторы
языка SQL, а некоторая их последовательность, оформленная как  единое  целое
и  имеющая  смысл  с  его  точки  зрения.  Каждая  такая  последовательность
операторов языка SQL реализует определенное действие над базой  данных.  Оно
осуществляется за несколько шагов, на каждом из которых над  таблицами  базы
данных выполняются некоторые операции. Так,  в  банковской  системе  перевод
некоторой  суммы  с  краткосрочного  счета  на  долгосрочный  выполняется  в
несколько операций.  Среди  них  -  снятие  суммы  с  краткосрочного  счета,
зачисление на долгосрочный счет.
      Если в процессе выполнения этого действия произойдет  сбой,  например,
когда первая операция будет выполнена, а  вторая  -  нет,  то  деньги  будут
потеряны.  Следовательно,  любое  действие  над  базой  данных  должно  быть
выполнено  целиком,  или  не  выполняться  вовсе.  Такое  действие  получило
название транзакции.
      Обработка транзакций опирается на  журнал,  который  используется  для
отката транзакций и восстановления состояния базы данных


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


1.2.1 Технология и модели "клиент-сервер"


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

Организация удаленного доступа к распределенным базам данных

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ