Перейти к содержимому

Как работать с sql server

  • автор:

Начало работы с MS SQL Server

Базу данных часто отождествляют с набором таблиц, которые хранят данные. Но это не совсем так. Лучше сказать, что база данных представляет хранилище объектов. Основные из них:

  • Таблицы : хранят собственно данные
  • Представления (Views): выражения языка SQL, которые возвращают набор данных в виде таблицы
  • Хранимые процедуры : выполняют код на языке SQL по отношению к данным к БД (например, получает данные или изменяет их)
  • Функции : также код SQL, который выполняет определенную задачу

В SQL Server используется два типа баз данных: системные и пользовательские. Системные базы данных необходимы серверу SQL для корректной работы. А пользовательские базы данных создаются пользователями сервера и могут хранить любую произвольную информацию. Их можно изменять и удалять, создавать заново. Собственно это те базы данных, которые мы будем создавать и с которыми мы будем работать.

Системные базы данных

В MS SQL Server по умолчанию создается четыре системных баз данных:

  • master : эта главная база данных сервера, в случае ее отсутствия или повреждения сервер не сможет работать. Она хранит все используемые логины пользователей сервера, их роли, различные конфигурационные настройки, имена и информацию о базах данных, которые хранятся на сервере, а также ряд другой информации.
  • model : эта база данных представляет шаблон, на основе которого создаются другие базы данных. То есть когда мы создаем через SSMS свою бд, она создается как копия базы model.
  • msdb : хранит информацию о работе, выполняемой таким компонентом как планировщик SQL. Также она хранит информацию о бекапах баз данных.
  • tempdb : эта база данных используется как хранилище для временных объектов. Она заново пересоздается при каждом запуске сервера.

Все эти базы можно увидеть через SQL Server Management Studio в узле Databases -> System Databases :

Системные базы данных в MS SQL Server 2016

Эти базы данных не следует изменять, за исключением бд model.

Если на этапе установки сервера был выбран и установлен компонент PolyBase, то также на сервере по умолчанию будут расположены еще три базы данных, которые используется этим компонентом: DWConfiguration, DWDiagnostics, DWQueue.

Создание базы данных в SQL Management Studio

Теперь создадим свою базу данных. Для этого мы можем использовать скрипт на языке SQL, либо все сделать с помощью графических средств в SQL Management Studio. В данном случае мы выберем второй способ. Для этого откроем SQL Server Management Studio и нажмем правой кнопкой мыши на узел Databases . Затем в появившемся контекстном меню выберем пункт New Database :

Создание базы данных в SQL Server Management Studio

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

Определение базы данных в SQL Server Management Studio

В поле Database необходимо ввести название новой бд. Пусть у нас база данных называется university .

Следующее поле Owner задает владельца базы данных. По умолчанию оно имеет значение , то есть владельцем будет тот, кто создает эту базу данных. Оставим это поле без изменений.

Далее идет таблица для установки общих настроек базы данных. Она содержит две строки — первая для установки настроек для главного файла, где будут храниться данные, и вторая строка для конфигурации файла логгирования. В частности, мы можем установить следующие настройки:

  • Logical Name : логическое имя, которое присваивается файлу базы данных.
  • File Type : есть несколько типов файлов, но, как правило, основная работа ведется с файлами данных (ROWS Data) и файлом лога (LOG)
  • Filegroup : обозначет группу файлов. Группа файлов может хранить множество файлов и может использоваться для разбиения базы данных на части для размещения в разных местах.
  • Initial Size (MB) : устанавливает начальный размер файлов при создании (фактический размер может отличаться от этого значения).
  • Autogrowth/Maxsize : при достижении базой данных начального размера SQL Server использует это значение для увеличения файла.
  • Path : каталог, где будут храниться базы данных.
  • File Name : непосредственное имя физического файла. Если оно не указано, то применяется логическое имя.

После ввода названия базы данных нажмем на кнопку ОК, и бд будет создана.

После этого она появится среди баз данных сервера. Если эта бд впоследствии не потребуется, то ее можно удалить, нажав на нее правой кнопкой мыши и выбрав в контекстном меню пункт Delete:

