- •22. Системные базы данных ms sql Server.
- •23.Логическая архитектура базы данных sql Server 2000
- •Язык sql в субд. Назначение, стандарты, достоинства.
- •Диалект Transact-sql. Элементы языка: идентификаторы, комментарии, ключевые слова, команды. Выражения. Операторы.
- •Создание баз данных на языке sql.
- •27. Манипуляция данными на языке sql.
- •28. Запросы на выборку данных на языке sql. Структура оператора select
- •31. Язык sql. Внешние объединения.
- •29. Запросы на выборку данных на языке sql. Групповые операции. Примеры
- •30. Запросы на выборку данных на языке sql. Воженные запросы
Язык sql в субд. Назначение, стандарты, достоинства.
SQL — язык управления бд для реляционных бд. Сам по себе SQL не является языком программирования, но его стандарт позволяет создавать для него процедурные расширения, которые расширяют его функциональность до полноценного языка программирования.
SQL состоит из четырех отдельных частей:
язык определения данных (DDL) используется для определения структур данных, хранящихся в базе данных. Операторы DDL позволяют создавать, изменять и удалять отдельные объекты в БД. Допустимые типы объектов зависят от используемой СУБД и обычно включают базы данных, пользователей, таблицы и ряд более мелких вспомогательных объектов, например, роли и индексы.
язык манипуляции данными (DML) используется для извлечения и изменения данных в БД. Операторы DML позволяют извлекать, вставлять, изменять и удалять данные в таблицах. Иногда операторы select извлечения данных не рассматриваются как часть DML, поскольку они не изменяют состояние данных. Все операторы DML носят декларативный характер.
язык определения доступа к данным (DCL) используется для контроля доступа к данным в БД. Операторы DCL применяются к привилегиям и позволяют выдавать и отбирать права на применение определенных операторов DDL и DML к определенным объектам БД.
язык управления транзакциями (TCL) используется для контроля обработки транзакций в БД. Обычно операторы TCL включают commit для подтверждения изменений, сделанных в ходе транзакции, rollback для их отмены и savepoint для разбиения транзакции на несколько меньших частей.
Следует отметить, что в SQL: каждый оператор описывает только необходимое действие, а СУБД принимает решение о том, как его выполнить, т.е. планирует элементарные операции, необходимые для выполнения действия и выполняет их.
Стандарты SQL. Стандартизация языка дает возможность получить независимость приложений БД от платформы СУБД. Существует несколько различных стандартов языка SQL: 1)Стандарт ANSI/ISO:SQL/89 (SQL1), SQL/92 (SQL2) SQL-3(SQL/1999,SQL/2003) – относится к объектно-реляционной модели данных 2)Стандарт X/OPEN - Европейский стандарт для ОС Unix; 3)Стандарт SQL Access Group для интерфейсов доступа к БД. Достоинства:
не зависит от конкретных СУБД;
переносимость с 1 вычислительной системы на другую;
наличие стандартов;
поддержка Microsoft;
реляционная основа;
высокоуровневая структура;
возможность выполнения специальных интерактивных запросов;
обеспечение программного доступа к БД;
возможность различного представления данных;
возможность динамического определения данных;
поддержка архитектуры клиент/сервер.
Диалект Transact-sql. Элементы языка: идентификаторы, комментарии, ключевые слова, команды. Выражения. Операторы.
Transact-SQL (T-SQL) — процедурное расширение языка SQL, созданное компанией Microsoft (для Microsoft SQL Server) и Sybase (для Sybase ASE). SQL был расширен такими дополнительными возможностями как: •управляющие операторы, •локальные и глобальные переменные, •различные дополнительные функции для обработки строк, дат, математики и т. п., •поддержка аутентификации Microsoft Windows
Язык Transact-SQL является ключом к использованию MS SQL Server. Все приложения, взаимодействующие с экземпляром MS SQL Server, независимо от их реализации и пользовательского интерфейса, отправляют серверу инструкции Transact-SQL.
Элементы языка:
Идентификаторы — это специальные символы, которые используются с переменными для идентификации их типа или для группировки слов в переменную. Типы идентификаторов: @ — идентификатор локальной переменной (пользовательской); @@ — идентификатор глобальной переменной (встроенной); # — идентификатор локальной таблицы или процедуры; ## — идентификатор глобальной таблицы или процедуры; [ ] — идентификатор группировки слов в переменную.
Комментарии используются для создания пояснений для блоков сценариев, а также для временного отключения команд при отладке скрипта. Комментарии бывают как строковыми, так и блоковыми: -- — строковый комментарий; /* */ — блоковый.
Ключевые слова - зарезервированные ключевые слова для определения, манипулирования и доступа к БД.
Команды– это набор операторов Transact-SQL от последней директивы GO или от начала сценария. Директивы сценария — это специфические команды, которые используются только в MS SQL. Эти команды помогают серверу определять правила работы со скриптом и транзакциями. Типичные представители: GO — информирует программы SQL Server об окончании пакета инструкций Transact-SQL, EXEC (или EXECUTE) — выполняет процедуру или скалярную функцию.
Операторы — это специальные команды, предназначенные для выполнения простых операций над переменными: Арифметические операторы: *, /, %, +, -, (, ); Операторы сравнения: =,. >. <. >=. <=. <>(!=); Операторы соединения: «+» — соединение (конкатенация) строк; Логические операторы: «AND» , «OR», «NOT»; Операторы со множествами: «IN»
Выражение — это комбинация символов и операторов, которая получает на вход скалярную величину, а на выходе дает другую величину или исполняет какое-то действие. В Transact-SQL выражения делятся на 3 типа: DDL, DCL и DML.
DDL (Data Definition Language) — используются для создания объектов в базе данных. Основные представители данного класса: CREATE — создание объектов, ALTER — изменение объектов, DROP — удаление объектов.
DCL (Data Control Language) — предназначены для назначения прав на объекты базы данных. Основные представители данного класса: GRANT — разрешение на объект, DENY — запрет на объект, REVOKE — отмена разрешений и запретов на объект.
DML (Data Manipulation Language) — используются для запросов и изменения данных. Основные представители данного класса: SELECT — выборка данных, INSERT — вставка данных, UPDATE — изменение данных, DELETE — удаление данных.
