Создание таблиц в MS SQL Server. CREATE TABLE | OTUS

Создание таблиц в MS SQL Server. CREATE TABLE

В статье пойдёт речь о том, как создать таблицу в СУБД SQL Server от Microsoft. Для работы будет использована графическая среда SQL Server Management Studio (SSMS). Также рассмотрим, как создавать таблицу с помощью инструкции CREATE TABLE.

Предусловия

Перед началом работы у вас должен быть установлен как сам MS SQL Server, так и SSMS. Версию сервера следует выбирать, исходя из технических характеристик своего компьютера и установленной операционной системы. В статье используется MS SQL Server 2017 Express.

Также таблицы (tables) не могут существовать без базы данных. Поэтому, прежде чем приступить к созданию таблиц, следует создать пустую БД. Это делается очень просто – достаточно запустить среду SSMS и выполнить несколько простых действий: 1) кликаем правой кнопкой мыши по контейнеру «Базы данных» и выбираем «Создать базу данных»; 2) в появившемся поле прописываем имя БД; 3) нажимаем «ОК».

Create_Database_In_MS_SQL_Server_3_1-1801-3c9399.JPG Create_Database_In_MS_SQL_Server_4_1-1801-788239.JPG Create_Database_In_MS_SQL_Server_5_1-1801-7d0d23.JPG

Исходные данные

База создана, поэтому можно подумать о её структуре. Планируется создание двух таблиц: 1. Goods – table с информацией о товарах. Будет содержать несколько столбцов: — ProductId. Представляет собой идентификатор товара. Значение не должно быть NULL. Также здесь будет первичный ключ; — Category. Это ссылка на категорию товара. Не NULL. Если товар не распределён в нужную категорию, ему присваивается категория по умолчанию («Не указана», «Не определена»); — ProductName. В этом столбце будет наименование товара. Не NULL; — Price. Речь идёт о стоимости. Если цена ещё не определена, возможен NULL. 2. Categories — вторая table. В ней будет описание категорий реализуемых товаров, представленное двумя столбцами: — CategoryId. Представляет собой идентификатор категории. Не NULL, первичный ключ; — CategoryName. Название категории, не NULL.

Для того чтобы нельзя было внести товар с несуществующей категорией, будет добавлено ограничение внешнего ключа.

Create_Table_In_MS_SQL_Server_2_1-1801-de0da0.JPG

Создание table в Management Studio

Когда структура ясна, можно приступать к созданию: 1) откройте контейнер «Базы данных»; 2) откройте только что созданную тестовую БД; 3) щёлкните правой кнопкой мыши по категории «Таблицы» и выберите пункт «Таблица».

Create_Table_In_MS_SQL_Server_3_1-1801-30189f.JPG

В результате будет открыт специальный конструктор таблиц с тремя колонками: • имя столбца; • тип данных (подробнее о типах данных читайте здесь); • значения NULL (если да – ставим галочку).

Колонки заполняются с учётом спроектированной ранее структуры для table Categories.

Create_Table_In_MS_SQL_Server_4_1-1801-13eebd.JPG

Далее определяем первичный ключ (primary key), щелкая по требуемому столбцу правой кнопкой мыши (у нас это CategoryId). Также выбираем пункт «Задать первичный ключ».

Create_Table_In_MS_SQL_Server_5_1-1801-c5fedf.JPG

Теперь надо обеспечить, чтобы в столбце автоматически генерировался уникальный ID-записи. Для этого идентификатору надо задать свойство IDENTITY. Делается путём включения пункта «Спецификация идентификатора».

Create_Table_In_MS_SQL_Server_6_1-1801-111250.JPG

Теперь пользователь может сохранить table (правая кнопка мыши -> «Сохранить» либо известное сочетание «Ctrl+S»). Останется ввести название таблицы и нажать «OK».

Create_Table_In_MS_SQL_Server_7_1-1801-92e477.JPG

На очереди таблица Goods. Здесь осуществляются те же действия с той лишь разницей, что для столбца Category дополнительно задаётся дефолтное значение и создаётся ограничение внешнего ключа. Для этого в свойствах соответствующего столбца в значении по умолчанию пишем 1.

Create_Table_In_MS_SQL_Server_8_1-1801-4ccc93.JPG

А для создания FOREIGN KEY щёлкните правой кнопкой мыши в любой области конструктора и выберите пункт «Отношения…».

Create_Table_In_MS_SQL_Server_9_1-1801-2bdcb5.JPG

Далее жмём кнопку «Добавить».

Create_Table_In_MS_SQL_Server_10_1-1801-231f34.JPG

Теперь зададим спецификацию таблиц и столбцов:

Create_Table_In_MS_SQL_Server_11_1-1801-da2586.JPG

В открывшемся окне указываем: • таблицу первичного ключа – Categories; • таблицу внешнего ключа – это текущая таблица, которая пока не создана, поэтому отображается в качестве Table_1. Тут следует выбирать столбец Category из текущей таблицы — именно он и станет выполнять роль внешнего ключа (сопоставление будет CategoryId = Category); • имя связи — название ограничения. Можно написать FK_Category.

Create_Table_In_MS_SQL_Server_12_1-1801-6b2f76.JPG

Останется определить правила обновления и удаления. Правило обновления оставляем как есть (изменять идентификатор — не лучшая идея). А чтобы при удалении категории всем товарам присваивалось дефолтное значение, определим правило удаления как «Присвоить значение по умолчанию».

Create_Table_In_MS_SQL_Server_13_1-1801-c5fd1b.JPG

Останется сохранить созданную (created) таблицу, назвав её Goods. Может появиться предупреждающее сообщение — оно не должно вас смутить.

Create_Table_In_MS_SQL_Server_14_1-1801-c8d9a3.JPG

Созданные таблицы станут видны в обозревателе объектов.

Create_Table_In_MS_SQL_Server_15_1-1801-fa50f8.JPG

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

Инструкция CREATE TABLE

Создать новую таблицу можно и с помощью инструкции CREATE TABLE. CREATE TABLE является ключевым словом, которое сообщает СУБД, что именно вы хотите выполнить. Синтаксис создания в языке (language) SQL следующий:

Screenshot_1-1801-7ef9b9.png

Как видите, после оператора CREATE TABLE надо указать имя либо идентификатор таблицы, потом список столбцов и тип данных для каждого столбца, а также первичный ключ.

Для примера создадим table CUSTOMERS. В качестве первичного ключа укажем столбец ID. Также установим ограничения для полей, которые не могут иметь нулевое значение при создании записей (NOT NULL):

Screenshot_2-1801-947e91.png

Увидеть структуру созданной table можно, если сделать соответствующий запрос (query) командой DESC:

Screenshot_3-1801-11b8d2.png

Вот и всё. Очень надеемся, что статья помогла вам разобраться в том, как создавать table в реляционных системах управления базами данными. Если же вас интересуют более продвинутые знания как по базам данных, так и по MS SQL Server конкретно, обратите внимание на следующие курсы в OTUS: — https://otus.ru/lessons/subd/; — https://otus.ru/lessons/ms-sql-server-razrabotchik/.

При подготовке статьи использовались следующие материалы: • https://www.tutorialspoint.com/sql/sql-create-table.htm; • https://info-comp.ru/obucheniest/716-create-table-in-ms-sql-server.html; • https://info-comp.ru/obucheniest/715-create-database-in-ms-sql-server.html.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто