
Метод указания AIS
.pdf
Рисунок 47
В таблице Klass задайте для роли разрешение Select (рисунок 48).
КАТУ ИМ СЕЙФУЛЛИНА
К.Т.Н. А.С.
СУБДРисунок 48
Нажмите OK. SQL Server закроет диалоговое окно Permissions (Разрешения).
Нажмите OK. SQL Server добавит новую роль.
9) Назначьте пользователя роли базы данных
В дереве консоли Console Tree для базы данных Student нажмите на значке Users. SQL Server отобразит список пользователей в панели деталей Details Pane.
В списке пользователей дважды щелкните на вашем имени пользователя. SQL Server отобразит диалоговое окно Database User Properties (Свойства пользователя базы данных) (рисунок 49).
41

Рисунок 49
В окне со списком Database Role Membership (Элементы роли базы данных) нажмите на роль lesson для добавления пользователя.
Нажмите OK. SQL Server добавит пользователя в роль и закроет диалоговое окно Database User КАТУProperties (СвойстваИМпользователя .базыСданных.СЕЙФУЛЛИНА).
10) Удалите пользователя из роли базы данных
В дереве консоли Console Tree в базе данных Student найдите значок Users. SQL Server отобразит список пользователей в панели деталей Details Pane.
В списке пользователей дважды щелкните на вашем имени пользователя. SQL Server отобразит Кдиалоговое.Т.Нокно Database. ОМАРБЕКОВАUser Properties (Свойства пользователя базы данных). А.С.
В списке Database Role Membership (Элементы роли базы данных) снимите выделение для роли
Нажмите OK. SQL Server удалит пользователя из роли и закроет диалоговое окно.
11) Удалите роль базыСУБДданных
В дереве консоли Console Tree для базы данных Student найдите значок Roles. SQL Server отобразит список ролей в панели деталей Details Pane.
В панели деталей Details Pane выберите роль lesson и нажмите кнопку Delete (Удалить). SQL Server отобразит сообщение для подтверждения удаления.
Нажмите Yes (Да). SQL Server удалит роль из базы данных.
Контрольные вопросы
1.Что такое «аутентификация»?
2.Чем характеризуется роль Security Administrators?
3.Что определяет роль базы данных?
4.Что такое «доверительное соединение»?
5.Какими свойствами характеризуется роль Process Administrators?
6.Какой режим аутентификации рекомендует использовать Microsoft?
7.В какой базе данных необходимо создать роли, чтобы они добавлялись во все новые базы данных?
42

5 Создание таблиц
В окружении SQL Server, как в любой реляционной базе данных, информация организована в виде таблиц, состоящих из упорядоченных строк и столбцов, хранящих данные для одиночных объектов.
Вы узнаете, как создавать новую таблицу и задавать столбцы, которые будут в ней содержаться. Совет. Удобно представлять себе содержимое таблицы в виде сетки или таблицы. Однако важно
понимать, что записи в таблице не имеют строго предопределенного порядка следования. Термины "предыдущая" и "последующая" не могут быть применены к записям в таблице.
Если вам требуется выполнить операции последовательного доступа, это можно сделать с помощью создания так называемого курсора, который представляет собой элемент предметной области (сущность), указывающий на определенную строку в наборе записей.
Создание таблиц
Таблицы представляют собой основные единицы хранения данных в реляционной базе данных. Наиболее распространенный метод описания баз данных использует концепцию сущностей
(entities) и атрибутов (attributes). Когда вы переходите от логического конструирования к физической реализации, сущности реализуются в виде таблиц, а атрибуты – в виде столбцов (они также называются полями).
Типы данных
Каждый столбец в таблице имеет определенные свойства, которые описывают его в SQL Server. Наиболее важным из этих свойств является тип данных, который является описанием типа информации,
КАТУкоторая будет хранитьсяИМв столбце.. SQLСServer.СЕЙФУЛЛИНАпредоставляет обширный перечень типов данных. Они представлены в таблице 8.
Помимо типов данных, предоставляемых SQL Server, вы можете определить свой собственный тип.
Таблица 8 - Типы данных в SQL Server
|
Тип данных |
Допустимые значения |
|
К |
.Т.Н. ОМАРБЕКОВА |
А.С. |
|
|
1 |
2 |
|
|
|
Числовые значения |
|
|
Bigint |
Целые числа от -2^63 до 2^63-1. |
|
|
Int |
Целые числа от -2^31 до 2^31-1. |
|
|
Smallint |
Целые числа от -2^15 до 2^15-1. |
|
|
Tinyint |
Целые числа от 0 до 255. |
|
|
Bit |
Целые числа, принимающие значения 0 или 1. |
|
|
Decimal |
Десятичные числа с фиксированным количеством знаков до и |
|
|
|
после запятой в диапазоне от -10^38+1 до 10^38-1. (Десятичные |
|
|
|
"numeric"; диапазон |
|
|
|
числа decimalСУБДтакже могут быть описаны как |
|
|
|
значений при этом одинаковый.) |
|
|
Money |
Числа в денежном формате в диапазоне от -2^63 до 2^63-1. |
|
|
|
(Значения в денежном формате имеют точность, равную одной |
|
|
|
десятитысячной (.0001) от денежной единицы.) |
|
|
Smallmoney |
Числа в денежном формате в диапазоне от -214748,3648 до |
|
|
|
214748,3647.(Точность этих чисел также равна одной |
|
|
|
десятитысячной (.0001) от денежной единицы.) |
|
|
Float |
Числа с плавающей запятой в диапазоне от -1.79Е+308 до |
|
|
|
1.79Е+308. (Значения являются лишь приблизительными.) |
|
|
real |
Числа с плавающей запятой в диапазоне от -3.40Е+38 до |
|
|
|
3.40Е+38. (Значения являются лишь приблизительными.) |
|
43

