Similar presentations:
Язык структурных запросов SQL. История развития языка SQL
1. Язык структурных запросов SQL. История развития языка SQL
Выполнил: Туйбаев ЖалынГруппа: ИТиУ-1-20
2. SQL
«Язык структурированных запросов» —универсальный компьютерный язык,
применяемый для создания, модификации
и управления данными в реляционных базах
данных.
В начале 1970-х годов в одной из
исследовательских лабораторий компании
IBM была разработана экспериментальная
реляционная СУБД IBM System R, для
которой затем был создан специальный
язык SEQUEL, позволявший относительно
просто управлять данными в этой СУБД.
Первый стандарт SQL языка был принят в
1986 году.
3. SQL
Цель - создание простого непроцедурногоязыка, которым мог воспользоваться любой
пользователь, даже не имеющий навыков
программирования.
SQL является, прежде всего,
информационно-логическим языком,
предназначенным для описания, изменения
и извлечения данных, хранимых в
реляционных базах данных.
SQL нельзя назвать языком
программирования
4. SQL
Изначально, SQL был основным способомработы пользователя с базой данных и
позволял выполнять следующий набор
операций:
создание в базе данных новой таблицы;
добавление в таблицу новых записей;
изменение записей;
удаление записей;
выборка записей из одной или нескольких
таблиц (в соответствии с заданным
условием);
5. SQL
Каждое предложение SQL — это запрос или обращение кбазе данных, которое приводит к изменению в базе
данных.
В соответствии с тем, какие изменения происходят в базе
данных, различают следующие типы запросов:
запросы на создание или изменение в базе данных новых
или существующих объектов (при этом в запросе
описывается тип и структура создаваемого или
изменяемого объекта);
запросы на получение данных;
запросы на добавление новых данных (записей)
запросы на удаление данных;
обращения к СУБД.
6. SQL
Основным объектом хранения реляционнойбазы данных является таблица, поэтому все
SQL-запросы — это операции над таблицами.
В соответствии с этим, запросы делятся на
запросы, оперирующие самими таблицами
(создание и изменение таблиц);
запросы, оперирующие с отдельными записями
(или строками таблиц) или наборами записей.
- вставка новой строки;
- изменение значений полей строки или набора
строк;
- удаление строки или набора строк.
7. SQL
Каждая таблица описывается в видеперечисления своих полей (столбцов
таблицы) с указанием:
типа хранимых в каждом поле
значений;
связей между таблицами (задание
первичных и вторичных ключей);
информации, необходимой для
построения индексов.
8. SQL
Самый главный вид запроса — это запрос,возвращающий (пользователю) некоторый набор
строк, с которым можно осуществить одну из трёх
операций:
просмотреть полученный набор;
изменить все записи набора;
удалить все записи набора.
9. Описание
Язык SQL представляет собой совокупность:операторов;
инструкций;
и вычисляемых функций.
Согласно общепринятому стилю
программирования, операторы (и другие
зарезервированные слова) в SQL всегда
следует писать прописными буквами.
10. Операторы
Делятся на:операторы определения данных (Data Definition
Language, DDL)
- CREATE создает объект БД (саму базу, таблицу,
представление, пользователя и т. д.)
- ALTER изменяет объект
- DROP удаляет объект
11. Операторы
операторы манипуляции данными (Data ManipulationLanguage, DML)
- SELECT считывает данные, удовлетворяющие
заданным условиям
- INSERT добавляет новые данные
- UPDATE изменяет существующие данные
- DELETE удаляет данные
12. Операторы
операторы определения доступа к данным (DataControl Language, DCL)
- GRANT предоставляет пользователю (группе)
разрешения на определенные операции с объектом
- REVOKE отзывает ранее выданные разрешения
- DENY задает запрет, имеющий приоритет над
разрешением
13. Операторы
операторы управления транзакциями (TransactionControl Language, TCL)
COMMIT применяет транзакцию.
ROLLBACK откатывает все изменения, сделанные в
контексте текущей транзакции.
SAVEPOINT делит транзакцию на более мелкие
участки.
14. Select
SELECT — оператор DML (манипуляции данных) языкаSQL, возвращающий набор данных (выборку) из базы
данных, удовлетворяющих заданному условию.
В большинстве случаев, выборка осуществляется из
одной или нескольких таблиц.
При формировании запроса SELECT пользователь
описывает ожидаемый набор данных: его вид (набор
столбцов) и его содержимое (критерий попадания
записи в набор, группировка значений, порядок
вывода записей и т.п.)
15. Select
Запрос выполняется следующимобразом:
сначала извлекаются все записи из
таблицы, а, затем, для каждой
записи набора проверяется её
соответствие заданному критерию.
Если осуществляется слияние из
нескольких таблиц, то сначала
составляется произведение таблиц,
а уже затем из полученного набора
отбираются требуемые записи
(критерии)
16. Структура оператора
SELECT список полей FROM список таблиц WHERE условия…Основные ключевые слова, относящиеся к запросу SELECT:
WHERE — используется для определения, какие строки должны
быть выбраны или включены в GROUP BY.
GROUP BY — используется для объединения строк с общими
значениями в элементы меньшего набора строк.
HAVING — используется для определения, какие строки после
GROUP BY должны быть выбраны.
ORDER BY — используется для определения, какие столбцы
используются для сортировки результирующего набора данных
17.
18. Insert
INSERT — оператор языка SQL, который позволяетдобавить строки в таблицу, заполняя их значениями.
Значения можно вставлять перечислением с
помощью слова values и перечислив их в круглых
скобках через запятую или оператором select.
19. Примеры использования
20. Update
UPDATE — оператор языка SQL, позволяющийобновить значения в заданных столбцах таблицы.
21. Update
top(x) — команда выполнится только храз
<объект> — объект, над которым
выполняется действие (таблица или
представление(views))
<присваивание> — присваивание,
которое будет выполняться при каждом
выполнении условия <условие>, или для
каждой записи, если отсутствует раздел
where
<условие> — условие выполнения
команды
<хинт> — инструкция программе как
исполнить запрос
22. Delete
DELETE — в языках, подобных SQL,DML-операция удаления записей из
таблицы. Критерий отбора записей
для удаления определяется
выражением where.
В случае, если критерий отбора не
определён, выполняется удаление
всех записей.
DELETE <Имя записи для удаления> > FROM <Имя Таблицы1> JOIN <Имя
Таблицы2> ON <условие
объединения>;
23. Внедрение SQL-кода
Внедрение SQL-кода (англ. SQL injection) — один израспространённых способов взлома сайтов и
программ, работающих с базами данных, основанный
на внедрении в запрос произвольного SQL-кода.
Внедрение SQL, в зависимости от типа используемой
СУБД и условий внедрения, может дать возможность
атакующему выполнить произвольный запрос к базе
данных (например, прочитать содержимое любых
таблиц, удалить, изменить или добавить данные),
получить возможность чтения и/или записи локальных
файлов и выполнения произвольных команд на
атакуемом сервере.