русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Язык SQL


Дата добавления: 2014-12-01; просмотров: 598; Нарушение авторских прав


SQL (произносится “SEQUEL”)- структурированный язык запросов (Structured Query Language).

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

Прообраз SQL возник в 1970 году в одной из лабораторий IBM (Санта-Тереза (проект System/R)) как средство запроса к реляционной БД. На настоящее время SQL стал фактически стандартом и его популярность настолько велика, что разработчики не реляционных СУБД (например, Adobes), снабжают свои системы SQL- интерфейсом.

Кроме de facto SQL имеет официальный стандарт ANCI / ISO (American National Standarts Institute / International Standarts Organization), что выводит его в ранг международного стандарта.

Настоящая тенденция заключается в том, что многие реальные СУБД расширяют возможности за рамки ANCI и тогда «хорошие» черты вновь становятся «рыночным» стандартом и повторяются другими.

SQL изначально не являлся языком программирования, поскольку на нем пишутся не программы, а запросы к БД. Т.е. SQL- декларативный язык. Это означает, что с его помощью можно сформулировать ЧТО необходимо получить, но нельзя указать КАК это сделать. Операторы типа if, for, do, while и т.п. – отсутствуют.

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

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

       
 
   
 

SELECT Выбрать Вбрать данные из БД
INSERT Добавить Добавить данные в БД
UPDATE Обновить Обновить данные в БД
DELETE Удалить Удалить данные из БД
GRANT Разрешить Предоставить привилегию пользователю
REVOKE Отменить Отменить привилегию пользователя
COMMIT ЗАФИКСИРОВАТЬ Зафиксировать текущую транзакцию
ROLLBACK ПРЕРВАТЬ Прервать текущую транзакцию

 



В командах участвуют имена, идентифицирующие объекты БД. Например, имя таблицы (Деталь), имя столбца (Название). Имена могут быть сложными, в которых перед именем столбца, через разделитель ‘.’ следует имя таблицы (Деталь. Все).

Пример 1

Запрос: «определить количество деталей на складе, для всех типов деталей»

 

SELECT Название, Количество FROM Деталь;

(Выбрать) (Из).

Результат: таблица со столбцами:

 

Название Количество

Это вертикальная проекция.

 

Пример 2

Запрос: «какие детали, из стали, хранятся на складе?»

 

SELECT* FROM Деталь WHERE Материал = «Сталь»;

(где)

Результат- таблица, но содержащая только те строки из исходной таблицы, которые в столбце (поле) «Материал» имеют «Сталь». Это горизонтальная проекция, поскольку * означает выбор из всех столбцов.

 

Пример 3

Запрос: «определить название и количество деталей на складе, изготовленных из пластмассы и весящих меньше 5 кг».

SELECT Название, Количество FROM Деталь

WHERE Материал = «Пластмасса»

AND Вес < 5;

Результат- таблица из 2 столбцов «Название» и «Количество». Сначала- горизонтальная проекция, затем- вертикальная.

 

Пример 4

SELECT Название, Количество, Материал

FROM Деталь

WHERE Номер = «Т145-А8»;

 

Если в таблице «Деталь» не существует индекса по полю «Номер», то запрос будет выполняться долго из-за прямого перебора.

 

Индекс можно создать командой CREATE INDEX

CREATE UNIQUE INDEX Индекс детали

ON Деталь (Номер);

 

Создается индекс с именем «Индекс детали» по столбцу «Номер» таблицы «Деталь».

Чаще всего для пользователя СУБД представляют интерес не отдельные команды SQL (иногда используется термин для всей строки; до ‘;’- Statement (продолжение, фраза)), а некоторая их последовательность. Каждая такая последовательность Statements реализует некую законченную операцию в терминах предметной области. Например, банковскую операцию (перевод некоторой суммы с краткосрочного счета на долгосрочный в несколько шагов (снятие со счета, зачисление на счет)).

Если в процессе выполнения этой многошаговой операции произойдет сбой, когда первая часть (снятие) будет выполнена, а вторая- нет, то деньги будут потеряны. Следовательно, любое многошаговое действие над БД должно быть выполнено целиком, или не выполняться вовсе. Такое действие получило название транзакция.

Обработка транзакций опирается на журнал транзакций. В него заносится информация о каждой транзакции и она используется для ОТКАТА транзакций и восстановления состояния БД.

 



<== предыдущая лекция | следующая лекция ==>
Стр. 58. | Команда SELECT


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.813 сек.