Продолжение таблицы 8
1 |
2 |
Значения даты и времени
datetime Значения даты и времени начиная с 1 января 1753 г. до 31 декабря 9999 г. (Значения даты и времени имеют точность, равную трем сотым секунды или 3,33 миллисекунды.)
smalldatetime Значения даты и времени начиная с 1 января 1900 г. до 6 июня 2079 г. (Точность значений составляет одну минуту.)
Символьные значения
char Символьные значения (не Unicode) фиксированной длины, максимально 8000 символов.
Varchar Символьные значения (не Unicode) переменной длины, максимальная длина составляет 8000 символов.
Text Данные (не Unicode) переменной длины, максимальная длина составляет 2^31-1 (2147483647) символов.
Nchar Данные (Unicode) фиксированной длины, максимальная длина составляет 4000 символов.
nvarchar Данные (Unicode) переменной длины, максимальная длина составляет 4000 символов.
ntext Данные (Unicode) переменной длины, максимальная длина составляет 2^30-1
КАТУ(1073741823)ИМсимволов.С. .СЕЙФУЛЛИНА
Двоичные (бинарные) значения
binary Двоичные данные фиксированной длины, максимальная длина составляет 8000 байт.
Varbinary Двоичные данные переменной длины, максимальная длина составляет 8000 байт. Кimage.Т.НДвоичные. ОМАРБЕКОВАданные переменной длины, максимальная длина составляеАт 2^31.-1С.
(2147483647)
Другие значения
cursor Ссылка на курсор. (Курсор представляет собой сущность, которая устанавливает ссылку на определеннуюСУБДстроку в результирующем наборе.)
rowversion Уникальный используемый для всей базы данных номер, который обновляется каждый раз при модификации строки. (В предыдущих версиях SQL Server типу данных rowversion соответствовал тип timestamp.)
sql_variant Значения любого типа, за исключением text, ntext, rowversion (timestamp) и sql_variant.
uniquedentifier Глобальный уникальный идентификатор (GUID).
Создание новой таблицы
Таблицы создаются и обслуживаются с помощью конструктора таблиц Table Designer Enterprise Manager. Первым шагом является создание и присвоение имени таблицы путем открытия конструктора таблиц Table Designer для новой таблицы.
Точность и масштаб
Точность (precision) числового значения представляет собой максимальное количество десятичных разрядов, которые представляют значение, как слева, так и справа от десятичной точки. Масштаб (scale) значения представляет собой количество знаков справа от десятичной точки. Например, значение 3647,311 имеет точность 7 (общее количество знаков) и масштаб 3 (количество знаков справа от десятичной точки).
Важно понимать, что точность и масштаб числового значения не влияют на длину столбца. Длина столбца определяется типом данных. Точность и масштаб определяют, как SQL Server будет интерпретировать данные, хранящиеся в столбце.
Идентификационные значения
44
Когда вы устанавливаете свойство идентификации Identity для столбца, вы тем самым предписываете SQL Server вставить в столбец значение, которое уникально идентифицирует каждую строку. Выбранный тип данных задает природу данных, содержащихся в столбце. Идентификационные столбцы могут иметь типы данных int, smallint, tinyint или decimal.
Когда SQL Server вставляет строку в таблицу, имеющую столбец идентификации, он автоматически генерирует значения для столбца на основе последнего использованного значения (начиная с начального) и приращения идентификатора, заданного при создании таблицы.
Например, если для столбца идентификации задан тип smallint, начальное значение равно 50, а приращение равно 5, для первой вставленной строки будет присвоено значение 50, для второй строки – значение 55, для третьей строки – значение 60 и т.д.
Свойство Identity может быть установлено только для одного столбца в таблице.
GUID
Глобальный уникальный идентификатор (Globally Unique Identifier – GUID) представляет собой 16байтное уникальное значение – ни один другой в мире компьютер не будет генерировать это значение. Тип данных uniqueidentifier используется для хранения GUID-идентификаторов.
SQL Server не генерирует GUID-идентификаторы автоматически, как он это делает для идентификационных значений, поскольку таблица может содержать несколько GUID-идентификаторов, но только одно идентификационное значение. Тем не менее, функция NEWID, которую SQL Server предлагает как значение по умолчанию, если для свойства Is RowGUID установлено значение Yes (Да), будет возвращать новый GUID-идентификатор при вставке строки.
КАТУСимвольные типыИМданных .С.СЕЙФУЛЛИНА
SQL Server поддерживает два различных вида символьных столбцов: с фиксированной длиной и с переменной длиной, каждый из которых может содержать данные либо в формате Unicode, либо не в формате Unicode, а также иметь три различные длины. Unicode представляет собой метод кодирования символов, поддерживающий двухбайтное выражение символов.
Если для столбца объявлена переменная длина (например, тип varchar или text для данных не- КUnicode,.Т.иНnvarchar.илиОМАРБЕКОВАntext для данных Unicode), то SQL Server будет хранить только Афактические.С.
символы данных, которые были введены. Если, с другой стороны, для столбца объявлена фиксированная длина (тип char для данных не-Unicode или nchar для данных Unicode). SQL Server будет дополнять введенные значения пробелами.
Например, если для столбцаСУБДобъявлен тип char с длиной, равной 10, а фактическим значением является "hello", SQL Server будет хранить значение как "hello", с пятью пробелами, следующими за пятью фактическими символами.
Значения по умолчанию
Значение по умолчанию представляет собой значение, которое будет помещаться в столбец, если пользователь явно не задал значение.
Мы уже сталкивались с двумя специальными видами значений по умолчанию: идентификационное значение, предоставляемое SQL Server, когда вы устанавливаете свойство Identity, а также функция NEWID, предоставляемая SQL Server, когда вы устанавливаете свойство Is RowGuid. В действительности вы можете задавать значения по умолчанию для любого столбца. Значения по умолчанию могут быть константами, такими как 'Не определен' или 123, функциями, такими как NEWID или GETDATE, либо математическими выражениями, такими как 3 + 5.
Управление таблицами
Хотя "принципы разработки" требуют, чтобы структура вашей базы данных была окончательно определена до начала реализации, на практике это не всегда удается осуществить. SQL Server облегчает выполнение задач по сопровождению баз данных.
Изменение столбцов
Вы можете повторно открыть конструктор таблиц Table Designer для таблицы, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы) из контекстного меню. После того, как конструктор таблиц будет открыт, вы можете изменить свойства имеющихся столбцов, удалять их или добавлять новые.
45

