Работа с MS SQL Server 2008 Язык SQL. Оператор SELECT. Теоретические сведения. Структура языка SQL Язык SQL имеет два основных компонента: - язык DDL(Data Definition Language), предназначенный для определения структур базы данных; - язык DML(Data Manipulation Language), предназначенный для выборки и обновления данных. Манипулирование данными К операторам языка SQL DML относятся: - SELECT – выборка данных из базы; - INSERT – вставка данных в таблицу; - UPDATE – обновление (изменение) данных в таблице; - DELETE – удаление данных из таблицы. Рассмотрим оператор SELECT и его возможности. Назначение оператора SELECT состоит в выборке и отображении данных одной или более таблиц базы данных. Это исключительно мощный оператор, способный выполнять действия, эквивалентные операторам реляционной алгебры selection, projection и join, причем в пределах единственной выполняемой команды. SELECT – только выбирает данные из БД, он не может изменять хранимые данные, он может только изменить форму их отображения для пользователя. Общий формат оператора SELECT имеет вид: SELECT [DISTINCT | ALL] {* | [column_expression [AS new_name]] [, . . . ]} FROM table_name [alias] [, . . . ] [WHERE condition] [GROUP BY column_list] [HAVING condition] [ORDER BY column_list] Здесь параметр column_expression представляет собой имя столбца или выражение из нескольких имен. Параметр table_name является именем существующих в базе данных таблицы или представления, к которым необходимо получить доступ. Необязательный параметр alias – это сокращение, устанавливаемое для имени таблицы table_name. Обработка элементов оператора SELECT выполняется в следующей последовательности. FROM Определяются имена используемой таблицы или нескольких таблиц WHERE Выполняется фильтрация строк объекта в соответствии с заданными условиями GROUP BY Образуются группы строк, имеющих одно и то же значение в указанном столбце HAVING Фильтруются группы строк объекта в соответствии с указанным условием SELECT Устанавливается, какие столбцы должны присутствовать в выходных данных ORDER BY Определяется упорядоченность результатов выполнения оператора Работа с MS SQL Server 2008 СУБД MS SQL Server 2008 является современной мощной системой промышленного уровня, предназначенной для параллельной сетевой работы большого количества пользователей. Основная администраторская работа с SQL Server ведется с помощью специального программного продукта Microsoft SQL Server Management Studio (SSMS).  С помощью SSMS можно создавать, изменять и уничтожать базы данных (работать и со структурой и с содержимым БД). На сервере может размещаться большое количество различных баз данных. SQL Server имеет мощную систему безопасности, позволяющую разграничивать доступ как между базами данных, так и между объектами внутри нее. В SQL Server применяются понятия УЧАСТНИК БЕЗОПАСНОСТИ (сущность, которая может запросить ресурс сервера, базы данных или схемы) и ЗАЩИЩАЕМЫЙ ОБЪЕКТ (таблица, представление и т.д.). На уровне сервера участником безопасности является Login (учетная запись), под которой можно подключиться к серверу. Учетная запись может быть учетной записью SQL Server или учетной записью операционной системы Windows, установленной на сервере. На уровне БД участником безопасности является объект User (пользователь), который соответствует одной из учетных записей сервера. Учетной записи может соответствовать несколько пользователей для подключения к разным БД. Если у учетной записи нет в БД соответствующего ей пользователя, то она не имеет права на работу с этой БД. В БД пользователь получает различные права (получает привилегии) на работу с конкретными объектами БД (изменять данные в таблице, выполнить процедуру и т.п.) или на выполнение каких-то действий (создавать таблицы, добавлять пользователей и т.п.). Привилегии могут объединяться в Роли (role). Таким образом, становясь членом роли, пользователь получает набор привилегий, соответствующий этой роли. Пользователь может быть членом нескольких ролей. В SQL Server любой объект БД находится в какой-либо схеме (schema). Схема является своего рода контейнером для объектов, облегчающим административную работу с БД. Каждой схемой могут владеть не только индивидуальные пользователи, но и роли. Таким образом, в одной БД могут существовать объекты с одинаковыми названиями, но относящиеся к разным схемам. Для точного указания объекта нужно использовать двойное имя – <имя схемы>.<имя объекта> Для понятного отображения структуры БД можно создавать диаграммы (аналог схемы данных в Access):  |