Назначение,стандарты, достоинства языка 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 ФИО="ПЕТРОВ П. П."