Изменение таблиц
Помимо изменения определений столбцов таблицы Enterprise Manager облегчает переименование таблиц и удаление таблиц из базы данных.
Задания:
1)создайте новую таблицу;
2)добавьте в таблицу столбец числовых значений;
3)добавьте в таблицустолбец идентификации;
4)добавьте в таблицу столбец GUID;
5)добавьте в таблицу столбец даты;
6)добавьте в таблицу символьный столбец;
7)переименуйте столбец;
8)удалите столбец;
9)переименуйте таблицу;
10)удалите таблицу.
Методические указания 1) Создайте новую таблицу
Перейдите к папке Tables базы данных Student. SQL Server отобразит список имеющихся таблиц.
Нажмите кнопку New (Создать) в панели инструментов. SQL Server откроет конструктор
КАТУтаблиц Table DesignerИМ(рисунок 50).. С.СЕЙФУЛЛИНА
К.Т.Н. А.С.
Рисунок 50
Нажмите кнопку Properties (Свойства) в панели инструментов. SQL Server откроет диалоговое окно Properties (Свойства) для таблицы (рисунок 51).
Измените имя таблицы на lesson.
Нажмите Close (Закрыть). SQL Server закроет диалоговое окно Properties (Свойства).
46

Рисунок 51
2) Добавьте в таблицу столбец числовых значений
Введите MyNumber в ячейку имени столбца Column Name, а затем нажмите клавишу Tab. SQL
Server предлагает использование типа данных char (рисунок 52).
КАТУ ИМ СЕЙФУЛЛИНА
К.Т.Н. А.С.
Рисунок 52
Измените тип данных на decimal. SQL Server изменит длину столбца на 9 и разрешит использование полей Precision, Scale и Identity.
Введите Образец столбца числовых значений в ячейку описания Description.
Измените общее количество знаков числа (поле Precision) на 5, а количество знаков после запятой (поле Scale) на 2. SQL Server изменит длину столбца на 5, чтобы отразить новое количество знаков в числе (рисунок 53).
47

