🗊Презентация Язык SQL. (Лекция 1)

Категория: Информатика
Нажмите для полного просмотра!
Язык SQL. (Лекция 1), слайд №1Язык SQL. (Лекция 1), слайд №2Язык SQL. (Лекция 1), слайд №3Язык SQL. (Лекция 1), слайд №4Язык SQL. (Лекция 1), слайд №5Язык SQL. (Лекция 1), слайд №6Язык SQL. (Лекция 1), слайд №7Язык SQL. (Лекция 1), слайд №8Язык SQL. (Лекция 1), слайд №9Язык SQL. (Лекция 1), слайд №10Язык SQL. (Лекция 1), слайд №11Язык SQL. (Лекция 1), слайд №12Язык SQL. (Лекция 1), слайд №13Язык SQL. (Лекция 1), слайд №14Язык SQL. (Лекция 1), слайд №15Язык SQL. (Лекция 1), слайд №16Язык SQL. (Лекция 1), слайд №17Язык SQL. (Лекция 1), слайд №18Язык SQL. (Лекция 1), слайд №19Язык SQL. (Лекция 1), слайд №20Язык SQL. (Лекция 1), слайд №21Язык SQL. (Лекция 1), слайд №22Язык SQL. (Лекция 1), слайд №23Язык SQL. (Лекция 1), слайд №24Язык SQL. (Лекция 1), слайд №25Язык SQL. (Лекция 1), слайд №26Язык SQL. (Лекция 1), слайд №27Язык SQL. (Лекция 1), слайд №28Язык SQL. (Лекция 1), слайд №29Язык SQL. (Лекция 1), слайд №30Язык SQL. (Лекция 1), слайд №31Язык SQL. (Лекция 1), слайд №32Язык SQL. (Лекция 1), слайд №33Язык SQL. (Лекция 1), слайд №34Язык SQL. (Лекция 1), слайд №35Язык SQL. (Лекция 1), слайд №36Язык SQL. (Лекция 1), слайд №37Язык SQL. (Лекция 1), слайд №38Язык SQL. (Лекция 1), слайд №39Язык SQL. (Лекция 1), слайд №40Язык SQL. (Лекция 1), слайд №41Язык SQL. (Лекция 1), слайд №42Язык SQL. (Лекция 1), слайд №43Язык SQL. (Лекция 1), слайд №44Язык SQL. (Лекция 1), слайд №45Язык SQL. (Лекция 1), слайд №46

Содержание

Вы можете ознакомиться и скачать презентацию на тему Язык SQL. (Лекция 1). Доклад-сообщение содержит 46 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





СУБД 
Лекция 1
Основы языка SQL
Описание слайда:
СУБД Лекция 1 Основы языка SQL

Слайд 2





История
История
Язык SQL (Structured Query Language - структурированный язык запросов) представляет собой стандартный высокоуровневый язык описания данных и манипулирования ими в системах управления базами данных (СУБД), построенных на основе реляционной модели данных.
В начале 1970-х годов компанией IBM была разработана экспериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL, позволявший относительно просто управлять данными в этой СУБД. Аббревиатура SEQUEL расшифровывалась как Structured English QUEry Language — «структурированный английский язык запросов». Позже язык SEQUEL был переименован в SQL.
Описание слайда:
История История Язык SQL (Structured Query Language - структурированный язык запросов) представляет собой стандартный высокоуровневый язык описания данных и манипулирования ими в системах управления базами данных (СУБД), построенных на основе реляционной модели данных. В начале 1970-х годов компанией IBM была разработана экспериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL, позволявший относительно просто управлять данными в этой СУБД. Аббревиатура SEQUEL расшифровывалась как Structured English QUEry Language — «структурированный английский язык запросов». Позже язык SEQUEL был переименован в SQL.

Слайд 3





Стандартизация
Стандартизация
Целью стандартизации является переносимость приложений между различными СУБД.
Год	 Название	Иное название	Изменения
1986     SQL-86	SQL-87	Первый вариант стандарта, принятый институтом ANSI (Американский национальный институт стандартов) и одобренный ISO  (Международная организация по стандартизации) в 1987 году.
1989	SQL-89	FIPS 127-1  (Federal Information Processing Standards, Федеральные Стандарты Обработки Информации) 	Немного доработанный вариант предыдущего стандарта.
1992	SQL-92	SQL2, FIPS 127-2	Значительные изменения (ISO 9075); уровень Entry Level  (начальный (англ. entry), средний (англ. intermediate), полный (англ. full)) стандарта SQL-92 был принят как стандарт FIPS 127-2.
1999	SQL:1999	SQL3	Добавлена поддержка регулярных выражений рекурсивных запросов, поддержка триггеров, базовые процедурные расширения, нескалярные типы данных и некоторые объектно-ориентированные возможности.
Описание слайда:
Стандартизация Стандартизация Целью стандартизации является переносимость приложений между различными СУБД. Год Название Иное название Изменения 1986 SQL-86 SQL-87 Первый вариант стандарта, принятый институтом ANSI (Американский национальный институт стандартов) и одобренный ISO (Международная организация по стандартизации) в 1987 году. 1989 SQL-89 FIPS 127-1 (Federal Information Processing Standards, Федеральные Стандарты Обработки Информации) Немного доработанный вариант предыдущего стандарта. 1992 SQL-92 SQL2, FIPS 127-2 Значительные изменения (ISO 9075); уровень Entry Level (начальный (англ. entry), средний (англ. intermediate), полный (англ. full)) стандарта SQL-92 был принят как стандарт FIPS 127-2. 1999 SQL:1999 SQL3 Добавлена поддержка регулярных выражений рекурсивных запросов, поддержка триггеров, базовые процедурные расширения, нескалярные типы данных и некоторые объектно-ориентированные возможности.

Слайд 4





(Регуля́рные выраже́ния (англ. regular expressions)— это формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов. По сути это строка-образец (англ. pattern, по-русски её часто называют «шаблоном», «маской»), состоящая из символов и метасимволов и задающая правило поиска.)
(Регуля́рные выраже́ния (англ. regular expressions)— это формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов. По сути это строка-образец (англ. pattern, по-русски её часто называют «шаблоном», «маской»), состоящая из символов и метасимволов и задающая правило поиска.)
2003	SQL:2003		Введены расширения для работы с XML-данными  (XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML)), оконные функции (применяемые для работы с OLAP-базами данных) (OLAP (англ. online analytical processing, аналитическая обработка в реальном времени) — технология обработки данных, заключающаяся в подготовке суммарной (агрегированной) информации на основе больших массивов данных, структурированных по многомерному принципу) , генераторы последовательностей и основанные на них типы данных.
2006	SQL:2006		Функциональность работы с XML-данными значительно расширена. Появилась возможность совместно использовать в запросах SQL и XQuery (XQuery — язык запросов, разработанный для обработки данных в формате XML).
Описание слайда:
(Регуля́рные выраже́ния (англ. regular expressions)— это формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов. По сути это строка-образец (англ. pattern, по-русски её часто называют «шаблоном», «маской»), состоящая из символов и метасимволов и задающая правило поиска.) (Регуля́рные выраже́ния (англ. regular expressions)— это формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов. По сути это строка-образец (англ. pattern, по-русски её часто называют «шаблоном», «маской»), состоящая из символов и метасимволов и задающая правило поиска.) 2003 SQL:2003 Введены расширения для работы с XML-данными (XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML)), оконные функции (применяемые для работы с OLAP-базами данных) (OLAP (англ. online analytical processing, аналитическая обработка в реальном времени) — технология обработки данных, заключающаяся в подготовке суммарной (агрегированной) информации на основе больших массивов данных, структурированных по многомерному принципу) , генераторы последовательностей и основанные на них типы данных. 2006 SQL:2006 Функциональность работы с XML-данными значительно расширена. Появилась возможность совместно использовать в запросах SQL и XQuery (XQuery — язык запросов, разработанный для обработки данных в формате XML).