Урок 1. Соединение с ядром СУБД

При установке ядро СУБД SQL Server установленные средства зависят от выпуска и выбора настроек. На этом занятии рассматриваются основные инструменты и показано, как подключиться и выполнить важную функцию (авторизацию большего количество пользователей).

Это занятие содержит следующие задачи.

  • Средства для начала работы
  • Подключение с помощью среды Management Studio
  • Авторизация дополнительных подключений

Средства для начала работы

  • Sql Server ядро СУБД поставляется с различными инструментами. В этой статье описываются первые необходимые инструменты и вы можете выбрать подходящее средство для задания. Все средства доступны из меню Пуск . Некоторые средства, например SQL Server Management Studio (SSMS), не устанавливаются по умолчанию. Выберите нужные средства во время установки. Чтобы получить полное описание приведенных ниже средств, выполните поиск по ним в электронной документации по SQL Server. SQL Server Express содержит только подмножество средств.

Общие инструменты

В следующей таблице описаны некоторые из наиболее распространенных клиентских средств.

Средство клиента Тип Операционная система
SQL Server Management Studio (SSMS) Графический пользовательский интерфейс Windows
Azure Data Studio Графический пользовательский интерфейс Windows, macOS, Linux
bcp CLI Windows, macOS, Linux
sqlcmd CLI Windows, macOS, Linux

В этой статье мы сосредоточимся на подключении через SSMS. Если вы хотите подключиться через Azure Data Studio, см . краткое руководство. Использование Azure Data Studio для подключения и запроса SQL Server.

Пример базы данных

В этой статье требуется AdventureWorks2022 пример базы данных, которую можно скачать на домашней странице примеров и проектов сообщества Microsoft SQL Server.

SQL Server Management Studio (только Для Windows)
  • В текущих версиях Windows в меню Пуск введите «SSMS», а затем выберите Microsoft SQL Server Management Studio.
  • При использовании более старых версий Windows в меню «Пуск» наведите указатель на все программы, наведите указатель на Microsoft SQL Server и выберите SQL Server Management Studio.

Подключение с помощью SSMS

  • Легко подключиться к ядро СУБД из средств, работающих на том же компьютере, если вы знаете имя экземпляра и если вы подключаетесь в качестве члена локальной группы Администратор istrators на компьютере. Следующие процедуры должны выполняться на том же компьютере, на котором размещается SQL Server.

В этом разделе рассматривается подключение к локальному экземпляру SQL Server. Сведения о База данных SQL Azure см. в Подключение База данных SQL Azure.

Определение имени экземпляра ядро СУБД
  1. Войдите в Windows в качестве члена группы Администратор istrators и откройте Management Studio.
  2. В диалоговом окне Подключение к серверу нажмите кнопку Отмена.
  3. Если компонент «Зарегистрированные серверы» не отображается, в меню Вид выберите пункт Зарегистрированные серверы.
  4. Выбрав компонент Ядро СУБД на панели инструментов «Зарегистрированные серверы», разверните компонент Ядро СУБД, щелкните правой кнопкой мыши пункт Группы локальных серверов, наведите указатель на пункт Задачии выберите пункт Зарегистрировать локальные серверы. Разверните локальные группы серверов, чтобы просмотреть все экземпляры ядро СУБД, установленные на компьютере. Экземпляр по умолчанию безымянный и отображается как имя компьютера. Именованный экземпляр отображается как имя компьютера, за которым следует обратная косая черта (\), а затем имя экземпляра. Для SQL Server Express экземпляр называется \sqlexpress, если имя не было изменено во время установки.
Убедитесь, что запущена ядро СУБД
  1. В зарегистрированных серверах, если имя экземпляра SQL Server имеет зеленую точку со белой стрелкой рядом с именем, ядро СУБД выполняется, и никаких дальнейших действий не требуется.
  2. Если имя экземпляра SQL Server имеет красную точку с белым квадратом рядом с именем, ядро СУБД останавливается. Щелкните правой кнопкой мыши имя ядро СУБД, выберите элемент управления службой и нажмите кнопку «Пуск«. После диалогового окна подтверждения ядро СУБД должен начинаться, а круг должен быть зеленым с белой стрелкой.
