Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка и сопровождение БД в среде MS SQL Se...doc
Скачиваний:
316
Добавлен:
14.11.2019
Размер:
1.71 Mб
Скачать

5. Создание представлений средствами Enterprise manager

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

Рисунок 12. Окно списка представлений базы данных.

Для решения задачи необходимо использовать дополнительные механизмы, в качестве которого можно выбрать представления.

Представления (views) являются виртуальными таблицами, содержимое которых генерируется динамически на основе результата выполнения запроса. Для пользователей работа с представлением мало отличается от работы с таблицами.

Создание представлений в SQL Server 2000 можно выполнить различными ме­тодами:

  • с помощью Enterprise Manager;

  • с помощью мастера Create View Wizard;

  • средствами Transact-SQL.

Чаще для создания представлений используется графический интерфейс утилиты Enterprise Manager. Это обеспечивает быстрое и наглядное создание представлений любой сложности. Пользователи, не имеющие опыта в создании представлений, могут воспользоваться мастером, что максимально упрощает создание представления за счет разбиения процесса создания на несколько шагов, каждый из которых снабжает пользователя подсказками.

Рисунок 13. Окно создания представления.

При работе с Enterprise Manager список представлений, имеющихся в базе данных, находится в папке Views (Представления). Как видно из рисунка 12, для каждого представления указывается его Имя (столбец Name), владелец (столбец Owner), тип (type) и дата создания (Create Date). Представление может быть отнесено к одному из двух типов – системному или пользовательскому.

Для создания нового представления достаточно выбрать в контекстном меню папки Views команду New View (Новое представление) или нажать на кнопку New (Создать) на панели инструментов.

Каждая таблица или представление отображается в виде самостоятельного объекта, имеющего список столбцов, определенных в соответствующей таблице. Установка флажка слева от имени столбца приведет к включению этого столбца в создаваемое представление (рисунок 13).

Все методы создания представления, в конце концов, обращаются к средствам Transact-SQL, с помощью которых собственно и выполняется создание представления. Ничто не мешает пользователям применять для создания представлений непосредственно команды Transact-SQL, не прибегая к помощи графического интерфейса. При создании представления указывается запрос select, который будет формировать содержимое представления. В этом запросе могут применяться все разделы команды Select. Другими словами, пользователь может выполнять объединение (join) и слияние (union) данных, различные выражения, группировку, агрегирование и логические условия.

6. Основы программирования на языке Transact-sql

Целью любой системы управления базами данных является предоставление пользователю простых и эффективных механизмов манипулирования данными. Для этого можно использовать различные методы управления данными, одним из которых является язык структурированных запросов (SQL, Structured Query Language).

Язык SQL является хорошим примером использования технологии клиент-сервер. Когда пользователю требуется произвести некоторые операции с данными, он описывает действия, которые необходимо выполнить, с помощью команд языка SQL. Подготовленные команды, называемые запросом (query), отправляются на сервер баз данных. В соответствии с полученными инструкциями сервер осуществляет необходимые действия и отправляет клиенту лишь результат работы. Таким образом, вся работа с данными производится на сервере.

В 1992 г. Американским национальным институтом стандартизации (ANSI, American National Standard Institute) был разработан стандарт на язык SQL, на­званный ANSI SQL-92. Этот стандарт не только определяет основные правила использования команд, идентификаторов, переменных и других элементов, но и регламенти­рует работу самой системы управления базами данных. В частности, в стандарте ANSI SQL-92 были рассмотрены механизмы работы транзакций и блокировок.

Стандарт ANSI SQL-92 был хорошей попыткой зарегистрировать языки доступа к данным, используемые в различных СУБД. Однако со временем каждый из производителей начал улучшать и модернизировать возможности языка, подстраивая их под конкретную СУБД. С одной стороны, это позволяет более эффективно использовать возможности той или иной СУБД, с другой – это привело к потере совместимости продуктов. В настоящее время стандарт ANSI SQL-92 рассматривается, скорее, как общие рекомендации к построению эффективной системы управления базами данных, чем как конкретный список шагов по построению СУБД.

Таблица 5. Определение метасинтаксических знаков в нормальных формах Бекуса-Наура (БНФ)

::=

есть по определению;

|

выбор альтернативы;

[ ]

Возможное отсутствие части определения;

{ }

объединение частей определения для выюора или повторения;

[,…n]

повторение предшествующей части 1, 2, …, n раз с разделителем запятая для этой части (разделитель может быть любой;)

<…>

метапеременная, которая имеет свое определение.

Корпорация Microsoft, как и многие другие производители, разработала свою версию языка SQL, назвав его Transact-SQL. Именно этот язык используется в SQL Server 2000 для доступа к данным. Он удовлетворяет требованиям ANSI SQL-92, но предлагает пользователю еще и ряд дополнительных возможностей, позволяющих более гибко и эффективно работать с данными. Язык Transact-SQL активно используется не только в программных продуктах корпорации Microsoft, но и в пакетах независимых разработчиков.

Раздел документации сервера T–SQL Help содержит описание каждой команды языка Transact–SQL и набор примеров их использования. Синтаксис команды определяется с помощью специального метаязыка, основанного на нормальных формах Бекуса-Наура (БНФ).

Смысл метасинтаксических знаков приведен в таблице 5.