Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Все ответы.doc
Скачиваний:
75
Добавлен:
17.03.2016
Размер:
1.29 Mб
Скачать

Объединение записей нескольких запросов

Для объединения таблиц предусмотрен оператор UNION

< запрос> UNION [ ALL ] <запрос>…UNION [ ALL ] <запрос> [ORDER BY <выражения сортировки> ]

объединяющий строки всех запросов в одну таблицу. Запросы должны удовлетворять ограничениям:

  • Количество и порядок полей в запросах должны быть идентичными.

  • Типы данных полей должны быть сопоставимы.

Дублирующие записи вычеркиваются из объединение, если только не указано ключевое слово ALL. Если предусмотрена сортировка, то упорядочивается результат объединения.

Сохранение результата запроса

Наличие фразы

[INTO <таблица-результат>]

определяет сохранение таблицы-результата под указанным именем.

Определение представлений пользователей

Представление пользователя View– поименованный запрос, который компилируется, оптимизируется и хранится в БД. Представление может использоваться вместо таблицы в командах выбора и изменения данных. Представления можно использовать для хранения алгоритмов выбора данных. Кроме этого, представления являются средством достижения гибкости – при изменении схемы данных достаточно разработать представления для отображения «новых» таблиц в «старые».

Представление пользователя View создается командой

CREATE VIEW <имя представления> [(<колонки через запятую>)] AS <запрос> [WITH CHECK OPTIONS]

Представление пользователя позволяет выполнять изменения (DELETE,UPDATE,INSERT) если выполнены следующие условия запроса-определенияView:

  • нет выбора уникальных значений (отсутствует ключ DISTINCT),

  • в качестве колонок таблицы-результата используются только имена,

  • в пункте FROMиспользуется только одна таблица,

  • при фильтрации в пункте WHEREне использует подзапросы,

  • в запросе нет группировки.

Вариант WITHCHECKOPTIONS– запрещает ввод данных, не удовлетворяющих условиюWHERE.

  1. Администрирование БД: аутентификация и управление полномочиями пользователей, обеспечение сохранности данных, автоматизация обслуживания БД.

Подключение к SQL-серверу выполняется по регистрационному имени (login) пользователя в сети. Это сетевое имя должно быть зарегистрировано наSQL-сервере. Права на уровне сервера присваиваются пользователю сети, включением его в одну из стандартных ролей сервера (см. таблицу 1). Кроме этого пользователь сети может получить определенные права в каждой базе данных сервера.

Таблица 1

Стандартные роли на уровне сервера

Встроенная роль сервера

Назначение

Sysadmin

Может выполнять любые действия в SQL Сервер.

Serveradmin

Выполняет конфигурирование и выключение сервера

Setupadmin

Управляет связанными серверами и процедурами, автоматически запускающимися при запуске SQL Сервер

Securityadmin

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

Processadmin

Управляет процессами, запущенными в SQL Сервер.

Dbcreator

Может создавать и модифицировать базы данных.

Diskadmin

Управляет файлами SQL Сервер

Каждая база данных имеет свой список пользователей БД – user-ов. Один пользователь БД создается в момент создания БД и не может быть удален – это владелец БД (dbo). Он обладает всеми полномочиями в БД и раздает права всем остальным пользователям. Системный администраторSQLсервера (Sysadmin) отображается во владельца (dbo) в каждой базе сервера.

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

Предусмотрены стандартные роли базы данных (см. в таблицу Error: Reference source not found).