Что такое "расширенный" SQL? Sql что такое


Что такое SQL? | KV.by

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

Пожалуй, из всех аббревиатур, встречающихся в компьютерном мире, эта - одна из самых распространенных. Может, конечно, и не самая часто встречающаяся (всё-таки WWW или MS употребляют, как мне кажется, чаще), но совсем не редкая. Несмотря на это, довольно значительное число пользователей не имеют чёткого представления, что именно скрывается за этими тремя английскими буквами.

На самом деле, ничего сложного (и, тем более, никакой коммерческой тайны) здесь нет. SQL - специальный язык, используемый для работы с базами данных. С помощью SQL можно задавать структуру базы, организовывать выборку данных из неё по каким-то определённым критериям, удалять данные. При этом стоит сказать, что SQL не является языком программирования, хотя именно этот термин используют многие специалисты, пытающиеся "на пальцах" рассказать о сути и назначении SQL пользователю. Расшифровывается же сама аббревиатура как Structured Query Language, язык структурированных запросов. Под запросом понимается написанное на SQL "предложение", которое каким-то образом модифицирует базу данных.

Поскольку при использовании SQL можно решать множество разнообразных задач, то принято делить все конструкции языка на три части. Первая называется Data Definition Language, или, сокращённо, DDL, и содержит в себе операторы определения данных. Вторая - это Data Manipulation Language (DML), она включает операторы манипуляции данными. Третья - Data Control Language (сокращённо DCL), это операторы определения доступа к данным.

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

Язык SQL стандартизован, но при этом многие системы управления базами данных (СУБД) используют нестандартные варианты SQL, называемые диалектами. Они решают проблемы, которые возникают при использовании стандартного SQL - например, упрощают работу с иерархическими структурами или же дают возможность использовать процедурный код, которого стандартный SQL начисто лишён. Самые известные диалекты SQL - это PL/SQL, используемый в СУБД производства компании Oracle, и Transact-SQL, используемый в Microsoft SQL Server.

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

Вадим СТАНКЕВИЧ,[email protected]

www.kv.by

Что такое «расширенный» SQL? Безопасный SQL

Глядя на описания должностных обязанностей, где требуется «расширенный SQL». Я могу писать базовые запросы, как и любой, и работал с базами данных MySQL в профессиональной среде, но что бы я мог получить с этими заданиями, если бы меня наняли? Каковы примеры расширенного SQL и где я по шкале SQL noob для SQL master?

Я думаю, что это лучше всего подчеркнуть примером. Если вы чувствуете, что можете быстро написать следующий оператор SQL с небольшим / нет справочным материалом, я бы предположил, что вы, вероятно, отвечаете их требованиям Advanced SQL:

