Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

laby_СУБД

.pdf
Скачиваний:
8
Добавлен:
10.03.2016
Размер:
722.67 Кб
Скачать
Restricted file growth

(Приращение файлов). Можно определить размер приращения в процентах или мегабайтах.

Группа параметров Maximum file size (максимальный объем файлов) определяет максимально допустимый объем базы данных. По умолчанию выбран переключатель Unrestricted file growth (неограниченный объем). Такая установка ограничивает объем только наличием свободного места на жестком диске. Если произойдет ситуация с заполнением всего пространства, потребуются усилия по восстановлению переполненного диска. Поэтому. Когда придет время запускать базу данных в работу, выберите переключатель (MB) – Ограничить объем файлов в мегабайтах.

6.На последней вкладке – Transaction Log (Журнал транзакций) оставим все как есть.

7.Щелкните на кнопке ОК. SQL Server выполняет несколько операций. Во-первых, он проверяет, не существует ли уже база данных с таким именем. Затем следует проверка наличия у пользователя разрешения на создание базы данных на сервере. Если вы входите в SQL Server c правами администратора или у вас есть права на создание базы данных, база будет успешно создана.

Просмотр базы данных в Enterprise Manager

Вернувшись в Enterprise Manager, Вы увидите в левой панели имя базы данных, а в правой – сведения о ней (рис.4). Проверьте созданную базу данных. Для этого выполните следующие действия.

Рис. 4. Системные объекты созданной БД

1. Найдите в левой панели созданную базу данных и щелкните правой кнопкой мыши.

11

Server default

2.В открывшемся контекстном меню выберите команду Properties (Свойства). Откроется диалоговое окно с описание базы данных.

3.На вкладке General (Общие) перечисляются основные параметры базы данных, в том числе Status (Состояние), Backup (Резервное копирование) и Maintenance Plan (план технического обслуживания). На вкладке General рассмотрим сводку о некоторых важных параметрах.

4.Область Database . Параметр Status имеет значение Normal (Нор-

мальное). Это означает, что база данных запущена и готова к работе. Режим загрузки означает процесс, по завершении которого база данных станет доступной для SQL Server. Автономный режим означает, что база данных находится в рабочем состоянии, но недоступна ввиду отсутствия соединения с сервером. Резервный режим означает, что база данных находится на вторичном сервере и доступна только для чтения.

5. Параметр Owner (Владелец) содержит идентификатор пользователя, создавшего базу данных. Имя владельца часто требуется знать для разрешения различных организационных вопросов. Смысл остальных параметров очевиден. Однако следует обратить внимание на то, что значение параметра Collation name поменялось с на фактическое

(Latin1_General_Cl_AS).

6.На вкладке Data files располагается информация о файлах.

7.Вкладка Transaction Log, как и предыдущая, совпадает с уже рассмотренной при определении базы данных.

8.Щелкните на вкладке Filegroups (Группы файлов). В окне расположена информация о группе файлов первичных и вторичных данных.

Установка флажка Read-Only (Только чтение) для вторичных данных позволяет не запускать процессы, связанные с разрешению доступа к данным в режиме чтения, а установить этот режим к самой базе данных.

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

Щелкните на вкладке Option (Параметры), на которой можно установить ряд параметров базы данных (рис.5).

12

Рис.5. Окно свойств БД

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

В области Access (Доступ) можно определить пользователей, которым разрешен доступ к базе данных. Это можно сделать и на вкладке Permissions. Однако на этой вкладке можно упрощенным образом установить ограничения для пользователей и ролей, на создание объектов базы данных. По умолчанию эти параметры не устанавливаются таким образом, чтобы обеспечить более гибкий способ предоставления разрешений. Если база данных находится в стадии разработки или переноса на рабочий сервер, разумно будет ограничить доступ в нее, разрешив его только владельцу или создателю базы данных, а также администратору системы. Установка этого флажка и выбор переключателя Members of db_owner, dbcreator, or sysadmin позволяет ограничить доступ именно таким образом.

