Определение и изменение структуры таблицы

Открыв таблицу в режиме Конструктора, вы увидите, что способ отображения структуры таблицы незначительно отличается от принятого в режиме Конструктора таблиц базы данных Access (рис. 17.7). В верхней части Конструктора появились два новых столбца:

Таблица SQL Server в режиме Конструктора

Рис. 17.7. Таблица SQL Server в режиме Конструктора

Значение в столбце Длина (Lengh) может изменяться пользователем только для текстовых полей, в остальных случаях это значение устанавливается по умолчанию при выборе типа данных и не может быть изменено. Раскрывающийся список в столбце Тип данных (Data Type) содержит значения, отличающиеся от типов данных, принятых в базах данных Access. Это типы данных для Microsoft SQL Server.

Столбец Описание (Description) — эквивалент поля Примечание (Comment) в Access — отображается только для SQL Server 2000.

Остальные свойства полей таблицы отображаются на вкладке Столбцы (Columns) в нижней части окна Конструктора. Описание этих свойств приведено в табл. 17.1.

Свойство Описание Значения по умолчанию
Значение по умолчанию (Default Value) Значение, которое вставляется в поле, если пользователь ничего не ввел в него. Это значение игнорируется для полей, имею- щих тип данных timestamp. Если значе- ние по умолчанию не задано, в поле встав- ляется значение Null Пусто
Число цифр (Precision) Максимальное количество цифр (для чи- словых полей), разрешенных для данного поля Зависит от типа дан- ных. Например, для int равно 4
Точность (Scale) Максимальное количество десятичных знаков после разделителя. Это значение должно быть меньше или равно значению Precision Как правило 0, для типа данных money и smallmaney — 4
Идентификация (Identity) Свойство, которое обеспечивает автоматическую генерацию уникальных значений в этом поле при вставке новых записей Нет (флажок сброшен)
Начало идентификации (Identity Seed) Значение, которое присваивается первой записи в таблице 1
Шаг идентификации (Identity Increment) Шаг изменения значений в поле. В каждой последующей записи значение поля увеличивается на это число 1
IsRowGuid

Указывает, является ли данное поле глобальным идентификатором. В отличие от поля, которое имеет значение свойства Идентификация (Identity) равным Да (Yes) и которое однозначно идентифицирует ка- ждую запись в таблице, SQL Server версии 7.0 и выше позволяет создать поле в таблице, которое является глобальным идентификатором, т. е. каждое значение этого поля может быть уникальным в пределах всей базы данных или даже во всех базах данных на всех серверах сети.

В этом случае значение данного поля должно быть Да (Yes), но тип данных может быть только uniqueidentif ier

Нет
Формула (Formula) Показывает формулу для вычисляемого столбца. Только для SQL Server 2000 Пусто
Сортировка (Collation) Для текстовых полей позволяет выбрать способ сортировки данных в поле. Только для SQL Server 2000 По умолчанию для базы данных
Формат (Format) Позволяет задать формат отображения данных в поле. Только для SQL Server 2000 Пусто
Число десятичных знаков (Decimal Places) Для числовых полей определяет количество десятичных знаков при отображении данных в поле. Аналог соответствующего свойства в Access. Если установлено значение [Авто] (Auto), то количество отображаемых десятичных знаков определяется значением свойства Формат (Format) Авто
Маска ввода (Input Mask) Аналог соответствующего свойства в Access. Только для SQL Server 2000 Пусто
Подпись (Caption) Определяет подпись для поля, которая появляется в формах. Только для SQL Server 2000 Пусто
Индексация (Indexed) Определяет, будет ли создаваться индекс для данного поля. Только для SQL Server 2000 Нет
Гиперссылка (Hyperlink) Указывает, будет ли значение этого поля интерпретироваться как гиперссылка. Только для SQL Server 2000 Нет
Режим IME (IME Mode) Позволяет задать способ ввода данных в поле при использовании китайского, японского и некоторых других языков. Только для SQL Server 2000 Нет
Режим предложений IME (IME Sentence Mode) Определяет режим преобразования данных при использовании китайского, японского и ряда других языков. Только для SQL Server 2000 Отсутствует
Почтовый адрес (Postal Address) Содержит имя элемента управления или поля, которое отображает почтовый адрес, соответствующий введенному в данное поле почтовому коду, либо штрих-код клиента, соответствующий введенному адресу. Только для SQL Server 2000 Пусто
Фуригана (Furigana) Содержит имя столбца таблицы, в котором может храниться Furigana-эквивалент введенного текста. Только для SQL Server 2000 Пусто

Таблица 17.1. Свойства полей

Теперь и в проекте Access таблицы могут иметь поля подстановки. Раскройте вкладку Поиск (Lookup) и вы увидите знакомые свойства, которые позволяют определить поле подстановки. Оно задается точно так же, как и в базе данных Access.

Типы данных, которые поддерживает SQL Server, приведены в табл. 17.2.

Типы данных Типы данных SQL Server Примечания
Двоичные binary[(n)] varbinary [(n)] . 
Символьные char[(n)] varchar [(n)] 
  nchar nvarchar Используются для поддержки Unicode-символов. Только в Microsoft SQL Server 7.0
Дата и время clatetime smalldatetime Нет отдельных типов для даты и времени
Числовые с фиксированной точностью (Exact numeric) decimal [(p[,s])] numeric[(p[,s])] Не теряют точность за счет округления
Приблизительные число-вые (Approximate numeric) floatf [(n)] real 
Целые int smallint tinyint 4 байта 2 байта 1 байт
Денежные money smallmoney 
Специальные bit timestamp 
Текст text ntext Используются для поддержки UNICODE-символов. Только в Microsoft SQL Server 7.0
Графика image 
Курсор cursor Можно использовать для выходных параметров процедур Только в Microsoft SQL Server 7.0
Уникальный идентификатор unique identifier Соответствует QUID в модели СОМ. Только в Microsoft SQL Server 7.0
Пользовательские типы данных (user-defined datatypes)  Определяются на базе системных типов данных

Таблица 17.2. Типы данных Microsoft SQL Server