Исходные данные для примера
Давайте представим, что нам нужно реализовать базу данных со следующую структурой (пример структуры тестовый). В ней у нас будет две таблицы, и они будут содержать следующие столбцы:
-
Goods – таблица будет содержать информацию о товарах:
- ProductId – идентификатор товара, столбец не может содержать значения NULL, первичный ключ;
- Category – ссылка на категорию товара, столбец не может содержать значения NULL, но имеет значение по умолчанию, например, для случаев, когда товар еще не распределили в необходимую категорию, в этом случае товару будет присвоена категория по умолчанию («Не определена» или «Не указана»);
- ProductName – наименование товара, столбец не может содержать значения NULL;
- Price – цена товара, столбец может содержать значения NULL, например, с ценой еще не определились.
-
Categories — таблица будет содержать описание категорий товаров:
- CategoryId – идентификатор категории, столбец не может содержать значения NULL, первичный ключ;
- CategoryName – наименование категории, столбец не может содержать значения NULL.
При этом внести товар с несуществующей категорией нельзя, поэтому мы добавим еще и ограничение внешнего ключа.
Итак, давайте приступим.
How to Create a Table in SQL Server with T-SQL
The first step to store data in the database is to create a Table where data will reside. Post creation of the table, we can keep inserting the rows in the table.
We can Create a table in the following ways:
- T-SQL: Create a New Table by defining all columns and its data type.
- T-SQL: Create New Table using an existing table
- Using Table Designer
Let’s study this in detail:
Syntax:
CREATE TABLE tableName ( column_1 datatype , column_2 datatype , ... );
Here,
- The parameter tableName denotes the name of the table that you are going to create.
- The parameters column_1, column_2… denote the columns to be added to the table.
- A column should be specified as either NULL or NOT NULL. If you don’t specify, SQL Server will take NULL as the default.
Let’s create a basic Table with two columns
Query:
CREATE TABLE COURSE ( Course_ID Int, Course_Name Varchar(10) )
Pre-Requisite: Select the Database where you need to create the table.
Step 1) Run the query by clicking on Execute.
Before running the query, no table exists:
Result: After running the query, click ‘Refresh’ Button the new table exists as a Course.
Step 2) Insert some data
Till now, the Table only exists, but there is no data in the table created yet.
Transact-SQL has the INSERT statement that can be used to insert data into a table. With this statement, we can insert either one or more columns into a table.
Syntax
INSERT INTO tableName (column_1, column_2, ... ) VALUES (expression_1, expression_2, ... ), (expression_1, expression_2, ... ), ...;
The above shows the basic syntax of the command when using the VALUES keyword to insert data into a table.
Let’s insert four rows using Insert command.
Insert into COURSE values (1,'SQL'); Insert into COURSE values (2,'Python'); Insert into COURSE values (3,'SQL'); Insert into COURSE values (4,'C');
Below snapshot shows that now insertion of four rows is successful.
Step 3) Use the SELECT statement to view Data
To view data in SQL Server, Copy following syntax:
SELECT expression FROM tableName ;
Example Query:
SELECT * FROM COURSE;
Result: Table got created, and there are four records in tables. Note that we can create records with a duplicate value in any of the columns as there are no constraints.
T-SQL: Create a New Table using an existing table.
Now say we want another table like COURSE table created above. However, we need only one column of Course_Name and not Course_ID.
Syntax:
SELECT (Column 1, …) INTO <New Table name> FROM <Old Table name>;
Example Query:
SELECT COURSE_NAME INTO COURSE_NAMES FROM COURSE;
Step 1) Run the query by clicking on Execute.
Result: New table created with the name as COURSE_NAMES with existing 1 column and four records from Older Table.
SELECT * FROM COURSE_NAMES;
Using Table Designer
We can also create Table from Studio Management IDE using Table Designer.
Step 1) Right Click on Table>New>Click on Table.
Step 2) Enter column names, data types. Select whether to allow nulls or not.
Step 3) Press ‘CTRL+S’ to Save the table. Enter Name as ‘Course_Title’
Result: Click on ‘Refresh’ and we can seeNew table exists with the name as Course_Title with one column named as Course_Name.
Creating a Simple Database Table
Let’s create a table called that stores details about a company’s customers. Each row will contain data about one specific customer. The table should have the columns , , , and . The columns defined in the table store atomic data about each customer: their identification number, last name, first name, and the date when they registered as a customer.
Here’s the command we’d use:
CREATE TABLE customer ( ID int, last_name varchar(80), first_name varchar(80), registration_date date );
We start with the CREATE TABLE keyword, after which we give the name of the new table: . Next, in the parentheses, we give the column names and data types. The first column is , which stores integer values like 1,2,3. The second and third columns, and , are string values; we’ll use for them. Remember, the value in brackets denotes the maximum number of characters in the string. Finally, the column stores the date when the person was registered.
Data types control what kind of information can be entered in a column; you can’t enter letters or symbols in an INT column like ID. You can find more about data types in the courses The Basics of Creating Tables in SQL and Data Types in SQL.
Пишем SQL запрос для создания таблицы базы данных
Суммируем все исходные данные и получаем такой SQL запрос:
/*Таблица пользователей clients*/ create table clients ( /*client_id будет первичный ключ (обязательно целое число) с автоинкрементом (+1), который никогда не будет равен нулю*/ client_id integer not null auto_increment primary key, client_customer varchar(13), /*имя */ client_surclient varchar(22), /*фамилия */ client_login varchar(21), /*логин*/ client_passwd varchar(7), /*пароль*/ client_email varchar(44) /*email*/ client_telefon varchar(26) /*телефон*/ );
Примечание: SQL запрос для создания таблицы создаем в текстовом редакторе типа Notepad++. В скобках ограничиваем длину поля, может быть от 1 до 255.
Итоги статьи
- В этой статье мы познакомились с первым оператором SQL языка CREATE TABLE
- Создали SQL запрос для создания одной (первой) таблицы базы данных с первичным ключом.
WebOnTo.ru
Просмотр таблицы
Посмотреть на созданную таблицу можно с помощью команды SELECT * FROM <название таблицы>. Например:
# SELECT * FROM users; fio | company | phone | email ----------------------------+---------------+-------------+---------------- Иванов Иван Алексеевич | ООО "Ромашка" | 89057362761 | ivanov@mail.ru Донченко Иван Андреевич | ООО "Ромашка" | 89038276494 | dota@yandex.ru Девин Алексей Владимирович | ООО "Начало" | 89069384782 | test@yandex.ru (3 rows)
Можно вывести определённые колонки указав их вместо звездочки:
# SELECT fio, phone FROM users; fio | phone ----------------------------+------------- Иванов Иван Алексеевич | 89057362761 Донченко Иван Андреевич | 89038276494 Девин Алексей Владимирович | 89069384782 (3 rows)
Можно вывести определённые строки с помощью WHERE <условие>:
# SELECT * FROM users WHERE company = 'ООО "Ромашка"'; fio | company | phone | email -------------------------+---------------+-------------+---------------- Иванов Иван Алексеевич | ООО "Ромашка" | 89057362761 | ivanov@mail.ru Донченко Иван Андреевич | ООО "Ромашка" | 89038276494 | dota@yandex.ru (2 rows)
В качестве условия можем указать, что значение в определённой колонке должно:
- чему-то равняется;
- быть больше или меньше определённого значения;
- содержать что-то;
- и другое.
Можем комбинировать эти методы, например:
# SELECT fio, phone FROM users WHERE company = 'ООО "Ромашка"'; fio | phone -------------------------+------------- Иванов Иван Алексеевич | 89057362761 Донченко Иван Андреевич | 89038276494 (2 rows)
А ещё можем отсортировать таблицу по какой-нибудь строке:
# SELECT fio, phone FROM users ORDER BY fio; fio | phone ----------------------------+------------- Девин Алексей Владимирович | 89069384782 Донченко Иван Андреевич | 89038276494 Иванов Иван Алексеевич | 89057362761
Условий может быть несколько, например ФИО должно содержать Иван, а телефон должен заканчиваться на 94:
# SELECT * FROM users WHERE fio ~ 'Иван' AND phone ~ '.*94$'; fio | company | phone | email -------------------------+---------------+-------------+---------------- Донченко Иван Андреевич | ООО "Ромашка" | 89038276494 | dota@yandex.ru
Знак “~” – означает что значение должно содержать, а не равняться.
Также в примере выше я показал, что в условии можно использовать регулярные выражения.
Комбинировать условия можно с помощью AND и OR.
AUTO_INCREMENT
Когда столбец определяется с помощью AUTO_INCREMENT, его значение автоматически увеличивается каждый раз, когда в таблицу добавляется новая запись. Это удобно при использовании столбца в качестве первичного ключа. Благодаря AUTO_INCREMENTне нужно писать инструкции SQL для вычисления уникального идентификатора для каждой строки.
AUTO_INCREMENT может быть присвоен только одному столбцу в таблице. И он должен быть проиндексирован (например, объявлен в качестве первичного ключа).
Значение AUTO_INCREMENT для столбца можно переопределить, указав новое при выполнении инструкции INSERT.
Можно запросить у MySQL самое последнее значение AUTO_INCREMENT, используя функцию last_insert_id() следующим образом:
Создание таблиц в Microsoft SQL Server (CREATE TABLE) – подробная инструкция
Привет, сегодня я Вам расскажу о том, как создаются таблицы в Microsoft SQL Server, при этом мы рассмотрим примеры создания таблиц как с помощью графического интерфейса, специально для начинающих, так и с помощью инструкции CREATE TABLE языка T-SQL.
В прошлой статье «Создание базы данных в Microsoft SQL Server» я рассказывал, как создаются пустые базы данных, в которых еще нет таблиц, поэтому сегодня, в продолжение того материала я покажу, как создаются таблицы, в которые и будут добавляться и храниться все данные.
Как было уже отмечено, создать таблицу в Microsoft SQL Server можно двумя способами: первый — с помощью графического конструктора SQL Server Management Studio (SSMS), и второй — с помощью инструкции на языке T-SQL.
Заметка! Для комплексного изучения языка SQL и T-SQL рекомендую пройти наши онлайн-курсы по T-SQL, на которых используется последовательная методика обучения специально для начинающих.
Советы начинающим администраторам БД
- Делайте Backup перед любыми изменениями в БД
- Если вы выполняете добавление, обновление или удаление данных, то можно явно открыть транзакцию BEGIN TRANSACTION > выполнить ваш код > прочитать таблицу с параметром NOLOCK (позволяет читать незафиксированные данные) SELECT * FROM MyTable WITH (NOLOCK)> если всё прошло успешно, можно зафиксировать транзакцию — COMMIT TRANSACTION
- Пишите комментарии, они не раз помогут вам при разборе вашего кода, когда вы вернётесь к нему спустя некоторое время
- Скачайте для практики SQL Server Developer Edition (2014/16 бесплатны). Данная редакция имеет только одно ограничение — запрет на использование в продуктивных системах, что позволит вам практиковаться на всех компонентах SQL Server.
- Старайтесь отслеживать любые изменения на сервере БД, так как отвечать придётся именно вам, даже если изменения сделали другие
- Не вносите критические изменения, которые могут повлиять на производительность или доступность системы, без согласования с пользователями и вашим руководством
В конце хотелось бы добавить, что во время интенсивного обучения крайне важно отдыхать. Хороший сон позволит вам лучше усваивать материал, а периодические перерывы помогут по другому смотреть на ситуацию, но ни в коем случае не путайте полезные перерывы с ленью
Вам так же будет полезно изучить вопросы для собеседование на позицию Администратор MS SQL SERVER
Установка экземпляра Microsoft SQL Server 2008
При установке экземпляра оставим набор компонентов и их детальную настройку за скобками, отметив только следующие моменты:
Для каждого компонента желательно создать отдельную учетную запись в Active Directory. Это необходимо для того, чтобы впоследствии эффективно распределять права, которые будут необходимы компонентам для сетевых взаимодействий, как то создание резервных копий, доступ к данным на удаленных компьютерах и т. п.
В качестве пути установки нового экземпляра Microsoft SQL Server следует использовать путь на дисковом массиве, предназначенном для файлов данных БД. Делается это по нескольким причинам, во-первых, папка экземпляра содержит системные базы данных и если мы решили хранить все базы данных на отдельном хранилище, то они не должны стать исключением
Во-вторых, скорость доступа к данным на дисковом массиве файлов данных максимальна, что также немаловажно для системных баз данных. Таким образом, мы полностью освободили системный диск сервера от данных, которые необходимы для работы экземпляра SQL-сервера и в случае необходимости легко можем очистить его и переустановить ОС.
Размещение tempdb на RAM-диске
Задача размещения системной базы данных tempdb на отдельном высокоскоростном хранилище хорошо известна администраторам баз данных. Дело в том, что эта база данных хранит временные таблицы SQL, необходимые для обработки сложных запросов, таким образом, от производительности операций с tempdb существенно зависит производительность всего экземпляра в целом.
Одним из способов увеличения скорости операций ввода-вывода с базой данных tempdb является размещение её файлов на RAM-диске. Для этого необходимо подобрать программное обеспечение, которое позволит создать в системе RAM-диск. На основе тестирования различных RAM-дисков (http://www.raymond.cc/blog/archives/2009/12/08/12-ram-disk-software-benchmarked-for-fastest-read-and-write-speed/) можно сделать вывод о том, что неплохой производительностью, а также бесплатностью с некоторыми ограничениями обладает RAM-диск от DataRam (http://memory.dataram.com/products-and-services/software/ramdisk). Ограничением является максимальный объем диска для бесплатной версии равный 4 Гб.
Естественно объема, определенного для файлов базы данных tempdb на RAM-диске может быть недостаточно для некоторых запросов и может возникнуть неприятная ситуация переполнения файлов базы данных. Для устранения этого необходимо разделить tempdb на файлы хранимые на RAM-диске и файлы размещенные на дисковых массивах. При этом размеры файлов RAM-диска следует установить в соответствии с размером RAM-диска и отключить авторасширение, а размеры файлов на дисковых массивах необходимо установить минимальными с включенным авторасширением. В виду того, что Microsoft SQL Server использует алгоритм round robin для записи в файлы баз данных, основная часть операций будет выполняться с файлами RAM-диска, однако же при их переполнении произойдет не сбой, а авторасширение файлов на дисковых массивах. Финальная настройка файлов tempdb может быть такой, как показана на рис. 3.
Рисунок 3. Файлы базы данных tempdb
Также необходимо настроить сохранение образа RAM-диска на дисковый массив при перезагрузке сервера, иначе база tempdb не сможет запуститься, что повлечет за собой невозможность запуска самого экземпляра SQL-сервера. Для хранения образа целесообразнее всего избрать дисковый массив с файлами данных БД.
SQL-Урок 14. Создание таблиц (CREATE TABLE)
Язык SQL используется не только для обработки информации, но и предназначена для выполнения всех операций с базами данных и таблицами, включая также создание таблиц и работа с ними. Существует два способа создания таблиц: 1) большинство СУБД обладают визуальным интерфейсом для интерактивного создания таблиц и управление ими; 2) таблицами можно манипулировать, используя операторы SQL. Стоит отметить, что, когда вы используете интерактивный инструментарий СУБД, на самом деле вся работа выполняется операторами SQL, т.е. интерфейс сам создает эти команды незаметно для пользователя (это подобно на запись макроса в Excel, когда макрорекодер записывает ваши действия и преобразует их в команды VBA).
Primary Key (PK)
In SQL Server, the Primary Key constraint is a column (or a set of columns) that uniquely identifies each row in the table, this constraint enforces uniqueness and ensures that no column that is part of the Primary Key can hold a NULL value. Only one Primary Key can be created for each table.
The syntax for defining a Primary Key Constraint is as follows:
column_name column_DataType PRIMARY KEY,
For example:
CREATE TABLE emps (emp_id decimal(3) CONSTRAINT emps_empid_pk PRIMARY KEY, emp_name varchar(25))
Please note – the square brackets in this demonstration (and in those that follow) indicate that what enclosed within them is optional, the square brackets are not part of the CREATE TABLE statement.
Как мы делали ядро инвестиционного бизнеса «Альфа-Банка» на базе Tarantool
Кадр из фильма «Our Secret Universe: The Hidden Life of the Cell»
Инвестиционный бизнес — это одно из сложнейших направлений в банковском мире, потому что здесь есть не только кредиты, займы и депозиты, но и ценные бумаги, валюта, товары, деривативы и всякие сложности в виде структурных продуктов.
В последнее время мы наблюдаем рост финансовой грамотности населения. Всё больше людей вовлекается в торговлю на рынках ценных бумаг. Индивидуальные инвестиционные счета появились не так давно. Они позволяют вам торговать на рынках ценных бумаг и при этом либо получать налоговые вычеты, либо не платить налоги. И все клиенты, которые к нам приходят, хотят управлять своим портфелем и видеть отчётность в реальном времени. Причем чаще всего этот портфель мультипродуктовый, то есть люди являются клиентами различных направлений бизнеса.
Кроме того, растут и потребности регуляторов, как российских, так и зарубежных.
Чтобы соответствовать текущим потребностям и заложить фундамент для будущих модернизаций, мы разработали ядро инвест-бизнеса на основе Tarantool.
2.6 Резервное копирование базы данных, Резервная копия
Кроме того, резервные копии баз данных полезны и для выполнения повседневных административных задач, например для копирования базы данных с одного сервера на другой, настройки зеркального отображения баз данных и архивирования.
Различают три вида резервного копирования:
-
полное резервное копирование (fullbackup);
-
разностное (differentialbackup);
-
резервное копирование журналов транзакций (transactionlogbackup).
Полная резервная копия содержит все данные заданной базы данных или наборов файлов и файловых групп, а также журналов для обеспечения возможности последующего восстановления этих данных.
Разностное резервное копирование основано на последней полной резервной копии данных. Эта резервная копия обозначается как базовая копия для разностного копирования или основа разностного копирования. Базовая копия для разностного копирования является полной резервной копией данных, доступных для записи и чтения. Основа для разностной резервной копии содержит только те данные, которые изменились со времени создания базовой копии для разностного копирования. Обычно разностное резервное копирование, проводимое вскоре после создания основы для разностной копии, происходит быстрее и занимает меньше места, чем основа для разностной копии. Таким образом, использование разностных резервных копий может ускорить процесс частого создания резервных копий и уменьшить риск потери данных. Обычно базовая копия для разностного копирования используется при создании нескольких успешных разностных резервных копий. Во время восстановления сначала восстанавливается полная резервная копия, а затем самая последняя разностная резервная копия .
Со временем при обновлении базы данных количество содержащихся в разностных резервных копиях данных увеличивается. При этом резервное копирование и восстановление происходят медленнее. Рано или поздно появится необходимость создания другой полной резервной копии для обеспечения новой базовой копии для серии разностных резервных копий.
При настройке резервного копирования можно настроить расписание, по которому будет производиться резервное копирование. Для базы данных ComputerShop определим следующее расписание: раз в неделю — полное резервное копирование, раз в месяц – копирование файловых групп.
Tasks — Backup
Рисунок 19 – Параметры резервного копирования
Далее перейдем на вкладку
-
Overwrite media (Перезаписать носитель) — параметры, позволяющие определить режим перезаписи носителя, выберем Append to the existing media set (Добавить к существующему набору носителя).
-
Reliability: Verify backup then finished (Проверить резервную копию после завершения) — проверка целостности резервной копии после завершения резервного копирования.
Остальное оставляем без изменения.
После этого настроим расписание резервного копирования. Для
Рисунок 20 – Настройка параметров авто резервирования БД
Далее нажимаем ОК и у нас создается плановое резервирование всей БД ComputerShop раз в месяц в 22:57 утра начиная с 01.01.2013 г.
Теперь надо создать плановое копирование файловой группы
Рисунок 21– Выбор файловой группы
Далее отмечаем те же пункты, что и при резервировании всей БД. Временные параметры немного изменяем. Уменьшаем время между копированиями с месяца до недели. На рисунке 22 представлены временные параметры.
Рисунок 22 – Временные параметры копирования файловой группы
Поскольку повседневная работа с БД
Запускаем Visual Studio 2010, выбираем вкладку Файл , затем Создать и Проект . Прописываем путь, куда хотим сохранить проект, а также указываем имя проекта. Данный проект называется «Магазин компьютерной техники».
Т.к. к программе имеют доступ различные пользователи с различным уровнем доступа, то кроме того, что мы разграничили уровень доступа на уровне базы данных, мы разграничим его еще на уровне самой программы. Для этого создадим форму авторизации (рисунок 23).
Рисунок 23 – Авторизация пользователя
На этой форме пользователи буду вводить свои данные, и в зависимости от этих данных система будет выводить различные таблицы.
Затем необходимо подключить базу данных ComputerShop созданную в SQL Server . В данном случае понадобится компонент B inding Source . Далее выбираем Добавить источник данных проекта
//URL: https://liarte.ru/kursovoy/po-bazam-dannyih-sql/
. В результате откроется окно Мастер настройки источника данных (рисунок 24).
Рисунок 24 —
Практика обновления версий PostgreSQL. Андрей Сальников
Предлагаю ознакомиться с расшифровкой доклада 2018 года Андрея Сальникова «Практика обновления версий PostgreSQL»
В большинстве своем, системные администраторы и ДБА бояться как огня делать мажорные обновления версий баз данных (RDBMS), особенно если эта база данных в эксплуатации и имеет достаточно высокую нагрузку. Главной причиной тому некоторый даунтайм базы данных, который всегда подразумевается при планировании таких работ.
На практике, такого рода upgrade занимает довольно длительное время и зачастую администраторам с малым опытом подобных операций приходится откатываться на старую версию баз данных из-за достаточно банальных ошибок, которые можно было бы избежать еще на этапе подготовки.
В Data Egret мы накопили огромный опыт проведения мажорных апгрейдов PostgreSQL в проектах, где нет права на ошибку. Я поделюсь своим опытом и расскажу о следующих шагах процесса: как правильно подготовиться к upgrade-у PostgreSQL? что необходимо сделать на этапе подготовки? как запланировать последовательность действий на сам upgrade? как провести процедуру upgrade-а успешно, без возврата на предыдущую версию бд? как минимизировать или вообще избежать простоя всей системы во время upgrade-а? какие действия необходимо выполнить после успешного upgrade-а PostgreSQL? Я также расскажу про две наиболее популярные процедуры апгрейда PostgreSQL — pg_upgrade и pg_dump/pg_restore, плюсы и минусы каждого из методов и расскажу про все типичные проблемы на всех этапах этой процедуры, и как их избежать.
Доклад будет интересен как новичкам так и тем ДБА которые уже давно работают с PostgreSQL, но хотят побольше узнать о том как правильно планировать и проводить upgrade максимально безболезненно.
Kilor 31 марта 2020 в 09:45
Create table Using SQL Statement
Now, let us create the table using the above query.
Open SSMS. If you have not installed it, then refer to the install SSMS tutorial. Connect to the SQL Server instance.
First, we need to create a database to hold our table. Create a new database . You can refer to the tutorial how to create the database.
- Select the newly created database i.e. .
- On the menu select
- This will open the Query window
- Paste the following query to the Query window
- Click on Execute to run the query
- Commands completed successfully message appears
1 2 3 4 5 6 7 8 9 10 11 |
CREATE TABLE Employee( EmployeeID intNOT NULLPRIMARY KEY, FirstName varchar(50)NOT NULL, LastName varchar(50)NOT NULL, Department varchar(20)NOT NULL, Designation varchar(15)NOT NULL, Salary decimal(10,)NOT NULL, Email varchar(50)NULL, ) |
You can view the employee table from the object explorer.
Select the tables under database under node. Right click and refresh. You will see the table. Expand it and then expand the columns node to view the columns.
Что такое агрегатные и скалярные функции?
Агрегатная функция выполняет вычисление над набором значений и возвращает одно значение. В табличной модели данных это значит, что функция берет ноль, одну или несколько строк для какой-то колонки и возвращает единственное значение. Для сравнения — скалярные функции принимают на вход одно значение и возвращают одно значение.
Примеры агрегатных функций:
- AVG() – Функция вычисляет среднее значение
- MAX() – Функция вычисляет элемент с максимальным значением
- MIN() – Функция вычисляет элемент с минимальным значением
- SUM() – Функция суммирует значения
Примеры скалярных функций:
- LEN() – Функция вычисляет общую длину поля
- MID() – Функция извлекает подстроки из набора строковых значений в таблице
- RAND() – Функция генерирует случайный набор чисел заданной длины
- NOW() – Функция возвращает текущую дату и время
Создание таблицы с помощью инструкции CREATE TABLE языка T-SQL
Теперь давайте я покажу процесс создания тех же самых таблиц, но только на языке T-SQL с использованием инструкции CREATE TABLE.
Упрощённый синтаксис создания таблиц следующий:
В реальности синтаксис инструкции CREATE TABLE очень большой и с первого взгляда сложный, поэтому начинающим лучше сначала понять принцип создания таблицы, а потом углубляться в детали.
Чтобы написать и выполнить инструкцию T-SQL, открываем редактор SQL запросов, для этого нажимаем кнопку «Создать запрос» и пишем необходимую инструкцию, она представлена чуть ниже. Эта инструкция эквивалентна всем действиям, которые мы делали в графическом интерфейсе.
Примечание! Если Вы создали таблицы с помощью графического интерфейса и хотите протестировать следующую инструкцию T-SQL по созданию таблиц, то Вам предварительно нужно удалить эти таблицы, так как они уже существуют и сервер выдаст ошибку. Для этого я специально включил в инструкцию команду DROP TABLE IF EXISTS, которая удаляет таблицы, в случае если они существуют. Параметр IF EXISTS доступен, начиная с 2016 версии SQL Server, подробней об этом параметре мы говорили в статье – «Инструкция DROP IF EXISTS».
Выполняем инструкцию (кнопка «Выполнить»), в итоге также будут созданы две таблицы и соответствующие ограничения.