Первый слайд презентации: ВВЕДЕНИЕ В SQL
SQL является интерактивным языком запросов, который обеспечивает пользователю быстрый доступ к данным. SQL является также языком программирования баз данных. Программисты могут вставить SQL -запросы в свои программы, чтобы получить доступ к базам данных SQL – язык распределения базы данных, служит для распределения данных взаимодействующих систем, для распределенной обработки баз данных
Слайд 3: Функции языка SQL :
Организация данных – создание и изменение структуры баз данных Чтение данных Обработка данных – удаление, добавление и корректировка данных Управление доступа к данным – предоставление привилегий (ограничение возможностей) пользователю для чтения и изменения данных Совместное использование данных- координация общего пользования данных многими пользователями Целостность данных – защита данных от разрушения при сбое системы или других обстоятельствах
Слайд 4: Стандарты SQL
Разработка SQL началась в 1982 году Американским институтом национальных стандартов ANSI (American National Standards Institute). В 1986 SQL был официально утвержден как стандарт ANSI, ф в 1987 году – в качестве стандарта ISO ( International Standards Organization ) – международной организации по стандартизации.
Слайд 5: SQL в компьютерной сети
Сервер базы данных выполняет SQL – запрос и возвращает пользователю только ту информацию из базы данных, которая соответствует этому SQL - запросу
Слайд 6: Элементы языка SQL
Ключевые слова Имена Константы Типы данных Встроенные функции выражения
Слайд 7: Ключевые слова. Имена. Константы
Ключевые слова – это фиксированный набор английских слов, которые определяют тип запроса и необходимую информацию для выполнения этого запроса Имена используются для обозначения (присвоения имени) таблиц, столбцов в таблице, а также владельцев таблиц (баз данных) Константы служат для явного указания величин – чисел, строк, дату и время – в командах SQL
Слайд 8: Типы данных. Выражения
Типы данных служат для представления информации в базах данных. В SQL определен набор типов данных ( char, varchar, integer, smallint… ) Выражения в SQL представляют собой имена, константы, встроенные функции, связанные между собой знаками арифметических операций. В сложных выражениях для изменения порядка вычислений применяются круглые скобки.
Слайд 9: Встроенные функции в основном предназначены для преобразования типов данных и для обработки строк
Некоторые встроенные функции Current_date ()- возвращает текущую дату Current_time (точность) - возвращает текущее время Char_length (строка) – возвращает длину строки Extract – возвращает значение части day, hour и т.д. даты Lower (строка) - возвращает строку, преобразованную к нижнему регистру Upper (строка) - возвращает строку, преобразованную к верхнему регистру Month (дата) – возвращает значение месяца из указанной даты в виде целого числа Year ( дата ) – возвращает значение года из указанной даты в виде целого числа
Слайд 10: Языки запросов
алгебраические языки, позволяющие выражать запросы средствами специализированных операторов, применяемых к отношениям; языки исчисления предикатов, представляющие собой набор правил для записи выражения, определяющего новое отношение из заданной совокупности существующих отношений. Следовательно, исчисление предикатов есть метод определения того отношения, которое желательно получить как ответ на запрос из отношений, уже имеющихся в базе данных.
Слайд 11: Стандарт и реализация языка SQL
Рост количества данных, необходимость их хранения и обработки привели к тому, что возникла потребность в создании стандартного языка баз данных, который мог бы функционировать в многочисленных компьютерных системах различных видов. Действительно, с его помощью пользователи могут манипулировать данными независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции или универсальной ЭВМ.
Слайд 12: Стандарт и реализация языка SQL
Одним из языков, появившихся в результате разработки реляционной модели данных, является язык SQL (Structured Query Language), который в настоящее время получил очень широкое распространение и фактически превратился в стандартный язык реляционных баз данных. Стандарт на язык SQL был выпущен Американским национальным институтом стандартов (ANSI) в 1986 г., а в 1987 г. Международная организация стандартов (ISO) приняла его в качестве международного. Нынешний стандарт SQL известен под названием SQL/92.
Слайд 13: Введение в технологию клиент-сервер
Технология клиент-сервер означает такой способ взаимодействия программных компонентов, при котором они образуют единую систему. Как видно из самого названия, существует некий клиентский процесс, требующий определенных ресурсов, а также серверный процесс, который эти ресурсы предоставляет. Совсем необязательно, чтобы они находились на одном компьютере. Обычно принято размещать сервер на одном узле локальной сети, а клиентов – на других узлах.
Слайд 14: Архитектура клиент-сервер обладает рядом преимуществ:
обеспечивается более широкий доступ к существующим базам данных ; повышается общая производительность системы: поскольку клиенты и сервер находятся на разных компьютерах, их процессоры способны выполнять приложения параллельно. Настройка производительности компьютера с сервером упрощается, если на нем выполняется только работа с базой данных ;
Слайд 15
снижается стоимость аппаратного обеспечения; достаточно мощный компьютер с большим устройством хранения нужен только серверу – для хранения и управления базой данных ; сокращаются коммуникационные расходы. Приложения выполняют часть операций на клиентских компьютерах и посылают через сеть только запросы к базам данных, что позволяет значительно сократить объем пересылаемых по сети данных;
Слайд 16
повышается уровень непротиворечивости данных. Сервер может самостоятельно управлять проверкой целостности данных, поскольку лишь на нем определяются и проверяются все ограничения. При этом каждому приложению не придется выполнять собственную проверку; архитектура клиент-сервер естественно отображается на архитектуру открытых систем.
Слайд 17: Типы команд SQL
Реализация в SQL концепции операций, ориентированных на табличное представление данных, позволила создать компактный язык с небольшим набором предложений. Язык SQL может использоваться как для выполнения запросов к данным, так и для построения прикладных программ.
Слайд 18: Типы команд SQL
Основные категории команд языка SQL предназначены для выполнения различных функций, включая построение объектов базы данных и манипулирование ими, начальную загрузку данных в таблицы, обновление и удаление существующей информации, выполнение запросов к базе данных, управление доступом к ней и ее общее администрирование.
Слайд 19: Основные категории команд языка SQL:
DDL – язык определения данных; DML – язык манипулирования данными; DQL – язык запросов ; DCL – язык управления данными; команды администрирования данных; команды управления транзакциями
Слайд 20: Определение структур базы данных (DDL)
Язык определения данных (Data Definition Language, DDL) позволяет создавать и изменять структуру объектов базы данных, например, создавать и удалять таблицы. Основными командами языка DDL являются следующие: CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, ALTER INDEX, DROP INDEX.
Слайд 21: Манипулирование данными (DML)
Язык манипулирования данными (Data Manipulation Language, DML) используется для манипулирования информацией внутри объектов реляционной базы данных посредством трех основных команд: INSERT, UPDATE, DELETE.
Слайд 22: Выборка данных (DQL)
Язык запросов DQL наиболее известен пользователям реляционной базы данных, несмотря на то, что он включает всего одну команду SELECT. Эта команда вместе со своими многочисленными опциями и предложениями используется для формирования запросов к реляционной базе данных.
Слайд 23: Язык управления данными (DCL - Data Control Language)
Команды управления данными позволяют управлять доступом к информации, находящейся внутри базы данных. Как правило, они используются для создания объектов, связанных с доступом к данным, а также служат для контроля над распределением привилегий между пользователями. Команды управления данными следующие: GRANT, REVOKE.
Слайд 24: Команды администрирования данных
С помощью команд администрирования данных пользователь осуществляет контроль за выполняемыми действиями и анализирует операции базы данных ; они также могут оказаться полезными при анализе производительности системы. Не следует путать администрирование данных с администрированием базы данных, которое представляет собой общее управление базой данных и подразумевает использование команд всех уровней.
Слайд 25: Команды управления транзакциями
Существуют следующие команды, позволяющие управлять транзакциями базы данных : COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION.
Слайд 26: Преимущества языка SQL
Язык SQL является основой многих СУБД, т.к. отвечает за физическое структурирование и запись данных на диск, а также за чтение данных с диска, позволяет принимать SQL- запросы от других компонентов СУБД и пользовательских приложений. Таким образом, SQL – мощный инструмент, который обеспечивает пользователям, программам и вычислительным системам доступ к информации, содержащейся в реляционных базах данных.
Слайд 27: Основные достоинства языка SQL
стандартность – как уже было сказано, использование языка SQL в программах стандартизировано международными организациями; независимость от конкретных СУБД – все распространенные СУБД используют SQL, т.к. реляционную базу данных можно перенести с одной СУБД на другую с минимальными доработками;
Слайд 28: Основные достоинства языка SQL
возможность переноса с одной вычислительной системы на другую – СУБД может быть ориентирована на различные вычислительные системы, однако приложения, созданные с помощью SQL, допускают использование как для локальных БД, так и для крупных многопользовательских систем;
Слайд 29: Основные достоинства языка SQL
реляционная основа языка – SQL является языком реляционных БД, поэтому он стал популярным тогда, когда получила широкое распространение реляционная модель представления данных. Табличная структура реляционной БД хорошо понятна, а потому язык SQL прост для изучения; возможность создания интерактивных запросов – SQL обеспечивает пользователям немедленный доступ к данным, при этом в интерактивном режиме можно получить результат запроса за очень короткое время без написания сложной программы;
Слайд 30: Основные достоинства языка SQL
возможность программного доступа к БД – язык SQL легко использовать в приложениях, которым необходимо обращаться к базам данных. Одни и те же операторы SQL употребляются как для интерактивного, так и программного доступа, поэтому части программ, содержащие обращение к БД, можно вначале проверить в интерактивном режиме, а затем встраивать в программу;
Слайд 31: Основные достоинства языка SQL
обеспечение различного представления данных – с помощью SQL можно представить такую структуру данных, что тот или иной пользователь будет видеть различные их представления. Кроме того, данные из разных частей БД могут быть скомбинированы и представлены в виде одной простой таблицы, а значит, представления пригодны для усиления защиты БД и ее настройки под конкретные требования отдельных пользователей;
Слайд 32: Основные достоинства языка SQL
возможность динамического изменения и расширения структуры БД – язык SQL позволяет манипулировать структурой БД, тем самым обеспечивая гибкость с точки зрения приспособленности БД к изменяющимся требованиям предметной области; поддержка архитектуры клиент-сервер – SQL – одно из лучших средств для реализации приложений на платформе клиент-сервер. SQL служит связующим звеном между взаимодействующей с пользователем клиентской системой и серверной системой, управляющей БД, позволяя каждой из них сосредоточиться на выполнении своих функций.
Слайд 33: Любой язык работы с базами данных должен предоставлять пользователю следующие возможности:
создавать базы данных и таблицы с полным описанием их структуры; выполнять основные операции манипулирования данными, в частности, вставку, модификацию и удаление данных из таблиц ; выполнять простые и сложные запросы, осуществляющие преобразование данных.
Слайд 34: Описание учебной базы данных
Небольшая база данных, отражает процесс поставки или продажи некоторого товара постоянным клиентам. Исходя из анализа предметной области, можно выделить два типа сущностей – ТОВАР и КЛИЕНТ, которые связаны между собой отношением "многие–ко–многим", т.к. каждый покупатель может купить много наименований товара, а каждый товар может быть куплен многими покупателями. Однако реляционная модель данных требует заменить отношение "многие–ко-многим" на несколько отношений "один–ко-многим". Добавим еще один тип сущностей, отображающий процесс продажи товаров, – СДЕЛКА.
Слайд 35: Описание учебной базы данных
Установим связи между объектами. Один покупатель может неоднократно покупать товары, поэтому между объектами КЛИЕНТ и СДЕЛКА имеется связь "один–ко–многим". Каждое наименование товара может неоднократно участвовать в сделках, в результате между объектами ТОВАР и СДЕЛКА имеется связь "один-ко-многим".
Слайд 36: Описание учебной базы данных
Определим атрибуты и свяжем их с сущностями и связями. К объекту ТОВАР относятся такие характеристики, как название, тип, цена, сорт. К объекту КЛИЕНТ – имя, отчество, фамилия, фирма, город, телефон. Тип сущности СДЕЛКА может быть охарактеризован такими признаками, как дата и количество проданного товара.
Слайд 37: Описание учебной базы данных
Важным этапом в создании базы данных является определение атрибутов, которые однозначно определяют каждый экземпляр сущности, т.е. выявление первичных ключей. Для таблицы ТОВАР название не может служить первичным ключом, т.к. товары разных типов могут иметь одинаковые названия, поэтому введем первичный ключ КодТовара, под которым можно понимать, например, артикул товара. Точно так же ни Имя, ни Фирма, ни Город не могут служить первичным ключом в таблице КЛИЕНТ. Введем первичный ключ КодКлиента, под которым можно понимать номер паспорта, идентификационный номер налогоплательщика или любой другой атрибут, однозначно определяющий каждого клиента. Для таблицы СДЕЛКА первичным ключом является поле КодСделки, т.к. оно однозначно определяет дату, покупателя и другие элементы данных. В качестве первичного ключа можно было бы выбрать не одно поле, а некоторую совокупность полей, но для иллюстрации конструкций языка ограничимся простыми первичными ключами.
Слайд 38: Описание учебной базы данных
Установим связи между таблицами. Один покупатель может неоднократно покупать товары. Поэтому между таблицами КЛИЕНТ и СДЕЛКА имеется связь "один–ко–многим" по полю КодКлиента. Каждый покупатель может приобрести несколько различных товаров. Поэтому между таблицами ТОВАР и СДЕЛКА имеется связь "один–ко–многим" по полю КодТовара. Теперь нужно создать связи между таблицами базы данных. Для этого поместим копии первичных ключей из родительской таблицы ( таблицы со стороны "один") в дочернюю таблицу ( таблицу со стороны "много"). Для организации связи между таблицами ТОВАР и СДЕЛКА поместим копию поля КодТовара из таблицы ТОВАР в таблицу СДЕЛКА. Для организации связи между таблицами КЛИЕНТ и СДЕЛКА поместим копию поля КодКлиента из таблицы КЛИЕНТ в таблицу СДЕЛКА. Для таблицы СДЕЛКА поля КодКлиента и КодТовара являются внешними (чужими) ключами. В результате получим следующую структуру базы данных.