Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по SQL.docx
Скачиваний:
76
Добавлен:
09.04.2015
Размер:
140.9 Кб
Скачать

Построение диаграммы базы данных. …………………………………………… … 26

Создание запросов……………………………………………………………………………………….. 26

Использование переменных и некоторых управляющих операторов в Transact-SQL…………………………………………………………………………………………………… 27

Создание XML документа и запроса…………………………………………………………… 31

Построения отчета в среде Business Intelligence Development Studio…….....32

Самостоятельное задание. ……………………………………………………………………………..33

Приложение. ……………………………………………………………………………………………………34

Литература……………………………………………………………………………………………………… 35

Лабораторная работа Создание базы данных Postavki и работа с данными MS SQL Server 2008.

Цели работы:

-получение навыков работы в СУБД Microsoft SQL Server 2008 в среде SQL Server Management Studiо ;

-научиться, используя код Transact- SQL, обеспечивать безопасность данных, создавать базы данных, осуществлять различные операции над данными; создавать и использовать представления, хранимые процедуры, функции, триггеры, транзакции.

Базу данных, как и все объекты SQL Server 2008 можно создавать двумя различными способами:

- с помощью графического интерфейса SQL Server Management Studio;

- с помощью кода Transact-SQL.

В лабораторной работе используются оба способа.

Обеспечение безопасности данных.

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

Управление доступом к экземпляру SQL Server.

На основе выбранного режима проверки подлинности, осуществляется соединение с SQL Server либо учетной записи Windows, либо группы, которая включает эту учетную запись(режим проверки подлинности Windows) посредством создания имени входа и предоставления доступа имени входа к базе данных. Далее осуществляется управление разрешениями на уровне сервера.

Cоздайте в Windows (Пуск-> Панель управления ->Учетные записи пользователей) каждый свою учетную запись с правами администратора. В настоящих методических рекомендациях такой учетной записью является учетная запись Alise с правами администратора.

Выбор режима проверки подлинности Windows и запуск службы SQL Server.

В SQL Server существуют два режима проверки подлинности: режим проверки подлинности Windows и комбинированный режим проверки подлинности.

При использовании первого режима после того, как вы вошли в Windows, SQL Server считает, что имя пользователя и пароль были проверены на правильность. Если у пользователя есть права администратора на ваш компьютер, то этот пользователь может по крайней мере соединиться с SQL Server. Если пользователь не принадлежит к вашей операционной системе, лучше выбрать комбинированный режим проверки подлинности и установить имя входа SQL Server, чтобы соединиться с сервером. В данной лабораторной работе используется первый режим проверки подлинности.

Для входа и запуска службы SQL Server для локальной системы можно указать идентификатор пользователя Windows. Воспользуйтесь учетной записью администратора системы.

Запустите программу SQL Server Management Studio (ПускàПрограммы àMS SQL Server 2008àSQL Server Management Studio). Откроется окно Соединение с сервером. Выберите: Тип сервера – Компонент Database Engine; Имя сервера - (FS-64C67299CCAR); Введите имя сервера в соответствии с вашими собственными настройками. Проверка подлинности - Проверка подлинности Windows. При использовании проверки подлинности Windows , если пользователь принадлежит к группе Windows , то за счет принадлежности к этой группе (при условии, что эта группа указана в SQL Server ) учетная запись будет иметь доступ к SQL Server.

Настройка базы данных и создание системного администратора SQL Server.

Если учетная запись Windows принадлежит группе BUILTIN\Administrators, то она автоматически принадлежит роли сервера sysadmin. Такое автоматическое присвоение прав администраторов SQL Server администраторам Windows XP ставит под сомнение безопасность данных. Поэтому эту группу удаляют из настроек базы данных, чтобы предохранить базу данных от повреждения. Однако, перед удалением имени входа или удаления его из роли sysadmin для предотвращения блокировки, необходимо создать нового пользователя или группу пользователей в качестве системного администратора.

Для этого в обозревателе объектов SQL Server Management Studio выберите путь Безопасность|Имена входа и щелкните правой кнопкой мыши. Появится диалоговое окно создания имени входа, нажмите кнопку Найти. В окне выбора пользователя или групп щелкните на кнопке Дополнительно, в следующем окне щелкните на кнопке Поиск. Выберите [FS-64C67299CCAR\ Alise] и нажмите OK.

Далее в среде SQL Server Management Studio в обозревателе объектов выберите Безопасность| Роли сервера, затем sysadmin. Появится окно Свойства роли сервера - sysadmin. Нажмите на кнопку Добавить, далее Обзор. Выберите имя входа [FS-64C67299CCAR\ Alise]. Затем выберите имя входа BUILTIN\Administrators и нажмите на кнопку Удалить.

Создание базы данных Postavki.

В методических рекомендациях использовалась, представленная в работе [1], база данных Поставщиков и деталей (см. Приложение).

Переключитесь на учетную запись Alise. Войдите в SQL Server щелкните правой кнопкой мыши на узле Database.

