SYBASE8 (Задания по бд), страница 4

2015-08-16СтудИзба

Описание файла

Файл "SYBASE8" внутри архива находится в папке "documentation к лаб.раб. и курсу БД". Документ из архива "Задания по бд", который расположен в категории "". Всё это находится в предмете "вычислительные машины, системы и сети (вмсис)" из 7 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "вмсс" в общих файлах.

Онлайн просмотр документа "SYBASE8"

Текст 4 страницы из документа "SYBASE8"

Пример:

sp_addlogin APB, lum74wgi, MPEI_teach

При запуске процедуры sp_addlogin SQL-сервер добавляет одну запись в таблицу master.dbo.syslogins, назначает уникальное на сервере имя пользователя (это имя заносится в поле suid), а также заносит другую информацию. Когда пользователь входит в систему, SQL-сервер сравнивает его имя и пароль с информацией в таблице syslogins. Поле пароль зашифровывается по специальному алгоритму и не может быть прочитан человеком. Значение поля suid в первой записи таблицы syslogin всегда является именем системного администратора, инсталлирующего SQL-сервер.

Создание групп

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

Группы пользователей создаются либо системным администратором, либо владельцем БД до того, как эта группа станет пользователем БД, с помощью процедуры sp_addgroup:

sp_addgroup <имя группы>

Например: sp_addgroup seneng

Системный администратор может переназначить пользователей в другие группы с помощью процедуры sp_changegroup.

При выполнении процедуры sp_ addgroup в таблицу sysusers добавляется одна запись, т.е. группа - это один пользователь, указывается в sysusers.

Добавление пользователей БД

Осуществляется с помощью процедуры sp_adduser:

sp_adduser <входное имя> [,<имя в БД>[,<имя группы>]]

<имя в БД> - это имя пользователя, отличное от <входного имени>, но известное БД; это необязательный параметр.

<имя группы> - имя существующей в БД группы; это необязательный параметр; если он не указывается, то это означает, что пользователь является членом группы по умолчанию "public".

Например: Предоставить право пользователю maryh, члену группы eng, работать с БД pubs2:

sp_adduser maryh, mary, eng

Системная процедура sp_adduser добавляет одну запись в системную таблицу sysusers пользовательской БД. Пользователь, имеющий соответствующую запись о себе в таблице sysusers:

1) может использовать команду use в БД, т.е. имеет доступ к БД;

2) будет использовать эту БД по умолчанию, если имя этой БД было указано как параметр в процедуре sp_addlogin или

3) можно использовать процедуру sp_modifylogin для того, чтобы назначить БД по умолчанию.

С помощью процедуры sp_adduser можно добавить пользователя типа "гость":

sp_adduser guest

При первом добавлении пользователя типа "гость", "гость" обладает всеми привилегиями в БД типа "public". Кроме этого, владелец БД и владельцы объектов БД могут изменить эти привилегии, используя команды grant и revoke.

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

Уничтожение входных имен, пользователей, групп

Системный администратор или владелец БД может использовать следующие процедуры:

1) sp_droplogin <входное имя> (только системный администратор)

2) sp_dropuser <имя в БД>

3) sp_dropgroup <имя группы>

Блокировка входных имен

Вместо уничтожения входных имен можно их заблокировать, а затем разблокировать с помощью процедуры sp_locklogin:

sp_locklogin [<входное имя>, "{lock | unlock}"]

Использование sp_locklogin без параметров показывает список всех заблокированных входных имен.

Изменение пользовательской информации

Для изменений паролей пользователей, групп, БД по умолчанию, языков по умолчанию, полных имен пользователей системный администратор, владелец БД или пользователь может использовать системные процедуры

sp_password, sp_changegroup, sp_modifylogin.

Изменение паролей

Управляющий системной защитой может установить время действия паролей пользователей, через которое необходимо обновлять эти пароли. Но даже если не использовать это время действия паролей, то очень важно в целях защиты БД время от времени пользователям менять свои пароли.

