Создание базы данных
В этой статье описывается создание базы данных в SQL Server с помощью SQL Server Management Studio или Transact-SQL.
Сведения о создании базы данных в службе Базы данных SQL Azure с помощью T-SQL см. в статье CREATE DATABASE (база данных SQL Azure).
ограничения
- В экземпляре SQL Server можно указать не более 32 767 баз данных.
Предварительные условия
- Инструкция CREATE DATABASE должна выполняться в режиме автокоммитирования (режим управления транзакциями по умолчанию) и не допускается в явной или неявной транзакции.
Рекомендации
- Резервную копию базы данных master необходимо создавать каждый раз при создании, изменении или удалении пользовательской базы данных.
- При создании базы данных файлы данных следует делать как можно большего размера, в соответствии с максимальным предполагаемым объемом данных в базе данных.
Разрешения
Требуется разрешение CREATE DATABASE в базе данных master или разрешение CREATE ANY DATABASE или ALTER ANY DATABASE.
Для поддержания контроля над использованием дисков на экземпляре SQL Server разрешение на создание баз данных обычно ограничено несколькими именами входа SQL Server.
Использование среды SQL Server Management Studio
Создание базы данных
- В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
- Щелкните правой кнопкой мыши узел Базы данных и выберите команду Создать базу данных.
- В поле Новая база данныхвведите имя базы данных.
- Чтобы создать базу данных, приняв все значения по умолчанию, нажмите кнопку ОК; в противном случае продолжайте выполнять указанные ниже дополнительные действия.
- Чтобы изменить имя владельца, нажмите (…) и выберите другого владельца.
Заметка Параметр «Использовать полнотекстовый индексирование » всегда проверяется и неактивен, так как начиная с SQL Server 2008 (10.0.x), все пользовательские базы данных включены в полнотекстовый режим.
- В столбце Имя введите имя расширенного свойства.
- В столбце Значение введите текст расширенного свойства. Например, введите одно или несколько предложений, которые описывают базу данных.
Использование Transact-SQL
Создание базы данных
- Соединитесь с ядром СУБД .
- На стандартной панели выберите пункт Создать запрос.
- Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере создается база данных Sales . Так как ключевое слово PRIMARY не используется, первый файл ( Sales_dat ) становится основным файлом. Так как MB или не указаны в параметре SIZE Sales_dat для файла, он использует MB и выделяется в мегабайтах. KB Резервную копию базы данных Sales_log выделено в мегабайтах, потому что суффикс MB явно указан в параметре SIZE .
USE master; GO CREATE DATABASE Sales ON (NAME = Sales_dat, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\saledat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5) LOG ON (NAME = Sales_log, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\salelog.ldf', SIZE = 5 MB, MAXSIZE = 25 MB, FILEGROWTH = 5 MB); GO
Далее
- Файлы и файловые группы базы данных
- Отсоединение базы данных и подключение (SQL Server)
- ALTER DATABASE (Transact-SQL)
- Добавление файлов данных или журналов в базу данных
Урок 1. Создание объектов базы данных и отправка запросов к ним
Схема обучения Начало работы с запросами с помощью Transact-SQL содержит более подробные материалы, а также практические примеры.
На этом занятии вы узнаете, как создать базу данных, создать таблицу в базе данных и получить доступ к данным таблицы и изменить их. Поскольку это занятие представляет собой введение в использование Transact-SQL, в нем не используются и не описываются многие параметры, доступные для этих инструкций.
Инструкции Transact-SQL могут быть написаны и пересланы ядру СУБД следующими способами:
- При помощи среды SQL Server Management Studio. Предполагается, что вы используете среду Среда Management Studio, но можно также использовать среду Среда Management Studio Express, которая может быть загружена бесплатно с веб-узла центра загрузки Майкрософт.
- С помощью служебной программы sqlcmd .
- Соединившись из создаваемого приложения.
Исходный код исполняется в компоненте Компонент Database Engine таким же образом и с теми же разрешениями, независимо от того, как был передан исходный код инструкций.
Чтобы выполнить инструкцию языка Transact-SQL в Management Studio, откройте Management Studio и подключитесь к экземпляру ядра СУБД SQL Server.
Предварительные требования
Для работы с этим руководством необходима среда SQL Server Management Studio и доступ к экземпляру SQL Server.
- Установите SQL Server Management Studio.
Если у вас нет экземпляра SQL Server, создайте его. Чтобы создать экземпляр, выберите свою платформу по следующим ссылкам. При выборе проверки подлинности SQL используйте учетные данные SQL Server.
- Windows: скачайте SQL Server 2022 Developer Edition.
- Linux: скачайте SQL Server 2022 в контейнер.
Создание базы данных
Как и многие инструкции Transact-SQL, инструкция CREATE DATABASE имеет обязательный параметр: имя базы данных. Кроме этого, у инструкции CREATE DATABASE имеется ряд необязательных параметров, таких как расположение на диске, где требуется хранить файлы базы данных. При выполнении инструкции CREATE DATABASE без дополнительных параметров для многих из них SQL Server использует значения по умолчанию.
-
В окне Редактор запросов введите, но не выполняйте следующий код:
CREATE DATABASE TestData GO
При создании базы данных SQL Server создает копию model базы данных и переименовывает ее в имя базы данных. Эта операция обычно занимает несколько секунд, если только с помощью дополнительного параметра не указан большой исходный размер базы данных.
Когда в одном пакете представлено несколько инструкций, они разделяются с помощью ключевого слова GO. Ключевое слово GO является необязательным, если в пакете содержится только одна инструкция.
Создание таблицы
Чтобы создать таблицу, нужно указать имя таблицы, имена и типы данных для каждого столбца таблицы. Также рекомендуется указывать, допускаются ли значения NULL для каждого из столбцов. Для создания таблицы необходимо иметь разрешение CREATE TABLE и разрешение ALTER SCHEMA для схемы, которая будет содержать таблицу. Предопределинная роль базы данных db_ddladmin имеет эти разрешения.
Большинство таблиц имеют первичный ключ, состоящий из одной или нескольких столбцов таблицы. Первичный ключ всегда уникален. Компонент Компонент Database Engine применяет ограничение на то, что любое значение первичного ключа не может повторяться в таблице.
Список типов данных и ссылки на их описание см. в разделе Типы данных (Transact-SQL).
Компонент Компонент Database Engine может быть установлен с учетом регистра и без учета регистра. Если компонент Компонент Database Engine установлен с учетом регистра, имена объектов должны иметь одно и тоже имя. Например, таблица с именем OrderData будет отличаться от таблицы ORDERDATA. Если компонент Компонент Database Engine установлен без учета регистра, эти два имени таблицы будут рассматриваться как одна таблица, то есть имя может быть использовано только один раз.
Переключение соединения редактора запросов на базу данных TestData
В окне редактора запросов введите и выполните следующий код, чтобы изменить соединение на базу данных TestData .
USE TestData GO
Создание таблицы
В окне редактора запросов введите и выполните следующий код, чтобы создать таблицу Products . Столбцы таблицы имеют имена ProductID , ProductName , Price и ProductDescription . Столбец ProductID является первичным ключом таблицы. int , varchar(25) , money и varchar(max) . Только столбцы Price и ProductionDescription могут быть пустыми при вставке или изменении строки. Данная инструкция содержит необязательный элемент ( dbo. ), называемый схемой. Схема — это объект базы данных, к которому принадлежит таблица. Если вы являетесь администратором, схемой по умолчанию будет схема dbo . dbo означает владельца базы данных.
CREATE TABLE dbo.Products (ProductID int PRIMARY KEY NOT NULL, ProductName varchar(25) NOT NULL, Price money NULL, ProductDescription varchar(max) NULL) GO
Вставка данных в таблицу и их обновление
Теперь, когда таблица создана Products , можно приступать к вставке данных в нее с помощью инструкции INSERT. После вставки данных содержимое строки изменяется с помощью инструкции UPDATE. Используйте предложение WHERE инструкции UPDATE, чтобы ограничить обновление одной строкой. Четыре оператора вводит следующие данные.
| ProductID | ProductName | Цена | ProductDescription |
|---|---|---|---|
| 1 | Clamp | 12,48 | Workbench clamp |
| 50 | Screwdriver | 3,17 | Flat head |
| 75 | Tire Bar | Tool for changing tires. | |
| 3000 | 3 mm Bracket | 0,52 |
Базовый синтаксис: INSERT, имя таблицы, список столбцов, VALUES, а затем список добавляемых значений. Два дефиса перед строкой указывают, что строка является комментарием, а текст игнорируется компилятором. В этом случае примечание описывает возможные варианты синтаксиса.
Вставка данных в таблицу
- Выполните следующую инструкцию, чтобы добавить строку в таблицу Products , которая была создана в предыдущей задаче.
-- Standard syntax INSERT dbo.Products (ProductID, ProductName, Price, ProductDescription) VALUES (1, 'Clamp', 12.48, 'Workbench clamp') GO
Если вставка выполнена, перейдите к следующему шагу. Если вставка завершается сбоем, это может быть вызвано тем, что в таблице Product уже есть строка с таким ИД продукта. Чтобы продолжить, удалите все строки в таблице и повторите предыдущий шаг. TRUNCATE TABLE удаляет все строки в таблице. Выполните следующую команду, чтобы удалить все строки в таблице:
TRUNCATE TABLE TestData.dbo.Products; GO
-- Changing the order of the columns INSERT dbo.Products (ProductName, ProductID, Price, ProductDescription) VALUES ('Screwdriver', 50, 3.17, 'Flat head') GO
-- Skipping the column list, but keeping the values in order INSERT dbo.Products VALUES (75, 'Tire Bar', NULL, 'Tool for changing tires.') GO
-- Dropping the optional dbo and dropping the ProductDescription column INSERT Products (ProductID, ProductName, Price) VALUES (3000, '3 mm Bracket', 0.52) GO
Обновление таблицы продуктов
Введите и выполните следующую инструкцию UPDATE , чтобы изменить значение ProductName второго продукта со значения Screwdriver на значение Flat Head Screwdriver .
UPDATE dbo.Products SET ProductName = 'Flat Head Screwdriver' WHERE ProductID = 50 GO
Чтение данных из таблицы
Для чтения данных в таблице используется инструкция SELECT. Инструкция SELECT является одной из наиболее важных инструкций Transact-SQL, и для нее существует много разновидностей синтаксиса. В этом руководстве вы будете работать с пятью базовыми версиями.
Чтение данных в таблице
- Чтобы прочитать данные из таблицы Products , введите и выполните следующие инструкции.
-- The basic syntax for reading data from a single table SELECT ProductID, ProductName, Price, ProductDescription FROM dbo.Products GO
-- Returns all columns in the table -- Does not use the optional schema, dbo SELECT * FROM Products GO
-- Returns only two of the columns from the table SELECT ProductName, Price FROM dbo.Products GO
-- Returns only two of the records in the table SELECT ProductID, ProductName, Price, ProductDescription FROM dbo.Products WHERE ProductID < 60 GO
-- Returns ProductName and the Price including a 7% tax -- Provides the name CustomerPays for the calculated column SELECT ProductName, Price * 1.07 AS CustomerPays FROM dbo.Products GO
Полезные функции в инструкции SELECT
Сведения о некоторых функциях, которые можно использовать для работы с данными в инструкциях SELECT, см. в следующих статьях:
Создание представлений и хранимых процедур
Представление является хранимой инструкцией SELECT, а хранимая процедура представляет собой одну или более инструкций Transact-SQL, выполняемых в виде пакета.
Представления запрашиваются как таблицы и не принимают параметры. Хранимые процедуры сложнее, чем представления. Хранимые процедуры содержат как входные, так и выходные параметры и могут содержать инструкции, которые управляют потоком кода, например IF и WHILE. Использование хранимых процедур для всех повторяющихся действий в базе данных является хорошим стилем программирования.
В этом примере используется инструкция CREATE VIEW для создания представления, которое выбирает только два столбца в Products таблице. Затем с помощью инструкции CREATE PROCEDURE создайте хранимую процедуру, которая принимает параметр price и возвращает только те продукты, стоимость которых меньше указанного значения параметра.
Создание представления
Выполните следующую инструкцию, создающую представление, которое выполняет инструкцию select и возвращает названия и цены продуктов пользователю.
CREATE VIEW vw_Names AS SELECT ProductName, Price FROM Products; GO
Тестирование представления
С представлениями обращаются так же, как с таблицами. Используйте инструкцию SELECT , чтобы получить доступ к представлению.
SELECT * FROM vw_Names; GO
Создание хранимой процедуры
В следующем примере создается хранимая процедура pr_Names с входным параметром @VarPrice типа money . Эта хранимая процедура печатает инструкцию Products less than , соединенную операцией сцепления с входным параметром, тип которого преобразуется из money в varchar(10) . Затем процедура выполняет инструкцию SELECT на представлении, передавая входной параметр в предложение WHERE . Возвращаются все продукты, цена которых меньше значения входного параметра.
CREATE PROCEDURE pr_Names @VarPrice money AS BEGIN -- The print statement returns text to the user PRINT 'Products less than ' + CAST(@VarPrice AS varchar(10)); -- A second statement starts here SELECT ProductName, Price FROM vw_Names WHERE Price < @VarPrice; END GO
Тестирование хранимой процедуры
Чтобы выполнить хранимую процедуру, введите и выполните следующую инструкцию. Эта процедура должна возвратить названия двух продуктов, введенных в таблицу Products на занятии 1, цена которых меньше 10.00 .
EXECUTE pr_Names 10.00; GO
Дальнейшие действия
В следующей статье вы узнаете, как настроить разрешения в объектах базы данных. Объекты, созданные в уроке 1, также будут использоваться в уроке 2.
Дополнительные сведения см. в следующей статье:
SQL Server. Создание базы данных, таблиц и связей между ними
В этой статье мы научимся работать с основными объектами базы данных - таблицами, в которых хранится вся информация баз данных.
База данных представляет собой хранилище объектов. Основные из них:
- Таблицы: хранят данные
- Представления (Views): выражения языка SQL, которые возвращают набор данных в виде таблицы
- Хранимые процедуры: выполняют код на языке SQL по отношению к данным к БД (например, получает данные или изменяет их)
- Функции: также код SQL, который выполняет определенную задачу
Используется два типа баз данных: системные и пользовательские. Системные базы данных необходимы серверу SQL для корректной работы. А пользовательские базы данных создаются пользователями сервера и могут хранить любую произвольную информацию. Их можно изменять и удалять, создавать заново. Собственно это те базы данных, которые мы будем создавать и с которыми мы будем работать.
Системные базы данных
В MS SQL Server по умолчанию создается четыре системных баз данных:
- master: эта главная база данных сервера, в случае ее отсутствия или повреждения сервер не сможет работать. Она хранит все используемые логины пользователей сервера, их роли, различные конфигурационные настройки, имена и информацию о базах данных, которые хранятся на сервере, а также ряд другой информации.
- model: эта база данных представляет шаблон, на основе которого создаются другие базы данных. То есть когда мы создаем через SSMS свою бд, она создается как копия базы model.
- msdb: хранит информацию о работе, выполняемой таким компонентом как планировщик SQL. Также она хранит информацию о бекапах баз данных.
- tempdb: эта база данных используется как хранилище для временных объектов. Она заново пересоздается при каждом запуске сервера.
Все эти базы можно увидеть через SQL Server Management Studio в узле Databases -> System Databases:
Эти базы данных не следует изменять, за исключением бд model.
Если на этапе установки сервера был выбран и установлен компонент PolyBase, то также на сервере по умолчанию будут расположены еще три базы данных, которые используется этим компонентом: DWConfiguration, DWDiagnostics, DWQueue.
Создание базы данных в SQL Management Studio
Теперь создадим свою базу данных. Для этого мы можем использовать скрипт на языке SQL, либо все сделать с помощью графических средств в SQL Management Studio.
В данном случае мы выберем второй способ. Для этого откроем SQL Server Management Studio и нажмем правой кнопкой мыши на узел Базы данных. Затем в появившемся контекстном меню выберем пункт Создать базу данных:

После этого нам открывается окно для создания базы данных:

В поле Имя базы данных необходимо ввести название новой бд. Следующее поле "Владелец" задает владельца базы данных. По умолчанию оно имеет значение , то есть владельцем будет тот, кто создает эту базу данных. Оставим все как есть.
Далее идет таблица для установки общих настроек базы данных. Она содержит две строки - первая для установки настроек для главного файла, где будут храниться данные, и вторая строка для конфигурации файла логирования. В частности, мы можем установить следующие настройки:
- Логическое имя: логическое имя, которое присваивается файлу базы данных.
- Тип файла: есть несколько типов файлов, но, как правило, основная работа ведется с файлами данных (ROWS Data) и файлом лога (LOG)
- Файловая группа: означает группу файлов. Группа файлов может хранить множество файлов и может использоваться для разбиения базы данных на части для размещения в разных местах.
- Начальный размер (MБ): устанавливает начальный размер файлов при создании (фактический размер может отличаться от этого значения).
- Автоувеличение/Максимальный размер: при достижении базой данных начального размера SQL Server использует это значение для увеличения файла.
- Путь: каталог, где будут храниться базы данных.
- Имя файла: непосредственное имя физического файла. Если оно не указано, то применяется логическое имя.
После ввода названия базы данных нажмем на кнопку ОК, и бд будет создана.
После этого она появится среди баз данных сервера. Если эта бд впоследствии не потребуется, то ее можно удалить, нажав на нее правой кнопкой мыши и выбрав в контекстном меню пункт Удалить.
Создание таблиц, отношения таблиц, внешние ключи
Ключевым объектом в базе данных являются таблицы. Таблицы состоят из строк и столбцов. Столбцы определяют тип информации, которая хранится, а строки содержат значения для этих столбцов.
Типы данных SQL SERVER
- для строк лучше всего использовать nvarchar (ни в коем случае не используйте nchar, при этом длина строки строго зафиксирована и не зависит от содержимого - т.е. сложно потом будет сравнивать строки, т.к. они будут дополняться ненужными нам пробелами). Если поле очень большое, то лучше использовать nvarchar(MAX) или text, но при этом размер должен быть адекватным, чтобы не замедлять работу в дальнейшем
- для чисел используйте int, float . Важный момент - не нужно всех поражать своим знанием типов и использовать long там, где можно использовать int. Это в дальнейшем немного усложнит обработку таких значений в C# (т.е. по возможности не удивляйте своих коллег такими моментами, лучше удивите их быстрыми запросами SQL)
- булевский тип - bit
- деньги храните либо в типе money, либо в decimal (18,2) , либо в банке
- дата и время – тип datetime . Важный момент – изучите различные функции работы с датами (getdate, datediff, dateadd и др) – это будет часто встречаться
- очень важный тип – это uniqueidentifier . Это GUID – уникальный 32-битный код. Его особенность в том, что каждое новое значение - уникально (вероятность дубля критически мала). Идентификаторы GUID в первую очередь используются для назначения идентификаторов, которые должны быть уникальными в рамках сети, содержащей много компьютеров в различных расположениях. Значение идентификатора GUID для столбца uniqueidentifier формируется с помощью функции newid() .
В прошлой теме была создана база данных university. Теперь определим в ней первую таблицу. Опять же для создания таблицы в SQL Server Management Studio можно применить скрипт на языке SQL, либо воспользоваться графическим дизайнером. В данном случае выберем второе.
Для этого раскроем узел базы данных university в SQL Server Management Studio, нажмем на его подузел Таблицы правой кнопкой мыши и далее в контекстном меню выберем Создать -> Таблица.

После этого нам откроется дизайнер таблицы. В центральной части в таблице необходимо ввести данные о столбцах таблицы. Дизайнер содержит три поля:
- Имя столбца: имя столбца
- Тип данных: тип данных столбца. Тип данных определяет, какие данные могут храниться в этом столбце. Например, если столбец представляет числовой тип, то он может хранить только числа.
- Разрешить значения Null: может ли отсутствовать значение у столбца, то есть может ли он быть пустым
Допустим, нам надо создать таблицу с данными учащихся в учебном заведении. Для этого в дизайнере таблицы четыре столбца: Id, FirstName, LastName и Year, которые будут представлять соответственно уникальный идентификатор пользователя, его имя, фамилию и год рождения. У первого и четвертого столбца надо указать тип int (то есть целочисленный), а у столбцов FirstName и LastName - тип nvarchar(50) (строковый).
Затем в окне Properties, которая содержит свойства таблицы, в поле Name надо ввести имя таблицы - Students, а в поле Identity ввести Id, то есть тем самым указывая, что столбец Id будет идентификатором.
Имя таблицы должно быть уникальным в рамках базы данных. Как правило, название таблицы отражает название сущности, которая в ней хранится. Например, мы хотим сохранить студентов, поэтому таблица называется Students (слово студент во множественном числе на английском языке). Существуют разные мнения по поводу того, стоит использовать название сущности в единственном или множественном числе (Student или Students). В данном случае вопрос наименования таблицы всецело ложится на разработчика базы данных.
И в конце нам надо отметить, что столбец Id будет выполнять роль первичного ключа (primary key). Первичный ключ уникально идентифицирует каждую строку. В роли первичного ключа может выступать один столбец, а может и несколько.
Для установки первичного ключа нажмем на столбец Id правой кнопкой мыши и в появившемся меню выберем пункт Задать первичный ключ.
После этого напротив поля Id должен появиться золотой ключик. Этот ключик будет указывать, что столбец Id будет выполнять роль первичного ключа.
И после сохранения в базе данных university появится таблица Students:
Мы можем заметить, что название таблицы на самом деле начинается с префикса dbo. Этот префикс представляет схему. Схема определяет контейнер, который хранит объекты. То есть схема логически разграничивает базы данных. Если схема явным образом не указывается при создании объекта, то объект принадлежит схеме по умолчанию - схеме dbo.
Нажмем правой кнопкой мыши на название таблицы, и нам отобразится контекстное меню с опциями:

С помощью этих опций можно управлять таблицей. Так, опция Delete позволяет удалить таблицу. Опция Design откроет окно дизайнера таблицы, где мы можем при необходимости внести изменения в ее структуру.
Для добавления начальных данных можно выбрать опцию Изменить первые 200 строк. Она открывает в виде таблицы 200 первых строк и позволяет их изменить. Но в нашей таблице пока пусто, т.к. только что ее создали..
Создание таблиц и связей между ними с помощью диаграмм
В SSMS есть удобный графический инструмент для создания таблиц, а также для установки связей между ними - это диаграммы. Правой клавишей кликаем на пункт “диаграммы баз данных”, далее выбираем “создать диаграмму базы данных”
Далее может появиться вот такое сообщение (т.к. таблиц пока нет) :

Нажимаем “да” и видим следующее окно:

После этого кликаем правой кнопкой мышки по экрану и выбираем пункт “создать таблицу”:

Задаем название таблицы:

После создания таблицы добавляем колонки таблицы, указав их тип:

Добавляем первичный ключ (primary key). Для этого кликаем правой кнопкой мышки на поле рядом с названием “id” и выбираем “задать первичный ключ”:, рядом с “id” появится золотой ключик.

После перемещаемся на правую панель:

Здесь мы меняем значение на “да” (если нужно чтоб у id был автоинкремент, выбираем начальное значение “id”, а также шаг автоинкремента).
Таким образом создаем нужные таблицы. Таблицы можно менять местами, увеличивать или отдалять.
Несколько слов о связях между таблицами.
Выделяют следующие типы связей:
- один к одному
- один ко многим
- многие ко многим
Связь один к одному : встречается не часто, объекту одной сущности соответствует один объект другой сущности (пример: один пользователь один блог). Иными словами первичный ключ зависимой таблицы в то же время является внешним ключом, который ссылается на первичный ключ из главной таблицы.
Связь один ко многим : самый часто встречающийся тип связей. Несколько строк из зависимой (дочерней) таблицы зависят от одной строки главной (родительской) таблицы. Пример: в одной группе много студентов.
Связь многие ко многим : одна строка из одной таблицы (А) может быть связана со множеством строк из другой таблицы (Б). В свою очередь одна строка из таблицы Б может быть связана со множеством строк из таблицы А. Однако в SQL server нельзя установить связь многие ко многим между двумя таблицами. Это можно сделать с помощью вспомогательной промежуточной таблицы (иногда данные из этой таблицы представляют как отдельную сущность).
Теперь задаем связи между таблицами. Для этого в таблице, где есть внешний ключ (foreign key) нажимаем левой кнопкой мышки на поле рядом с названием внешнего ключа и не отпуская тянем на вторую таблицу к полю “id”

Отпускаем кнопку на этом поле и появляется окно:

выбираем “ОК”, а затем еще раз “ОК”.
В итоге у нас появляется связь между двумя таблицами:

В итоге мы научились добавлять таблицы, связывать и создавать столбцы.
Дополнительные материалы
- Наиболее часто используемые функции в SQL Server 2005/2008
- Проблема с доступом к таблице БД
- Пример создания структуры базы данных
- Создание структуры БД через диаграммы
- Как массово залить данные в таблицу БД через CSV (Excel)
C# и MS SQL Server
Для работы с базами данных нам естественно прежде всего надо иметь какую-нибудь базу данных. В данном случае мы будем рассматривать основные концепции ADO.NET преимущественно на примере MS SQL Serverа. Поэтому вначале нам надо установить SQL Server Express. Все необходимые материалы для установки можно найти по адресу https://www.microsoft.com/en-US/download/details.aspx?id=42299. Вместе с сервером также устанавливается специальная программа SQL Server Management Studio, которая используется для управления базами данных на сервере.
Для начала создадим простейшую базу данных на MS SQL Server. Для этого откроем SQL Server Management Studio и нажмем на узел Databases правой кнопкой мыши. После этого в открывшемся контекстном меню выберем New Database :

После этого нам открывается окно для создания базы данных:

В нем в поле Database Name нам надо ввести название базы данных. Введем usersdb . Больше здесь вводить ничего не требуется, и поэтому нажмем на ОК.
После этого в узле Databases появляется новый элемент, который представляет только что созданную базу данных usersdb. Раскроем его и нажмем правой кнопкой мыши на его подузел Tables:

Затем нам открывается дизайнер таблицы:

В нем надо указать три столбца: Id, Name и Age, которые будут представлять соответственно уникальный идентификатор пользователя, его имя и возраст. У первого и третьего столбца надо указать тип int (то есть целочисленный), а у столбца Name - тип nvarchar (строковый).
Кроме того, в окне свойств таблицы в поле Name надо ввести имя таблицы - Users, а в поле Identity ввести Id, то есть тем самым указывая, что столбец Id будет идентификатором.
И в конце нам надо установить курсор на столбец Id и в панели инструментов программы нажать на золотой ключик. После этого напротив поля Id также должен появиться золотой ключик. Этот ключик будет указывать, что столбец Id будет выполнять роль первичного ключа.
После этого нажмем на сохранение и затем на клавишу F5 (обновление), и в узле нашей базы данных появится новая таблица, которая будет называться dbo.Users:

Итак, мы создали базу данных и таблицу, которые будут выполнять функции по хранению данных. И теперь мы можем использовать инфраструктуру ADO.NET для подключения к ним.
