Название: Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML (Токмаков Г. П.)

Жанр: Информационные системы и технологии

Просмотров: 1402


2.5.8.  и нформ ация  о  приви л е г иях

 

Помимо информации о структуре базы данных, системный каталог хранит информацию, которая необходима СУБД для обеспечения безопасности базы данных.

 

 

 

 

 

 

 

 

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

Если мы на каком-либо языке сумеем описать данные, а сам алгоритм бу-

дет строить компилятор или интерпретатор соответствующей СУБД, то описа-

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

Язык SQL − это язык нечисловой обработки данных, предназначен для рабо-

ты с содержанием данных. Например, если на алгоритмическом языке для об- ращения к массивам A и B нужно определить адрес массива и воспользоваться значением индекса I для выбора конкретного элемента. Аналогично для выбор- ки из памяти из памяти значения переменной X достаточно знать ее имя, кото- рое указывает на ее местоположение в памяти (см. Пример 1).

Пример 1        .

 

for (i = 1; i <= 10; i++)

{ A(I) = A(I) + XB(I); }

 

В другом примере (см. Пример 2), написанном на языке SQL, имена служа-

щих выбираются из файла не по адресу, а по содержимому полей AGE и QUOTA.

Пример 2        .

 

SELECT FAMILY FROM SLUZHASCHIE

WHERE AGE < 35 AND QUOTA = 4000

 

Этот способ адресации отличается от способа обращения к элементам мас- сивов A и B. Способ адресации, используемый в языке SQL, называется ассоциа- тивным обращением или ассоциативной адресацией.

В отличие от реляционной алгебры, где были представлены только опера-

ции запросов к базе данных, SQL является полным языком. В нем присутствуют не  только  операции  запросов,  но  и  операторы  соответствующие DDL (Data

Definition Language), то есть языку описания данных. Кроме этого, язык со- держит операторы, предназначенные для администрирования базы данных. В коммерческих СУБД набор операторов SQL расширен путем включения опера- торов определения хранимых процедур и операторов определения триггеров.

Говоря о языке SQL, нужно помнить о его главном назначении:

– во-первых, это средства описания хранимых данных, их структуры, правил доступа   к   ним.   Эту   часть   будем   называть   языком   определения   данных

(Data Definition Language – DDL);

– во-вторых, это описание запросов на поиск и изменение данных в сущест-

вующей базе. Эту часть будем называть языком манипулирования данными (Data

Manipulation Language – DML);

– в-третьих, это средства управления доступа к данным. Эти средства образу-

ет группа операторов управления ограничения доступа к данным. Часто их отно-

сят к языку определения данных.

В SQL существует более 40 инструкций, каждая из которых требует выпол-

нить определенное действие, например, извлечь данные, создать таблицу и т. д.

Все инструкции SQL имеют одинаковую структуру.

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

вающего действие, выполняемое инструкцией. Командами, например, являются

CREATE, INSERT, SELECT и т. д.

После команды идет одно или несколько предложений, описывающих дан-

ные с которыми работает инструкция, либо содержится уточняющая информа-

ция о действии, выполняемой инструкцией. Каждое предложение также начи-

нается с ключевого слова (например, WHERE, FROM, INTO и т. д.).