Слайд 5





2008    SQL:2008	Улучшены возможности оконных функций («окно» - набор строк, характеризуемых равенством значений списка выражений), устранены некоторые неоднозначности стандарта SQL:2003
2008    SQL:2008	Улучшены возможности оконных функций («окно» - набор строк, характеризуемых равенством значений списка выражений), устранены некоторые неоднозначности стандарта SQL:2003
В настоящее время действует стандарт, принятый в 2003 году (SQL:2003) с небольшими модификациями, внесёнными позже.
Несмотря на наличие международного стандарта ANSI SQL-92, многие компании, занимающиеся разработкой СУБД (например, Oracle, Sybase, Microsoft, MySQL AB), вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом, появляются специфичные для каждой конкретной СУБД диалекты языка SQL.
Описание слайда:
2008 SQL:2008 Улучшены возможности оконных функций («окно» - набор строк, характеризуемых равенством значений списка выражений), устранены некоторые неоднозначности стандарта SQL:2003 2008 SQL:2008 Улучшены возможности оконных функций («окно» - набор строк, характеризуемых равенством значений списка выражений), устранены некоторые неоднозначности стандарта SQL:2003 В настоящее время действует стандарт, принятый в 2003 году (SQL:2003) с небольшими модификациями, внесёнными позже. Несмотря на наличие международного стандарта ANSI SQL-92, многие компании, занимающиеся разработкой СУБД (например, Oracle, Sybase, Microsoft, MySQL AB), вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом, появляются специфичные для каждой конкретной СУБД диалекты языка SQL.

Слайд 6





SQL не является языком программирования (то есть не предоставляет средств для автоматизации операций с данными). 
SQL не является языком программирования (то есть не предоставляет средств для автоматизации операций с данными). 
Вводимые разными производителями расширения касались в первую очередь процедурных расширений. Это хранимые процедуры (stored procedures) и процедурные языки-«надстройки». 
Практически в каждой СУБД применяется свой процедурный язык. Стандарт для процедурных расширений представлен спецификацией SQL/PSM.
Описание слайда:
SQL не является языком программирования (то есть не предоставляет средств для автоматизации операций с данными). SQL не является языком программирования (то есть не предоставляет средств для автоматизации операций с данными). Вводимые разными производителями расширения касались в первую очередь процедурных расширений. Это хранимые процедуры (stored procedures) и процедурные языки-«надстройки». Практически в каждой СУБД применяется свой процедурный язык. Стандарт для процедурных расширений представлен спецификацией SQL/PSM.

Слайд 7





Процедурные расширения для популярных СУБД :
Процедурные расширения для популярных СУБД :
СУБД	Краткое название	Расшифровка
InterBase/Firebird	PSQL	Procedural SQL
IBM DB2	SQL PL (англ.)	SQL Procedural Language (расширяет SQL/PSM); также в DB2 хранимые процедуры могут писаться на обычных языках программирования: Си, Java и т. д.
MS SQL Server/Sybase ASE  Transact-SQL	Transact-SQL
MySQL	 SQL/PSM	SQL/Persistent Stored Module
Oracle	PL/SQL	Procedural Language/SQL (основан на языке Ada)
PostgreSQL	 PL/pgSQL	Procedural Language/ PostgreSQL Structured Query Language (очень похож на Oracle PL/SQL)
Описание слайда:
Процедурные расширения для популярных СУБД : Процедурные расширения для популярных СУБД : СУБД Краткое название Расшифровка InterBase/Firebird PSQL Procedural SQL IBM DB2 SQL PL (англ.) SQL Procedural Language (расширяет SQL/PSM); также в DB2 хранимые процедуры могут писаться на обычных языках программирования: Си, Java и т. д. MS SQL Server/Sybase ASE Transact-SQL Transact-SQL MySQL SQL/PSM SQL/Persistent Stored Module Oracle PL/SQL Procedural Language/SQL (основан на языке Ada) PostgreSQL PL/pgSQL Procedural Language/ PostgreSQL Structured Query Language (очень похож на Oracle PL/SQL)

Слайд 8





Реляционные СУБД
Реляционные СУБД
В настоящее время наибольшее распространение получили реляционные SQL СУБД двух групп: 
мощные крупные коммерческие СУБД, ориентированные на хранение огромных объемов информации (от гигабайт);
мобильные компактные свободно распространяемые (в том числе и в исходных кодах) СУБД, использование которых оправдано и для БД объемом всего лишь в десятки килобайт.
Описание слайда:
Реляционные СУБД Реляционные СУБД В настоящее время наибольшее распространение получили реляционные SQL СУБД двух групп: мощные крупные коммерческие СУБД, ориентированные на хранение огромных объемов информации (от гигабайт); мобильные компактные свободно распространяемые (в том числе и в исходных кодах) СУБД, использование которых оправдано и для БД объемом всего лишь в десятки килобайт.

Слайд 9





Наиболее известными СУБД первой группы являются: 
Наиболее известными СУБД первой группы являются: 
 Sybase SQLserver фирмы Sybase, Inc.;
 Oracle фирмы Oracle Corporation;
 Ingres фирмы Computer Associates International;
 Informix фирмы Informix Corporation.
К наиболее популярным СУБД второй группы относятся: 
 PostgreSQL организации PostgreSQL;
 microSQL фирмы Hughes Technologies Pty. Ltd.;
 mySQL фирмы T.C.X DataKonsult AB.
Все перечисленные выше СУБД построены по принципу "клиент-сервер", как это показано на рисунке ниже.
Описание слайда:
Наиболее известными СУБД первой группы являются: Наиболее известными СУБД первой группы являются: Sybase SQLserver фирмы Sybase, Inc.; Oracle фирмы Oracle Corporation; Ingres фирмы Computer Associates International; Informix фирмы Informix Corporation. К наиболее популярным СУБД второй группы относятся: PostgreSQL организации PostgreSQL; microSQL фирмы Hughes Technologies Pty. Ltd.; mySQL фирмы T.C.X DataKonsult AB. Все перечисленные выше СУБД построены по принципу "клиент-сервер", как это показано на рисунке ниже.

Слайд 10


Язык SQL. (Лекция 1), слайд №10
Описание слайда:

Слайд 11





SQL-сервер реализует хранение данных и манипулирование ими. Он принимает запросы на языке SQL от своих клиентов, выполняет их и возвращает результаты (чаще всего в виде вновь построенных таблиц) клиентам. Для общения с клиентами используется специальный протокол (как правило, реализованный в виде протокола прикладного уровня стека сетевых протоколов TCP/IP). 
SQL-сервер реализует хранение данных и манипулирование ими. Он принимает запросы на языке SQL от своих клиентов, выполняет их и возвращает результаты (чаще всего в виде вновь построенных таблиц) клиентам. Для общения с клиентами используется специальный протокол (как правило, реализованный в виде протокола прикладного уровня стека сетевых протоколов TCP/IP). 
Клиентскую часть СУБД составляют клиенты трех основных типов. 
Интерактивные клиенты, обеспечивающие пользователю-человеку возможность общения с SQL-сервером непосредственно с помощью языка SQL.
Описание слайда:
SQL-сервер реализует хранение данных и манипулирование ими. Он принимает запросы на языке SQL от своих клиентов, выполняет их и возвращает результаты (чаще всего в виде вновь построенных таблиц) клиентам. Для общения с клиентами используется специальный протокол (как правило, реализованный в виде протокола прикладного уровня стека сетевых протоколов TCP/IP). SQL-сервер реализует хранение данных и манипулирование ими. Он принимает запросы на языке SQL от своих клиентов, выполняет их и возвращает результаты (чаще всего в виде вновь построенных таблиц) клиентам. Для общения с клиентами используется специальный протокол (как правило, реализованный в виде протокола прикладного уровня стека сетевых протоколов TCP/IP). Клиентскую часть СУБД составляют клиенты трех основных типов. Интерактивные клиенты, обеспечивающие пользователю-человеку возможность общения с SQL-сервером непосредственно с помощью языка SQL.