DECLARE @date DATETIME SELECT @date = '10/31/09' SELECT t1.EmpName, t1.Region, t1.TourStartDate, t1.TourEndDate, t1.FOrdDate, FOrdType = MAX(CASE WHEN o.OrderDate = t1.FOrdDate THEN o.OrderType ELSE NULL END), FOrdTotal = MAX(CASE WHEN o.OrderDate = t1.FOrdDate THEN o.OrderTotal ELSE NULL END), t1.LOrdDate, LOrdType = MAX(CASE WHEN o.OrderDate = t1.LOrdDate THEN o.OrderType ELSE NULL END), LOrdTotal = MAX(CASE WHEN o.OrderDate = t1.LOrdDate THEN o.OrderTotal ELSE NULL END) FROM (--Derived table t1 returns the tourdates, and the order dates SELECT e.EmpId, e.EmpName, et.Region, et.TourStartDate, et.TourEndDate, FOrdDate = MIN(o.OrderDate), LOrdDate = MAX(o.OrderDate) FROM #Employees e INNER JOIN #EmpTours et ON e.EmpId = et.EmpId INNER JOIN #Orders o ON e.EmpId = o.EmpId WHERE et.TourStartDate <= @date AND (et.TourEndDate > = @date OR et.TourEndDate IS NULL) AND o.OrderDate BETWEEN et.TourStartDate AND @date GROUP BY e.EmpId,e.EmpName,et.Region,et.TourStartDate,et.TourEndDate ) t1 INNER JOIN #Orders o ON t1.EmpId = o.EmpId AND (t1.FOrdDate = o.OrderDate OR t1.LOrdDate = o.OrderDate) GROUP BY t1.EmpName,t1.Region,t1.TourStartDate,t1.TourEndDate,t1.FOrdDate,t1.LOrdDate

(источник запроса)

И, честно говоря, это относительно простой запрос – только некоторые внутренние соединения и подзапрос, а также несколько общих ключевых слов (max, min, case).

основы

  1. SELECT столбцов из таблицы
  2. Агрегаты Часть 1: COUNT , SUM , MAX / MIN
  3. Агрегаты Часть 2: DISTINCT , GROUP BY , HAVING

промежуточный

  1. JOIN s, ANSI-89 и ANSI-92
  2. UNION vs UNION ALL
  3. Обработка NULL : обработка COALESCE & Native NULL
  4. Подзапросы: IN , EXISTS и встроенные представления
  5. Подзапросы: коррелированные
  6. Синтаксис: подзапрос Факторинг / CTE
  7. Просмотры

Расширенный поиск

  • Функции, хранимые процедуры, пакеты
  • Сводные данные: синтаксис CASE & PIVOT
  • Иерархические запросы
  • Курсоры: неявные и явные
  • Триггеры
  • Динамический SQL
  • Материализованные виды
  • Оптимизация запросов: индексы
  • Оптимизация запросов: объяснение планов
  • Оптимизация запросов: профилирование
  • Моделирование данных: нормальные формы, от 1 до 3
  • Моделирование данных: первичные и внешние ключи
  • Моделирование данных: ограничения таблиц
  • Моделирование данных: Link / Corrollary Tables
  • Поиск полного текста
  • XML
  • Уровни изоляции
  • Диаграммы взаимоотношений сущностей (ERD), логические и физические
  • Сделки: COMMIT , ROLLBACK , Обработка ошибок

Остальная часть списка открытия задания может предоставить контекст, чтобы лучше понять, что может включать "Advanced SQL" .

Я не согласен с комментариями и ответами, свидетельствующими о том, что понимание JOIN и совокупных запросов – это «продвинутые» навыки; Боюсь, многие работодатели считают это довольно простым. Вот приблизительное предположение, что может означать «Продвинутый».

За последние несколько лет в домене RDBMS появилось «ужасное» много нового!

Требование «Advanced SQL», вероятно, намекает на знание и, возможно, знание нескольких новых концепций, таких как:

  • CTE (общие выражения таблицы)
  • UDF (пользовательские функции)
  • Полнотекстовый поиск расширений / интеграции
  • настройка производительности с использованием новых схем разбиения, отфильтрованные индексы, разреженные столбцы …)
  • новые типы данных (например: ГИС / пространственные или иерархические)
  • Поддержка и интеграция XML
  • LINQ
  • и еще несколько … (Кстати, приведенный выше список несколько ориентирован на MSSQL, но аналогичная эволюция наблюдается на большинстве других платформ СУБД).

Несмотря на то, что поддержка (и минусов) новых функций является важной задачей для любого «продвинутого SQL» практикующего, старые «передовые основы», вероятно, также считаются частью «продвинутых» :

  • триггеры и хранимые процедуры в целом
  • Курсоры (когда использовать, как избежать …)
  • экспертиза дизайна: определение таблиц, индексация, тип индексов
  • в целом
  • оптимизация запросов (чтение планов запросов, знание того, что происходит медленно и т. д.)
  • Процедурный SQL

Примечание: вышеупомянутое основное внимание уделяется навыкам, связанным с программированием / ведущей ролью. «Advanced SQL» также может относиться к опыту с административными ролями (репликация, резервное копирование, макет оборудования, управление пользователями …). Подумайте об этом, серьезный программист должен быть хорошо знаком с подобными практиками.

Редактировать : LuckyLindy опубликовал комментарий, который я нашел довольно проницательным. Это предполагает, что «Продвинутый» может эффективно иметь другую цель, чем подразумевать справедливый экспертный уровень в большинстве категорий, перечисленных выше … Я повторяю этот комментарий здесь, чтобы сделать его более заметным.

Я думаю, что многие компании публикуют Advanced SQL, потому что они устали от того, чтобы кто-то сказал: «Я эксперт SQL», и у меня проблемы с объединением внешнего внешнего соединения 3 таблицы. Я публикую подобные материалы в проводках работы, и мое ожидание просто заключается в том, что кандидату не нужно постоянно обращаться ко мне за помощью в написании SQL. (комментарий LuckyLindy)

