Определение и изменение структуры таблицы
Открыв таблицу в режиме Конструктора, вы увидите, что способ отображения структуры таблицы незначительно отличается от принятого в режиме Конструктора таблиц базы данных Access (рис. 17.7). В верхней части Конструктора появились два новых столбца:
- Длина (Length) — длина поля в байтах;
- Разрешить Null (Allow Null) допустимо или нет значение NULL в данном поле.
Рис. 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