Файл: Тема 7. Реляционные языки запросов. Введение в язык структурированных запросов SQL..pdf

Добавлен: 20.10.2018

Просмотров: 422

Скачиваний: 7

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Тема 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  может  использоваться  автономно  в  интерактивном  режиме 

или  в  рамках  языков  программирования  конкретных  СУБД,  может  быть 

включен в стандартные языки программирования. 


background image

В результате выполнения  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                       -    целое число, 


background image

  FLOAT [(n)]                   -    число с плавающей точкой 

                                                  (n – число бит), 

  REAL                              -   действительное число, 

  DOUBLE PRECISION   -   действительное число двойной точности, 

  VAR CHAR (n)               -   строка символов переменной длины, 

  NCHAR (n)                      -   строка локализованных символов, 

  BIT (n)                              -  строка битов фиксированной длины, 

  DATE                               -   дата, 

  TIMESTAMP                   -   дата и время, 

  INTERVAL                      -   временной интервал. 

Конкретные  реализации  SQL  имеют  типы,  отличающиеся  от 

перечисленных стандартных типов.