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

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

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

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

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

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

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

Свойство

Описание

Значения по умолчанию

Значение по

Значение, которое вставляется в поле, если

Пусто

умолчанию

пользователь ничего не ввел в него. Это


(Default Value)

значение игнорируется для полей, имею-



щих тип данных timestamp. Если значе-



ние по умолчанию не задано, в поле встав-



ляется значение Null


Число цифр

Максимальное количество цифр (для чи-

Зависит от типа дан-

(Precision)

словых полей), разрешенных для данного

ных. Например, для


поля

int равно 4

Точность (Scale)

Максимальное количество десятичных зна-

Как правило 0, для


ков после разделителя. Это значение должно быть меньше или равно значению

типа данных money и smallmaney — 4


Precision


Идентификация

Свойство, которое обеспечивает автомати-

Нет (флажок сбро-

(Identity)

ческую генерацию уникальных значений в

шен)


этом поле при вставке новых записей


Начало иденти-

Значение, которое присваивается первой

1

фикации (Identity

записи в таблице


Seed)



Шаг идентифи-

Шаг изменения значений в поле. В каждой

1

кации (Identity

последующей записи значение поля увели-


Increment)

чивается на это число


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

Пусто

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

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

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

Типы данных

Типы данных 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

 

Типы данных

Типы данных SQL Server

Примечания

Графика

image


Курсор

cursor

Можно использовать для выходных параметров процедур Только в Microsoft SQL Server 7.0

Уникальный идентификатор

unique identifier

Соответствует QUID в модели СОМ. Только в Microsoft SQL Server 7.0

Пользовательские типы данных (user-defined datatypes)


Определяются на базе системных типов данных