Я бы ожидал:

  • создание и использование хранимых процедур
  • объединяет (внутренний и внешний) и как правильно использовать GROUP BY
  • оценка / настройка производительности
  • знание эффективных (и неэффективных) способов выполнения действий в запросах (понимание того, как определенные вещи могут влиять на производительность, например, использование функций в предложениях WHERE)
  • динамический SQL и знание курсоров (и IMO несколько раз они должны использоваться)
  • понимание дизайна схемы, индексации и ссылочной целостности

Проверьте SQL для Smarties . Я думал, что я тоже хорошо разбираюсь в SQL, пока не прочитаю эту книгу … Входит в тонны глубины, рассказывает о вещах, которые я не видел в другом месте (разница в IE между 3'-й и 4-й нормальной формой, Boyce Codd Normal Форма и т. Д.) …

Некоторые функции «Дополнительно»

  • рекурсивные запросы
  • функции окна / ранжирования
  • поворот и разворот
  • настройка производительности

SELECT ... HAVING ... хорошее начало. Не многие разработчики, похоже, понимают, как их использовать.

Я предполагаю, что подзапросы и PIVOT будут квалифицироваться, а также множественные объединения, союзы и т. П.

Настройка производительности, создание индексов, хранимых процедур и т. Д.

«Продвинутый» означает что-то другое для всех. Я бы предположил, что этот тип вещей означает что-то другое для каждого плаката работы.

Когда вы видите, что они указаны в требованиях, они, как правило, включают:

  • Просмотры
  • Хранимые процедуры
  • Пользовательские функции
  • Триггеры
  • иногда курсоры

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

На моей предыдущей работе у нас был технический тест, на который всех кандидатов просили сесть. 10 вопросов, заняло около часа. Тем не менее, несмотря на всю честность, 90% неудач можно было бы отстранить, потому что они не могли написать инструкцию INNER JOIN. Даже внешний.

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

«Расширенный SQL» – это противоречие терминов.

sql.fliplinux.com

Что такое SQL?

Одним из основных видов использования компьютеров, с момента их создания, является манипуляция. В течение десятилетий были созданы миллионы баз данных чтобы манипулировать компьютером. Когда компьютеры стали более изощренными, также сложнее стало и используемое программное обеспечение, для выполнения этих функций. Одна из самых популярных баз данных созданная для применения в компьютерных языках в эти дни — это структурированный запрос языка (для SQL). Это язык простой и может использоваться для сложной базы данных, для протоколов управления, для ввода исходных данных и удаление сложных запросов, для манипуляций и отчетности высшего порядка.Много индивидуальных настольных компьютеров или ноутбуков запускают программы базы которые работают на SQL. В наши дни, SQL — это норма для таких вещей. Но, он также достаточно мощный, чтобы обрабатывать функции предприятия для мэйнфреймов, серверов и протоколов на предприятии. Это такой вид деятельности обработки данных, который получил громкие имена Oracle и IBM.

Эти две компании, больше, чем любые другие, выступили инициаторами принятия SQL в качестве основного языка для работы с базой данных. Так как SQL довольно мощный, но, он имеет и свои ограничения. Это, прежде всего, касается основ запроса языка, и это точно описывает также и ограничения. SQL — запросы могут быть требовательными, когда программисты или менеджеры системы могут только себе представить, но в конце концов, SQL — запрос не может сделать больше, чем просили его это делать. Управление данными, которые хотят более расширяемую функциональность базы данных, следует обратить внимание на различные языки веб-программирования C, C++, а не на базовые.

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

Это не только относится к Oracle и IBM, которые спроектированы в SQL. Многие другие компании делают то же самое. Не удивительно, что Microsoft стоит во главе этого класса. Для ОС Windows имеется своя собственная версия SQL, которая расположена на сервере и, следовательно, называется Microsoft SQL сервер. Самая популярная программа базы данных Access от Microsoft работает на этой версии SQL. Другие знакомые программы на основе SQL базы данных включают возможности filemaker Pro, в FoxPro, а с открытым исходным кодом на основе СУБД MySQL.

mega-obzor.ru

sql - Что такое "расширенный" SQL?

Остальная часть списка открытия задания может предоставить контекст, чтобы лучше понять, что может включать "Advanced SQL".

Я не согласен с комментариями и ответами, указывающими, что понимание JOIN и агрегированных запросов - это "продвинутые" навыки; Боюсь, многие работодатели считают это довольно простым. Здесь грубое предположение, что может означать "Продвинутый".

За последние несколько лет в домене RDBMS появилось "ужасное" много нового!

Требование "Advanced SQL", вероятно, намекает на знание и, возможно, знание нескольких новых концепций, таких как:

  • CTE (общие выражения таблицы)
  • UDF (пользовательские функции)
  • Полнотекстовые расширения поиска/интеграции
  • настройка производительности с использованием новых схем разбиения, отфильтрованные индексы, разреженные столбцы...)
  • новые типы данных (например: ГИС/пространственные или иерархические)
  • Поддержка/интеграция XML
  • LINQ
  • и еще несколько... (Кстати, приведенный выше список несколько ориентирован на MSSQL, но аналогичная эволюция наблюдается на большинстве других платформ СУБД).

