ВУЗ:
Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 21
- 22
- 23
- 24
- 25
- …
- следующая ›
- последняя »