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

БАЗЫ ДАННЫХ

Лекции № 6 Язык SQL

SQL (Structured Query Language)

структурированный язык запросов стандартный язык запросов по работе с реляционными БД.

Язык SQL появился после реляционной алгебры, и его прототип был разработан в конце 70-х годов в компании IBM Research.

Он был реализован в первом прототипе реляционной

СУБД фирмы IBM System R.

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

СУБД.

SQL - это гибкий и эффективный язык, все средства которого применяются для манипулирования реляционными данными и для их исследования.

SQL является языком четвертого поколения (4GL).

Это означает, что данный язык описывает то, что нужно выполнить, но не как это должно быть сделано.

Языки третьего поколения (C, Cobol) - процедурные.

Программа, составленная на языке третьего поколения, реализуется путем выполнения пошагового алгоритма.

Структура SQL:

SQL является полным языком, в нем присутствуют не только операции запросов, но и операторы, соответствующие DDL ─ Data Definition Language ─ языку описания данных.

Кроме того, язык содержит операторы, предназначенные для управления БД, управления транзакциями, администрирования данных.

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

CHARACTER(n) или CHAR(n) ─ символьные строки постоянной длины в n символов. При задании данного типа под каждое значение всегда отводится n символов, и если реальное значение занимает менее, чем n символов, то СУБД автоматически дополняет недостающие символы пробелами.

NUMERIC[(n,m)] ─ точные числа, n ─ общее количество цифр в числе, m ─ количество цифр слева от десятичной точки. //[не обязательные элементы]

DECIMAL[(n,m)] ─ точные числа, n ─ общее количество цифр в числе, m ─ количество цифр слева от десятичной точки.

DEC[(n,m)] - то же, что и DECIMAL[(n,m)].

INTEGER или INT ─ целые числа. SMALLINT ─ целые числа меньшего диапазона.

FLOAT[(n)] ─ числа большой точности, хранимые в форме с плавающей точкой. Здесь n ─ число байтов, резервируемое под хранение одного числа. Диапазон чисел определяется конкретной реализацией.

REAL ─ вещественный тип чисел, который соответствует числам с плавающей точкой, меньшей точности, чем

FLOAT.

DOUBLE PRECISION специфицирует тип данных с определенной в реализации точностью большей, чем определенная в реализации точность для REAL.

VARCHAR(n) - строка символов переменной длины. BIT(n) ─ строка битов постоянной длины.

DATE ─ календарная дата. INTERVAL ─ временной интервал.

В стандарте определены следующие константы:

-строковые константы: 'Иванов ', ' Петров '.

-константы с плавающей запятой: 2.9Е-4 0.54Е18.

-константы времени, даты и временного интервала представляются в виде строковых констант.

Набор типов зависит от конкретной СУБД.

В стандарте SQL определены стандартные встроенные функции для обработки текста, чисел, даты-времени, определены арифметические операции (подробнее см. литературу).

Операторы определения данных:

CREATE TABLE – создать таблицу, DROP TABLE – удалить таблицу, ALTER TABLE – изменить таблицу, CREATE VIEW - создать представление, ALTER VIEW - изменить представление, DROP VIEW – удалить представление.

Операторы манипулирования данными:

DELETE – удаляет одну или несколько строк из таблицы,

INSERT – вставляет строку в таблицу,

UPDATE – обновляет значение полей в одной или нескольких строках.

Язык запросов:

SELECT – выборка и отображение данных одной или нескольких таблиц; формирует результирующую таблицу в соответствии с запросом.