Проектирование и реализация баз данных и клиентских приложений в среде MS Visual Studio.NET. Макурин Ю.Д - 23 стр.

UptoLike

Составители: 

23
3.2 Проектирование и реализация таблиц
Данные баз данных хранятся в таблицах. Таблица представляет собой
совокупность столбцов, в которых хранятся атрибуты объектов предметной
области. Все значения атрибутов какого-либо объекта образуют строку. Любая
пользовательская таблица создается либо командой Transact-SQL CREATE
TABLE, либо с помощью конструктора среды Microsoft Visual Studio 2005. И в
том, и в другом случае необходимо задать
имя таблицы, перечислить имена
столбцов, задать тип данных для каждого столбца, упорядоченность символов для
сортировки символьных данных, значения по умолчанию, а также ограничения на
столбцы или таблицу в целом.
Основные системные типы данных для таблиц и виды ограничений в языке
Transact-SQL таковы
:
BINARY(n)двоичные данные фиксированной длины до 8000 байт; для n
байтов выделяется n+4 байта памяти; значения задаются с помощью 16-ичных
чисел 0x<шестнадцатеричные цифры>; функция DATALENGTH позволяет
определить длину поля в байтах; дополнение нулевыми байтами производится
справа.
IMAGE – двоичные данные длиной до 2
31
– 1; место выделяется в виде
цепочки страниц.
CHAR(n)строковый тип данных фиксированной длины без поддержки
Unicode длиной до 8000 байтов; данные зависят от установленной кодовой
страницы; если для столбца не задана опция NULL, то строка при необходимости
будет дополняться справа пробелами; если эта опция задана, то дополнение
пробелами будет иметь место при условии ANSI_PADDING=ON, в
противном
случае пробелы добавляться не будут.
VARCHAR(n)строковый тип, как и CHAR(n), но не с фиксированной
длиной; если ANSI_PADDING=OFF, то будет выполняться удаление конечных
пробелов, если ANSI_PADDING=ON, то удаление пробелов производиться не
будет.
NCHAR(n)строковый тип как и char(n), но с поддержкой Unicode,
поэтому максимальное количество символов составляет 4000; в этом случае для
строковых констант
надо задавать впереди букву N: N’ABC’.
NVARCHAR(n)строковый тип, как VARCHAR(n), но с поддержкой
Unicode.
TEXTстроковый тип без поддержки Unicode длиной до 2 Гбайт; память
выделяется страницами по 8 Кбайт, связываемыми в цепочку; можно
использовать встроенные функции: DATALENGTH, PATINDEX, SUBSTRING,
TEXTPTR, TEXTVALID, READTEXT, SETTEXTSIZE, UPDATETEXT,
WRITETEXT.
NTEXT строковый тип как и text, но с поддержкой Unicode, поэтому
длина строки не более 1 Гбайта.
INT целый
тип длиной в 4 байта и с диапазоном от –2
31
до 2
31
-1.
SMALLINTцелый тип длиной в 2 байта с диапазоном от –2
15
до 2
15
-1.
TINYINTцелый тип длиной в 1 байт и диапазоном от 0 до 255.
  3.2 Проектирование и реализация таблиц
      Данные баз данных хранятся в таблицах. Таблица представляет собой
совокупность столбцов, в которых хранятся атрибуты объектов предметной
области. Все значения атрибутов какого-либо объекта образуют строку. Любая
пользовательская таблица создается либо командой Transact-SQL CREATE
TABLE, либо с помощью конструктора среды Microsoft Visual Studio 2005. И в
том, и в другом случае необходимо задать имя таблицы, перечислить имена
столбцов, задать тип данных для каждого столбца, упорядоченность символов для
сортировки символьных данных, значения по умолчанию, а также ограничения на
столбцы или таблицу в целом.
      Основные системные типы данных для таблиц и виды ограничений в языке
Transact-SQL таковы:
      BINARY(n) – двоичные данные фиксированной длины до 8000 байт; для n
байтов выделяется n+4 байта памяти; значения задаются с помощью 16-ичных
чисел 0x<шестнадцатеричные цифры>; функция DATALENGTH позволяет
определить длину поля в байтах; дополнение нулевыми байтами производится
справа.
       IMAGE – двоичные данные длиной до 231 – 1; место выделяется в виде
цепочки страниц.
       CHAR(n) – строковый тип данных фиксированной длины без поддержки
Unicode длиной до 8000 байтов; данные зависят от установленной кодовой
страницы; если для столбца не задана опция NULL, то строка при необходимости
будет дополняться справа пробелами; если эта опция задана, то дополнение
пробелами будет иметь место при условии ANSI_PADDING=ON, в противном
случае пробелы добавляться не будут.
       VARCHAR(n) – строковый тип, как и CHAR(n), но не с фиксированной
длиной; если ANSI_PADDING=OFF, то будет выполняться удаление конечных
пробелов, если ANSI_PADDING=ON, то удаление пробелов производиться не
будет.
       NCHAR(n) – строковый тип как и char(n), но с поддержкой Unicode,
поэтому максимальное количество символов составляет 4000; в этом случае для
строковых констант надо задавать впереди букву N: N’ABC’.
       NVARCHAR(n) – строковый тип, как VARCHAR(n), но с поддержкой
Unicode.
       TEXT – строковый тип без поддержки Unicode длиной до 2 Гбайт; память
выделяется страницами по 8 Кбайт, связываемыми в цепочку; можно
использовать встроенные функции: DATALENGTH, PATINDEX, SUBSTRING,
TEXTPTR, TEXTVALID, READTEXT, SETTEXTSIZE, UPDATETEXT,
WRITETEXT.
       NTEXT – строковый тип как и text, но с поддержкой Unicode, поэтому
длина строки не более 1 Гбайта.
       INT – целый тип длиной в 4 байта и с диапазоном от –231 до 231-1.
       SMALLINT – целый тип длиной в 2 байта с диапазоном от –215 до 215-1.
       TINYINT – целый тип длиной в 1 байт и диапазоном от 0 до 255.
                                     23