Логическое проектирование и реализация реляционных баз данных. Основы Transact-SQL (Лабораторная работа № 2), страница 4

2.2.2.1. Имя таблицы

В имени таблицы можно выделить обязательную часть (собственно имя) и предшествующую ей необязательную часть, включающую имя БД и наименование схемы.

Имя БД задает ту БД, в которой нужно создать таблицу. По умолчанию выбирается текущая БД, т. е. та, с которой установлено активное на данный момент соединение.

Схема в SQL Server – это набор таблиц и других объектов БД, объединённых общим пространством имён. В принципе, можно считать схему логическим контейнером, куда помещаются таблицы с целью их логической группировки. Каждый пользователь БД является владельцем некоторой схемы. В том случае, если имя схемы в запросе к объекту БД не указывается, обращение будет автоматически адресоваться к схеме, владельцем которой является текущий пользователь. Более подробно вопросы владения схемами изучаются в лабораторной работе №7.

Собственно имя таблицы является уникальным в пределах схемы и записывается латинскими буквами. Ограничение по длине – 128 символов.

Примеры использования оператора:

-- Создание таблицы «поезда» в текущей БД, в схеме текущего

-- пользователя

create table trains(

           id_train int identity,

           train_name varchar(80),

           train_type varchar(20),

           train_number int,

           constraint pk_train primary key (id_train))

-- Аналогичный вызов, но с явным указанием БД и схемы

create table example.dbo.trains(

           id_train int identity,

           train_name varchar(80),

           train_type varchar(20),

           train_number int,

           constraint pk_train primary key (id_train))

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

Имя и тип. Базовые типы Transact-SQL

Описание столбца обязательно включает в себя его имя и тип, разделяемые пробелом. Например:

train_name varchar(80)

Базовые типы данных Transact-SQL перечислены в табл. 1.

Таблица 1 – Базовые типы данных Transact-SQL

Группа

Название типа

Описание

Целые числа

bigint

Знаковое целое размером 8 байт

int

Знаковое целое размером 4 байта

smallint

Знаковое целое размером 2 байта

tinyint

Беззнаковое целое размером 1 байт (от 0 до 255)

Бит

bit

Значение 0 или 1


Вещественные числа

float[(n)]

Число с плавающей точкой. n – количество разрядов для мантиссы. В зависимости от n объем занимаемой памяти равен 4 или 8 байт

real

Число с плавающей точкой, занимает 4 байта. Для мантиссы выделяется 24 разряда

decimal[(p, [s])]

Число с фиксированной запятой. Параметр p определяет общее количество десятичных цифр, а s – количество цифр после десятичной точки.

numeric[(p, [s])]

Аналогичен decimal

Денежные типы

money

Хранит значение размером 8 байт

smallmoney

Хранит значение размером 4 байта

Дата и время

datetime

Дата и время от 1.01.1753 до 31.12.9999. Время – с точностью до 3,33 миллисекунд

smalldatetime

Дата и время от 1.01.1900 до 6.06.2079 с точностью до минуты


Продолжение таблицы 1

Строки

char[(n)]

Строка фиксированной длины, задаваемой параметром n (по умолчанию – единица).

varchar[(n)]

Строка переменной длины. Параметр n задаёт максимальную длину.

text

Текст, ограниченный по длине 231-1 символами

nchar[(n)]

Аналогичны char, varchar и text соответственно, но поддерживают кодировку Unicode

nvarchar[(n)]

ntext

Двоичные типы

binary[(n)]

Двоичные данные размером n байт. Длина – фиксированная

varbinary[(n)]

Двоичные данные переменной длины. Максимальный размер определяется параметром n

image

Двоичные данные размером до 2 Гбайт


Другие типы



sql_variant

Позволяет хранить значения любого типа данных

cursor

Тип данных для работы с курсорами

table

Таблица

timestamp

Специальный тип, предназначенный для отслеживания последовательности изменения строк в таблице

uniqueidentifier

Глобальный уникальный идентификатор