Слайд 12





ИПП-клиенты, обеспечивающие интерфейс прикладного программирования (ИПП) прикладным программам, использующим средства SQL-сервера. Такой ИПП может быть средством общения прикладной программы с SQL-сервером на языке SQL или набором стандартных функций доступа к реляционной SQL БД без формирования символьных строк запросов (например, стандартный интерфейс ODBC). (ODBC (англ. Open Database Connectivity) — это программный интерфейс (API) доступа к базам данных, разработанный фирмой Microsoft, в сотрудничестве с Simba Technologies на основе спецификаций Call Level Interface (CLI). Стандарт CLI призван унифицировать программное взаимодействие с СУБД, сделать его независимым от поставщика СУБД и программно-аппаратной платформы.) 
ИПП-клиенты, обеспечивающие интерфейс прикладного программирования (ИПП) прикладным программам, использующим средства SQL-сервера. Такой ИПП может быть средством общения прикладной программы с SQL-сервером на языке SQL или набором стандартных функций доступа к реляционной SQL БД без формирования символьных строк запросов (например, стандартный интерфейс ODBC). (ODBC (англ. Open Database Connectivity) — это программный интерфейс (API) доступа к базам данных, разработанный фирмой Microsoft, в сотрудничестве с Simba Technologies на основе спецификаций Call Level Interface (CLI). Стандарт CLI призван унифицировать программное взаимодействие с СУБД, сделать его независимым от поставщика СУБД и программно-аппаратной платформы.) 
WWW-клиенты, встраиваемые в World Wide Web-сервера и обеспечивающие доступ к информационным возможностям SQL-сервера пользователям сети Internet по протоколу HTTP (протоколу передачи гипертекстовых документов).
Описание слайда:
ИПП-клиенты, обеспечивающие интерфейс прикладного программирования (ИПП) прикладным программам, использующим средства SQL-сервера. Такой ИПП может быть средством общения прикладной программы с SQL-сервером на языке SQL или набором стандартных функций доступа к реляционной SQL БД без формирования символьных строк запросов (например, стандартный интерфейс ODBC). (ODBC (англ. Open Database Connectivity) — это программный интерфейс (API) доступа к базам данных, разработанный фирмой Microsoft, в сотрудничестве с Simba Technologies на основе спецификаций Call Level Interface (CLI). Стандарт CLI призван унифицировать программное взаимодействие с СУБД, сделать его независимым от поставщика СУБД и программно-аппаратной платформы.) ИПП-клиенты, обеспечивающие интерфейс прикладного программирования (ИПП) прикладным программам, использующим средства SQL-сервера. Такой ИПП может быть средством общения прикладной программы с SQL-сервером на языке SQL или набором стандартных функций доступа к реляционной SQL БД без формирования символьных строк запросов (например, стандартный интерфейс ODBC). (ODBC (англ. Open Database Connectivity) — это программный интерфейс (API) доступа к базам данных, разработанный фирмой Microsoft, в сотрудничестве с Simba Technologies на основе спецификаций Call Level Interface (CLI). Стандарт CLI призван унифицировать программное взаимодействие с СУБД, сделать его независимым от поставщика СУБД и программно-аппаратной платформы.) WWW-клиенты, встраиваемые в World Wide Web-сервера и обеспечивающие доступ к информационным возможностям SQL-сервера пользователям сети Internet по протоколу HTTP (протоколу передачи гипертекстовых документов).

Слайд 13





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

Слайд 14





В языке SQL не делается различия между прописными (большими) и строчными (маленькими) буквами, т.е., например, строки "SELECT", "Select", "select" представляют собой одно и то же ключевое слово.
В языке SQL не делается различия между прописными (большими) и строчными (маленькими) буквами, т.е., например, строки "SELECT", "Select", "select" представляют собой одно и то же ключевое слово.
Но, согласно общепринятому стилю программирования, операторы (и другие зарезервированные слова) в SQL всегда следует писать прописными буквами.
Все ключевые слова, имена функций и, как правило, имена таблиц и столбцов записываются латинскими буквами.
Для конструирования имен таблиц и их столбцов допустимо использовать буквы, цифры и знак "_" (подчеркивание), но первым символом имени обязательно должна быть буква. 
Запрещено использование ключевых слов и имен функций в качестве идентификаторов таблиц и имен столбцов.
Описание слайда:
В языке SQL не делается различия между прописными (большими) и строчными (маленькими) буквами, т.е., например, строки "SELECT", "Select", "select" представляют собой одно и то же ключевое слово. В языке SQL не делается различия между прописными (большими) и строчными (маленькими) буквами, т.е., например, строки "SELECT", "Select", "select" представляют собой одно и то же ключевое слово. Но, согласно общепринятому стилю программирования, операторы (и другие зарезервированные слова) в SQL всегда следует писать прописными буквами. Все ключевые слова, имена функций и, как правило, имена таблиц и столбцов записываются латинскими буквами. Для конструирования имен таблиц и их столбцов допустимо использовать буквы, цифры и знак "_" (подчеркивание), но первым символом имени обязательно должна быть буква. Запрещено использование ключевых слов и имен функций в качестве идентификаторов таблиц и имен столбцов.

Слайд 15





Оператор начинается с ключевого слова-глагола (например, "CREATE" - создать, "UPDATE" - обновить, "SELECT" - выбрать и т.п.) и заканчивается знаком ";" (точка с запятой).
Оператор начинается с ключевого слова-глагола (например, "CREATE" - создать, "UPDATE" - обновить, "SELECT" - выбрать и т.п.) и заканчивается знаком ";" (точка с запятой).
Оператор записывается в свободном формате и может занимать несколько строк. Допустимыми разделителями лексических единиц в операторе являются: 
 один или несколько пробелов,
 один или несколько символов табуляции,
 один или несколько символов "новая строка".
Комментарии при использовании в различных СУБД в текстах "программ" на языке SQL могут помечаться следующими способами: 
 от двойного минуса ("--") до конца строки;
 от символа "#" до конца строки;
 между последовательностями "/*" и "*/" (стиль комментариев языка СИ).
Описание слайда:
Оператор начинается с ключевого слова-глагола (например, "CREATE" - создать, "UPDATE" - обновить, "SELECT" - выбрать и т.п.) и заканчивается знаком ";" (точка с запятой). Оператор начинается с ключевого слова-глагола (например, "CREATE" - создать, "UPDATE" - обновить, "SELECT" - выбрать и т.п.) и заканчивается знаком ";" (точка с запятой). Оператор записывается в свободном формате и может занимать несколько строк. Допустимыми разделителями лексических единиц в операторе являются: один или несколько пробелов, один или несколько символов табуляции, один или несколько символов "новая строка". Комментарии при использовании в различных СУБД в текстах "программ" на языке SQL могут помечаться следующими способами: от двойного минуса ("--") до конца строки; от символа "#" до конца строки; между последовательностями "/*" и "*/" (стиль комментариев языка СИ).

Слайд 16





