Использование структурированного языка запросов для работы с базой данных.
Непроцедурный язык SQL (Structured Query Language - структурированный язык запросов) ориентирован на операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц. Особенность предложений этого языка состоит в том, что они ориентированы в большей степени на конечный результат обработки данных, чем на процедуру этой обработки. SQL сам определяет, где находятся данные, какие индексы и даже наиболее эффективные последовательности операций следует использовать для их получения: не надо указывать эти детали в запросе к базе данных.Реализация в SQL концепции операций, ориентированных на табличное представление данных, позволило создать компактный язык с небольшим (менее 30) набором предложений. SQL может использоваться как интерактивный (для выполнения запросов) и как встроенный (для построения прикладных программ). В нем существуют:– предложения определения данных (определение баз данных, а также определение и уничтожение таблиц и индексов);– запросы на выбор данных (предложение SELECT);– предложения модификации данных (добавление, удаление и изменение данных);– предложения управления данными (предоставление и отмена привилегий на доступ к данным, управление транзакциями и другие). Кроме того, он предоставляет возможность выполнять в этих предложениях:– арифметические вычисления (включая разнообразные функциональные преобразования), обработку текстовых строк и выполнение операций сравнения значений арифметических выражений и текстов;– упорядочение строк и (или) столбцов при выводе содержимого таблиц на печать или экран дисплея;– создание представлений (виртуальных таблиц), позволяющих пользователям иметь свой взгляд на данные без увеличения их объема в базе данных;– запоминание выводимого по запросу содержимого таблицы, нескольких таблиц или представления в другой таблице (реляционная операция присваивания).– агрегирование данных: группирование данных и применение к этим группам таких операций, как среднее, сумма, максимум, минимум, число элементов и т.п.
Функции универсального языка запросов SQL. Преимущества SQL.
Функции языка SQL
В языке SQL, кроме операторов, имеется несколько функций, основные из которых будут рассмотрены далее.
Статистические функции - функции, предназначенные для статистической обработки данных. Наиболее часто используемые статистические функции Перечислены в табл. 17.4.
Таблица 17.4. Основные статистические функции
Функция | Описание |
AVG() | Получение среднего значения |
COUNT () | Определяет количество значений |
COUNT(*) | Определяет количество ненулевых значений |
МАХ() | Максимальное значение |
MIN() | Минимальное значение |
SUM () | Сумма значений |
Строковые функции - функции, предназначенные для работы со строковыми чачениями. Наиболее часто используемые из них представлены в табл. 17.5.
Таблица 17.5. Основные строковые функции
Функция | Описание |
I I | Слияние (конкатенация) двух строк |
CAST (<Выражение> AS <Тип>) | Приводит выражение <Выражение> к типу <Тип> |
LOWER(S) | Преобразует символы строки S в символы нижнего регистра |
SUBSTRING (S FROM Nl то N2) | Выделяет из строки s подстроку, начиная с символа N1 и заканчивая символом N2 |
TRIM (S) | Удаляет в начале и конце строки s лишние пробелы |
UPPER (S) | Преобразует символы строки s в символы верхнего регистра |
Независимость от конкретных СУБДВсе ведущие поставщики СУБД используют SQL, и ни одна новая СУБД, не поддерживающая SQL, не может рассчитывать на успех. Реляционную базу данных и программы, которые с ней работают, можно перенести с одной СУБД на другую с минимальными доработками и переподготовкой персонала. Программные средства, входящие в состав СУБД для персональных компьютеров, работают с реляционными базами данных многих типов.
Переносимость с одной вычислительной системы на другиеПоставщики СУБД предлагают программные продукты для различных вычислительных систем: от персональных компьютеров и рабочих станций до локальных сетей, мини-компьютеров и больших ЭВМ. Приложения, созданные с помощью SQL и рассчитанные на однопользовательские системы, по мере своего развития могут быть перенесены в более крупные системы. Информация из корпоративных реляционных баз данных может быть загружена в базы данных отдельных подразделений или в личные базы данных. Наконец, приложения для реляционных баз данных можно вначале смоделировать на экономичных персональных компьютерах, а затем перенести на дорогие многопользовательские системы.
Стандарты языка SQLОфициальный стандарт языка SQL был опубликован Американским институтом национальных стандартов (American National Standards Institute — ANSI) и Международной организацией по стандартам (International Standards Organization — ISO) в 1986 году и значительно расширен в 1992 году. Кроме того, SQL является федеральным стандартом США по обработке информации (FIPS — Federal Information Processing Standard) и, следовательно, соответствие ему является одним из основных требований, содержащихся в больших правительственных контрактах, относящихся к области вычислительной техники. В Европе стандарт X/OPEN для переносимой среды программирования на основе операционной системы UNIX включает в себя SQL в качестве стандарта для доступа к базам данных. SQL Access Group — консорциум поставщиков компьютерного оборудования и баз данных — определил для SQL стандартный интерфейс вызовов функций, который является основой протокола ODBC компании Microsoft и входит также в стандарт X/OPEN. Эти стандарты служат как бы официальной печатью, одобряющей SQL, и они ускорили завоевание им рынка.
Протокол ODBC и компания MicrosoftКомпания Microsoft рассматривает доступ к базам данных как важную часть своей операционной системы Windows. Стандартом этой компании по обеспечению доступа к базам данных является ODBC (Open Database Connectivity — взаимодействие с открытыми базами данных) — программный интерфейс, основанный на SQL. Протокол ODBC поддерживается наиболее распространенными приложениями Windows (электронными таблицами, текстовыми процессорами, базами данных и т.п.), разработанными как самой компанией Microsoft, так и другими ведущими поставщиками. Поддержка ODBC обеспечивается всеми ведущими реляционными базами данных. Кроме того, ODBC опирается на стандарты, одобренные консорциумом поставщиков SQL Access Group, что делает ODBC как стандартом де-факто компании Microsoft, так и стандартом, независимым от конкретных СУБД.[13, 8, 17].