В таблице syslogin в колонке pwdate указывается дата последнего изменения пароля. Пользователь с помощью системной процедуры sp_password может в любое время сменить свой пароль, а управляющий системной защитой с помощью этой процедуры может сменить любой пользовательский пароль:

sp_password <старый пароль>, <новый пароль>[,<входное имя>]

<старый пароль> - для пользователя это старый, его ныне действующий пароль, а для управляющего системной защитой - это пароль управляющего системной защитой.

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

Параметр <входное имя> указывается только управляющим системной защитой.

Примеры:

1) пользователь изменяет пароль "3blindmice" на "2mediumhot":

sp_password "3blindmice", "2mediumhot"

2) управляющий системной защитой изменяет пароль пользователю victoria с "2tomato" на "sesame1":

sp_password "2tomato", "sesame1", victoria

Изменение умолчаний для пользователя

Системный администратор может изменить название БД по умолчанию, язык пользователя по умолчанию и полное имя в любое время с помощью процедуры sp_modifylogin:

sp_modifylogin <входное имя>, <опция>, <значение>

<опция> - это опция, которая изменяется; она принимает следующие значения:

defdb - БД, к которой присоединяется пользователь при указании <входного имени>;

deflanguage - язык пользователя по умолчанию, указанный в таблице master..syslanguages;

fullname - полное имя пользователя.

<значение> - новое значение для указанной опции.

Однако, процедура modifylogin не дает автоматического доступа к новой БД. Владельцу БД необходимо выполнить процедуру sp_adduser или sp_addalias.

Примеры:

1) изменения БД по умолчанию для пользователя anna:

sp_modifylogin anna, defdb, pubs2

новое имя БД - pubs2;

2) изменение языка по умолчанию пользователя claire на французский:

sp_modifylogin claire, deflanguage, french

3) изменение полного имени для пользователя clemens на samuel clemens:

sp_modifylogin clemens, fullname, "Samuel Clemens"

Изменение группы для пользователя

Каждый пользователь может быть членом только одной группы, исключая группу "public" (так как все пользователи являются членами группы "public"). До того как выполняется изменение группы, необходимо:

1) группа должна существовать (т.е. должна быть создана с помощью процедуры sp_addgroup);

2) пользователь должен иметь доступ к текущей БД (должен быть в таблице sysusers).

Изменение группы выполняется с помощью процедуры sp_changegroup:

sp_changegroup <имя группы>, <имя в БД>

Например:

1) перевести пользователя jim из текущей группы в группу manage:

sp_changegroup manage, jim

2) удалить пользователя jim из текущей группы, не переводя в другую группу:

sp_changegroup "public", jim

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

Использование псевдонимов в БД

Механизм использования псевдонимов позволяет обращаться к двум и более пользователям как к одному пользователю БД. Например: очень часто несколько человек являются владельцами БД. Для назначения и уничтожения псевдонимов используются процедуры sp_addalias и sp_dropalias.

Создание псевдонима:

sp_addalias <входное имя>,<имя в БД>

<входное имя> - имя пользователя, который хочет иметь альтернативное имя в текущей БД

<имя в БД> - это имя должно быть и в таблице master..syslogin и в таблице sysusers.

При выполнении процедуры sp_addalias добавляется одна запись в таблицу sysalternates, т.е. устанавливается соответствие между <входным именем> и <именем в БД>.

Например: Mary является создателем-владельцем БД; она разрешает стать владельцами БД jane и sarah:

sp_addalias jane, dbo

sp_addalias sarah, dbo

Уничтожение псевдонима

По команде sp_dropalias <входное имя> удаляется соответствующая запись в таблице sysalternates, т.е. разрывается соответствие между именами.

Получение информации о пользователях

1) процедура sp_who выдает информацию о текущих пользователях SQL-сервера и текущих процессах;

2) процедура sp_displaylogin выдает информацию о входных именах;

3) процедура sp_helpuser выдает информацию о пользователях и псевдонимах в БД;

4) процедура sp_helpgroup выдает информацию о группах в БД.

Контроль целостности данных

Система контроля целостности БД (DBCC) - это набор команд-утилит для проверки логической и физической целостности БД. Команды DBCC используются:

1) как часть регулярного обслуживания БД системным администратором (для обнаружения и исправления ошибок);

2) для определения экстента возможного сбоя после обнаружения системной ошибки;

3) до выполнения дампирования БД;

4) если вы подозреваете, что БД вышла из строя.

Две основные функции DBCC:

1) контроль распределенных структур (команды checkalloc, tablealloc и indexalloc);

2) контроль связывания страниц и указателей данных и на уровне страниц и на уровне записей (checktable и checkdb).

Полномочия на выполнение команд DBCC имеют СА и ВБД. Кроме этого, полномочия на выполнение команд dbcc checktable, dbcc reindex и dbcc fix_text имеет владелец таблицы. Эти полномочия никому не передаются.

Концепции распределения страниц и объектов

По команде disk init новый диск памяти делится на выделенные единицы по 256 страниц (каждая страница - это 2 Кб). Когда требуется память под таблицу или индекс, SQL-сервер выделяет блок из 8 страниц, называемый экстентом. То есть выделенная единица памяти составляет 32 таких экстента. Для управления выделением памяти SQL-сервер использует экстенты:

1) при создании таблицы или индекса SQL-сервер выделяет экстент;

2) при добавлении записей в таблицу, SQL-сервер выделяет дополнительную страницу из экстента, если существующие для этой таблицы страницы заполнены до конца; а если заполнены все страницы экстента, тогда SQL-сервер выделяет дополнительный экстент;

3) при уничтожении таблицы или индекса SQL-сервер освобождает занятые экстенты;

4) при удалении записей из таблицы если полностью освобождается страница, SQL-сервер освобождает страницу, а при полном освобождении экстента SQL-сервер освобождает экстент.

Все это обеспечивает быстрый метод распределений памяти для БД.

Команды DBCC

1. dbcc checktable ({<имя таблицы> | <идентификатор таблицы>} [,skip_ncindex])

Эта команда проверит в таблице следующее:

  • правильность связи индекса и страниц данных;

  • правильность сортировки индексов;

  • согласованность всех указателей;

  • наличие информации в первой странице выделенной единицы памяти о распределении записей в каждой странице в этой единице памяти.

Опция skip_ncindex в этой команде отменяет контроль связи страниц, указателей и правильности сортировки в негрупповых индексах.

Пример: dbcc checktable (titles)

go

Если команда dbcc checktable обнаруживает неправильность в связи страниц, то выдается сообщение об ошибке.

Если обнаруживается ошибка в сортировке, то команда dbcc checktable может устранить эту ошибку.

Если есть записи, которые не учитываются в первой странице выделенной единицы памяти для таблицы, то команда dbcc checktable исправляет количество записей в этой странице.

2. dbcc checkdb [(<имя БД> [,skip_ncindex])]

Эта команда делает аналогичный контроль, как и по команде dbcc checktable, для каждой таблицы указанной БД. Если <имя БД> не указывается, то контроль осуществляется в активной БД.

3. dbcc checkcatalog [(<имя БД>)]

Эта команда проверяет целостность системных таблиц и связей между ними в указанной БД. Если <имя БД> не указывается, то контроль осуществляется в активной БД.

Например, эта команда проверяет следующее:

  • каждый тип в таблице syscolumns имеет запись в таблице systypes;

  • каждая таблица и представление в таблице sysobjects имеет один столбец в таблице syscolumns;

  • значение последней контрольной точки в таблице syslogs;

  • список сегментов, определенных для использования указанной БД.

Пример:

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5259
Авторов
на СтудИзбе
421
Средний доход
с одного платного файла
Обучение Подробнее