Типы данных языка SQL
Типы данных языка SQL
Типы данных, используемые в языке SQL для хранения информации в столбцах таблиц БД, весьма разнообразны. Но производители конкретных реляционных СУБД  "улучшают" множество типов данных, регламентируемых стандартом,  реализуя свои собственные версии и расширения. 
Следующие типы данных являются стандартными.
INT[(len)] - целое число длиной 4 байта, представляемое при выводе максимально len цифрами;
 SMALLINT[(len)] - целое число длиной 2 байта, представляемое при выводе максимально len цифрами;
 FLOAT[(len,dec)] - действительное число, представляемое при выводе максимально len символами с dec цифрами после десятичной точки;
 CHAR(size) - строка символов фиксированной длины размером size символов;
Описание слайда:
Типы данных языка SQL Типы данных языка SQL Типы данных, используемые в языке SQL для хранения информации в столбцах таблиц БД, весьма разнообразны. Но производители конкретных реляционных СУБД "улучшают" множество типов данных, регламентируемых стандартом, реализуя свои собственные версии и расширения. Следующие типы данных являются стандартными. INT[(len)] - целое число длиной 4 байта, представляемое при выводе максимально len цифрами; SMALLINT[(len)] - целое число длиной 2 байта, представляемое при выводе максимально len цифрами; FLOAT[(len,dec)] - действительное число, представляемое при выводе максимально len символами с dec цифрами после десятичной точки; CHAR(size) - строка символов фиксированной длины размером size символов;

Слайд 17





Типы данных языка SQL
Типы данных языка SQL
 VARCHAR(size) - строка символов переменной длины максимальным размером до size символов;
 BLOB (Binary Large OBject) - массив произвольных (двоичных) байтов (максимальный размер зависит от реализации, обычно это 65535 байт); этот тип данных может использоваться, например, для хранения изображений;
 DATE - астрономическая дата;
 TIME - астрономическое время.
Символьные константы (типа CHAR и VARCHAR) записываются как последовательности символов, заключенные в одиночные апострофы.
Описание слайда:
Типы данных языка SQL Типы данных языка SQL VARCHAR(size) - строка символов переменной длины максимальным размером до size символов; BLOB (Binary Large OBject) - массив произвольных (двоичных) байтов (максимальный размер зависит от реализации, обычно это 65535 байт); этот тип данных может использоваться, например, для хранения изображений; DATE - астрономическая дата; TIME - астрономическое время. Символьные константы (типа CHAR и VARCHAR) записываются как последовательности символов, заключенные в одиночные апострофы.

Слайд 18





TINYINT[(length)] [UNSIGNED] [ZEROFILL] 
TINYINT[(length)] [UNSIGNED] [ZEROFILL] 
SMALLINT[(length)] [UNSIGNED] [ZEROFILL] 
MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL] 
INT[(length)] [UNSIGNED] [ZEROFILL] 
INTEGER[(length)] [UNSIGNED] [ZEROFILL] 
BIGINT[(length)] [UNSIGNED] [ZEROFILL] 
REAL[(length,decimals)] [UNSIGNED] [ZEROFILL] 
DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL] 
FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL] 
DECIMAL(length,decimals) [UNSIGNED] [ZEROFILL] 
NUMERIC(length,decimals) [UNSIGNED] [ZEROFILL] 
CHAR(length) [BINARY] 
VARCHAR(length) [BINARY] 
DATE 
TIME 
TIMESTAMP 
DATETIME 
TINYBLOB 
BLOB 
MEDIUMBLOB 
LONGBLOB 
TINYTEXT 
TEXT 
MEDIUMTEXT 
LONGTEXT 
ENUM(value1,value2,value3,...) 
SET(value1,value2,value3,...)
Описание слайда:
TINYINT[(length)] [UNSIGNED] [ZEROFILL] TINYINT[(length)] [UNSIGNED] [ZEROFILL] SMALLINT[(length)] [UNSIGNED] [ZEROFILL] MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL] INT[(length)] [UNSIGNED] [ZEROFILL] INTEGER[(length)] [UNSIGNED] [ZEROFILL] BIGINT[(length)] [UNSIGNED] [ZEROFILL] REAL[(length,decimals)] [UNSIGNED] [ZEROFILL] DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL] FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL] DECIMAL(length,decimals) [UNSIGNED] [ZEROFILL] NUMERIC(length,decimals) [UNSIGNED] [ZEROFILL] CHAR(length) [BINARY] VARCHAR(length) [BINARY] DATE TIME TIMESTAMP DATETIME TINYBLOB BLOB MEDIUMBLOB LONGBLOB TINYTEXT TEXT MEDIUMTEXT LONGTEXT ENUM(value1,value2,value3,...) SET(value1,value2,value3,...)

Слайд 19





Десятичные константы (типа FLOAT) могут записываться в "научной" нотации как последовательности следующих компонент: 
Десятичные константы (типа FLOAT) могут записываться в "научной" нотации как последовательности следующих компонент: 
 знак числа;
 десятичное число с точкой;
 символ "е";
 знак ("+" или "-") показателя степени;
 целое число, играющее роль показателя степени числа 10.
Например, десятичное число -0,123 может быть записано как -12.3е-2.
Отличие типов данных CHAR и VARCHAR: для хранения в таблице строк символов типа CHAR используется точно size байт (хотя содержимое может быть значительно короче), а для строк типа VARCHAR незанятые символами строк ("пустые") байты в таблице не хранятся. 
Величины len и dec (в отличие от size) не влияют на размер хранения данных в таблице, а только форматируют вывод данных из таблицы.
Описание слайда:
Десятичные константы (типа FLOAT) могут записываться в "научной" нотации как последовательности следующих компонент: Десятичные константы (типа FLOAT) могут записываться в "научной" нотации как последовательности следующих компонент: знак числа; десятичное число с точкой; символ "е"; знак ("+" или "-") показателя степени; целое число, играющее роль показателя степени числа 10. Например, десятичное число -0,123 может быть записано как -12.3е-2. Отличие типов данных CHAR и VARCHAR: для хранения в таблице строк символов типа CHAR используется точно size байт (хотя содержимое может быть значительно короче), а для строк типа VARCHAR незанятые символами строк ("пустые") байты в таблице не хранятся. Величины len и dec (в отличие от size) не влияют на размер хранения данных в таблице, а только форматируют вывод данных из таблицы.

Слайд 20





Тип данных BLOB поддерживается непосредственно не всеми СУБД, однако каждая из них предлагает его аналог (например, BINARY или IMAGE).
Тип данных BLOB поддерживается непосредственно не всеми СУБД, однако каждая из них предлагает его аналог (например, BINARY или IMAGE).
Рекомендация. Разрабатывая мобильное приложение (рассчитанное на работу в среде различных СУБД), старайтесь без необходимости избегать использования необязательных возможностей в описании типов данных.
Описание слайда:
Тип данных BLOB поддерживается непосредственно не всеми СУБД, однако каждая из них предлагает его аналог (например, BINARY или IMAGE). Тип данных BLOB поддерживается непосредственно не всеми СУБД, однако каждая из них предлагает его аналог (например, BINARY или IMAGE). Рекомендация. Разрабатывая мобильное приложение (рассчитанное на работу в среде различных СУБД), старайтесь без необходимости избегать использования необязательных возможностей в описании типов данных.

Слайд 21





