Скачать презентацию Язык структурных запросов SQL История развития языка SQL Скачать презентацию Язык структурных запросов SQL История развития языка SQL

Тема 3.5.1 Язык структкрных запросов SQL.ppt

  • Количество слайдов: 23

Язык структурных запросов SQL. История развития языка SQL Дисциплина: Ри. ЭАИС Язык структурных запросов SQL. История развития языка SQL Дисциплина: Ри. ЭАИС

SQL «Язык структурированных запросов» — универсальный компьютерный язык, применяемый для создания, модификации и управления SQL «Язык структурированных запросов» — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. В начале 1970 -х годов в одной из исследовательских лабораторий компании IBM была разработана экспериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL, позволявший относительно просто управлять данными в этой СУБД. Первый стандарт SQL языка был принят в 1986 году.

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

SQL Изначально, SQL был основным способом работы пользователя с базой данных и позволял выполнять SQL Изначально, SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций: • • • создание в базе данных новой таблицы; добавление в таблицу новых записей; изменение записей; удаление записей; выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);

SQL • Каждое предложение SQL — это запрос или обращение к базе данных, которое SQL • Каждое предложение SQL — это запрос или обращение к базе данных, которое приводит к изменению в базе данных. В соответствии с тем, какие изменения происходят в базе данных, различают следующие типы запросов: • запросы на создание или изменение в базе данных новых или существующих объектов (при этом в запросе описывается тип и структура создаваемого или изменяемого объекта); • запросы на получение данных; • запросы на добавление новых данных (записей) • запросы на удаление данных; • обращения к СУБД.

SQL Основным объектом хранения реляционной базы данных является таблица, поэтому все SQL-запросы — это SQL Основным объектом хранения реляционной базы данных является таблица, поэтому все SQL-запросы — это операции над таблицами. В соответствии с этим, запросы делятся на • запросы, оперирующие самими таблицами (создание и изменение таблиц); • запросы, оперирующие с отдельными записями (или строками таблиц) или наборами записей. - вставка новой строки; - изменение значений полей строки или набора строк; - удаление строки или набора строк.

SQL Каждая таблица описывается в виде перечисления своих полей (столбцов таблицы) с указанием: • SQL Каждая таблица описывается в виде перечисления своих полей (столбцов таблицы) с указанием: • типа хранимых в каждом поле значений; • связей между таблицами (задание первичных и вторичных ключей); • информации, необходимой для построения индексов.

SQL Самый главный вид запроса — это запрос, возвращающий (пользователю) некоторый набор строк, с SQL Самый главный вид запроса — это запрос, возвращающий (пользователю) некоторый набор строк, с которым можно осуществить одну из трёх операций: • просмотреть полученный набор; • изменить все записи набора; • удалить все записи набора.

Описание Язык SQL представляет собой совокупность: • операторов; • инструкций; • и вычисляемых функций. Описание Язык SQL представляет собой совокупность: • операторов; • инструкций; • и вычисляемых функций. • Согласно общепринятому стилю программирования, операторы (и другие зарезервированные слова) в SQL всегда следует писать прописными буквами.

Операторы Делятся на: • операторы определения данных (Data Definition Language, DDL) - CREATE создает Операторы Делятся на: • операторы определения данных (Data Definition Language, DDL) - CREATE создает объект БД (саму базу, таблицу, представление, пользователя и т. д. ) - ALTER изменяет объект - DROP удаляет объект

Операторы • операторы манипуляции данными (Data Manipulation Language, DML) - SELECT считывает данные, удовлетворяющие Операторы • операторы манипуляции данными (Data Manipulation Language, DML) - SELECT считывает данные, удовлетворяющие заданным условиям - INSERT добавляет новые данные - UPDATE изменяет существующие данные - DELETE удаляет данные

