МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ INTERNATIONAL BANKING INSTITUTE ТЕМА 2. ПРАКТИЧЕСКОЕ ЗАНЯТИЕ 1.

advertisement
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
ТЕМА 2.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ 1.
ИЗУЧЕНИЕ ПРИНЦИПОВ ОРГАНИЗАЦИИ MS SQL SERVER 2000
Цель:
 изучение принципов организации MS SQL Server 2000
 знакомство с базовыми компонентами MS SQL Server и их
назначением
 освоение принципов работы с основными графическими
утилитами: Enterprise Manager
 знакомство с учебной БД «Сессия»
Оглавление
Задание 1. Подключиться к серверу БД. ............................................................................................................ 2
Задание 3. Структуру и состав учебной БД «Сессия» .......................................................................................... 8
Задание 4. Изучить графический интерфес работы с таблицами в Enterprise Manager .................................. 13
Архитектура и основные характеристики SQL Server
2000
MS SQL Server 2000 – сервер баз данных фирмы Microsoft. Этот
сервер построен на принципах так называемой "истинно параллельной"
архитектуры баз данных, когда сервер для выполнения большинства
операций использует родной механизм сред операционной системы, что
позволяет достичь высокой производительности и масштабирования на
системах с несколькими процессорами. Он позволяет создавать базы
данных уровня предприятия.
Как принято для серверных приложений Windows NT, ядро
SQL Server реализовано в виде набора сервисов, для управления
которыми используются административные утилиты.
Основные компоненты, образующие ядро SQL Server:
 собственно сервер, который может быть запущен как сервис
MSSQLServer ;
 SQL Server Agent, обеспечивающий автоматическое выполнение на
основе расписания таких операций, как репликация данных, запуск
заданий;
 Distributed Transaction Coordinator – служба MSDTC, отвечающая за
выполнение распределенных транзакций;
 Microsft Search – служба, необходимая для проведения
полнотекстового поиска
 SQL Mail, обеспечивающий интеграцию SQL Server в почтовую
систему организации и позволяющий отправлять запросы и получать
результаты их выполнения по почте.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Для удобного администрирования сервера добавлены специальные
административные графические утилиты:
 Enterprise Manager - интегрированная административная консоль;
 SQL Profiler- утилита, позволяющая протоколировать сеанс работы
пользователя и собирать по нему статистику;
 Query Analyser- утилита, позволяющая интерактивно вводить и
выполнять предложения и сценарии на языке SQL (с последующей
записью на диск при необходимости), просматривать результаты и
статистику исполнения;
 Service Manager - очень простое и наглядное средство слежения за
состоянием сервисов на серверах SQL и управления ими
(старт/стоп/пауза).
 Client Network Utility и Server NetworkUtility – утилита, позволяющая
настраивать используемые сервером протоколы и библиотеки.
 Configure SQL-XML support in IIS – компонент, который позволяет
настроить публикацию данных из БД в формате XML. Для его работы
необходим IIS (Internet Information Server)
Каждый из компонентов ядра может выступать одновременно как
клиент и как сервер, и они активно взаимодействуют друг с другом.
Для возможности согласования и работы с Бд в старых форматах
устанавливается группа программ Microsoft SQL Server-Switch . Поскольку
SQL Server 6,5 и SQL Server 2000 не могут быть запущены одновременно,
необходимы механизмы, позволяющие сосуществовать двум различным
версиям этого продукта на одном компьютере, Группа программ Microsoft
SQL Server-Switch содержит приложения, реализующие эти механизмы.
При установке сервера всегда автоматически устанавливается
документация в виде электронного учебника Book on Line.
Задание 1. Подключиться к серверу БД.
При подключении к серверу проверяются права пользователя по
работе с сервером БД.
SQL server поддерживает 2 режима проверки при определении прав
пользователя
 Интегрированный integrated security – проверка безопасности
средствами операционной системы
 Смешанный mixed - проверка безопасности средствами