Язык SQL оперирует терминами, несколько отличающимися от терминов реляционной теории, например, вместо "отношений" используются "таблицы", вместо "кортежей" - "строки", вместо "атрибутов" - "колонки" или "столбцы". 
Язык SQL оперирует терминами, несколько отличающимися от терминов реляционной теории, например, вместо "отношений" используются "таблицы", вместо "кортежей" - "строки", вместо "атрибутов" - "колонки" или "столбцы". 
Стандарт языка SQL, хотя и основан на реляционной теории, но во многих местах отходит он нее. Например, отношение в реляционной модели данных не допускает наличия одинаковых кортежей, а таблицы в терминологии SQL могут иметь одинаковые строки. Имеются и другие отличия. 
Язык SQL является реляционно полным. Это означает, что любой оператор реляционной алгебры может быть выражен подходящим оператором SQL.
Хотя SQL и задумывался как средство работы конечного пользователя, в конце концов он стал настолько сложным, что превратился в инструмент программиста.
Описание слайда:
Язык SQL оперирует терминами, несколько отличающимися от терминов реляционной теории, например, вместо "отношений" используются "таблицы", вместо "кортежей" - "строки", вместо "атрибутов" - "колонки" или "столбцы". Язык SQL оперирует терминами, несколько отличающимися от терминов реляционной теории, например, вместо "отношений" используются "таблицы", вместо "кортежей" - "строки", вместо "атрибутов" - "колонки" или "столбцы". Стандарт языка SQL, хотя и основан на реляционной теории, но во многих местах отходит он нее. Например, отношение в реляционной модели данных не допускает наличия одинаковых кортежей, а таблицы в терминологии SQL могут иметь одинаковые строки. Имеются и другие отличия. Язык SQL является реляционно полным. Это означает, что любой оператор реляционной алгебры может быть выражен подходящим оператором SQL. Хотя SQL и задумывался как средство работы конечного пользователя, в конце концов он стал настолько сложным, что превратился в инструмент программиста.

Слайд 22





В язык SQL в качестве составных частей входят: 
В язык SQL в качестве составных частей входят: 
 Язык манипулирования данными (Data Manipulation Language, DML) 
 Язык определения данных (Data Definition Language, DDL) 
 Язык управления данными (Data Control Language, DCL)
 Язык управления транзакциями (Transaction Control Language, TCL)
Описание слайда:
В язык SQL в качестве составных частей входят: В язык SQL в качестве составных частей входят: Язык манипулирования данными (Data Manipulation Language, DML) Язык определения данных (Data Definition Language, DDL) Язык управления данными (Data Control Language, DCL) Язык управления транзакциями (Transaction Control Language, TCL)

Слайд 23





Операторы определения данных (Data Definition Language, DDL): 
Операторы определения данных (Data Definition Language, DDL): 
CREATE создать объект БД (саму базу DATABASE , таблицу TABLE, представление VIEW , индекс INDEX, триггер TRIGGER, процедуру PROCEDURE и т. д.);
ALTER изменить объект;
DROP удалить объект;
операторы манипулирования данными (Data Manipulation Language, DML): 
SELECT выбрать данные, удовлетворяющие заданным условиям;
INSERT вставить (добавить) новые данные;
UPDATE изменить существующие данные;
DELETE удалить данные;
Описание слайда:
Операторы определения данных (Data Definition Language, DDL): Операторы определения данных (Data Definition Language, DDL): CREATE создать объект БД (саму базу DATABASE , таблицу TABLE, представление VIEW , индекс INDEX, триггер TRIGGER, процедуру PROCEDURE и т. д.); ALTER изменить объект; DROP удалить объект; операторы манипулирования данными (Data Manipulation Language, DML): SELECT выбрать данные, удовлетворяющие заданным условиям; INSERT вставить (добавить) новые данные; UPDATE изменить существующие данные; DELETE удалить данные;

Слайд 24





операторы определения доступа к данным (Data Control Language, DCL): 
операторы определения доступа к данным (Data Control Language, DCL): 
GRANT предоставить пользователю (группе) права на определенные операции с объектом;
REVOKE забрать ранее выданные права;
DENY задать запрет, имеющий приоритет над разрешением;
операторы управления транзакциями (Transaction Control Language, TCL): 
COMMIT применяет транзакцию;
ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции;
SAVEPOINT делит транзакцию на более мелкие участки.
Описание слайда:
операторы определения доступа к данным (Data Control Language, DCL): операторы определения доступа к данным (Data Control Language, DCL): GRANT предоставить пользователю (группе) права на определенные операции с объектом; REVOKE забрать ранее выданные права; DENY задать запрет, имеющий приоритет над разрешением; операторы управления транзакциями (Transaction Control Language, TCL): COMMIT применяет транзакцию; ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции; SAVEPOINT делит транзакцию на более мелкие участки.

Слайд 25





С точки зрения прикладного интерфейса существуют две формы SQL: 
С точки зрения прикладного интерфейса существуют две формы SQL: 
Интерактивный SQL
Встроенный или вложенный SQL.
Интерактивный SQL используется для непосредственного (оперативного) выполнения запросов пользователя к базе данных. При завершении ввода команды в этой форме SQL она поступает на выполнение, и вы сможете увидеть результат немедленно (если он вообще получится). 
Встроенный SQL состоит из команд SQL, помещённых внутри программ, которые обычно написаны на другом языке (типа Си или Паскаля). Это делает эти программы более мощными и эффективными.
Описание слайда:
С точки зрения прикладного интерфейса существуют две формы SQL: С точки зрения прикладного интерфейса существуют две формы SQL: Интерактивный SQL Встроенный или вложенный SQL. Интерактивный SQL используется для непосредственного (оперативного) выполнения запросов пользователя к базе данных. При завершении ввода команды в этой форме SQL она поступает на выполнение, и вы сможете увидеть результат немедленно (если он вообще получится). Встроенный SQL состоит из команд SQL, помещённых внутри программ, которые обычно написаны на другом языке (типа Си или Паскаля). Это делает эти программы более мощными и эффективными.

Слайд 26





Динамический SQL
Динамический SQL
Для упрощения создания интерактивных SQL-ориентированных систем во встроенный SQL были включены операторы, позволяющие во время выполнения транзакции откомпилировать и выполнить любой оператор SQL.
Оператор PREPARE вызывает динамическую компиляцию оператора SQL, текст которого содержится в указанной переменной символьной строке включающей программы. Текст может быть помещен в переменную при выполнении программы любым допустимым способом, например, введен с терминала. 
Оператор DESCRIBE служит для получения информации об указанном операторе SQL, ранее подготовленном с помощью оператора PREPARE. 
Для выполнения ранее подготовленного оператора SQL, не являющегося оператором выборки, служит оператор EXECUTE и т.д.
Описание слайда:
Динамический SQL Динамический SQL Для упрощения создания интерактивных SQL-ориентированных систем во встроенный SQL были включены операторы, позволяющие во время выполнения транзакции откомпилировать и выполнить любой оператор SQL. Оператор PREPARE вызывает динамическую компиляцию оператора SQL, текст которого содержится в указанной переменной символьной строке включающей программы. Текст может быть помещен в переменную при выполнении программы любым допустимым способом, например, введен с терминала. Оператор DESCRIBE служит для получения информации об указанном операторе SQL, ранее подготовленном с помощью оператора PREPARE. Для выполнения ранее подготовленного оператора SQL, не являющегося оператором выборки, служит оператор EXECUTE и т.д.

Слайд 27





