Основные свойства и типы данных языка SQL


Дата добавления: 2014-11-24 | Просмотров: 1542


<== предыдущая страница | Следующая страница ==>

Язык SQL ориентирован на операции с данными, представленными в виде логически взаимосвязанной совокупности таблиц.

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

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

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

К достоинствам SQL можно отнести его функциональную полноту при работе с реляционными БД и возможность установки парольной за­щиты на выполнение его операций.

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

Существуют две формы языка SQL: интерактивный SQL и встроен­ный SQL. В основном, обе эти формы работают одинаково, но использу­ются различно. Интерактивный SQL используется для функционирования непосредственно в БД, введенная команда выполняется немедленно.

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

Второй способ состоит в использовании так называемого встроенно­го SQL, когда с использованием специального синтаксиса в программу на традиционном языке программирования встраиваются операторы SQL. В этом случае, с точки зрения прикладной программы, оператор SQL вы­полняется "по месту". Явная параметризация операторов SQL отсутствует, но во встроенных операторах SQL могут использоваться имена перемен­ных основной программы, и за счет этого обеспечивается связь между прикладной программой и СУБД.

Столбцы таблиц могут содержать разные данные (например, оче­видно различие между текстом и числами), которые и обрабатываться должны по-разному. SQL позволяет каждому столбцу таблицы назначить определенный тип данных.

SQL поддерживает следующие типы данных:

- CHARACTER(L) - строка символов заданной длины L;

- VARCHAR(L) - строка переменной длины;

- NUMERIC[(X, [Y])] - числа с фиксированной точкой с Х позициями (включая знак и точку) и Y дробными позициями (если опущен Y, то он принимается равным 0, а если опущен X, то его значение зависит от реализации) (X называется точностью, а Y - масштабом);

- DECIMAL [(X, [Y])] (или DEC) - числа с фиксированной точкой, у которых точность не меньше точности, задаваемой по умолчанию для NUMERIC;

- INTEGER (или ЮТ)- целые числа с точностью, определяемой в реализации;

- SMALLINT - целые числа с точностью, определяемой в реализа­ции, но не больше, чем точность чисел типа INTRGER;

- FLOAT[(X)]-вещественные числа с точностью, равной или большей X;

- REAL - вещественные числа с точностью, определенной в реализа­ции;

-DOUBLE PRECISION - вещественные числа с точностью, определенной в реализации и большей, чем точность типа REAL;


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |

При использовании материала ссылка на сайт Конспекта.Нет обязательна! (0.051 сек.)