операционной системы и SQL Server
Проверка прав доступа осуществляется на нескольких уровнях.
Первоначально – пользователь должен иметь права доступа как
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
пользователь домена.
Далее он должен иметь право доступа к конкретному (именованному
экземпляру сервера MS SQL Server.
Кроме прав доступа к серверу, для каждого пользователя должны
быть определены права доступа к конкретной БД на сервере или
определены его права работы с несколькими БД на данном сервере.
Контроль прав доступа подразумевает проверку того, что может
делать пользователь, получив доступ к серверу БД.
Начиная с версии 7.0 в MS SQL server появилось понятие роль.
Роль – это именованный набор прав в рамках сервера или конкретной
БД.
Информация о правах доступа хранится в системных таблицах
 Syslogins – одна на сервер
 Sysobjects есть в каждой БД
 Sysprotects есть в каждой БД
 Sysusers есть в каждой БД
 И таблице sysmembers - о принадлежности пользователя к
одной или нескольким ролям
При установке сервера создается ряд стандартных ролей
Серверные роли:
Sysadmin - системный администратор
Serveradmin – запуск и остановка сервера
Setupadmin создавать объекты тиражирования и запускать
расширенные процедуры
Securityadmin – создавать пользователей сервера и назначать им
права
Processadmin – может управлять процессами, запущенными в
SQLServer
Dbcreater – может создавать БД на сервере
Diskadmin – управляет файлами
Bulkadmin- может всттавлять данные средствами массового
копирования не имея непосредственнного доступа к таблицам.
Роли базы данных:
Db_owner - владелец БД
Db_accessadmin - права удалять и добавлять пользователей БД
Db_securityadmin – управляет всеми разрешениями, объектами и
ролями
Db_ddladmin – может выполнять все команды DDL кроме Grant
REVOKE DENY
Db_backupoperator- может выполнять DBCC CHECKPOINT BACKUP
Db_datareader – может читать данные в таблицах
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Db_datawriter – может заносить и изменять данные
Db_denydatareader – запрещен просмотр данных
Db-denydatawriter - запрещено изменение данных
Public – роль с правами, передаваемыми по умолчанию каждому
пользователю
Каждое приложение может исполняться в рамках роли для
приложения application Role – специальная роль , она не имеет членов,
т.е. пользователи windos2000 или пользователи sqlserver не могут быть
добавлены в эту роль. Пользователь, работающий с данным
приложением тоже не является членом роли приложения – только его
приложение использует установленное соединение и обладает правами
роли.
На каждом компьютере, установленном в учебном классе
установлено клиентское приложение
Технология выполнения задания 1.
 Запустите EnterpriseManager.
Пуск -> Программы ->MS SQL Server -> EnterpriseManager
 Теперь необходимо подключиться к серверу баз данных.
Для этого щелкнуть по плюсику в папке с серверами баз данных.
Microsoft SQL Servers.
Далее установить курсор на SQLServer Group
Теперь по контекстному меню ( правая кнопка мыши) выбрать
опцию «New SQL Server registration». Тем самым мы переходим в режим
подключения к конкретному SQL серверу.
После этого появляется окно мастера подключения
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Нажимайте на кнопку «Далее». Теперь необходимо выбрать
требуемый SQL сервер. Имя нашего сервера APP – его надо найти в
левом окне и нажав кнопку “Add” перенести в правое (Added servers).
После
этого
Вы
должны
выбрать
требуемый
тип
аутентификации пользователя. В
нашем случае это Windows
authentification.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
И в случае удачного подключения мы получим следующее сообщение:
Это означает, что Вы являетесь легальным пользователем
указанного сервера.
И теперь нажимайте на крестик слева от указателя APP
И попадаете в консоль управления базами данных MS SQL
Server 2000.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Слева в папках представлены все типы объектов, которые есть
на сервере.
Для того, чтобы раскрыть папки надо нажать на плюсик слева от
папки.
На сервере хранятся различные базы данных. Все они находятся
в папке Databases.
Дополнительно на сервере находится еще несколько папок:
Data Transformation server – утилиты для преобразования баз
данных из старых версий в текущую.
Management – управление сервером: запуск , приостановка ,
полная остановка и т.д.
Replication – управление репликациями – дублированием
информации на других серверах БД
Security – управление доступом к базам данных
Support Services – обслуживающие сервисы
Meta Data Services – дополнительные сервисы управления.
Системные базы их назначение.
На каждом сервере кроме пользовательских присутствуют 4
системные базы данных и 2 базы данных, используемые фирмой
Microsoft в качестве демонстрационных.
Системные базы данных:
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
 master - системная база данных; хранит жизненно важную
информацию о SQL сервере; наличие достаточного количества
свободного места в БД master является критическим для нормального
функционирования сервера;
 model - модельная база данных; вновь создаваемые базы
данных используют данную базу как шаблон, включая набор объектов
и прав;
 tempdb - база данных для хранения временных объектов
пользователей, системы и промежуточных результатов выполнения
запросов; крайне рекомендуется выносить tempdb на отдельное
устройство; база данных tempdb может быть вынесена в оперативную
память для ускорения выполнения операций.
 Msdb – системная база данных; предназначена для хранения
всей информации, относящейся к автоматизации администрирования
и управления SQL Server, а также информации об операторах и
событиях.
Демонстрационные базы – Nortwin и Pubs
Задание 3. Структуру и состав учебной БД «Сессия»
Последовательность действий:
Открыть БД «sessia» - щелкнуть мышкой по плюсику слева от БД.
Изучить состав типовой БД:
- diagrams – диаграммы
- tables - таблицы
- Vews – представления, виртуальные таблицы, получаемые в
результате запросов к БД
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
-Stored procedures – хранимые процедуры
Users – пользователи
Roles – роли
Rules – правила,
Defaults значения по умолчанию
- пользовательские типы данных
Пользовательские функции
Польнотекстовый каталог.
Щелкните по диаграмме и получите следующую схему:
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
БД включает 5 таблиц, которые соединены между собой.
Рассмотрите связи и проанализируйте их.
Учебная база “Сессия” отражает результаты сдачи текущей
сессии в некотором виртуальной учебном заведении. Большинство из
вас учились либо в настоящий момент учитесь в институтах,
университетах или колледжах, поэтому для вас данная предметная
область интуитивно понятна. Именно поэтому данная база будет
первой для нашего изучения.
Будем считать, что термин отношение и таблица для нас являются
синонимами, и мы можем ими пользоваться в равной степени, не
забывая особенности реляционных таблиц. Рассмотрим содержание
отдельных таблиц в нашей базе данных.
Таблица Uch_plan содержит перечень специальностей, по которым
обучаются студенты нашего виртуального учебного заведения с
указанием дисциплин, по которым студенты каждой специальности
должны сдавать экзамены в текущую сессию. В данной таблице 2
поля:
kod_spec - код специальности. В соответствии с новым перечнем
специальносей
и направлений подготовки в сфере высшего
образования в нашей стране код специальности или направления
это целое число в пределах 100 000. Поэтому в нашей базе данных
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
код специальности – это целое число, тип данных integer, под который
отводится 4 байта.
discipline - наименование дисциплин, по которым надо сдавать
экзамен студентам данной специальности.
Так как в нашем учебном заведении множество специальностей и
по каждой специальности читается множество дисциплин, по которым
надо сдавать экзамен, то первичным ключом отношения Uch_plan
является набор из двух атрибутов: kod_spec, discipline.
Таблица spec – содержит перечень специальностей, по которым
ведется подготовка в нашем учебном заведении.
Для каждой
специальности кроме
кода указано полное наименование
специальности. Таблица состоит из двух полей:
kod_spec – код специальности, мы уже знаем, что это целое число.
Spec – наименование специальности – это набор слов. Например
Специальность с кодом 220100 –название «Вычислительные машины,
комплексы системы и сети», поэтому в нашем случае данному полю
присвоен символьный тип данных varchar с ограничением по длине
256 символов.
Первичным ключом таблицы является атрибут код специальности
(kod_spec), потому что в нашем списке каждая специальность
повторяется только один раз и код специальности однозначно
идентифицирует всю строку в таблице. Но ведь и наименование
специальностей разные, почему же выбран ключом код специальности
– потому что он короче, а доступ по первичному ключу должен быть
самый быстрый. И если мы внимательно изучили в учебнике []
принципы создания индексных файлов, то мы знаем, что чем короче
первичный ключ, тем более быстрый доступ по нему можно
организовать.
Таблица groops – содержит перечень учебных групп, в которых
учатся студенты с указанием специальностей, к которым относится
каждая группа. Таблица состоит из двух полей:
N_groop – номер группы. Это поле имеет символьный тип данных,
потому что в некоторых учебных заведениях к числовому номеру
группы часто добавляют и одни или несколько символов. Поэтому
для более общей картины будем считать это поле символьным.
kod_spec – уже известный код специальности.
Первичным ключом отношения является номер группы (N_groop),
потому что номера групп не повторяются и это закон предметной
области. Ни в одном учебном заведении нет двух одинаковых учебных
групп, которые учатся одновременно. Раньше или позднее могли быть
синонимы, но одновременно одинаковых групп не существует.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
По одной специальности могут обучаться студенты нескольких
групп.
Таблица Students – содержит список студентов. Эта таблица
содержит следующие поля:
N_groop – номер группы;
Last_name – фамилия;
First_name – имя;
Middl_name – отчество;
N_zach – номер зачетки. Это символьное поле. Номер зачетки
однозначно идентифицирует студента. Поэтому даже если среди
студентов есть однофамильцы – они должны иметь разный номер
зачетки. Данное поле является первичным ключом таблицы.
Последняя таблица – это таблица Sessia – она содержит
результаты текущей сессии. Данная таблица содержит следующие
поля:
N_zach – номер зачетки;
Discipline – дисциплина;
Data_ex – дата экзамена;
Mark – оценка, полученная на экзамене.
Студенты могут сдавать экзамены по одной дисциплине несколько
раз, если первый раз они сдали экзамен на неудовлетворительную
оценку, то они могут повторно сдавать экзамен до тех пор, пока не
получат положительную оценку.
Каждая попытка сдачи экзамена фиксируется и имеет конкретную
дату сдачи. Первичным ключом в данной таблице является набор из
трех атрибутов:
<N_zach , Discipline , Data_ex >.
Наличие такого ключа означает, что мы запрещаем одному
студенту в один день сдавать
экзамен по одному предмету более одного раза.
Однако, мы не запрещаем сдавать несколько экзаменов в один
день, но в этом случае экзамены должны сдаваться по разным
дисциплинам.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Задание 4. Изучить графический интерфес работы с таблицами в
Enterprise Manager
Структуру любой таблицы можно получить щелкнув мышкой по
соотвествующей талице из общего списка таблиц конкретной БД.
Для того, чтобы изменить структуру таблицы необходимо иметь
соответствующие права.
Режим редактирования структуры таблицы вызывается из
контексного меню для данной таблицы, выбором опции: design table.
При этом мы попадаем в интерфейс очень напоминаующий
соответствующий интерфейс в MS Access.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Для того, чтобы увидеть содержимое таблицы, необходимо в
контекстном меню выбрать опцию:
open table -> return All rows.
Для того, чтобы перейти в режим графического языка запросов QBE,
аналогичного изученному ранее в MS Access, мы должны выбрать
опцию контекстного меню
open table -> Query
1. .Просмотреть содержимое всех таблиц БД “sessia”
2. Ответить на следующие вопросы :
 Сколько записей в таблице groops,
 В какой группе учится Букин Николай
 Какое отчество у Букина Николая?
 На какой специальности учится студент Иванов Николай?
 Студент Миронов учится в той же группе, что и студент Иванов?
 Есть ли в нашем списке студентов однофамильцы?
 Сколько специальностей присутствует в БД
Позовите преподавателя и предъявите ему выполненную работу,
ответьте на дополнительные вопросы.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Вопросы для самопроверки
1. Что такое системные базы данных, сколько их и каково их
назначение,
2. Какие способы аутотентификации поддерживает MS SQL Server?
3. Что такое роль и какие роли реализованы на сервере MS SQL
Server ?
4. Какие
демонстрационные
базы
в
MS
SQL
Server
устанавливаются?
Download