Если выбрать переключатель Single User (Один пользователь), доступ в базу данных сможет получить только один пользователь. Таким образом, пользователь, обладающий исключительными правами, сможет работать в базе данных в полной уверенности, что никто не сможет ему помешать. Эта установка идеально подходит для резервного копирования, а также для перемещения данных в информационное хранилище.

Второй флажок обозначен как Read-only (Только чтение). Данную установку следует применять при настройке и архивировании базы данных. Конечно, необходимо сбросить этот флажок перед возвратом в обычный режим работы.

13

На вкладке Permissions (Разрешения) перечисляются действия, разрешенные пользователям базы данных.

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

Рано или поздно, придется удалять ненужные базы данных. Для этого следует выполнить следующие действия (посмотрите, но не удаляйте!).

1.Запустить Enterprise Manager, если он не запущен. Разворачивайте узлы, пока не найдете нужную базу данных. Щелкните по ней правой кнопкой мыши.

2.Выполнить команду Delete контекстного меню.

3.В следующем диалоговом окне ввести подтверждение.

4.После щелчка на кнопке Yes SQL Server получает команду с указанием имени удаляемой базы данных, затем проверяет, не подключен ли кто-либо к ней. Если окажется, что кто-то из пользователей подключен к базе данных через Query Analyzer либо при помощи методов наподобие ODBC или OLE DB, SQL Server не станет удалять ее. В противном случае база данных будет удалена без возможности восстановления.

Лабораторная работа № 3

Цель работы: знакомство с правами и ролями пользователей.

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

Прежде чем определить таблицу, следует прояснить некоторые обстоятельства.

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

14

Каждый объект, доступный на SQL Server, ассоциирован со своим владельцем, известным как dbo (database owner). Это правило начинает действовать уже на уровне базы данных. После того, как база данных создана, необходимо знать, кто ее владелец (кто ее создал). Только это лицо может задать права доступа для других пользователей и групп, определить, кто может просматривать данные, модифицировать их, выполнять более сложные операции.

Если говорить о владельце базы данных, то принципиальное значение имеет его собственный идентификатор (в отличии от универсального наподобие «sa», «всеобщего имени», которое предоставляет SQL Server). Если известен владелец, то известно, к кому обращаться за изменением прав доступа.

Если вы работаете с SQL – сервером, который установлен на NTили 2000машине, то вам необходимо удостовериться в том, что ваш идентификатор (ID) настроен, как ID группы Administrator или же как Administrator в Security Logins сервера. Рассмотрим вопрос, как установить личность владельца базы данных.

Определение владельца базы данных

Хочу предупредить, администратор ограничил Ваш доступ, поэтому Вы можете в классе познакомиться с правилами создания учетной записи, а на домашнем компьютере реализовать

1.Убедитесь, что окно Enterprise Manager открыто.

2.Найдите базу данных, которая вас интересует.

3.Выделите соответствующий узел и щелкните правой кнопкой мыши.

4.Выберите команду Свойства. На вкладке Общие найдите элемент Owner. Это полное имя учетной записи NT, предшествуемое именем домена или локальной машины.

5.Щелкните на кнопке Cancel, чтобы закрыть окно.

6.Перейдите на узел Security | Login дерева консоли и найдите запись, соответствующую элементу Owner предыдущего пункта или, в вашем случае ваш идентификатор на той машине, где установлен SQL – сервер.

7.Щелкните на идентификаторе, чтобы открыть окно свойств. Воспользуйтесь представленной возможностью и измените права доступа по умолчанию для данного пользователя в отношении данной базы данных (выберите из списка имя). Затем перейдите на вкладку Database Access и выделите имя базы данных (рис.6).

15

Рис. 6. Окно узла Security

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

8. Щелкните на ОК, чтобы сохранить внесенные изменения. Мы узнали владельца базы данных и задали имя базы в качестве базы данных по умолчанию для пользователя-владельца (или другого пользователя с правами системного администратора).

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

Как дать пользователю права на создание таблицы

