Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Элементы языка SQL.docx
Скачиваний:
6
Добавлен:
22.11.2019
Размер:
40.95 Кб
Скачать

Элементы языка SQL

Функции и основные возможности языка SQL

Неотъемлемая и важнейшая часть любой системы применяющей базы данных это языковые средства обеспечивающие возможность доступа и действия над данными определения их структур, способов использования и интерпретации. Язык SQL появился в 70-е год как одно из таких средств. Его прототип был разработан фирмой IBM и известен под названием SEQUEL. SQL вобрал в себя достоинство реляционной модели, в частности достоинства лежащего в его основе математического аппарата реляционной алгебры и реляционного исчисления используя при этом сравнительно небольшое число операторов и относительно простой синтаксис. Благодаря своим качествам язык SQL утвержденным в качестве стандарта языком работы с реляционными базами данных. Этот стандарт поддерживается всеми ведущими мировыми фирмами, действующими в сфере технологий баз данных. Использование стандартного языка позволило обеспечить высокую степень независимости разрабатываемых прикладных систем от конкретного типа СУБД существенно поднять уровень и унификацию инструментальных средств разработки приложений, работающих с реляционными базами данных. Большинство коммерческих реализаций SQL имеет некоторые большие или меньшие отличия от стандарта. Это уменьшает совместимость систем использующих различные диалекты SQL, но с другой стороны полезные расширения реализации языка обеспечивает его развитие и со временем включаются в новые редакции стандарта. Настоящее время, ни одна система не реализует стандарт SQL в полном объеме. Во всех диалектах языка имеются возможности не являющиеся стандартными. Таким образом, каждый диалект это надмножество некоторого подмножества стандарта SQL. Это затрудняет переносимость приложений разработанных для одних СУБД в другие.

Отличие sql от процедурных языков программирования

SQL относится к классу непроцедурных языков программирования. В отличие от универсальных процедурных языков, которые также могут быть использованы для работы с БД SQL ориентирован не на записи, а на множества. Это значит, что в качестве входной информации для формулируемого на языке SQL запроса к БД используется множество кортежей записей одной или нескольких таблиц отношений. В результате выполнения запроса также образуется множество кортежей результирующей таблицы отношений. Т.е. в SQL результатом любой операции над отношениями является отношение. Запрос SQL задает не процедуру, т.е. последовательность действий, необходимую для получения результата, а условия которым должны удовлетворять кортежи результирующего отношения, сформулированные в терминах входного (выходных) отношения.

Интерактивный и встроенный SQL

Существует и используется две формы языка SQL:

  1. Интерактивный SQL используется для задания SQL-запросов пользователя и получения результата в интерактивном режиме.

  2. Встроенный SQL состоит из команд SQL встроенных внутрь программ, обычно написанных на каком-то другом языке. Это делает программы, использующие такие языки более мощными, гибкими и эффективными, обеспечивая их применение, для работы с данными, хранящимися в реляционных БД. Однако требуются дополнительные средства интерфейса SQL c языком в который он встраивается.

Составные части SQL

Язык SQL подразделяется на 2 составные части:

  1. Язык определения данных DDL – дает возможность создания, изменения и удаления различных объектов БД (таблиц, индексов, пользователей). В число дополнительных функций DDL могут быть включены средства ограничения целостности данных, определение порядка структур их хранения, описания элементов физического уровня хранения данных.

  2. Язык манипулирования данными DML – предоставляет возможность выборки информации из БД и ее преобразования.

Типы данных SQL

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

  1. Строка символов – стандарт поддерживает только один тип представления текста.

CHARACTER (CHAR) – этот тип данных представляет собой символьные строки фиксированной длинны. Его синтаксис имеет вид: character[(длинна)] или char[(длина)]. Длина может принимать значения от 1 до 255. Если во вводимой в поле текстовой константе фактическое число символов меньше числа определенного параметром длина, то эта константа автоматически дополняется справа пробелами до заданного числа символов.

Некоторые реализации языка SQL поддерживают в качестве типа данных строки переменной длинны. VARCHAR, CHARACTER VARYING, CHARVARYING. Этот тип данных описывает текстовую строку, которая может иметь произвольную длину до определенного конкретной реализацией SQL максимума. В отличие от типа CHAR в этом случае при вводе текстовой константы, длина которой меньше заданной не производится ее дополнение пробелами до заданного максимального значения.

Константы, имеющие тип CHAR и VARCHAR, в выражениях SQL заключаются в одиночные кавычки.

  1. Числовые типы данных:

INTEGER – используется для представления целых чисел от -2^31 до 2^31.

SMALLINT – используется для представления целых чисел в диапазоне от -2^15 до 2^15.

DECIMAL(точность, масштаб)