Подключение к ядру СУБД

При установке SQL Server выбрана по крайней мере одна учетная запись администратора. Выполнив вход в Windows с правами администратора, выполните указанные ниже действия.

  1. В Management Studio в меню «Файл» выберите Подключение обозреватель объектов.
    • Будет открыто диалоговое окно Соединение с сервером . В поле Тип сервера отобразится тип компонента, использованный в прошлой сессии.
  2. Выберите Ядро СУБД. Screenshot of the Object Explorer showing the Connect dropdown list and the Database Engine option called out.
  3. В поле Имя сервера введите имя экземпляра ядра СУБД. В экземпляре SQL Server по умолчанию имя сервера совпадает с именем компьютера. Имя сервера именованного экземпляра SQL Server — это computer_name instance_name\>>, например ACCTG_SRVR\SQLEXPRESS.< На следующем снимке экрана показано подключение к экземпляру SQL Server по умолчанию (без имени) на компьютере с именем PracticeComputer . В Windows вошел пользователь Mary из домена Contoso. При использовании проверки подлинности Windows нельзя изменить имя пользователя. Screenshot of the Connect to Server dialog box with the Server name text box called out.
  4. Нажмите Подключиться.

В этом учебнике предполагается, что вы не знакомы с SQL Server и у вас нет проблем с подключением. Подробные инструкции по устранению неполадок см. в разделе Устранение неполадок при соединении с компонентом SQL Server Database Engine.

Авторизация дополнительных подключений

Теперь, когда вы подключились к SQL Server от имени администратора, одна из первых задач позволяет другим пользователям подключаться. Это делается посредством создания имени входа и предоставления ему разрешения на доступ к базе данных в качестве пользователя. Имена входа можно создавать с помощью проверка подлинности Windows, проверки подлинности SQL или проверки подлинности Microsoft Entra. проверка подлинности Windows имена входа используют учетные данные из Windows. Имена входа проверки подлинности SQL хранят сведения о проверке подлинности в SQL Server и не зависят от учетных данных Windows. Имена входа из идентификатора Microsoft Entra (ранее Azure Active Directory) используют учетные данные из облачных удостоверений. Дополнительные сведения об этом методе см. в следующей статье. Использование проверки подлинности Microsoft Entra.

По возможности используйте проверку подлинности Windows.

В большинстве организаций пользователи входят в домены, и используется проверка подлинности Windows. Вы можете экспериментировать, создав на компьютере дополнительных локальных пользователей. Компьютер будет проходить проверку подлинности локальных пользователей, поэтому домен — это имя компьютера. Например, если компьютер называется MyComputer и вы создаете пользователя с именем Test , то описание Windows для пользователя . Mycomputer\Test

Создание имени входа для проверки подлинности Windows

Screenshot of the Login - New dialog box with the Login name text box called out.

  1. В предыдущей задаче вы подключились к ядро СУБД с помощью Management Studio. В обозревателе объектов разверните экземпляр своего сервера, затем узел Безопасность, щелкните правой кнопкой мыши Имена входаи выберите пункт Создать имя входа. Откроется диалоговое окно Создание имени входа .
  2. На странице Общие в поле Имя входа введите имя входа Windows в следующем формате: \
  3. В поле База данных по умолчанию выберите базу данных AdventureWorks (если она доступна). В противном случае выберите master базу данных.
  4. На странице ролей сервера, если новое имя входа должно быть администратором, выберите sysadmin. В противном случае оставьте это поле пустым.
  5. На странице Сопоставление пользователей выберите Сопоставление для базы данных AdventureWorks2022 (если она доступна). В противном случае выберите master . В поле Пользователь уже внесено имя входа. При закрытии диалоговое окно создает этого пользователя в базе данных.
  6. В поле Схема по умолчанию введите dbo , чтобы сопоставить имя входа со схемой владельца базы данных.
  7. Подтвердите настройки по умолчанию для полей Защищаемые объекты и Состояние и нажмите кнопку ОК, чтобы создать имя входа.

Это базовые сведения, позволяющие начать работу. SQL Server предоставляет многофункциональную среду безопасности.