Рисунок 53
3) Добавьте в таблицу столбец идентификации
Щелкните на пустой ячейке в столбце Column Name, введите MyIdentity, а затем нажмите КАТУклавишу Tab. SQL ServerИМпредлагает.Сиспользование.СЕЙФУЛЛИНАтипа данных char.
Измените тип данных на decimal. SQL Server изменит длину столбца на 9 и разрешит использование полей Precision, Scale и Identity.
Сбросьте флажок Allow Null (Разрешить нулевое значение).
К.ТЗначение.НNull.представляетОМАРБЕКОВАсобой особый вид значений в реляционной технологииА, которое.С. используется для указания, что значение либо отсутствует, либо не существует. Использование
значений типа Null в ряде случаев является сомнительным и спорным.
Введите в ячейку описания Description текст Образец столбца идентификации.
Измените значение поляСУБДIdentity на Yes (Not For Replication). SQL Server предлагает для полей начального значения Identity Seed и приращения Identity Increment значение 1.
4) Добавьте в таблицу столбец GUID
Щелкните на пустой ячейке в столбце Column Name, введите MyGUID, а затем нажмите клавишу Tab. SQL Server предлагает в качестве типа данных char.
Измените тип данных на uniqueidentifier. SQL Server изменит длину столбца на 16 и разрешит использование поля Is RowGUID.
Введите в ячейку описания Description текст Образец GUID.
Измените значение поля Is RowGUID на Yes. SQL Server установит значение по умолчанию
(Newid()) (рисунок 54).
48

Рисунок 54
5) Добавьте в таблицу столбец даты
Щелкните на пустой ячейке в столбце Column Name, введите MyDate, а затем нажмите клавишу КАТУTab. SQL Server предлагаетИМтип данных.Сchar.. СЕЙФУЛЛИНА
Измените тип данных на datetime. SQL Server изменит длину столбца на 8.Введите Образец столбца даты в ячейку описания Description.
6) Добавьте в таблицу символьный столбец
К.ТЩелкните.Нна.пустойОМАРБЕКОВАячейке в столбце Column Name, введите MyChar, а затем нажмитеАклавишу.С. Tab. SQL Server предлагает тип данных char.
7) Переименуйте столбец
Выберите папку Tables для базы данных Student в дереве консоли Console Tree. SQL Server отобразит список таблиц в рабочей панели Details Pane.
Щелкните правой кнопкойСУБДмыши на таблице lesson в рабочей панели Details Pane и выберите Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.
Выделите MyChar в ячейке Column Name и введите MyCharacter.SQL Server изменит имя столбца.
Нажмите кнопку Save (Сохранить) в панели инструментов конструктора таблиц Table Designer, чтобы сохранить изменения.
8) Удалите столбец
Выделите столбец MyDate, щелкнув на сером прямоугольнике слева от имени столбца.
Нажмите клавишу Delete. SQL Server удалит столбец.
Нажмите кнопку Save (Сохранить), чтобы сохранить изменения.
Закройте окно конструктора таблиц.
9) Переименуйте таблицу
Перейдите к папке Tables базы данных Student в дереве консоли Console Tree. SQL Server отобразит список таблиц в рабочей панели Details Pane.
Щелкните правой кнопкой мыши на таблице lesson в рабочей панели Details Pane и выберите Rename (Переименовать).
Введите new lesson и нажмите Enter. SQL Server отобразит диалоговое окно Rename (Переименование), предупреждающее, что изменение имени таблицы сделает невозможными все ссылки на нее из других объектов (рисунок 55).
49

Рисунок 55
Нажмите кнопку View Dependencies (Просмотр зависимостей), чтобы отобразить все объекты, которые может затронуть изменение. SQL Server откроет диалоговое окно Dependencies (Зависимости) (рисунок 56).
КАТУ ИМ СЕЙФУЛЛИНА
К.Т.Н. |
А.С. |
Рисунок 56 |
|
СУБД |
|
Нажмите Close (Закрыть), чтобы закрыть диалоговое окно. |
|
Нажмите Yes (Да) в диалоговом окне Rename (Переименование). SQL Server отобразит сообщение. Подтверждающее успешное выполнение изменения имени.
Выделите таблицу new lesson в панели детализации Detail Pane.
Нажмите клавишу Delete. SQL Server отобразит диалоговое окно Drop Objects (Удаление объектов) (рисунок 57).
50