Назначение,стандарты, достоинства языка SQL

SQLпредст. собой непроц яз., использ. для управл. данными реляц. СУБД. Термин «непроцедурный» означ., что на данном языке можно сформулир., что нужно сделать с данными, но не треб. указ., как именно это следует сделать. В этом языке отсутствуют алгоритмич. конструкции (метки, условн. перех., операторы цикла). . Язык SQL скрывает от польз. сложн. алгоритмов поиска данных и их реализ., обеспеч. простоту поним. и легкость манипул. данными.

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

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

· высокоуровневая структура, напоминающая английский язык;

· независимость от конкретных СУБД;

· межплатформенная переносимость;

· наличие развивающихся стандартов;

· возможность выполнения интерактивных запросов извлечения данных и модификации их структуры;

· обеспечение программного доступа к базам данных;

· возможность различного представления данных;

· поддержка архитектуры клиент/сервер;

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

· расширяемость и поддержка объектно-ориентированных технол.

53. Структура команды SQL

Команды SQL

Описание данных

CREATE TABLE Создает структуру таблицы

Манипулирование данными

INSERTДобавляет новые записи в таблицу

DELETE Удаляет записи из таблицы

UPDATE Обновляет данные таблицы

Формирование запросов

SELECT Извлекает данные из БД

Создание представлений

CREATE VIEW Создает представление *

Управление доступом

GRANT Предоставляет пользователю право доступа

REVOKE Отменяет право доступа

"Управление транзакциями

COMMIT Завершает текущую транзакцию

ROLLBACK Отменяет текущую транзакцию

Встроенный SQL

DECLARE Определяет курсор* для запроса

OPEN Открывает курсор для чтения результата запроса

FETCH Считывает курсор из результатов запроса

CLOSE Закрывает курсор

Каждая команда SQL начинается с глагола . ключевого слова, описывающего действие, выполняемое командой. Например, CREATE (создать), INSERT..(добавить), COMMIT (завершить). После глагола идет одно или несколько предложений. Предложение описывает данные, с которыми работает команда, или содержит уточняющую информацию с действии, выполняемом командой. Каждое предложение начинается с ключевого слова. Например, WHERE (где), FROM (откуда), INTO (куда), НАУШО_(имеющий). Одни предложения являются обязательными, а другие . нет. Многие предложения содержат имена таблиц или полей БД; Имена должны содержать от 1 до 18 символов, начинаться с буквы и не содержать пробелы и специальные символы пунктуации.

54. Типы данных в SQL. Выражения в SQL

Типы данных языка SQL

Тип данных Описание

СНАR(длина) СНАRАСТЕR(длина) Строки символов постоянной длины

INTEGER INT Целые числа

SMALLINT Малые целые числа

NUMERIC(точность, степень) DECIMAL(точность, степень) DЕС(точность, степень) Числа с фиксированной запятой

FLOAT (точность) Числа с плавающей запятой

REAL Числа с плавающей запятой низкой точности

DOUBLE PRECISION Числа с плавающей запятой высокой точности

Допустимые значения для указанных данных специфичны в каждой СУБД.

В некоторых командах SQL необходимо конкретно указывать значения данных посредством констант. Константы с фиксированной запятой представляются в виде обычных десятичных чисел (знак плюс (+) не указывается). Например, 21, -375.18 , 62.3. Константы с плавающей запятой имеют такой же формат, как и в большинстве языков программирования. Например, 1.5Е7, 2.5Е-6, -0.783Е24 (символ Е читается как "умножить на десять в степени"). Строковые константы должны быть заключены в кавычки. Например, "Минск", "New York".SQL поддерживает обработку отсутствующих данных с помощью понятия отсутствующее значение (NULL). Выражения в SQL используются для выполнения операций над значениями, которые считаны из БД иди используются для поиска в БД. Они .представляют собой определенную последовательность полей, констант, функций, соединенных операторами. В них можно использовать следующие операторы: арифметические'. + (сложение), - (вычитание), * (умножение), / (деление); реляционные: = (равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно), <> (не равно); логические: AND (логическое "И"), OR (логическое "ИЛИ"), NOT ("НЕТ"); специальные:IN . определяет множество, которому может принадлежать значение; BETWEEN . задает границы, в которые должно попадать значение; LIKE .

применяется для поиска по шаблону. В шаблоне используются специальные символы: %

(процент) . заменяет любую последовательность символов; _ (подчеркивание) . заменяет один любой символ; IS NULL . используется для поиска NULL-значений. Для формирования сложных выражений можно применять скобки. Например, Цена * (Остаток_на_начало + Приход - Расход).

55 Возм-ти языка SQL: по опред данных; по внесению измен. в БД/ из базы

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

Формирование запросов на языке SQL должно осуществляться в строгом соответствии с форматом (правилом формирования) команды.

При описании структуры и правил использования некоторого языка программирования употребляется определенная система обозначений. Для описания форматов команд языка SQL используем так называемую форму Бэкуса-Наура (БНФ.

Базовый уровень содержит около сорока команд, которые можно сгруппировать в категории по их функциональному назначению.

К категории Описание данных относятся команды, позволяющие создавать, изменять и уничтожать БД и объекты БД.

CREATE TABLE Сведения (НОМЗ INT, ФИО CHAR(15), ГОД INT, ПОЛ CHAR(3))

DROP TABLE Сведения

ALTER TABLE Сведения (СЕМПОЛ CHAR(10))

CREATE VIEW УспеваемостьМ1 AS SELECT *FROM УспеваемостьWHERE ГРУП= "М-1"

К категории Внесение изменений в БД относятся команды, позволяющие добавлять, удалять и модифицировать данные в таблицах.

INSERT INTO Сведения VALUES (980101, "ИВАНОВ И. И.", 1980, "МУЖ")

DELETE FROM Сведения WHERE НОМЗ=980201

UPDATE Сведения SET ФИО = "КРАВЦОВА И. И." WHERE НОМЗ=980201

Категория Извлечение данных состоит из одной команды SELECT.

SELECT * FROM Сведения WHERE ФИО="СИДОРОВ С. С." OR ФИО="ПЕТРОВ П. П."

Наши рекомендации