Информация о привилегиях
Помимо информации о структуре базы данных, системный каталог хранит информацию, которая необходима СУБД для обеспечения безопасности базы данных.
Появление новых технических и программных решений влечет необходимость изменения алгоритмов поиска и обновления данных, но при этом необходимо обеспечить и возможность использования ранее разработанных программных продуктов. Кроме того, разработка информационных систем не должна зависеть от выбора той или иной СУБД для организации данных. Все это подталкивает к необходимости стандартизации, если не самих алгоритмов доступа к данным, что едва ли возможно, а хотя бы спецификаций процедур доступа.
Если мы на каком-либо языке сумеем описать данные, а сам алгоритм будет строить компилятор или интерпретатор соответствующей СУБД, то описание будет одним и тем же для всех СУБД, понимающих этот язык. Именно эту проблему решает язык 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 и т.д.).
ГЛАВА 3. DDL – Язык определения данных реляционной модели
Для того чтобы работать с данными, сначала необходимо их описать, т. е. указать их структуру, формы представления, связи, методы их контроля и многое другое. Действий с описаниями весьма немного, точнее их всего три. Это ввод новых описаний, модификация существующих и удаление ненужных. каждому из этих действий существует своя команда:
CREATE – ввод новых описаний;
ALTER – модификация существующих описаний;
DROP – удаление ненужных описаний.
Каждая из этих команд имеет множество вариантов, связанных как с вариантом описаний, так и с тем фактом, что в описании нуждается множество различных информационных объектов.
Дата добавления: 2015-02-03; просмотров: 933;