Компьютеры антивирусы медицина спорт Четверг, 16.05.2024, 17:12
Меню сайта
Категории раздела
Мои статьи [12]
Компьютеры. [188]
Hi-Tech. [81]
Медицина. [102]
Антивирусники [61]
Энциклопедия языков программирования [61]
Интернет [30]
Софт [59]
Спорт [51]

Кнопка сайта


Статистика





Каталог ссылок. Информационный портал - Старого.NET




Онлайн всего: 1
Гостей: 1
Пользователей: 0

Луганет





Украинских гривен курсы валют Прага
(RUB)//-//
Евро(EUR)//-//
Доллар США(USD)//-//
Форма входа

Главная » Статьи » Энциклопедия языков программирования

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

Язык был создан в 1970х годах под названием "SEQUEL" для системы управления базами данных (СУБД) System R. Позднее он был переименован в "SQL" во избежание конфликта торговых марок. В 1979 году SQL был впервые опубликован в виде коммерческого продукта Oracle V2. 

Первый официальный стандарт языка был принят ANSI в 1986 году и ISO - в 1987. С тех пор были созданы еще несколько версий стандарта, некоторые из них повторяли предыдущие с незначительными вариациями, другие принимали новые существенные черты. 

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

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

SQL состоит из четырех отдельных частей: 
язык определения данных (DDL) используется для определения структур данных, хранящихся в базе данных. Операторы DDL позволяют создавать, изменять и удалять отдельные объекты в БД. Допустимые типы объектов зависят от используемой СУБД и обычно включают базы данных, пользователей, таблицы и ряд более мелких вспомогательных объектов, например, роли и индексы. 
язык манипуляции данными (DML) используется для извлечения и изменения данных в БД. Операторы DML позволяют извлекать, вставлять, изменять и удалять данные в таблицах. Иногда операторы select извлечения данных не рассматриваются как часть DML, поскольку они не изменяют состояние данных. Все операторы DML носят декларативный характер. 
язык определения доступа к данным (DCL) используется для контроля доступа к данным в БД. Операторы DCL применяются к привилегиям и позволяют выдавать и отбирать права на применение определенных операторов DDL и DML к определенным объектам БД. 
язык управления транзакциями (TCL) используется для контроля обработки транзакций в БД. Обычно операторы TCL включают commit для подтверждения изменений, сделанных в ходе транзакции, rollback для их отмены и savepoint для разбиения транзакции на несколько меньших частей. 

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

Примеры:
Hello world:
Пример для версий Oracle 10g 

Строка 'Hello, World!' выбирается из встроенной таблицы dual, используемой для запросов, не требующих обращения к настоящим таблицам. 
select 'Hello, World!'
  from dual;
Факториал:
Пример для версий Oracle 10g 

SQL не поддерживает циклы, рекурсии или пользовательские функции. Данный пример демонстрирует возможный обходной путь, использующий: 
псевдостолбец level для создания псевдотаблиц t1 и t2, содержащих числа от 1 до 16, 
агрегатную функцию sum, позволяющую суммировать элементы множества без явного использования цикла, 
и математические функции ln и exp, позволяющие заменить произведение (необходимое для вычисления факториала) на сумму (предоставляемую SQL). 

Строка "0! = 1" не войдет в набор строк, полученный в результате, т.к. попытка вычислить ln(0) приводит к исключению. 
select t2.n || '! = ' || round(exp(sum(ln(t1.n))))
  from 
  ( select level n
  from dual
  connect by level <= 16) t1,
  ( select level n
  from dual
  connect by level <= 16) t2
 where t1.n<=t2.n
 group by t2.n

Категория: Энциклопедия языков программирования | Добавил: DankoIya (04.10.2009)
Просмотров: 762 | Комментарии: 1 | Теги: SQL - язык управления базами данных | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:




Друзья сайта
  • "Красота"
  • МСК "Лугор"
  • Северодонецк"
  • Поиск
    Пользовательского поиска




    Сними свой «Аватар»



    Как установить на один компьютер Windows Vista, XP и Linux?



    Доктор Веб нашел порнографию ВКонтакте