Создание команд SQL в программе Query Analyzer
С помощью программы Query Analyzer можно создавать практически любые команды SQL, причем этот способ обладает многими преимуществами по сравнению со всеми другими способами создания команд SQL. Учтите, что синтаксис некоторых команд SQL может оказаться гораздо сложнее, чем простое использование графических элементов управления в программе SQL Server Enterprise Manager, особенно при использовании редко выполняемых команд, например для создания баз данных. В этом смысле программа Query Analyzer обладает несомненным преимуществом интерактивного создания команд SQL и мгновенно реагирует на создаваемые команды. Query Analyzer обладает некоторыми другими функциональными возможностями, которых нет программе SQL Server Enterprise Manager, например способностью запускать запросы и хранимые процедуры.
В главе 2, "Запросы и команды на языке SQL", рассматриваются некоторые наиболее часто используемые команды SQL. Большая часть этого материала относится также к выполнению запросов и хранимых процедур для SQL Server.
Использование представлений для управления доступом к данным
Представление (view) — это, по сути, определение запроса, хранящегося в базе данных. Оно подобно определению запроса в базах данных Microsoft Jet, однако отличается местом хранения: располагается в базе данных и предоставляет приложению-клиенту доступ к данным.
Представление можно использовать в том случае, если необходимо предоставить пользователю доступ к данным, но нежелательно, чтобы он мог обращаться непосредственно к данным в таблице. Представления можно рассматривать как виртуальные таблицы, которые могут использоваться точно так же, как и другие реальные таблицы базы данных. Фактически для приложения-клиента представление выглядит как обычная таблица, а кроме того, дает ему ряд преимуществ.
Например, если пользователь получает доступ к данным с помощью представления, а не посредством прямого обращения к таблице, это открывает ему следующие возможности:
• изменять структуру таблицы, не меняя ассоциированного с ней представления;
• ограничивать количество строк и столбцов, возвращаемых представлением;
• обеспечивать простой доступ к данным, возвращаемым из нескольких таблиц, с помощью объединений в представлении.
Для того чтобы полностью использовать все преимущества представлений, необходимо разработать стратегию безопасности базы данных. Это позволяет применить специализированные разрешения для представлений, а не таблиц, что упрощает выдачу и отмену разрешений для разных типов пользователей. Эти и другие вопросы обеспечения безопасности обсуждаются далее в главе.
Создание представлений с помощью программы SQL Server Enterprise Manager
Представления, как и большинство других объектов базы данных, можно создавать с помощью программ SQL Server Enterprise Manager или SQL Query Analyzer. Программа SQL Server Enterprise Manager обладает мощными и выразительными графическими инструментами, а программа SQL Query Analyzer- интерактивными инструментами для создания и выполнения команд SQL, а также тестирования созданных представлений.
Для создания представления с помощью программы SQL Server Enterprise Manager выполните приведенные ниже действия.
1. В диалоговом окне Server Manager щелкните правой кнопкой мыши на папке Views в той базе данных, в которой необходимо создать представление. В этом примере используется база данных pubs.
2. Из контекстного меню выберите команду New View (Создать представление), и на экране появится окно конструктора представлений программы, как показано на рис. 3.16.
РИС. 3.16. Создание нового представления в окне программы SQL Server Enterprise Manager
НА ЗАМЕТКУ
При первом открытии диалогового окна Design View в его заголовке будут слова New View, а не Design View.
СОВЕТ
Эти графические инструменты создания представлений можно использовать для создания запросов. Для этого щелкните правой кнопкой мыши на таблице базы данных и выберите из контекстного меню команду Open Table→Query (Открыть таблицу→Запрос). Созданный запрос нельзя сохранить, потому что отдельный запрос не является объектом базы данных SQL Server. Однако конструктор базы данных полезен для создания и тестирования хранимых процедур и извлечения отдельного набора данных.
3. Для открытия диалогового окна Add Table (Добавить таблицу) щелкните на кнопке Add Table с изображением плюса и таблицы или щелкните правой кнопкой мыши на пустом поле со схемой представления и выберите в контекстном меню команду Add Table.
Читать дальше