Программирование в Microsoft SQL Server 2000

         

Добавление столбцов в таблицу


Хотя таблица сама по себе обладает определенными свойствами, такими как имя, которое мы предоставили в последнем упражнении, в первую очередь таблица определяется столбцами, которые в ней содержатся.

Добавьте в таблицу столбец числовых значений

  1. Введите MyNumber в ячейку имени столбца Column Name, а затем нажмите клавишу Tab. SQL Server предлагает использование типа данных char.


  2. Измените тип данных на decimal. SQL Server изменит длину столбца на 9 и разрешит использование полей Precision, Scale и Identity.


  3. Введите Образец столбца числовых значений в ячейку описания Description.
  4. Измените общее количество знаков числа (поле Precision) на 5, а количество знаков после запятой (поле Scale) на 2. SQL Server изменит длину столбца на 5, чтобы отразить новое количество знаков в числе.


Описание столбца

Новая функциональная возможность Enterprise Manager – добавление описания к столбцу, относится к расширенным свойствам в SQL Server 2000. Ряд расширенных свойств, таких как описание столбца, были созданы Microsoft как составная часть стандартной установки сервера, и вы можете создавать дополнительные расширенные свойства для хранения специфичной для приложения или для сайта информации об объектах базы данных.

Каждое расширенное свойство обладает задаваемым пользователем именем и значением. Значение расширенного свойства имеет тип sql_variant и может содержать до 7500 байт данных. Вы можете определить несколько расширенных свойств для любого объекта с использованием хранимых процедур. Подробнее о хранимых процедурах вы узнаете в уроке 28.

Точность и масштаб

Точность (precision) числового значения представляет собой максимальное количество десятичных разрядов, которые представляют значение, как слева, так и справа от десятичной точки. Масштаб (scale) значения представляет собой количество знаков справа от десятичной точки. Например, значение 3647,311 имеет точность 7 (общее количество знаков) и масштаб 3 (количество знаков справа от десятичной точки).

Важно понимать, что точность и масштаб числового значения не влияют на длину столбца. Длина столбца определяется типом данных. Точность и масштаб определяют, как SQL Server будет интерпретировать данные, хранящиеся в столбце.




  • Измените тип данных на decimal. SQL Server изменит длину столбца на 9 и разрешит использование полей Precision, Scale и Identity.



  • Сбросьте флажок Allow Null (Разрешить нулевое значение).


  • Нулевое значение (Null)

    Значение Null представляет собой особый вид значений в реляционной технологии, которое используется для указания, что значение либо отсутствует, либо не существует. Использование значений типа Null в ряде случаев является сомнительным и спорным.

    1. Введите в ячейку описания Description текст Образец столбца идентификации.
    2. Измените значение поля Identity на Yes (Not For Replication). SQL Server предлагает для полей начального значения Identity Seed и приращения Identity Increment значение 1.





    Идентификационные значения



    Когда вы устанавливаете свойство идентификации Identity для столбца, вы тем самым предписываете SQL Server вставить в столбец значение, которое уникально идентифицирует каждую строку. Выбранный тип данных задает природу данных, содержащихся в столбце. Идентификационные столбцы могут иметь типы данных int, smallint, tinyint или decimal.

    Когда SQL Server вставляет строку в таблицу, имеющую столбец идентификации, он автоматически генерирует значения для столбца на основе последнего использованного значения (начиная с начального) и приращения идентификатора, заданного при создании таблицы.

    Например, если для столбца идентификации задан тип smallint, начальное значение равно 50, а приращение равно 5, для первой вставленной строки будет присвоено значение 50, для второй строки – значение 55, для третьей строки – значение 60 и т.д.

    Свойство Identity может быть установлено только для одного столбца в таблице.

    Добавьте в таблицу столбец GUID

    1. Щелкните на пустой ячейке в столбце Column Name, введите MyGUID, а затем нажмите клавишу Tab. SQL Server предлагает в качестве типа данных char.



    2. Измените тип данных на uniqueidentifier. SQL Server изменит длину столбца на 16 и разрешит использование поля Is RowGUID.



    3. Введите в ячейку описания Description текст Образец GUID.
    4. Измените значение поля Is RowGUID на Yes. SQL Server установит значение по умолчанию (Newid()).







    GUID

    Глобальный уникальный идентификатор (Globally Unique Identifier – GUID) представляет собой 16-байтное уникальное значение – ни один другой в мире компьютер не будет генерировать это значение. Тип данных uniqueidentifier используется для хранения GUID-идентификаторов.

    SQL Server не генерирует GUID-идентификаторы автоматически, как он это делает для идентификационных значений, поскольку таблица может содержать несколько GUID-идентификаторов, но только одно идентификационное значение. Тем не менее, функция NEWID, которую SQL Server предлагает как значение по умолчанию, если для свойства Is RowGUID установлено значение Yes (Да), будет возвращать новый GUID-идентификатор при вставке строки.

    Добавьте в таблицу столбец даты

    1. Щелкните на пустой ячейке в столбце Column Name, введите MyDate, а затем нажмите клавишу Tab. SQL Server предлагает тип данных char.



    2. Измените тип данных на datetime. SQL Server изменит длину столбца на 8.



    3. Введите Образец столбца даты в ячейку описания Description.





    Добавьте в таблицу символьный столбец

    1. Щелкните на пустой ячейке в столбце Column Name, введите MyChar, а затем нажмите клавишу Tab. SQL Server предлагает тип данных char.





    Символьные типы данных

    SQL Server поддерживает два различных вида символьных столбцов: с фиксированной длиной и с переменной длиной, каждый из которых может содержать данные либо в формате Unicode, либо не в формате Unicode, а также иметь три различные длины. Unicode представляет собой метод кодирования символов, поддерживающий двухбайтное выражение символов.

    Если для столбца объявлена переменная длина (например, тип varchar или text для данных не-Unicode, и nvarchar или ntext для данных Unicode), то SQL Server будет хранить только фактические символы данных, которые были введены. Если, с другой стороны, для столбца объявлена фиксированная длина (тип char для данных не-Unicode или nchar для данных Unicode). SQL Server будет дополнять введенные значения пробелами.

    Например, если для столбца объявлен тип char с длиной, равной 10, а фактическим значением является "hello", SQL Server будет хранить значение как "hello", с пятью пробелами, следующими за пятью фактическими символами.

    1. Измените длину столбца на 25.
    2. Введите Образец символьного столбца в ячейку описания Description.
    3. Введите 'Unknown' в ячейку значения по умолчанию Default value. (Не забудьте заключить слово в одинарные кавычки.)







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

    Значение по умолчанию представляет собой значение, которое будет помещаться в столбец, если пользователь явно не задал значение.

    Мы уже сталкивались с двумя специальными видами значений по умолчанию: идентификационное значение, предоставляемое SQL Server, когда вы устанавливаете свойство Identity, а также функция NEWID, предоставляемая SQL Server, когда вы устанавливаете свойство Is RowGuid. В действительности вы можете задавать значения по умолчанию для любого столбца. Значения по умолчанию могут быть константами, такими как 'Unknown' или 123, функциями, такими как NEWID или GETDATE, либо математическими выражениями, такими как 3 + 5.

    Сохраните и закройте таблицу

    1. Нажмите кнопку Save (Сохранить)
      на панели инструментов конструктора таблиц Table Designer. SQL Server сохранит определение таблицы.
    2. Закройте окно.



    Содержание раздела