Непроцедурный, структуризированный язык запросов (SQL) – язык, ориентированный на операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц. Особенность предложений языка запросов SQL – ориентированность в большей степени на конечный результат обработки данных, чем на процедуру этой обработки. SQL сам определяет, где находятся данные, какие индексы и даже наиболее эффективные последовательности операций следует использовать для их получения: не надо указывать эти детали в запросе к базе данных.
тема 3 вопрос 29
характеристика Языка SQL функциональные категории команд sql примеры
Непроцедурный, структуризированный язык запросов (SQL) – язык, ориентированный на
операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц.
Особенность предложений языка запросов SQL – ориентированность в большей степени на
конечный результат обработки данных, чем на процедуру этой обработки. SQL сам определяет, где
находятся данные, какие индексы и даже наиболее эффективные последовательности операций
следует использовать для их получения: не надо указывать эти детали в запросе к базе данных.
Реализация в SQL концепции операций, ориентированных на табличное представление
данных, позволило создать компактный язык с небольшим набором предложений. Как в
интерактивном, так и в встроенном SQL существуют следующие предложения:
1)предложения определения данных;
2)запросы на выбор данных;
3)предложения модификации данных;
4) предложения управления данными.
Типы данных
Основные типы данных SQL – используемые языком SQL основные типы данных, форматы
которых могут несколько различаться для разных СУБД: целое число; десятичное число;
вещественное число; символьная строка фиксированной или переменной длины; дата в формате;
время в формате; деньги в формате, определяющем символ денежной единицы и его расположение и
др.
Рассмотрим основные типы данных SQL:
INTEGER – целое число;
SMALLINT – “короткое целое”;
FLOAT – вещественное число с 15 значащими цифрами и целочисленным порядком,
определяемым типом СУБД;
CHAR(n) – символьная строка фиксированной длины из n символов (0 < n < 256);
VARCHAR(n) – символьная строка переменной длины, не превышающей n символов;
TIME – время в формате, определяемом специальной командой (по умолчанию hh.mm.ss);
DATETIME – комбинация даты и времени;
Непроцедурный, структуризированный язык запросов (SQL) – язык, ориентированный на
операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц.
Особенность предложений языка запросов SQL – ориентированность в большей степени на
конечный результат обработки данных, чем на процедуру этой обработки. SQL сам определяет, где
находятся данные, какие индексы и даже наиболее эффективные последовательности операций
следует использовать для их получения: не надо указывать эти детали в запросе к базе данных.
Непрерывный рост быстродействия, а также снижение энергопотребления, размеров и стоимости
компьютеров привели к резкому расширению возможных рынков их сбыта, круга пользователей,
разнообразия типов и цен. Естественно, что расширился спрос на разнообразное программное
обеспечение. Борясь за покупателя, фирмы, производящие программное обеспечение, стали
выпускать на рынок все более и более интеллектуальные и, следовательно, объемные программные
комплексы. Приобретая (желая приобрести) такие комплексы, многие организации и отдельные
пользователи часто не могли разместить их на собственных ЭВМ, однако не хотели и отказываться
от нового сервиса. Для обмена информацией и ее обобществления были созданы сети ЭВМ, где
обобществляемые программы и данные стали размещать на специальных обслуживающих
устройствах – файловых серверах.
СУБД, работающие с файловыми серверами, позволяют множеству пользователей разных ЭВМ
(иногда расположенных достаточно далеко друг от друга) получать доступ к одним и тем же базамданных. При этом упрощается разработка различных автоматизированных систем управления
организациями, учебных комплексов, информационных и других систем, где множество сотрудников
(учащихся) должны использовать общие данные и обмениваться создаваемыми в процессе работы
(обучения). Однако при такой идеологии вся обработка запросов из программ или с терминалов
пользовательских ЭВМ выполняется на этих же ЭВМ. Поэтому для реализации даже простого
запроса ЭВМ часто должна считывать из файлового сервера и (или) записывать на сервер целые
файлы, что ведет к конфликтным ситуациям и перегрузке сети. Для исключения указанных и
некоторых других недостатков была предложена технология “клиентсервер” – технология
обработки данных в сетях ЭВМ, по которой запросы пользовательских ЭВМ (клиент)
обрабатываются на специальных серверах баз данных (сервер), а на ЭВМклиент возвращаются лишь
результаты обработки запроса. При этом, естественно, нужен единый язык общения с сервером и в
качестве такого языка выбран SQL. Поэтому все современные версии профессиональных
реляционных СУБД (DB2, Oracle, Ingres, Informix, Sybase, Progress, Rdb) и даже нереляционных
СУБД (например, Adabas) используют технологию “КлиентСервер” и язык SQL. К тому же
приходят разработчики СУБД персональных ЭВМ, многие из которых уже сегодня снабжены языком
SQL.
Язык SQL (Structured Query Language структурированный язык запросов) представляет собой
стандартный высокоуровневый язык описания данных и манипулирования ими в системах
управления базами данных (СУБД), построенных на основе реляционной модели данных.
Язык SQL был разработан фирмой IBM в конце 70х годов. Первый международный стандарт
языка был принят международной стандартизирующей организацией ISO в 1989 г., а новый (более
полный) в 1992 г. В настоящее время все производители реляционных СУБД поддерживают с
различной степенью соответствия стандарт SQL92.
Основные категории команд языка SQL:
∙ DDL, или язык определения данных
∙ DML, или язык манипулирования данными
∙ DQL, или язык запросов
∙ DCL, или язык управления данными
∙ Команды администрирования данных
∙ Команды управления транзакциями