Несмотря на то, что поддержка (и минусы) новых функций - важная задача для любого "продвинутого SQL" практикующего, старые "продвинутые основы", вероятно, также считается частью "продвинутого" :

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

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

Изменить: LuckyLindy опубликовал комментарий, который я нашел довольно проницательным. Это предполагает, что "Продвинутый" может эффективно иметь другую цель, чем подразумевать справедливый экспертный уровень в большинстве категорий, перечисленных выше... Я повторяю этот комментарий здесь, чтобы сделать его более заметным.

Я думаю, что многие компании публикуют Advanced SQL, потому что они устали от того, чтобы кто-то сказал: "Я эксперт SQL", и мне сложно собрать 3 внешних внешних соединения. Я публикую подобные материалы в проводках работы, и мое ожидание просто заключается в том, что кандидату не нужно постоянно обращаться ко мне за помощью в написании SQL. (комментарий LuckyLindy)

qaru.site

Что такое SQL и MySQL

Гость Что такое SQL и MySQL

Guess who am I Системы управления базами данных. Вернее SQL - это язык для создания и правления базами, а MySQL - это система управления базами.

SergeyRu MS SQL и MySQL язык запросов баз данных

отличаются тем что первый от майкрософта второй от разработчико свободного ПО и расчитан на работу с PHP

Kill_Bill(Gates)лучший ответ MySQL сервер баз данных.Каждый линуксоид должен это с пелёнок знатьSQL - язык запросов к базам данных… Извеняюсь за мой корявый русский

Неваляшка SQL (англ. Structured Query Language - язык структурированных запросов) - универсальный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.

SQL основывается на реляционной алгебре.

Язык SQL делится на три части:операторы определения данных (Data Definition Language, DDL)операторы манипуляции данными (Data Manipulation Language, DML)операторы определения доступа к данным (Data Control Language, DCL)

ru.wikipedia.org

MySQL (произносится «Май Эс Кью Эль») - свободная система управления базами данных (СУБД). MySQL является собственностью компании MySQL AB, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License и под собственной коммерческой лицензией, на выбор. Помимо этого компания MySQL AB разрабатывает функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL характеризуется большой скоростью, устойчивостью и лёгкостью в использовании, является решением для малых и средних приложений. Наряду с Oracle Database это одна из самых быстрых СУБД на сегодняшний день. Входит в LAMP. Распространение СУБД MySQL на основе GPL и высокая скорость обработки запросов привело к тому, что эта база данных стала стандартом де-факто в услугах сетевого хостинга. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы. Гибкость СУБД MySQL обеспечивается поддержкой большого типа таблиц: пользователи могут выбрать как сверхбыстрые таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и более медленные, но чрезвычайно устойчивые таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующем принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL лицензированию в СУБД MySQL постоянно появляются новые типы таблиц.

ru.wikipedia.org

mysqlru.com

sql - Что такое динамический SQL?

Другие ответы определили, что такое динамический SQL, но я не видел никаких других ответов, которые пытались описать, почему мы иногда должны его использовать. (Мой опыт - SQL Server, но я думаю, что в этом отношении другие продукты в целом похожи.)

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

Например, каждый раз, когда вы вызываете запрос, например:

SELECT OrderID, OrderDate, TotalPrice FROM Orders WHERE CustomerID = ??

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

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

Другие запросы можно использовать с использованием параметров, но могут быть проще, чем динамический SQL:

SELECT OrderID, OrderDate, TotalPrice FROM Orders WHERE CustomerID IN (??,??,??)

Если у вас всегда было 3 значения, это так же просто, как и первое. Но что, если это список переменной длины? Его можно делать с параметрами, но может быть очень сложно. Как насчет:

SELECT OrderID, OrderDate, TotalPrice FROM Orders WHERE CustomerID = ?? ORDER BY ??