1.Добавление новых пользователей требуется лишь в том случае, когда мы хотим зарегистрироваться в Windows при помощи нового пользовательского идентификатора. Добавление пользователя в раздел Windows Users не требуется, если ваш сервер был установлен в смешанном режиме (Mixed) , и вы хотите зарегистрироваться при помощи аутентификации SQL-сервера. В этом случае сразу переходите к пункту 8.

2.Создайте нового пользователя. Если вы работаете в среде Windows

2000, щелкните Пуск, Настройка, Панель управления, Пользователи и пароли. В Windows NT выберите Пуск, Программы, Administrative Tools, User Manadger.

16

3.Щелкните на Add, затем введите данные нового пользователя. По завершении щелкните Next.

4.На следующем шаге задайте пароль.

5.На следующем шаге выберите Power User. Это дает пользователю возможность управлять SQL – сервером, однако не наделяет его полными административными правами.

6.По завершении щелкните Finish, ОК.

7.Теперь, когда пользователь обладает необходимыми правами в рамках аутентификации Windows NT, можно перейти к его правам на SQL-сервере.

8.Убедитесь, что Enterprise Manager запущен, и что вы зарегистрированы при помощи идентификатора, предоставляющего полные административные права. Это буден идентификатор, с которым происходила установка SQL – Server. Найдите узел Security и выберите

пункт Logins.

9.Щелкните не нем правой кнопкой мыши и выберите в контекстном меню команду New Login.

10.Если вы намерены создать идентификатор с использованием аутентификации Windows, то найти пользователя, существующего в области Windows User management, вы можете щелкнув на кнопке с точками в правой части текстового поля Name. Если речь идет о новом идентификаторе, использующем аутентификацию SQL – сервера, то пропустите следующие три пункта.

11.Щелкните на кнопке с точками, разверните список пользователей нашего компьютера. При работе в сети мы увидим сетевой домен, к которому мы принадлежим. Выделите в списке соответствующий идентификатор, щелкните на Add, затем ОК.

12.В результате откроется окно диалога New Login. Теперь следует задать имя базы данных по умолчанию.

13.Если щелкнуть теперь ОК, появится сообщение о том, что у данного пользователя нет прав на доступ к данной базе данных. Щелкните на NO (решением этой проблемы мы займемся на шаге 15).

14.Для того, чтобы использовать аутентификацию SQL –сервера (для тех, у кого аутентификация установлена в Mixed Mode), введите идентификатор и пароль пользователя SQL – сервера, и изменит базу данных по умолчанию на нужную. При использовании второго метода невозможно применить текущий идентификатор дважды, поэтому придется придумать другое имя.

15.Щелкните на ярлычке Server Roles. Обратите внимание на тот факт, что по умолчанию из ролей не выбрана. Это говорит о том, что данный пользователь не обладает никакими административными правами на SQL – сервере.

17

16.Щелкните на ярлычке Database Access. Вначале ни одна база данных не выбрана. Пользователь не является системным администратором, и, если оставить все как есть, он не сможет получить доступ ни к чему на этом SQL – сервере. Следовательно, выберите пункт, соответствующий имени базы данных, чтобы предоставить пользователю доступ к этой базе данных.

17.Выбрав имя базы данных, вы обнаруживаете, что в списке ролей базы данных произошли изменения, и что теперь выбрана роль public. Пока что мы оставим тут все как есть и щелкнем ОК.

18.При использовании аутентификации SQLсервера, на экране появится дополнительный диалог для подтверждения пароля SQLсер- вера.

19.Теперь новый пользователь стал пользователем выбранной вами базы данных.

20.Теперь пользователю необходимо зарегистрироваться на SQL – сервере. Если вы последовательно выполняли все предыдущие инструкции, то теперь вам следует завершить текущий сеанс работы Windows NT, и зарегистрироваться заново с новым идентификатором. Далее следуют инструкции для тех, кто использует аутентификацию SQL –сервера. Тем, кто использует аутентификацию Windows NT, следует перейти сразу к пункту 27, где мы уже непосредственно займемся созданием таблицы.

