Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
21
Добавлен:
23.05.2015
Размер:
102.4 Кб
Скачать

4) Авторизация доступа к объектам бд. Набор операторов sql – иерархия полномочий.

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

DCL – язык управления доступом. GRANT и REVOKE. При создании таблицы – автоматически формируются права доступа к ней – (пользователь, который ее создал) и далее этот пользователь делегирует полномочия.

Общее описание SQL

Это не язык программирования, а язык манипулирования данными. Основу SQL составляет оператор SELECT – краеугольный камень всех запросов извлечения (модификации) информации из таблиц БД.

      • Широко применяется как средство поиска данных из различных приложений – MS Word, MS Excel, Web-браузер и т.д.

Структура языка SQL включает 5 разделов:

1) Операторы определения данных (ddl)

Создание, модификация и удаление таблиц - Create Table, Alter Table, Drop Table

Создание, модификация и удаление представлений - Create View, Alter View, Drop View

Создание, модификация и удаление индексов - Create Index, Alter Index, Drop Index

2) ОПЕРАТОРЫ МАНИПУЛИРОВАНИЯ ДАННЫМИ

Insert, Update, Delete – вставка, модификация и удаление одной и множества записей

3) СРЕДСТВА АДМИНИСТРИРОВАНИЯ

Grant (предоставить привилегии), Revoke. Доступ отдельных пользователей или групп пользователей.

4) ОПЕРАТОРЫ УПРАВЛЕНИЯ ТРАНЗАКЦИЯМИ

Begin (начать), Commit (завершить), Save (точка сохранения внутри транзакции).

5) Язык запросов Data Query Language (DQL)

SELECT (1) (2) (3) (4) (5) (6) (7)

Синтаксис оператора SELECT имеет следующий вид:

SELECT [ALL|DISTINCT] (поле 1)

<Список полей> |* (поле 2)

FROM <Список таблиц> (поле 3)

[WHERE <Предикат-условие выборки или соединения>] (поле 4)

[GROUP BY <Список полей результата>] (поле 5)

[HAVING <Предикат-условие для группы>] (поле 6)

[ORDER BY <Список полей, по которым упорядочить вывод>] (поле 7)

(1) – Поле исключения избыточной информации (необязательное поле, по умолчанию значение ALL):

        • ALL (включаются все записи, соответствующие запросу);

        • TOP N (заданное количество записей);

        • Distinct (без дублей – одинаковые записи, включаются один раз)

Здесь ключевое слово ALL означает, что в результирующий набор строк включаются все строки, удовлетворяющие условиям запроса. Значит, в результирующий набор могут попасть одинаковые строки. И это нарушение принципов теории отношений (в отличие от реляционной алгебры, где по умолчанию предполагается отсутствие дубликатов в каждом результирующем отношении). Ключевое слово DISTINCT означает, что в результирующий набор включаются только различные строки, то есть дубликаты строк результата не включаются в набор.

(2) - Список полей попадающих в итоговую таблицу (необязательное поле, по умолчанию значение *, поля перечисляются через запятую)

        • * - включаются все поля записей

        • <имя таблицы>.<поле> - отдельное поле таблицы,

        • <поле> AS (имя) – замена названия поля в базе данных на <имя>, указанное в запросе (используется обычно при агрегировании данных)

(3) FROM – список таблиц, участвующих в выборке (обязательное поле)

ПРИМЕРЫ:

SELECT * From Сотрудники

SELECT Distinct Должность FROM Сотрудники

SELECT Фамилия, имя, отчество From Сотрудники

(4) Where – поле критерия выбора в виде логического выражения (необязательное поле):

Критерий отбора формируется из одного или нескольких условий, соединенных логическими операторами: AND, OR, AND NOT, OR NOT

В выражении условий WHERE могут быть использованы следующие шесть предикатов = , <>, < , <= , > , >= которые имеют традиционный смысл

Специальные операторы