Шаг 3 - Создание и удаление таблиц

Все данные в БД SQL Server хранятся в таблицах. Таблицы состоят из колонок, объединяющих значения одного типа, и строк - записей в таблице. В одной БД может быть до 2 миллиардов таблиц, в таблице - 1024 колонки, в одной строке (записи) - 8060 байтов.

SQL Server поддерживает следующие типы данных:
Тип данныхОбозначениеРазмер, байт
Бинарные данныеbinary
varbinary[(n)]
1-8000
Символыchar[(n)]varchar[(n)]1-8000
( до 8000 символов)
Символы Unicodenchar[(n)]
nvarchar[(n)]
1-8000
(до 4000 символов)
Дата и времяdatetime
smalldatetime
8
4
Точные числаdecimal[(p[,s])]
numeric[(p[,s])]
5-17
Приблизительные числаfloat[(n)]
real
4-8
4
Глобальный идентификаторuniqueidentifier16
Целые числаint
smallint, tinyint
4
2, 1
Денежки !!!money, smallmoney8, 4
Специальныеbit, cursor,
sysname, timestamp
1, 0-8
Текст и изображениеtext, image0-2 Гб
Текст Unicodentext0-2 Гб

Таблицы можно создавать с помощью оператора CREATE TABLE языка Transact-SQL, а также с помощью Enterprise Manager. Рассмотрим сначала как это делается с помощью Transact-SQL.

Содание таблиц с помощью CREATE TABLE

Для создания таблиц применяется оператор CREATE TABLE. Вот как выглядит упрощенный синтаксис этого оператора:

CREATE TABLE table_name
     (column_name data_type  [NULL | NOT NULL]
     [,...n])
Например:
CREATE TABLE member
(
	member_no int      NOT NULL,
	lastname  char(50) NOT NULL,
	firstname char(50) NOT NULL,
	photo     image    NULL
)
Этим оператором создается таблица member, состоящая из четырех колонок:
Примечание
NULL - специальное обозначение того, что элемент данных не имеет значения. В описании типа колонки указывается, что элементы данных могут быть неинициализированы. При указании NOT NULL - "пустые" значения не допускаются. Если при вставке записи пропустить значение для такой колонки, вставка не произойдет, и SQL Server сгенерирует ошибку.

Попробуйте выполнить эту команду. Запустите Query Analyzer. Соединитесь с Вашим сервером. Из списка БД выберите sqlStep. Скопируйте в окно команд команду создания таблицы и выполните ее. (Если не забыли, надо нажать F5 или Ctrl-E).

Чтобы точно удостовериться, в том, что таблица была создана, наберите команду:

sp_help member

Выделите ее (как в обычном редакторе) и снова нажмите F5. В окно результатов будет выведена информация о таблице member.

На заметку!
sp_help - системная процедура, которая возвращает информацию об объектах БД (таблицах, хранимых процедурах и пр.).
Формат вызова таков:
sp_help <имя таблицы>

Удалить таблицу проще простого. Там же, в запросчике (так у нас называют Query Analyzer), наберите:

drop table member

Выделите эту строку и нажмите F5. Таблица будет удалена, о чем Вас и уведомят. В нашем случае эта процедура проста. На самом деле в большой БД просто так удалить таблицу не получится, поскольку она будет связана с другими таблицами, и для удаления потребуется эти связи оборвать. Как это сделать см. следующие шаги.

Как создать таблицу с помощью SQL Server Enterprise Manager

Раскройте последовательно: SQL Server Group, <Ваш SQL Server>, Databases. Выберите БД (SqlStepByStep, я думаю :), нажмите правую кнопку мыши и выберите в контекстном меню пункт "New", а затем пункт "Table...". Первым делом Вас спросят имя таблицы. Введите его и нажмите Enter. На экране появится окно, в котором можно вводить: имена колонок, тип, длину, размерность, точность (эти три колонки блокируются в зависимости от типа), флаг разрешения NULL, значение по умолчанию. Последние три колонки, пока не представляют интереса.

Введите названия колонок, их тип и длину также как в примере выше. Нажмите на иконку с дискетой для сохранения таблицы и можете закрыть окно. Раскройте вашу БД, щелкните на категории "Tables" и в списке таблиц увидите только что введенную таблицу. Для ее удаления выделите ее в списке, нажмите правую кнопку мыши и в контекстном меню выберите "Delete". Таблица будет удалена.

Мы изучили как создаются и удалются таблицы. Следующий наш шаг - создание полноценной БД, на примере которой мы будем изучать:


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Aidar Talibzhanov.