Funnybluejeans
15

Самиздат: [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Обзоры] [Помощь|Техвопросы]
Links
Кожевенное мастерство: сумки, ремни своими руками
 Ваша оценка:


 Язык запросов - это искусственный язык, на котором делаются запросы к базам данных и другим информационным системам.
 Запрос представляет собой специальным образом описанное требование, определяющие состав производимых над базой данных операций по выборке, удалению или модификации хранимых данных. Для подготовки запросов с помощью различных СУБД чаще всего используются два основных языка описания запросов: язык QBE (Query By Example) - язык запросов по образцу; язык SQL (Structured Query Language) -структурированный язык запросов.
 SQL
 SQL  - формальный непроцедурный язык программирования, применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей системой управления базами данных (СУБД).
 История создания.
 В начале 1970-х годов в одной из исследовательских лабораторий компании IBM была разработана экспериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL, позволявший относительно просто управлять данными в этой СУБД.
 Когда в 1986 году первый стандарт языка SQL был принят ANSI.
 Стандартизация.
 Поскольку к началу 1980-х годов существовало несколько вариантов СУБД от разных производителей, причём каждый из них обладал собственной реализацией языка запросов, было принято решение разработать стандарт языка, который будет гарантировать переносимость ПО с одной СУБД на другую (при условии, что они будут поддерживать этот стандарт).
 В 1983 году Международная организация по стандартизации (ISO) и Американский национальный институт стандартов (ANSI) приступили к разработке стандарта языка SQL. В настоящее время действует стандарт, принятый в 2003 году (SQL:2003) с небольшими модификациями, внесёнными позже (SQL:2008). Стандарт имеет модульную структуру - основная часть стандарта была вынесена в раздел "SQL/Foundation", все остальные были выведены в отдельные модули. Соответственно, остался только один уровень совместимости - Core, что означало поддержку этой основной части. Поддержка остальных возможностей оставлена на усмотрение производителей СУБД.
 Описание
 Язык SQL представляет собой совокупность:
 1. Операторов
 DDL (операторы определения данных):
 CREATE - создать объект БД
 ALTER - изменить объект БД
 DROP - удалить объект БД
 DML (операторы манипуляции данными) :
 SELECT - считать данные, удовлетворяющие условию запроса
 INSERT - добавить новые данные
 UPDATE - изменить существующие данные
 DELETE - удалить данные
 DCL (операторы управления доступа к данным):
 GRANT - предоставляет разрешение
 REVOKE - отзывает разрешение
 DENY - задает запрет, имеющий приоритет над разрешением
 TCL (операторы управления транзакциями):
 COMMIT - применяет транзакцию
 ROLLBACK - откатывает
 SAVEPOINT - делит транзакцию на более мелкие участки
 2. Вычисляемых функций
 AVG() Функция возвращает среднее значение столбца.
 COUNT() Функция возвращает число строк в столбце.
 MAX() Функция возвращает самое большое значение в столбце.
 MIN() Функция возвращает самое маленькое значение в столбце.
 SUM() Функция возвращает сумму значений столбца.
 Статический, динамичский SQL.
 Обычно при разработке программ все используемые в них SQL-операторы явно записываются в исходном коде. Такой вариант использования SQL-операторов обычно называют статический SQL. Многие полезные программы, однако, до момента запуска не "знают", какие именно SQL-операторы будут выполняться. Именно так и появляется динамический SQL - программа при запуске выполняет SQL-операторы, неизвестные вовремя компиляции. Например, программа генерирует запросы по ходу работы на основе введенных пользователем условий.
 
 
 
 
 Преимущества и недостатки
 +
 Независимость от конктретной СУБД
 Наличие стандартов
 Декларативность (не задумываешься как СУБД выполнит запрос //не всегда +)
 -
 Создатели реляционной модели данных Кодд и Дейт указывают на то, что SQL не явл истинным реляционным языком
 Сложность
 Наличие диалектов
 Реляционная алгебра, исчисления
 Реляционная алгебра базируется на теории множеств и является основой логики работы баз данных. 
 Стандартные операции теории множеств
 Объединение
 А объединяется с B = Кортежи из А, Кортежи из B, удаление дублей.
 Пересечение
 А пересекается с B = одинаковые кортежи A и B
 Вычитание
 A / B = Кортежи из А без кортежей из B
 Декартово произведение
 A x B = атрибуты А + атрибуты B
 Проекция (вертикальная вырезка)
 Проекция (A,(имя,фамилия)) = С, в С только имя и фамилия, удаление дублей
 Селекция
 Селекция (A,(имя = Иван)) = С, в С - имеет атрибуты А, содержит записи имя = Иван
 Соединение
 Соединение (A,B, (N фак = N фак)) = Селекция (А х B, (N фак = N фак))
 
 QBE
 QBE  - способ создания запросов к базе данных, с использованием образцов значений полей в виде текстовой строки. Реализации QBE преобразуют пользовательский ввод в формальный запрос к базе данных, что позволяет пользователю создавать сложные запросы без необходимости изучать более сложные языки запросов, такие как SQL.
 Данный метод отбора данных впервые предложен Моше Злуфом сотрудником исследовательского центра IBM в 1970 году.
 Эксплуатационным преимуществом поиска QBE является то, что для формирования запроса не требуется использовать специализированный язык запросов, синтаксис которого может быть сложен и недоступен конечному пользователю. Пользователю выводится окно, в котором указаны все поля данных, встречающиеся в каждой записи данных; введение информации в конкретное поисковое поле ограничит поиск совпадением (полным или частичным, в зависимости от договорённости реализации) по данному полю. Проверка условий осуществляется только по заполненным условиям на поля, а поля, условия на которые указаны не будут, могут соответствовать чему угодно. Многие практические реализации QBE допускают также не только конъюнктивное соединение условий в заполненных полях, но и другие варианты соединения условий (например, дизъюнкцию, отрицание, существование или несуществование связанных записей и другие).
  Примеры использование (много скринов) http://inf8.gym5cheb.ru/p30aa1.html
 Ваша оценка:

Связаться с программистом сайта.

Новые книги авторов СИ, вышедшие из печати:
О.Болдырева "Крадуш. Чужие души" М.Николаев "Вторжение на Землю"

Как попасть в этoт список

Кожевенное мастерство | Сайт "Художники" | Доска об'явлений "Книги"