русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-07-09; просмотров: 1405; Нарушение авторских прав


Неотъемлемая и важнейшая часть любой системы, применяющей БД, - это языковые средства, обеспечивающие возможность доступа и действий над данными, определения их структур, способов использования и интерпретации.

Язык SQL появился в 70-е годы, как одно из таких средств. Его прототипом был язык SEQUEL, разработанный IBM. Вобрал в себя достоинства реляционной модели, в частности, достоинства математического аппарата реляционной алгебры и исчисления, используя при этом сравнительно небольшое число операторов и относительно простой синтаксис.

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

Использование стандартного языка позволило обеспечить высокую степень независимости разрабатываемых прикладных системы от конкретного типа используемой СУБД. Однако большинство коммерческих реализаций языка SQL имеют большие или меньшие отличия от стандарта. С одной стороны это уменьшает переносимость приложений, а с другой – полезное расширение реализации языка обеспечивают его развитие и со временем включаются в новые редакции стандарта. В настоящее время ни одна система не реализует стандарт SQL в полном объеме. Кроме того, во всех диалектах языка имеются возможности, не являющиеся стандартами.

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



Существуют 2 формы языка SQL:

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

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

Язык SQL имеет 2 составные части:

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

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

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

Тип данных строка символов:

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

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

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

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

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

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

DECIMAL(точность, [масштаб]) – десятичное число с фиксированной точкой. Точность определяет количество значащих цифр в числе. Масштаб указывает максимальное число цифр справа от точки.

NUMERIC(точность, [масштаб]).

FLOAT(точность) – число с плавающей точкой с указанной минимальной точностью.

REAL – число с плавающей точкой, точность определена по умолчанию.

DOUBLE PRECISION – число, аналогичное REAL, но точность в 2 раза выше.

Тип данных для представления даты и времени:

Является не стандартным и определяется конкретной реализацией СУБД. В наиболее частом случае используется тип DATE и TIME.

Для обозначения пропущенных, неопределенных значений атрибута используется ключевое слово NULL.Это приводит к ряду особенностей, которые нужно учитывать при работе с такими значениями:

1 – в агрегирующих функциях, позволяющих получать сводную информацию, для обеспечения точности и однозначного толкования результатов NULL-значения игнорируются.

2 – условные операторы от булевой двузначной логики расширяется до трехзначной.

3 – все операторы, за исключением оператора конкатенации (объединения) строк, возвращают пустое значение.

4 – для проверки на пустое значение используется оператор IS NULL.

5 – функции преобразования типа, имеющие NULL в качестве аргумента, возвращают пустое значение.

 



<== предыдущая лекция | следующая лекция ==>
Управление транзакциями | Выборка данных с использованием предложения SELECT


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.