Связанный контент

  • Диалоговое окно «Подключение к SQL Server»
  • Устранение неполадок при соединении с SQL Server Database Engine
  • Краткое руководство. Подключение и запрос базы данных SQL Azure с помощью SSMS
  • Краткое руководство. Подключение и запрос базы данных SQL Azure с помощью Azure Data Studio

Краткое руководство. Подключение и запрос экземпляра SQL Server с помощью SQL Server Management Studio (SSMS)

Начало работы с SQL Server Management Studio (SSMS) для подключения к экземпляру базы данных SQL Server и выполнения некоторых команд Transact-SQL (T-SQL).

В статье показано, как выполнять следующие задачи:

  • Подключение к экземпляру SQL Server
  • Создание базы данных
  • Создание таблицы в новой базе данных
  • Вставка строк в новую таблицу
  • Выполнение запросов к новой таблице и просмотр результатов
  • Проверка свойств подключения с помощью таблицы окна запросов

В этой статье описывается подключение к экземпляру SQL Server и выполнение запросов к нему. Сведения об Azure SQL см. в статье о подключении к Базе данных Azure SQL и Управляемому экземпляру SQL и выполнении запросов к ним.

Чтобы использовать Azure Data Studio см. статьи о выполнении подключения и запросов к SQL Server, Базе данных SQL Azure и Azure Synapse Analytics.

Дополнительные сведения о SQL Server Management Studio см. в статье с дополнительными советами и рекомендациями.

Предварительные требования

Для работы с данным руководством необходимо следующее:

  • Установите SQL Server Management Studio.
  • Установите и настройте экземпляр SQL Server.

Подключение к экземпляру SQL Server

Чтобы подключиться к экземпляру SQL Server, выполните следующие действия:

Connect link in Object Explorer

  1. Запустите среду SQL Server Management Studio. При первом запуске SSMS откроется окно Подключение к серверу. Если этого не происходит, вы можете открыть его вручную, последовательно выбрав Обозреватель объектов>Подключить>Ядро СУБД.
  2. Откроется диалоговое окно Соединение с сервером . Введите следующие сведения:

Параметр Рекомендуемые значения Описание
Тип сервера Ядро СУБД В поле Тип сервера выберите Ядро СУБД (обычно это параметр по умолчанию).
Имя сервера Полное имя сервера В поле Имя сервера введите имя SQL Server (при локальном подключении в качестве имени сервера также можно использовать localhost). Если вы НЕ ИСПОЛЬЗУЕТЕ экземпляр по умолчанию (MSSQLSERVER), необходимо ввести имя сервера и имя экземпляра.

Проверка подлинности SQL Server

Также для подключения можно использовать режим Проверка подлинности SQL Server. Если выбран режим Проверка подлинности SQL Server, необходимо ввести имя пользователя и пароль.

Проверка подлинности Azure AD доступна для SQL Server 2022 (16.x) и более поздних версий. Пошаговые инструкции по настройке см. в статье «Настройка проверки подлинности Azure Active Directory для SQL Server»