В контекстном меню SQL Server Management Studio выберите Create Database. В поле Name введите уникальное имя базы данных. В методических рекомендациях имя базы данных - Postavki. Окно Create Database содержит информацию о владельце базы данных, ее размере, местоположении, именах файлов, предназначенных для хранения информации и другие сведения.

Владельцем базы данных может быть любое имя входа (login), у которого есть разрешение на создание базы данных. Выберите владельца базы данных. Для этого нажмите на кнопку . В появившемся окне нажмите на кнопку Обзор и выберите имя объектa[FS-64C67299CCAR\Alise]. После того, как имя владельца появилось в окне создания базы данных, нажмите ОК. Создание баз данных является обычной практикой для учетной записи типа администратора базы данных. Удостовериться в имени владельца базы данных можно, открыв свойства базы данных Postavki.

Остальные параметры в окне Create Database оставьте без изменения.

Щелкните на узле Database. Новая база данных создана. Если база данных не отобразилась, щелкните на узле еще раз и выберите в контекстном меню команду Refresh (Обновить)

Удаление базы данных.

Каждый пользователь в роли sysadmin имеет полный набор административных полномочий, в том числе права на удаление любой базы данных на сервере. Удаление базы данных с использованием графического интерфейса осуществляется с помощью щелчка мыши по соответствующему значку базы данных. Далее следует выбрать пункт контекстного меню Delete и в окне Delete object отметить флажок Close existing connection. Созданнyю в лабораторной работе базу данных не удалять.

Для удаления базы данных используется команда DROP DATABASE

DROP DATABASE name

Соединение с экземпляром SQL Server . Создание, удаление и блокировка имени входа сервера.

Установить соединение с SQL Server можно посредством создания имени входа для пользователя или для группы Windows. По умолчанию доступ к SQL Server предоставляется только членам локальной группы администраторов Windows или учетной записи службы, которая запускает службы SQL Server.

Cоздайте в Windows еще одну учетную запись для нового пользователя - тип учетной записи Limited ( с ограниченными правами). В настоящих методических рекомендациях такой учетной записью является учетная запись Fred.

Если выйти из системы Windows и выполнить вход в SQL Server с помощью идентификатора Fred, то Вы получите сообщение о неудавшемся входе. Это произойдет потому, что это имя пользователя со свойством Limited не было определено в SQL Server в качестве имени входа в систему.

Имя входа сервера – это имя входа, с помощью которого можно соединиться только с самим сервером. Оно не может соединиться с пользовательскими базами данных. Пользователь базы данных создается при выборе требуемой базы данных.

Для создания имени входа в окне SQL Server Management Studio в меню выберите Создать запрос и в окне редактора запросов введите следующий текст:

USE [master]

GO

CREATE LOGIN [FS-64C67299CCAR\Fred]

FROM WINDOWS

WITH DEFAULT_DATABASE = [Postavki],

DEFAULT_LANGUAGE = [us_english]

GO

Инструкция CREATE LOGIN указывает SQL Server, что необходимо создать новое имя входа FS-64C67299CCAD\Fred, где FS-64C67299CCAD имя сетевого домена, в котором можно найти пользователя Fred . Ключевые слова FROM WINDOWS сообщают серверу, что имя входа создается с проверкой подлинности Windows. После этого определяется имя базы данных, с которой будет соединяться имя входа, и язык, используемый при соединении.

В результате работы кода пользователь соединится с SQL Server.

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

Процесс создания имени входа для группы пользователей аналогичен процессу, описанному выше.

Имя входа можно блокировать с помощью инструкции ALTER LOGIN.

Для удаления имени входа используется инструкция DROP LOGIN.

Добавление имени входа к серверной роли.

Роль – это способ группирования похожих пользователей, которым необходим аналогичный доступ к данным.

Добавить имя входа к серверной роли можно при помощи системной хранимой процедуры sp_addsrvrolemember

EXECUTE sp_addsrvrolemember

'FS-64C67299CCAR\Fred', ' sysadmin';

Удаление имени входа из серверной роли.

Удалить имя входа из серверной роли можно при помощи системной хранимой процедуры sp_dropsrvrolemember.

EXECUTE sp_dropsrvrolemember

'FS-64C67299CCAR \Fred', ' sysadmin';

Управление доступом к базе данных Postavki.

После предоставления доступа к экземпляру SQL Server, необходимо предоставить доступ к базе данных Postavki. Все имена входа, за исключением роли sysadmin, должны быть сопоставлены пользователям, которые, в свою очередь, должны быть сопоставлены базе данных, к которой необходим доступ.

Предоставление доступа к базе данных.

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

Добавьте пользователя Fred.

USE Postavki

GO

CREATE USER [FS-64C67299CCAR\Fred]

FOR LOGIN[FS-64C67299CCAR\Fred]

Инструкция CREATE USER указывает имя пользователя, которому необходимо иметь доступ к базе данных. Инструкция FOR LOGIN указывает, какое имя входа сервера должно соответствовать пользователю базы данных.

