ProdiD int, identity Уникальный идентификационный номер для каждого продукта, на который можно ссылаться в других таблицах, чтобы избежать дублирования данных
Description nvarchar (100) Короткое текстовое описание продукта
instock int Количество единиц продукта на складе
Создание пользовательского типа данныхstate
Если вы постоянно создаете таблицы с полем, содержащим аббревиатуру штата, то можете создать собственный тип данных на основе типа char со всеми предварительно заданными параметрами, включая все необходимые ограничения и умолчания. Типы данных, создаваемые для себя и не входящие в стандартный набор, называются типами данных, определяемыми пользователем, даже если они основаны на системном. В качестве примера мы создадим тип данных State (штат), который будет использоваться в таблице Customers.
1. Откройте SQL Server Management Studio и выполните подключение с использованием аутентификации Windows.
2. В Object Explorer раскройте папки Databases=> Sales=> Prograimiability=> Types.
3. Щелкните правой кнопкой на User-Defined Data Types и выполните команду New User-Defined Type.
4. В текстовое поле Name введите имя State.
5. В раскрывающемся списке Data Type выберите тип данных nchar.
6. В текстовое поле Length введите значение 2.
7. Оставьте параметр Allow Nulls неактивным (поскольку нам нужно, чтобы это поле обязательно содержало данные).
8. В секции Binding оставьте в полях Rule и Default значения None и щелкните на кнопке ОК.
Таблицы можно создавать как в графическом интерфейсе (в программе SQL Server Management Studio), так и с помощью кода Transact-SQL. Поскольку графический метод самый простой, мы будем использовать его.
1. Откройте SQL Server Management Studio. В окне Object Explorer раскройте папки Databases=>Sales.
2. Щелкните правой кнопкой на значке Tables и примените команду New Table, чтобы открыть конструктор таблиц.
3. В первую строку в столбце Column Name введите имя ProdiD.
4. В столбец Data Type введите тип int.
5. Убедитесь, что параметр Allow Nulls не включен. С включенной этой опцией поле может быть вообще без данных, а этого нам не нужно.
6. В нижней половине экрана в разделе Table Designer блока Column Properties расширьте Identity Specification и измените значение параметра (Is Identity) в Yes.
7. Введите в столбец Column Name второй строки под ProdiD имя Description.
8. В столбец Data Type введите тип nvarchar.
9. В разделе General блока Column Properties определите для настройки Length значение 100.
10. Убедитесь, что параметр Allow Nulls отключен.
11. В столбец Column Name введите для третьей строки имя InStock.
12. В столбец Data Type введите тип int.
13. Отключите параметр Allow Nulls (рис. 11).
14. Щелкните на кнопке Save в левой части панели инструментов (в виде дискеты).
15. В открывшийся блок Choose Name введите имя Products (рис. 12)
Рис. 11. Окно создания новой таблицы Products
Рис. 12. Присвоение таблице имени
16. Щелкните на кнопке OK.
Спроектировав таблицу Products, вы можете аналогично создать таблицы Customers и Orders.
Чтобы проверить наличие всех трех таблиц, раскройте папку Tables базы данных Sales. Вы должны увидеть три только что созданные таблицы (вам может потребоваться щелкнуть правой кнопкой на папке Tables и выбрать команду Refresh) (рис. 13).
Рис. 13. Все три таблицы созданы
Перед тем как позволить пользователям начать работать с таблицами, вам следует ввести ограничения на вводимые ими данные.
Ограничение данных
Созданная таблица широко открыта для пользователей. Они, конечно, не могут обойти ограничения типов данных, например, путем ввода символов в поле с типом int, но этим ограничения и заканчиваются. Процесс ограничения данных, вводимых пользователями, называется обеспечением целостности данных. Существует три типа целостности данных: доменная, сущностная и ссылочная. Рассмотрим, как можно ограничить пользователей посредством обеспечения целостности домена.