Server name field for SQL Server

  • После заполнения всех полей выберите Подключить. Вы также можете изменить дополнительные параметры подключения, выбрав Параметры. Примеры параметров подключения: база данных, к которой вы подключаетесь, время ожидания подключения и сетевой протокол. В этой статье во всех полях указываются значения по умолчанию.
  • Чтобы убедиться в успешном подключении к экземпляру SQL Server, разверните и изучите объекты в обозревателе объектов, для которых отображаются имя сервера, версия SQL Server и имя пользователя. Эти объекты могут различаться в зависимости от типа сервера. Connecting to an on-premises server
  • Создание базы данных

    Выполните следующие действия, чтобы создать базу данных с именем TutorialDB:

    The New Query link

    1. Щелкните правой кнопкой мыши экземпляр сервера в обозревателе объектов и выберите Создать запрос.
    2. Вставьте в окно запроса следующий фрагмент кода T-SQL:

    USE master GO IF NOT EXISTS ( SELECT name FROM sys.databases WHERE name = N'TutorialDB' ) CREATE DATABASE [TutorialDB] GO 

    The Execute command

  • Чтобы запустить запрос, нажмите кнопку Выполнить (или клавишу F5). После выполнения запроса в списке баз данных в обозревателе объектов появится новая база данных TutorialDB. Если она не отображается, щелкните правой кнопкой мыши узел Базы данных и выберите Обновить.
  • Создание таблицы

    В этом разделе вы создадите таблицу в новой базе данных TutorialDB. Так как редактор запросов все еще находится в контексте базы данных master, переключите контекст подключения на базу TutorialDB, сделав следующее.

    Change database

    1. Выберите нужную базу данных в раскрывающемся списке, как показано здесь:
    2. Вставьте в окно запроса следующий фрагмент кода T-SQL:

    USE [TutorialDB] -- Create a new table called 'Customers' in schema 'dbo' -- Drop the table if it already exists IF OBJECT_ID('dbo.Customers', 'U') IS NOT NULL DROP TABLE dbo.Customers GO -- Create the table in the specified schema CREATE TABLE dbo.Customers ( CustomerId INT NOT NULL PRIMARY KEY, -- primary key column Name [NVARCHAR](50) NOT NULL, Location [NVARCHAR](50) NOT NULL, Email [NVARCHAR](50) NOT NULL ); GO 

    После выполнения запроса в списке таблиц в обозревателе объектов появится новая таблица Customers. Если таблица не отображается, щелкните правой кнопкой мыши узел TutorialDB>Таблицы в обозревателе объектов, а затем выберите Обновить.

    New table

    Вставка строк

    Вставьте в созданную таблицу Customers какие-нибудь строки. Вставьте следующий фрагмент кода T-SQL в окно запросов и нажмите кнопку Выполнить.

    -- Insert rows into table 'Customers' INSERT INTO dbo.Customers ([CustomerId],[Name],[Location],[Email]) VALUES ( 1, N'Orlando', N'Australia', N''), ( 2, N'Keith', N'India', N'keith0@adventure-works.com'), ( 3, N'Donna', N'Germany', N'donna0@adventure-works.com'), ( 4, N'Janet', N'United States', N'janet1@adventure-works.com') GO 

    Запрос к таблице и просмотр результатов

    Результаты запроса выводятся под текстовым окном запроса. Чтобы запросить таблицу Customers и просмотреть вставленные строки, выполните следующие действия:

      Вставьте следующий фрагмент кода T-SQL в окно запросов и нажмите кнопку Выполнить.

    -- Select rows from table 'Customers' SELECT * FROM dbo.Customers; 

    Результаты запроса отображаются под областью, где был введен текст. The Results listВы также можете изменить представление результатов одним из следующих способов: Three options for displaying query results.

    • Первая кнопка отображает результаты в текстовом представлении, как показано на снимке в следующем разделе.
    • Кнопка посередине отображает результаты в представлении сетки; это параметр по умолчанию.
      • Это задано по умолчанию.
    • Третья кнопка позволяет сохранить результаты в файл, по умолчанию имеющий расширение .RPT.

    Устранение проблем подключения

    Сведения о способах устранения неполадок с подключением к экземпляру ядра СУБД SQL Server на отдельном сервере см. в статье Устранение неполадок при соединении с ядром СУБД SQL Server.

    Дальнейшие действия

    Лучший способ познакомиться с SSMS — это поработать в среде самостоятельно. Эти статьи помогут вам ознакомиться с различными функциями SSMS.

    • Редактор запросов SQL Server Management Studio (SSMS)
    • Создание скриптов
    • Использование шаблонов в SSMS
    • Конфигурация SSMS
    • Дополнительные советы и рекомендации по использованию SSMS

    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”

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

    выбираем “ОК”, а затем еще раз “ОК”.

    В итоге у нас появляется связь между двумя таблицами:

    В итоге мы научились добавлять таблицы, связывать и создавать столбцы.

    Дополнительные материалы

    1. Наиболее часто используемые функции в SQL Server 2005/2008
    2. Проблема с доступом к таблице БД
    3. Пример создания структуры базы данных
    4. Создание структуры БД через диаграммы
    5. Как массово залить данные в таблицу БД через CSV (Excel)

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *