Добавьте в таблицу Database files еще одну новую строку и заполните ее следующим образом: имя файла – СкладХХХ_data3; тип файла – Data; группа файлов - SECONDARY; начальный размер – 4 MB; файл должен наращиваться на 4 MB и его рост не ограничивается; размещение – D:\Work\X7230ХХХ.
Закройте окно New Database, нажав кнопку «ОК». Убедитесь, что созданная база данных появилась в папке Databases панели Object Explorer.
Примечание. По умолчанию файлы данных и журнала транзакций размещаются в папках, указанных в полях Default data directory и Default log directory соответственно, которые расположены на странице Database Settings окна свойств сервера.
5. Создайте в базе данных СкладХХХ 6 таблиц со столбцами, описание которых приведено ниже.
Для создания таблицы нужно на панели Object Explorer раскрыть элемент СкладХХХ и затем в контекстном меню появившейся папки Tables выбрать команду New Table, открывая тем самым конструктор таблицы.
1) таблица Регион |
|
||
Имя столбца |
Тип данных |
Первичный ключ |
Разрешить значения Null |
КодРегиона Страна Область Город Адрес Телефон Факс |
int nvarchar(20) nvarchar(20) nvarchar(20) nvarchar(50) char(15) char(15) |
Да |
Да |
2) таблица Поставщик |
|
||
Имя столбца |
Тип данных |
Первичный ключ |
Разрешить значение Null |
КодПоставщика ИмяПоставщика УсловияОплаты КодРегиона Заметки |
int nvarchar(40) varchar(30) int nvarchar(MAX) |
Да |
Да Да Да |
3) таблица Клиент |
|
||
Имя столбца |
Тип данных |
Первичный ключ |
Разрешить значение Null |
КодКлиента ИмяКлиента ФИОРуководителя КодРегиона |
int nvarchar(40) nvarchar(60) int |
Да |
Да Да |
4) таблица Валюта |
|
||
Имя столбца |
Тип данных |
Первичный ключ |
Разрешить значение Null |
КодВалюты ИмяВалюты ШагОкругления КурсВалюты |
char(3) varchar(30) numeric(10,4) smallmoney |
Да |
Да |
5) таблица Товар |
|
||
Имя столбца |
Тип данных |
Первичный ключ |
Разрешить значение Null |
КодТовара Наименование ЕдиницаИзм Цена КодВалюты Расфасован |
int nvarchar(50) char(10) money char(3) char(3) |
Да |
Да Да Да |
6) таблица Заказ |
|
||
Имя столбца |
Тип данных |
Первичный ключ |
Разрешить значение Null |
КодЗаказа КодКлиента КодТовара Количество ДатаЗаказа СрокПоставки КодПоставщика |
int int int numeric(12,3) datetime datetime int |
Да Да Да |
Да Да Да Да |
6. В таблице Клиент столбец КодКлиента и в таблице Заказ столбец КодЗаказа сделайте автоинкрементными столбцами, т.е. при добавлении новой строки значения этих столбцов будут устанавливаться автоматически наращиванием (обычно на единицу) предыдущих значений. Соответствующее свойство столбца называется Identity Specification (см. вкладку Column Properties в нижней части экрана); здесь же можно, в частности, указать начальное значение и шаг приращения.
7. Задайте для столбцов значения по умолчанию с помощью свойства Default Value or Binding (см. вкладку Column Properties в нижней части экрана). Значением по умолчанию для столбца Страна будет 'Беларусь'; для столбца УсловияОплаты – 'Предоплата'; для столбца ШагОкругления – 0.01; для столбца ЕдиницаИзм – 'штука'; для столбца КодВалюты (из таблицы Товар) – 'BYR'; для столбца ДатаЗаказа – getdate(), т.е. текущая дата; для столбца СрокПоставки – getdate() + 14, т.е. через две недели от текущей даты; для столбца Расфасован – 'Нет'.
8. Создайте уникальные (unique) индексы, разместив их в группе файлов SECONDARY:
Имя таблицы |
Имя индекса |
Имена столбцов индекса |
Поставщик Клиент Валюта Товар Регион Регион |
UIX_Поставщик UIX_Клиент UIX_Валюта UIX_Товар UIX_Регион UIX_Регион2 |
ИмяПоставщика ИмяКлиента ИмяВалюты Наименование Страна, Область, Город, Адрес Факс |
Примечание. Для создания индекса нужно в окне конструктора соответствующей таблицы вызвать правой кнопкой мыши контекстное меню и выбрать в нем команду Indexes and Keys (или нажать соответствующую кнопку на панели инструментов).
Создайте неуникальные индексы, также разместив их в группе файлов SECONDARY:
Имя таблицы |
Имя индекса |
Имена столбцов индекса |
Регион Товар Заказ |
IX_Регион IX_Товар IX_Заказ |
Страна, Город ЕдиницаИзм, Наименование ДатаЗаказа |
10. Установите для столбцов проверочные ограничения. Для столбцов Цена, Количество и КурсВалюты ограничение заключается в выборе только неотрицательных значений: <имя_поля> >= 0; для столбца ШагОкругления – в выборе одного из трех возможных значений: ШагОкругления IN (50, 1, 0.01); для столбца Расфасован – в выборе одного из двух возможных значений: Расфасован IN ('Нет', 'Да').
Примечание. Для создания проверочных ограничений нужно раскрыть элемент соответствующей таблицы и в контекстном меню появившейся папки Constraints выбрать команду New Constraint.
Установите между таблицами связи типа 1:М, которые задаются строками следующей таблицы:
Имя связи |
Родительская таблица / Пер- вичный ключ |
Дочерняя таблица / Вне- шний ключ |
FK_Поставщик_Регион FK_Клиент_Регион FK_Товар_Валюта FK_Заказ_Товар FK_Заказ_Клиент FK_Заказ_Поставщик |
Регион / КодРегиона Регион / КодРегиона Валюта / КодВалюты Товар / КодТовара Клиент / КодКлиента Поставщик / КодПоставщика |
Поставщик / КодРегиона Клиент / КодРегиона Товар / КодВалюты Заказ / КодТовара Заказ / КодКлиента Заказ / КодПоставщика |
При этом связи FK_Заказ_Товар и FK_Заказ_Клиент должны обеспечивать каскадное обновление и удаление данных.
Примечание. Для установления связи между родительской и дочерней таблицами нужно раскрыть элемент дочерней таблицы и в контекстном меню появившейся папки Keys выбрать команду New Key.
12. Создайте диаграмму для базы данных СкладХХХ. Для этого в контекстном меню папки Database Diagrams выберите команду New Database Diagram. В диаграмму включите все таблицы, входящие в базу данных СкладХХХ.
После появления на экране окна с диаграммой установите оптимальный масштаб изображения и расположите элементы диаграммы наиболее удобным образом, а также включите режим показа названий связей между таблицами. Для этого щелкните мышью на свободном месте диаграммы и, вызвав контекстное меню, выберите команду Show Relationship Labels. Сохраните диаграмму под именем Диаграмма1 после чего закройте ее.
1. При помощи пользовательского меню Windows запустите утилиту SQL Server Management Studio. На панели Object Explorer в дереве структуры раскройте папку Databases.
2. Присоедините базу данных СкладХХХ, для чего выберите в контекстном меню папки Databases команду Atach Database, затем в появившемся окне нажмите кнопку Append и далее укажите местоположение первичного файла данных (т.е. файла данных с расширением .mdf). Убедитесь, что база данных СкладХХХ появилась в папке Databases.
3. На панели Object Explorer откройте папку Security и выберите в ней строку Logins. При этом справа на панели Summary будет представлен список так называемых регистрационных записей SQL Server (в которые отображаются, в частности, те учетные записи домена Windows, которым разрешен доступ к серверу Имя_компьютера\sqlexpress). Если среди регистрационных записей присутствуют регистрационные записи ИмяДомена\sql1, ИмяДомена\sql2, ИмяДомена\sql3, ИмяДомена\sql4, то выделите их и затем удалите, выбирая в контекстном меню команду Удалить.
Создайте для SQL Server новую регистрационную запись ИмяДомена\sql1 следующим образом. Выберите в контекстном меню строки Logins команду New Login и откройте окно Login - New. На странице General нажмите кнопку Search (справа от поля ввода Login name), затем выберите из списка учетную запись Windows с именем ИмяДомена\sql1 и вставьте ее в поле ввода Login name. В качестве базы данных по умолчанию выберите СкладХХХ.
На странице Server Roles установите флажок dbcreator, предоставляя тем самым пользователю с учетной записью ИмяДомена\sql1 право создавать новые базы данных и их объекты (другими словами, включите данную учетную запись в фиксированную роль сервера dbcreator).
На странице Database Access установите в верхнем списке флажок СкладХХХ, а в нижнем списке - флажок db_accessadmin, разрешив тем самым пользователю с данной учетной записью управлять добавлением или удалением пользователей в базе данных СкладХХХ (другими словами, включите данную учетную запись в фиксированную роль db_accessadmin базы данных СкладХХХ).
Завершите создание регистрационной записи ИмяДомена\sql1 щелчком на кнопке «OK».
Аналогичным образом создайте для SQL Server регистрационные записи ИмяДомена\sql2, ИмяДомена\sql3, ИмяДомена\sql4, при этом, однако, не включайте соответствующие им учетные записи Windows ни в одну из фиксированных ролей сервера и ни в одну из фиксированных ролей базы данных СкладХХХ (однако на странице Database Access флажок СкладХХХ в верхнем списке должен быть установлен).
Примечание. Регистрационные записи SQL Server определяют перечень тех пользователей и групп пользователей операционной системы, которые будут иметь доступ к данному SQL Server.
4. На панели Object Explorer раскройте элемент СкладХХХ и далее подчиненную ему папку Security. Затем выберите появившуюся папку Users и убедитесь, что сервер создал новых пользователей ИмяДомена\sql1, ИмяДомена\sql2, ИмяДомена\sql3, ИмяДомена\sql4 (другими словами, отобразил учетные записи Windows ИмяДомена\sql1, ИмяДомена\sql2, ИмяДомена\sql3, ИмяДомена\sql4 в пользователей базы данных СкладХХХ с такими же именами).