Таким образом, было создано имя входа FS-64C67299CCAR \Fred и ему предоставлен доступ к базе данных Postavki.

Предоставление разрешения на базу данных.

После создания пользователя, необходимо управлять разрешениями для этих пользователей, добавляя пользователей в роли базы данных или предоставляя пользователям гранулярные разрешения.

Пользователю Fred не будем предоставлять роль системного администратора sysadmin, а определим ему роль db_owner. Она разрешит ему создавать таблицы, а также создавать и обрабатывать другие объекты базы данных.

В окне редактора запросов введите следующий текст:

--Изменяем контекст соединения на базу Postavki.

USE Postavki;

GO

EXECUTE sp_addrolemember 'db_owner' ,

' FS-64C67299CCAR\Fred';

Создать роль базы данных можно с помощью графического интерфейса в окне SQL Server Management Studio . Для этого нужно выбрать в базе данных Postavki -> Безопасность -> Роли ->Роль базы данных ->db_owner -> Свойства. Появится окно свойств базы данных, Введите имя владельца - dbo . Далее нажимая на кнопки Добавить и Обзор добавьте к этой роли учетную запись пользователя SQL Server - FS-64C67299CCAR \Fred.

Удалить пользователя из роли базы данных можно при помощи системной хранимой процедуры sp_dropsrvrolemember .

Управление доступом к схемам.

Схемы – это контейнеры объектов, которые позволяют группировать объекты базы данных. Они отделяют объекты от пользователей. Схемы можно использовать для предоставления или отмены разрешений в отношении группы для соединений с SQL Server. В SQL Server объект называется именем, состоящим из четырех компонентов следующей структуры:

<Server>. <Database>. <Schema>.<Object

Создайте в базе данных Postavki схему с именем PostDet.

Для этого в окне SQL Server Management Studio в меню выберите Создать запрос и в окне редактора запросов введите следующий текст:

--Изменяем контекст соединения на базу данных Postavki.

USE Postavki;

GO

--Создаем схему PostDet с владельцем dbo.

CREATE SCHEMA PostDet

AUTHORIZATION dbo;

--dbo означает, что любой пользователь с правами sysadmin имеет доступ к схеме.

В схеме PostDet будут размещены созданные ниже таблицы, а также другие объекты базы данных.

Переключитесь с учетной записи администратора на учетную запись Fred и войдите в SQL Server.

Создайте в базе данных Postavki таблицы: tblS, tblP и tblSP, используя оператор определения данных CREATE TABLE. В SQL Server Management Studio в меню выберите Создать запрос и в окне редактора запросов введите следующий текст:

--Изменяем контекст соединения на базу данных Postavki.

USE Postavki;

GO

--Создаем таблицы tblS, tblP и tblSP в схеме PostDet

CREATE TABLE PostDet. tblS

(S CHAR (10) NOT NULL,

SNAME CHAR (10) NOT NULL,

STATUS INT,

CITY CHAR (10) NOT NULL,

PRIMARY KEY (S));

GO

CREATE TABLE.tblP

(P CHAR (10) NOT NULL,

PNAME CHAR (10) NOT NULL,

COLOR CHAR (10) NOT NULL,

WGT INT,

CHECK ( WGT > 0 AND WGT < 100),

CITY CHAR (10) NOT NULL,

PRIMARY KEY (P));

GO

CREATE TABLE PostDet. tblSP

(S CHAR (10) NOT NULL,

P CHAR (10) NOT NULL,

QTY INT,

PRIMARY KEY ( S, P ),

/*Определение внешнего ключа */

FOREIGN KEY (S) REFERENCES PostDet.tblS

ON DELETE CASCADE /*Каскадное удаление */

ON UPDATE CASCADE,

FOREIGN KEY (P) REFERENCES PostDet.tblP

ON DELETE CASCADE

ON UPDATE CASCADE,

CHECK (QTY > 0 AND QTY < 2000));

Щелкните на кнопке Выполнить.

При успешном выполнении оператора CREATE TABLE появляется сообщение The command (s) completed successfully. Если после выполнения кода вы получили сообщение отличное от приведенного выше, проверьте синтаксис оператора CREATE TABLE и попытайтесь выполнить его снова.

Сохраните запрос, дайте ему имя. Закройте окно запроса.

В окне SQL Server Management Studio в базе данных Postavki нажмите объект Tables. Убедитесь, что созданные таблицы появились в составе таблиц базы данных. Если таблицы не появились в базе данных, воспользуйтесь командой контекстного меню Refresh.

Заполните таблицы данными.

Для удаления таблицы используется оператор DROP, имеющий простой формат: DROP TABLE table_name.

При выполнении данного оператора удаляются все связанные с таблицей объекты.

Оператор ALTER SCHEMA

Данный оператор перенаправляет объект между различными схемами в одной и той же базе данных. Синтаксис оператора ALTER SCHEMA имеет следующий вид:

ALTER SCHEMA schema_name TRANSFER object_name

Соседние файлы в предмете Базы данных