Операторы DDL
Операторы DDL
1. Создание базы данных 
CREATE DATABASE [IF NOT EXISTS] db_name;
2. Создание таблицы
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options] [select_statement]
tbl_name - имя таблицы,
TEMPORARY - параметр используется для создания временной таблицы,
create_definition - определяет внутреннюю структуру создаваемой таблицы (названия и типы полей, ключи, индексы и т.д.):
col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [PRIMARY KEY] [reference_definition],
PRIMARY KEY (index_col_name,...),
KEY [index_name] (index_col_name,...),
INDEX [index_name] (index_col_name,...),
UNIQUE [INDEX] [index_name] (index_col_name,...),
[CONSTRAINT symbol] FOREIGN KEY [index_name] (index_col_name,...) [reference_definition],
CHECK (expr).
Описание слайда:
Операторы DDL Операторы DDL 1. Создание базы данных CREATE DATABASE [IF NOT EXISTS] db_name; 2. Создание таблицы CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options] [select_statement] tbl_name - имя таблицы, TEMPORARY - параметр используется для создания временной таблицы, create_definition - определяет внутреннюю структуру создаваемой таблицы (названия и типы полей, ключи, индексы и т.д.): col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [PRIMARY KEY] [reference_definition], PRIMARY KEY (index_col_name,...), KEY [index_name] (index_col_name,...), INDEX [index_name] (index_col_name,...), UNIQUE [INDEX] [index_name] (index_col_name,...), [CONSTRAINT symbol] FOREIGN KEY [index_name] (index_col_name,...) [reference_definition], CHECK (expr).

Слайд 28





CREATE TABLE имя_табл (
CREATE TABLE имя_табл (
имя_столбца тип_данных [NOT NULL ] [DEFAULT по_умолч] [PRIMARY KEY],
…
PRIMARY KEY имя_ключа (имя_столбца, ...),
KEY имя_ключа (имя_столбца, ...),
[CONSTRAINT имя_ограничения] FOREIGN KEY (имя_поля,…) REFERENCES имя_родительской_табл (имя_поля,…)
        			[ON DELETE CASCADE],
CHECK (имя_поля IN (знач,…) | имя_поля > знач |…)
);
Описание слайда:
CREATE TABLE имя_табл ( CREATE TABLE имя_табл ( имя_столбца тип_данных [NOT NULL ] [DEFAULT по_умолч] [PRIMARY KEY], … PRIMARY KEY имя_ключа (имя_столбца, ...), KEY имя_ключа (имя_столбца, ...), [CONSTRAINT имя_ограничения] FOREIGN KEY (имя_поля,…) REFERENCES имя_родительской_табл (имя_поля,…) [ON DELETE CASCADE], CHECK (имя_поля IN (знач,…) | имя_поля > знач |…) );

Слайд 29





Пример
Пример
1) CREATE TABLE P(PNUM INT PRIMARY KEY,
PNAME  VARCHAR(15) NOT NULL,
PSTATUS SMALLINT(3) NOT NULL);
2) CREATE TABLE D(DNUM INT PRIMARY KEY,
DNAME  VARCHAR(15) NOT NULL,
DSTATUS SMALLINT(3) NOT NULL);
3) CREATE TABLE PD(PNUM INT NOT NULL,
DNUM INT NOT NULL,
VOLUME INT NOT NULL,
PRIMARY KEY PNUM_DNUM(PNUM, DNUM),
FOREIGN KEY (PNUM) REFERENCES P (PNUM),
FOREIGN KEY (DNUM) REFERENCES D (DNUM)
);
Описание слайда:
Пример Пример 1) CREATE TABLE P(PNUM INT PRIMARY KEY, PNAME VARCHAR(15) NOT NULL, PSTATUS SMALLINT(3) NOT NULL); 2) CREATE TABLE D(DNUM INT PRIMARY KEY, DNAME VARCHAR(15) NOT NULL, DSTATUS SMALLINT(3) NOT NULL); 3) CREATE TABLE PD(PNUM INT NOT NULL, DNUM INT NOT NULL, VOLUME INT NOT NULL, PRIMARY KEY PNUM_DNUM(PNUM, DNUM), FOREIGN KEY (PNUM) REFERENCES P (PNUM), FOREIGN KEY (DNUM) REFERENCES D (DNUM) );

Слайд 30





3. Удаление таблицы
3. Удаление таблицы
DROP TABLE [IF EXISTS] tbl_name [, tbl_name,...];
4. Изменение таблицы
ALTER TABLE tbl_name alter_specification [, alter_specification ...];
alter_specification:
ADD [COLUMN] (create_definition, create_definition,...)
ADD INDEX [index_name] (index_col_name,...)
ADD UNIQUE [index_name] (index_col_name,...)
CHANGE [COLUMN] old_col_name create_definition [FIRST | AFTER column_name]
DROP [COLUMN] col_name
DROP INDEX index_name
RENAME [TO] new_tbl_name 
…
Описание слайда:
3. Удаление таблицы 3. Удаление таблицы DROP TABLE [IF EXISTS] tbl_name [, tbl_name,...]; 4. Изменение таблицы ALTER TABLE tbl_name alter_specification [, alter_specification ...]; alter_specification: ADD [COLUMN] (create_definition, create_definition,...) ADD INDEX [index_name] (index_col_name,...) ADD UNIQUE [index_name] (index_col_name,...) CHANGE [COLUMN] old_col_name create_definition [FIRST | AFTER column_name] DROP [COLUMN] col_name DROP INDEX index_name RENAME [TO] new_tbl_name …

Слайд 31





Примеры
Примеры
1) ALTER TABLE P 	
ADD PTOWN VARCHAR(15),
ADD INDEX index_town (PTOWN );
2) ALTER TABLE D 	
ADD DPRICE INT NOT NULL
AFTER DNAME;
5. Удаление базы данных
DROP DATABASE [IF EXISTS] db_name;
Описание слайда:
Примеры Примеры 1) ALTER TABLE P ADD PTOWN VARCHAR(15), ADD INDEX index_town (PTOWN ); 2) ALTER TABLE D ADD DPRICE INT NOT NULL AFTER DNAME; 5. Удаление базы данных DROP DATABASE [IF EXISTS] db_name;

Слайд 32





Операторы DML
Операторы DML
1. Вставка новых строк в таблицу
INSERT  [INTO] tbl_name [(col_name,...)]
    VALUES (expression,...),(...),...
или
INSERT [INTO] tbl_name
    SET col_name=expression, col_name=expression, ...
или
 INSERT  [INTO] tbl_name [(col_name,...)]
    SELECT ...
Описание слайда:
Операторы DML Операторы DML 1. Вставка новых строк в таблицу INSERT [INTO] tbl_name [(col_name,...)] VALUES (expression,...),(...),... или INSERT [INTO] tbl_name SET col_name=expression, col_name=expression, ... или INSERT [INTO] tbl_name [(col_name,...)] SELECT ...

Слайд 33





Примеры
Примеры
1) Вставка одной строки в таблицу 
INSERT INTO  P (PNUM, PNAME, PSTATUS)
  VALUES (4, ‘Иванов’,3);
2) В таблицу TMP_TABLE вставляются данные о поставщиках из таблицы P, имеющих номера, большие 2 
INSERT INTO  TMP_TABLE (PNUM, PNAME)
  SELECT PNUM, PNAME
    FROM P
    WHERE P.PNUM>2;
Описание слайда:
Примеры Примеры 1) Вставка одной строки в таблицу INSERT INTO P (PNUM, PNAME, PSTATUS) VALUES (4, ‘Иванов’,3); 2) В таблицу TMP_TABLE вставляются данные о поставщиках из таблицы P, имеющих номера, большие 2 INSERT INTO TMP_TABLE (PNUM, PNAME) SELECT PNUM, PNAME FROM P WHERE P.PNUM>2;

Слайд 34





2. Удаление строк из таблицы
2. Удаление строк из таблицы
DELETE FROM table_name   [WHERE where_definition]
    [ORDER BY ...]   [LIMIT rows]
