Файл: Тема 7. Реляционные языки запросов. Введение в язык структурированных запросов SQL..pdf
Добавлен: 20.10.2018
Просмотров: 496
Скачиваний: 8
Тема 7. Реляционные языки запросов. Введение в язык
структурированных запросов SQL.
Реляционная алгебра и исчисления являются теоретическими языками,
языки конкретных СУБД – практические языки. Практические языки принято
сравнивать с теоретическими языками: язык, позволяющий моделировать
алгебру или исчисление, считается полным языком; язык, не обладающий
такими возможностями, – неадекватный. Практические языки, в общем случае,
более чем полные, обладают возможностями, выходящими за рамки
реляционной алгебры или исчисления. Некоторые языки запросов основаны на
реляционной алгебре, другие на исчислении. Есть смешанные типы. Принято
считать, что языки исчислений более высокого уровня, чем алгебраические
языки.
Пример.
Пусть R и S - два отношения со схемами R(A,B) и S(B,C) соответственно.
Выражению реляционной алгебры
c
(
A=a0
(R
S)) можно сопоставить
эквивалентное выражение исчисления с переменными на доменах
{c| b(R(a0,b)&S(b,c))}. Оба выражения представляют одно и то же множество
кортежей, при этом первое указывает порядок вычисления множества, а второе
описывает его свойства. Считается, что указать свойства объекта проще, чем
задать порядок его вычисления.
Язык структурированных запросов SQL
SQL (Structured Query Language) является переходным языком от
реляционной алгебры к реляционному исчислению с переменными кортежами:
позволяет выражать операции алгебры и обладает некоторыми возможностями
исчисления. Язык поддерживается большинством СУБД, имеет несколько
стандартов. SQL может использоваться автономно в интерактивном режиме
или в рамках языков программирования конкретных СУБД, может быть
включен в стандартные языки программирования.
В результате выполнения SQL-запроса может быть получено множество
записей – представление. Представление, по существу, является таблицей,
формируемой в результате выполнения запроса. Для описания представления
нужно указать его идентификатор и запрос.
Структура языка
Различают следующие группы операторов SQL: операторы определения
данных (DDL), операторы манипулирования данными (DML), управление
транзакциями, администрирование, программный SQL.
Операторы DDL:
CREATE TABLE создание новой таблицы,
DROP TABLE удаление таблицы,
ALTER TABLE изменение таблицы,
CREATE INDEX создание индекса,
DROP INDEX удаление индекса,
CREATE VIEW создание нового представления,
DROP VIEW удаление представления,
ALTER VIEW изменение представления.
Операторы DML:
SELECT выборка,
UPDATE обновление,
INSERT вставка,
DELETE удаление.
Типы данных SQL
Таблицы SQL могут содержать данные следующих типов:
CHAR (n) - строка символов постоянной длины,
NUMERIC [(n,m)] - число с фиксированной точкой
(n - длина, m -число дробных знаков),
DECIMAL [(n,m)] - число с фиксированной точкой,
INTEGER - целое число,
FLOAT [(n)] - число с плавающей точкой
(n – число бит),
REAL - действительное число,
DOUBLE PRECISION - действительное число двойной точности,
VAR CHAR (n) - строка символов переменной длины,
NCHAR (n) - строка локализованных символов,
BIT (n) - строка битов фиксированной длины,
DATE - дата,
TIMESTAMP - дата и время,
INTERVAL - временной интервал.
Конкретные реализации SQL имеют типы, отличающиеся от
перечисленных стандартных типов.