21.Для того, чтобы сменить идентификатор текущего пользователя при работе с аутентификацией SQL – сервера, необязательно завершить сеанс в Windows NT. Такую операцию можно выполнить при помощи Enterprise Manager. Поместите указатель на имя SQL – сервера и щелкните правой кнопкой мыши. В контекстном меню выберите ко-

манду Edit SQL Server Registration properties.

22.Окно, которое появится в результате, указывает на то, что сервер на строен на аутентификацию Windows NT. Если мы проводили установку SQL – Server 2000 в смешанном режиме Mixed Mode, то это является преимуществом.

23.Переведите переключатель Connection в положение Use SQL Server Autentification, введите созданный идентификатор, установите фла-

жок Always prompt for login name and password, и щелкните ОК. 24.Вам будет предложено подтвердить пароль учетной записи SQL –

сервера. Введите идентификатор, пароль, затем щелкните на Connect. 25.Вслед за этим на экране появится последнее окно с сообщением, предлагающее отсоединиться от сервера поскольку регистрационные данные пользователя изменились. Будьте осторожны, щелчок на Yes действительно отсоединит вас от сервера. Вы должны помнить пароль SQL – сервера для данного пользователя, а также пароль того

18

соединения, которое вы удаляете ( в данном случае это пользователь, который установил SQL – сервер).

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

27.В этом пункте сходятся пути тех, кто использует аутентификацию SQL – сервера и тех, кто использует аутентификацию Windows NT. Если вы щелкните правой кнопкой мыши на значке Tables в дереве необходимой нам базы данных, то обнаружите, что команда New Table не задействована. Это означает, что текущий пользователь не располагает правами на создание таблиц – так определено ролью в аутентификации SQL – сервер для данного пользователя.

Прежде чем двигаться дальше, не забудьте вернуть прежние настрой-

ки в SQL Server Registration properties, так чтобы они позволяли вам со-

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

28.Роли, присвоенные пользователям, позволяют определять, какие операции могут пользователи выполнять. Роли сервера вы можете увидеть, развернув узел Security, Server Roles.

Если речь идет о несетевой машине или о группе пользователей, пользующихся полным взаимным доверием, нет опасности в том, чтобы назначить пользователям роль группы Administrators.

Лабораторная работа № 3

Создание структуры таблиц

Определить таблицу можно либо при помощи Enterprise Manager, либо

Query Analyzer. Используем Enterprise Manager.

Схема БД состоит из четырех отношений:

Company (ID_comp, name)

Trip(trip_no, id_comp, plane, town_from, town_to, time_out, time_in) Passenger(ID_psg, name)

Pass_in_trip(trip_no, date, ID_psg, place)

Таблица Company содержит идентификатор и название компании, осуществляющей перевозку пассажиров.

19

Таблица Trip содержит информацию о рейсах: номер рейса, идентификатор компании, тип самолета, город отправления, город прибытия, время отправления и время прибытия.

Таблица Passenger содержит идентификатор и имя пассажира. Таблица Pass_in_trip содержит информацию о полетах: номер рейса, дата вылета (день), идентификатор пассажира и место, на котором он сидел во время полета. При этом следует иметь в виду, что - рейсы выполняются ежедневно, а длительность полета любого рейса менее суток;

-время и дата учитывается относительно одного часового пояса;

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

-среди пассажиров могут быть однофамильцы (одинаковые значения поля name, например, Bruce Willis);

-номер места в салоне – это число с буквой; число определяет номер ряда, буква (a – d) – место в ряду слева направо в алфавитном порядке;

-связи и ограничения показаны на схеме данных.

Рис. 7. Диаграмма БД

Определение таблиц

1.Запустите Enterprise Manager.

2.Найдите в дереве объектов базу данных, созданную в предыдущей лабораторной работе. Разверните базу данных так, чтобы увидеть узел Tables.

3.Щелкните правой кнопкой мыши на узле Tables и выберите в контекстном меню команду New Tables. Этим вы запустите конструктор таблиц.

4.Заполните окно конструктора информацией о всех полях первой таблицы. Последним элементом при описании поля таблицы является значение флажка Allow Nulls. При сброшенном флажке значение поле при вводе считается обязательным.

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]