Это не может быть заменено напрямую, вы можете сделать это с помощью огромного сложного оператора CASE в ORDER BY, явно перечисляющего все возможные поля, которые могут быть или не быть практичными, в зависимости от количества полей, доступных для сортировки.

Наконец, некоторые запросы просто НЕ МОГУТ сделать с использованием любого другого метода.

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

SELECT OrderID, OrderDate, TotalPrice FROM ?? WHERE CustomerID = ??

Это невозможно, используя другие методы. В моей среде я часто сталкиваюсь с такими запросами, как:

SELECT (programatically built list of fields) FROM table1 INNER JOIN table2 (Optional INNER JOIN to table3) WHERE (condition1) AND (long list of other optional WHERE clauses)

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

Надеюсь, что это поможет.

qaru.site

92 - это... Что такое SQL-92?

SQL-92 — третья версия языка запросов к базам данных SQL. В отличие от стандарта SQL-89, третья версия стала весьма существенным обновлением языка. За исключением некоторых мелких противоречий стандарт SQL-89 практически полностью совместим со стандартом SQL-92.

История

Первый международный стандарт языка SQL был принят в 1989 г. (он получил соответствующее обозначение SQL/89), и подавляющее большинство СУБД начала 90-х объявили о поддержке этого стандарта. Однако у этого стандарта выявились недостатки, а именно: очень многие важные свойства языка стандарт устанавливает как определяемые в реализации или зависимые от нее. Это дало большой простор к расхождениям между различными реализациями SQL. Во-вторых, некоторые практически важные аспекты языка вообще не упоминаются в стандарте SQL/89.К ним прежде всего относятся правила встраивания языка SQL в язык программирования Си и так называемый динамический SQL. В результате производители СУБД реализовывали собственные механизмы, причем малосовместимые друг с другом. В результате сложилась ситуация, когда код одной СУБД, соответствующей стандарту SQL/89, оказался непереносим на другую СУБД, также соответствующую стандарту SQL/89[1].

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

Основные отличия от SQL/89

В новом стандарте появилась возможность использования типа данных символьных строк переменной длины (то есть при спецификации столбца указывается предельно допустимый размер хранимой строки в символах, а реально в базе данных хранится ровно столько символов, сколько их ввел пользователь), введены типы данных битовых строк постоянной и переменной длины (как они реально хранятся в базе данных в стандарте не определяется), стандартизованы типы данных для работы с датой и временем: DATE (дата), TIME (время) и INTERVAL (временной интервал)[2].

При создании схемы базы данных (впоследствии можно изменить) можно определить особенности национального набора символов, включая правила упорядочения, при этом могут определяться наборы символов, используемые как в хранимых текстовых строках, так и в идентификаторах[2].

В новом стандарте появилась возможность создавать хранимые и представляемые таблицы и задавать или удалять привилегии доступа при помощи операторов CREATE TABLE, CREATE VIEW, GRANT, REVOKE) в любой момент времени в любой транзакции вне оператора определения схемы. Появились операторы уничтожения таблиц (DROPTABLE и DROP VIEW), которые также можно выполнять внутри любой транзакции (при наличии соответствующих привилегий). Также впервые определен оператор ALTER TABLE, позволяющий динамически изменять характеристики ранее созданной таблицы (в частности добавлять к ней новые столбцы)[2].

Список нововведений

  • SQL Agent
  • Новые типы данных: DATE, TIME, TIMESTAMP, INTERVAL, строковый тип BIT, строковый тип VARCHAR, а также строки NATIONAL CHARACTER.
  • Поддержка дополнительных наборов символов помимо необходимых для представления SQL-запросов.
  • Новые скалярные операции, например, конкатенация строк, математические операции с датой и временем, поддержка условий.
  • Новые операции с наборами, например, UNION JOIN, NATURAL JOIN, поддержка проверки различия в наборах, пересечение наборов.
  • Поддержка изменени определений схем за счет использования ALTER и DROP.
  • Встроенная поддержка языков Си, Ада и MUMPS.
  • Новые возможности пользовательских прав.
  • Новый функционал проверки целостности данных, например, Уровни изолированности транзакций.
  • Новые операции изменения типов данных «на лету» при помощи функции CAST.
  • Динамические курсоры.
  • Обратная и будущая совместимость с прочими стандартами SQL.
  • Call Level Interface

Примечания

Ссылки

dvc.academic.ru