LIMIT - задает максимальное количество строк (с начала таблицы), которые могут быть удалены за текущий запрос;
ORDER BY - задает имя поля, или имена полей через запятую, по которым происходит сортировка удаляемых записей. 
Эта возможность актуальна при необходимости удалить только определенное количество записей, отсортированных по какому-либо свойству.
Описание слайда:
2. Удаление строк из таблицы 2. Удаление строк из таблицы DELETE FROM table_name [WHERE where_definition] [ORDER BY ...] [LIMIT rows] LIMIT - задает максимальное количество строк (с начала таблицы), которые могут быть удалены за текущий запрос; ORDER BY - задает имя поля, или имена полей через запятую, по которым происходит сортировка удаляемых записей. Эта возможность актуальна при необходимости удалить только определенное количество записей, отсортированных по какому-либо свойству.

Слайд 35





Примеры
Примеры
1) Удаление нескольких строк в таблице: 
DELETE FROM P  WHERE PSTATUS = 1;
2) Удаление всех строк в таблице (таблица сохраняется): 
DELETE FROM P;
3) Удаление одной детали с наименьшим статусом
DELETE FROM D	
	ORDER BY DSTATUS LIMIT 1;
Описание слайда:
Примеры Примеры 1) Удаление нескольких строк в таблице: DELETE FROM P WHERE PSTATUS = 1; 2) Удаление всех строк в таблице (таблица сохраняется): DELETE FROM P; 3) Удаление одной детали с наименьшим статусом DELETE FROM D ORDER BY DSTATUS LIMIT 1;

Слайд 36





3. Обновление записи в таблице 
3. Обновление записи в таблице 
UPDATE tbl_name
    SET col_name1=expr1 [, col_name2=expr2, ...]
    [WHERE where_definition]
    [LIMIT rows];
SET - после этого ключевого слова должен идти список полей таблицы, которые будут обновлены и непосредственно сами новые значения полей в виде: имя_поля='значение‘;
WHERE - задает условие отбора записей, подлежащих изменению;
LIMIT - задает максимальное количество строк, которые могут быть изменены.
Описание слайда:
3. Обновление записи в таблице 3. Обновление записи в таблице UPDATE tbl_name SET col_name1=expr1 [, col_name2=expr2, ...] [WHERE where_definition] [LIMIT rows]; SET - после этого ключевого слова должен идти список полей таблицы, которые будут обновлены и непосредственно сами новые значения полей в виде: имя_поля='значение‘; WHERE - задает условие отбора записей, подлежащих изменению; LIMIT - задает максимальное количество строк, которые могут быть изменены.

Слайд 37





Примеры
Примеры
1) Обновление строк в таблице: 
UPDATE P  SET PNAME = ‘Pushnikov’
  WHERE PNUM = 1;
UPDATE P  SET PTOWN = ‘TVER’
  WHERE P TOWN= ‘MOSCOW’;
2) Обновление всех строк в таблице
UPDATE  P  SET PSTATUS = PSTATUS +1;
Описание слайда:
Примеры Примеры 1) Обновление строк в таблице: UPDATE P SET PNAME = ‘Pushnikov’ WHERE PNUM = 1; UPDATE P SET PTOWN = ‘TVER’ WHERE P TOWN= ‘MOSCOW’; 2) Обновление всех строк в таблице UPDATE P SET PSTATUS = PSTATUS +1;

Слайд 38





4. Поиск (выборка) записей 
4. Поиск (выборка) записей 
SELECT  [DISTINCT | ALL]
   expression,...
   [INTO {OUTFILE | DUMPFILE} 'file_name' export_options]
   [FROM table_references
      [WHERE where_definition]
      [GROUP BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
      [HAVING where_definition]
      [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
      [LIMIT [offset,] rows]
Описание слайда:
4. Поиск (выборка) записей 4. Поиск (выборка) записей SELECT [DISTINCT | ALL] expression,... [INTO {OUTFILE | DUMPFILE} 'file_name' export_options] [FROM table_references [WHERE where_definition] [GROUP BY {unsigned_integer | col_name | formula} [ASC | DESC], ...] [HAVING where_definition] [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...] [LIMIT [offset,] rows]

Слайд 39





SELECT [ALL | DISTINCT] в_выражение, ...
SELECT [ALL | DISTINCT] в_выражение, ...
    FROM имя_табл [син_табл], ...
    [WHERE сложн_условие]
    [GROUP BY полн_имя_столбца|ном_столбца, ...]
    [HAVING сложн_условие]
    [ORDER BY полн_имя_столбца|ном_столбца [ASC|DESC], ...] ;
Результатом работы оператора является выводимая на стандартный вывод вновь построенная таблица, для которой 
 количество и смысл столбцов определяется списком элементов в_выражение;
 содержимое строк определяется содержимым исходных таблиц из списка FROM и критерием выборки, задаваемым сложн_условие.
Описание слайда:
SELECT [ALL | DISTINCT] в_выражение, ... SELECT [ALL | DISTINCT] в_выражение, ... FROM имя_табл [син_табл], ... [WHERE сложн_условие] [GROUP BY полн_имя_столбца|ном_столбца, ...] [HAVING сложн_условие] [ORDER BY полн_имя_столбца|ном_столбца [ASC|DESC], ...] ; Результатом работы оператора является выводимая на стандартный вывод вновь построенная таблица, для которой количество и смысл столбцов определяется списком элементов в_выражение; содержимое строк определяется содержимым исходных таблиц из списка FROM и критерием выборки, задаваемым сложн_условие.

Слайд 40





син_табл - необязательный синоним имени таблицы, используемый для сокращения длины записи выражений и условий в операторе SELECT.
син_табл - необязательный синоним имени таблицы, используемый для сокращения длины записи выражений и условий в операторе SELECT.
полн_имя_столбца - полное имя столбца в виде
[имя_табл|син_табл.]имя_столбца
 Конкретизирующий таблицу префикс в имени столбца необходим только для различения столбцов, имеющих одинаковое имя в разных таблицах из списка FROM. 
ном_столбца - номер столбца результирующей таблицы.
Замечание. Подчеркнутый вариант ALL, ASC используется по умолчанию.
Описание слайда:
син_табл - необязательный синоним имени таблицы, используемый для сокращения длины записи выражений и условий в операторе SELECT. син_табл - необязательный синоним имени таблицы, используемый для сокращения длины записи выражений и условий в операторе SELECT. полн_имя_столбца - полное имя столбца в виде [имя_табл|син_табл.]имя_столбца Конкретизирующий таблицу префикс в имени столбца необходим только для различения столбцов, имеющих одинаковое имя в разных таблицах из списка FROM. ном_столбца - номер столбца результирующей таблицы. Замечание. Подчеркнутый вариант ALL, ASC используется по умолчанию.

Слайд 41





I. Отбор данных из одной таблицы
I. Отбор данных из одной таблицы
1) Выбрать все данные из таблицы поставщиков
SELECT *
  FROM P;
Замечание. Дубликаты строк автоматически не отбрасываются.
2) Выбрать все строки из таблицы поставщиков, удовлетворяющие некоторому условию
 SELECT *
  FROM P
  WHERE P.PNUM > 2;
Замечание. В разделе WHERE можно использовать сложные логические выражения, использующие поля таблиц, константы, операции сравнения (>, <, = и т.д.), скобки, знаки логических операций AND, OR и NOT.
Описание слайда:
I. Отбор данных из одной таблицы I. Отбор данных из одной таблицы 1) Выбрать все данные из таблицы поставщиков SELECT * FROM P; Замечание. Дубликаты строк автоматически не отбрасываются. 2) Выбрать все строки из таблицы поставщиков, удовлетворяющие некоторому условию SELECT * FROM P WHERE P.PNUM > 2; Замечание. В разделе WHERE можно использовать сложные логические выражения, использующие поля таблиц, константы, операции сравнения (>, <, = и т.д.), скобки, знаки логических операций AND, OR и NOT.

Слайд 42