Операторы • операторы определения доступа к данным (Data Control Language, DCL) - GRANT предоставляет Операторы • операторы определения доступа к данным (Data Control Language, DCL) - GRANT предоставляет пользователю (группе) разрешения на определенные операции с объектом - REVOKE отзывает ранее выданные разрешения - DENY задает запрет, имеющий приоритет над разрешением

Операторы • операторы управления транзакциями (Transaction Control Language, TCL) COMMIT применяет транзакцию. ROLLBACK откатывает Операторы • операторы управления транзакциями (Transaction Control Language, TCL) COMMIT применяет транзакцию. ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции. SAVEPOINT делит транзакцию на более мелкие участки.

Select • SELECT — оператор DML (манипуляции данных) языка SQL, возвращающий набор данных (выборку) Select • SELECT — оператор DML (манипуляции данных) языка SQL, возвращающий набор данных (выборку) из базы данных, удовлетворяющих заданному условию. • В большинстве случаев, выборка осуществляется из одной или нескольких таблиц. • При формировании запроса SELECT пользователь описывает ожидаемый набор данных: его вид (набор столбцов) и его содержимое (критерий попадания записи в набор, группировка значений, порядок вывода записей и т. п. )

Select Запрос выполняется следующим образом: сначала извлекаются все записи из таблицы, а, затем, для Select Запрос выполняется следующим образом: сначала извлекаются все записи из таблицы, а, затем, для каждой записи набора проверяется её соответствие заданному критерию. Если осуществляется слияние из нескольких таблиц, то сначала составляется произведение таблиц, а уже затем из полученного набора отбираются требуемые записи (критерии)

Структура оператора SELECT список полей FROM список таблиц WHERE условия… • • Основные ключевые Структура оператора SELECT список полей FROM список таблиц WHERE условия… • • Основные ключевые слова, относящиеся к запросу SELECT: WHERE — используется для определения, какие строки должны быть выбраны или включены в GROUP BY — используется для объединения строк с общими значениями в элементы меньшего набора строк. HAVING — используется для определения, какие строки после GROUP BY должны быть выбраны. ORDER BY — используется для определения, какие столбцы используются для сортировки результирующего набора данных

Insert INSERT — оператор языка SQL, который позволяет добавить строки в таблицу, заполняя их Insert INSERT — оператор языка SQL, который позволяет добавить строки в таблицу, заполняя их значениями. Значения можно вставлять перечислением с помощью слова values и перечислив их в круглых скобках через запятую или оператором select.

Примеры использования Примеры использования

Update UPDATE — оператор языка SQL, позволяющий обновить значения в заданных столбцах таблицы. Update UPDATE — оператор языка SQL, позволяющий обновить значения в заданных столбцах таблицы.

Update • top(x) — команда выполнится только х раз • <объект> — объект, над Update • top(x) — команда выполнится только х раз • <объект> — объект, над которым выполняется действие (таблица или представление(views)) • <присваивание> — присваивание, которое будет выполняться при каждом выполнении условия <условие>, или для каждой записи, если отсутствует раздел where • <условие> — условие выполнения команды • <хинт> — инструкция программе как исполнить запрос

Delete DELETE — в языках, подобных SQL, DMLоперация удаления записей из таблицы. Критерий отбора Delete DELETE — в языках, подобных SQL, DMLоперация удаления записей из таблицы. Критерий отбора записей для удаления определяется выражением where. В случае, если критерий отбора не определён, выполняется удаление всех записей. DELETE <Имя записи для удаления> -> FROM <Имя Таблицы1> JOIN <Имя Таблицы2> ON <условие объединения>;

Внедрение SQL-кода (англ. SQL injection) — один из распространённых способов взлома сайтов и программ, Внедрение SQL-кода (англ. SQL injection) — один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL-кода. Внедрение SQL, в зависимости от типа используемой СУБД и условий внедрения, может дать возможность атакующему выполнить произвольный запрос к базе данных (например, прочитать содержимое любых таблиц, удалить, изменить или добавить данные), получить возможность чтения и/или записи локальных файлов и выполнения произвольных команд на атакуемом сервере.