В разделе WHERE можно использовать предикаты сравнения, in, between, null, like и т.д.
В разделе WHERE можно использовать предикаты сравнения, in, between, null, like и т.д.
Примеры условий отбора строк
1) (PD.PNUM, PD.DNUM) = (1, 25) эквивалентно
PD.PNUM = 1 AND PD.DNUM = 25
2) P.PNUM IN (1, 2, 3, 5)
3) P.PNUM [NOT] BETWEEN 1 AND 5
4) P.STATUS IS [NOT] NULL
5) P.PNAME [NOT] LIKE ‘%ov_’ [ESCAPE ‘c’]
Замечание. Предикат LIKE производит сравнение строки со строкой-шаблоном (“маской”). В строке-шаблоне разрешается использовать два трафаретных символа: 
Символ подчеркивания "_" может использоваться вместо любого единичного символа в строке. 
Символ процента "%" может заменять набор любых символов в строке (число символов в наборе может быть от 0 и более).
Описание слайда:
В разделе WHERE можно использовать предикаты сравнения, in, between, null, like и т.д. В разделе WHERE можно использовать предикаты сравнения, in, between, null, like и т.д. Примеры условий отбора строк 1) (PD.PNUM, PD.DNUM) = (1, 25) эквивалентно PD.PNUM = 1 AND PD.DNUM = 25 2) P.PNUM IN (1, 2, 3, 5) 3) P.PNUM [NOT] BETWEEN 1 AND 5 4) P.STATUS IS [NOT] NULL 5) P.PNAME [NOT] LIKE ‘%ov_’ [ESCAPE ‘c’] Замечание. Предикат LIKE производит сравнение строки со строкой-шаблоном (“маской”). В строке-шаблоне разрешается использовать два трафаретных символа: Символ подчеркивания "_" может использоваться вместо любого единичного символа в строке. Символ процента "%" может заменять набор любых символов в строке (число символов в наборе может быть от 0 и более).

Слайд 43





Пусть требуется найти строку, которая содержит ("%", "_") в качестве информационных символов. Для этого с помощью ключевого слова ESCAPE нужно определить так называемый escape-символ, который, будучи поставленным перед символом "%" или "_", укажет, что этот символ является информационным. 
Пусть требуется найти строку, которая содержит ("%", "_") в качестве информационных символов. Для этого с помощью ключевого слова ESCAPE нужно определить так называемый escape-символ, который, будучи поставленным перед символом "%" или "_", укажет, что этот символ является информационным. 
Escape-символ не может быть символом "\" (обратная косая черта) и, вообще говоря, должен представлять собой символ, никогда не появляющийся в упоминаемом столбце как информационный символ. 
Часто для этих целей используются символы "@" и "~".
Пример. Получить список поставщиков, в имени которых содержится "_" (знак подчеркивания).
SELECT pname
 FROM Р
 WHERE pname LIKE ‘%@_%’ ESCAPE ‘@’;
Описание слайда:
Пусть требуется найти строку, которая содержит ("%", "_") в качестве информационных символов. Для этого с помощью ключевого слова ESCAPE нужно определить так называемый escape-символ, который, будучи поставленным перед символом "%" или "_", укажет, что этот символ является информационным. Пусть требуется найти строку, которая содержит ("%", "_") в качестве информационных символов. Для этого с помощью ключевого слова ESCAPE нужно определить так называемый escape-символ, который, будучи поставленным перед символом "%" или "_", укажет, что этот символ является информационным. Escape-символ не может быть символом "\" (обратная косая черта) и, вообще говоря, должен представлять собой символ, никогда не появляющийся в упоминаемом столбце как информационный символ. Часто для этих целей используются символы "@" и "~". Пример. Получить список поставщиков, в имени которых содержится "_" (знак подчеркивания). SELECT pname FROM Р WHERE pname LIKE ‘%@_%’ ESCAPE ‘@’;

Слайд 44





3)Выбрать некоторые колонки из исходной таблицы, удалив из результата повторяющиеся строки (ключевое слово DISTINCT): 
3)Выбрать некоторые колонки из исходной таблицы, удалив из результата повторяющиеся строки (ключевое слово DISTINCT): 
SELECT DISTINCT P.NAME
  FROM P;
4) Использование вычисляемых полей, скалярных выражений и переименований колонок в запросах (ключевое слово AS…): 
SELECT
    TOVAR.TNAME,
    TOVAR.KOL,
    TOVAR.PRICE,
    "=" AS EQU,
    TOVAR.KOL*TOVAR.PRICE AS SUMMA
  FROM TOVAR;
Описание слайда:
3)Выбрать некоторые колонки из исходной таблицы, удалив из результата повторяющиеся строки (ключевое слово DISTINCT): 3)Выбрать некоторые колонки из исходной таблицы, удалив из результата повторяющиеся строки (ключевое слово DISTINCT): SELECT DISTINCT P.NAME FROM P; 4) Использование вычисляемых полей, скалярных выражений и переименований колонок в запросах (ключевое слово AS…): SELECT TOVAR.TNAME, TOVAR.KOL, TOVAR.PRICE, "=" AS EQU, TOVAR.KOL*TOVAR.PRICE AS SUMMA FROM TOVAR;

Слайд 45





5) Упорядочение результатов запроса (ключевое слово ORDER BY…): 
5) Упорядочение результатов запроса (ключевое слово ORDER BY…): 
SELECT PD.PNUM, PD.DNUM, PD.VOLUME
  FROM PD
  ORDER BY DNUM;
6) Упорядочение результатов запроса по нескольким полям с возрастанием или убыванием (ключевые слова ASC, DESC): 
SELECT PD.PNUM,
    PD.DNUM,
    PD.VOLUME
  FROM PD
  ORDER BY 
    DNUM ASC,
    VOLUME DESC;
Описание слайда:
5) Упорядочение результатов запроса (ключевое слово ORDER BY…): 5) Упорядочение результатов запроса (ключевое слово ORDER BY…): SELECT PD.PNUM, PD.DNUM, PD.VOLUME FROM PD ORDER BY DNUM; 6) Упорядочение результатов запроса по нескольким полям с возрастанием или убыванием (ключевые слова ASC, DESC): SELECT PD.PNUM, PD.DNUM, PD.VOLUME FROM PD ORDER BY DNUM ASC, VOLUME DESC;

Слайд 46





7) Использование LIMIT [start,] length
7) Использование LIMIT [start,] length
start - указывает, с какой позиции нужно выдавать найденные записи, 
length - количество записей. 
Замечания 
1. Если требуется выводить записи с начала таблицы, первый параметр можно опустить.
2. Записи нумеруются с нуля.
Пример. 1. Вывести из таблицы Поставщики 20 записей, начиная с 5-ой.
SELECT * FROM P LIMIT 5, 20;
2. Вывести из таблицы Поставщики 5 последних записей.
SELECT * FROM P ORDER BY PNUM DESC LIMIT 0, 5;
или
SELECT * FROM P ORDER BY  PNUM DESC LIMIT 5;
Описание слайда:
7) Использование LIMIT [start,] length 7) Использование LIMIT [start,] length start - указывает, с какой позиции нужно выдавать найденные записи, length - количество записей. Замечания 1. Если требуется выводить записи с начала таблицы, первый параметр можно опустить. 2. Записи нумеруются с нуля. Пример. 1. Вывести из таблицы Поставщики 20 записей, начиная с 5-ой. SELECT * FROM P LIMIT 5, 20; 2. Вывести из таблицы Поставщики 5 последних записей. SELECT * FROM P ORDER BY PNUM DESC LIMIT 0, 5; или SELECT * FROM P ORDER BY PNUM DESC LIMIT 5;



Похожие презентации
Mypresentation.ru
Загрузить презентацию