FaceHost - Статьи

Основы работы с MSSQL

2024-06-16 19:04 Разработка
Поговорим о том, как работает БД MSSQL, зачем она нужна и как настроить свой SQL-сервер Microsoft.

Что такое база данных

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

Что такое SQL

SQL – это язык для «общения» с базами данных. Специальный синтаксис, позволяющий при помощи несложных команд запрашивать информацию из БД или, наоборот, добавлять в нее новый контент. SQL часто используется в реляционных базах данных, где соседние элементы тесно связаны друг с другом и организуются при помощи таблиц. Схожий синтаксис используется в БД MySQL, PostgresSQL и SQL Server от Microsoft (собственно, это и есть наша MSSQL).
SQL используется как в специальных приложениях для взаимодействия с базами данных, так и на программном уровне (непосредственно в коде ваших сайтов и других проектов).

MySQL и MSSQL – одно и то же?

Нет. Как уже было отмечено выше, существует множество баз данных. MySQL чаще остальных упоминается в сети, так как является наиболее популярным вариантом БД. Она имеет открытый исходный код и распространяется бесплатно, поэтому и сыскала любовь массовой аудитории.
MSSQL – это продукт Microsoft, существующий как в коммерческой, так и в бесплатной версии. И несмотря на то, что оба продукта используют схожий синтаксис, они отличаются друг от друга с точки зрения функциональности и в плане поддержки со стороны разработчиков.
Также существует PostgreSQL – еще одна популярная база данных с высоким уровнем отказоустойчивости и большой коллекцией расширений.

Какой вариант SQL выбрать?

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

Как настроить MSSQL?

Чтобы начать работать с Microsoft SQL Server, надо раздобыть копию самого сервера, а также установить программу для управления базами данных Microsoft через графический интерфейс.
О том, как запустить SQL-сервер подробно рассказывается на официальном сайте Microsoft. Там же есть и бесплатный дистрибутив платформы под названием Developer. Для первого знакомства с Microsoft SQL Server, отладки и тестирования кода Developer-версии будет достаточно. Загружаем ее и запускаем.
Затем устанавливаем приложение SQL Server Management Studio. Это графическая оболочка для редактирования информации в SQL-таблицах базы данных Microsoft.

Подключение к SQL-серверу

Для начала откроем утилиту SQL Server Management Studio. Все манипуляции мы будем проделывать через нее. При первом же запуске эта программа попросит вас подключиться к SQL-серверу. В интерфейсе программы он называется Database Engine.
Приложение запросит ряд данных для подключения.
  • Тип сервера (можно оставить по умолчанию, так как пока мы работаем с локальной копией MSSQL).
  • Имя сервера. Нужно его заменить, если вы переименовывали сервер, когда запускали собственную копию базы данных на локальной машине.
  • Способ аутентификации. Стоит оставить по умолчанию, если не хотите вводить пароль и логин от базы данных (или если вы вовсе их не устанавливали).
Указав необходимую информацию, нажимаем на кнопку Connect. Через несколько секунд соединение должно быть установлено, а в окне Object Explorer появится информация о SQL-сервере и его содержимом.

Создание базы

Важный момент заключается в том, что SQL-сервер и база данных – не одно и то же. Поэтому, запустив сервер и подключившись к нему, вам все еще необходимо создать базу самостоятельно.
Для этого в SQL Server Management Studio:
  • Правой кнопкой мыши кликаем по названию сервера в окне Object Explorer.
  • В списке опций находим пункт New Query.
  • Появится окно для ввода запроса. Здесь как раз поддерживается SQL-синтаксис – с помощью него мы и создадим новую базу данных.
USE master
GO
IF NOT EXISTS (
SELECT name
FROM sys.databases
WHERE name = N'databaseName'
)
CREATE DATABASE [databaseName]
GO
Только вместо databaseName укажите название БД на свой вкус, не меняя соседних символов и других участков кода.
  • После этого активируем запрос, нажав на кнопку Execute в левой части интерфейса программы или на клавишу F5.

Создание таблиц

Следующая по важности структура в БД – таблица. Это набор данных, связанных какой-то характеристикой. Например, в таблице могут храниться статьи из блога. Таблицей может быть плейлист в Spotify. Отдельной таблицей может быть ветка в Твиттере или список пользователей в Facebook. Способы применения таблиц ограничиваются только фантазией разработчика.
А еще таблицы визуально напоминают Excel, поэтому для многих будет привычным подобный интерфейс.
Чтобы создать новую таблицу:
  • Кликаем по выпадающему меню со списком доступных баз данных (это поле под основным меню справа от значка в виде вилки).
  • В появившемся списке выбираем свою базу.
  • Снова делаем SQL-запрос к базе:
USE [myTable]
IF OBJECT_ID('dbo.Posts', 'U') IS NOT NULL
DROP TABLE dbo.Posts
GO
CREATE TABLE dbo.Posts
(
postId INT NOT NULL PRIMARY KEY, -- primary key column
Title [NVARCHAR](50) NOT NULL,
Category [NVARCHAR](50) NOT NULL,
Content [NVARCHAR](50) NOT NULL
);
GO
  • Активируем запрос, нажав на клавишу F5.
После этого в Object Explorer появится новое поле, отражающие вновь созданную таблицу со всеми необходимыми поддиректориями (колонками, строками и т.п.).

Встраивание строк в таблицу

Сами по себе таблицы не особо полезны, если в них нет какого-либо контента. Контент добавляется с помощью строк. Строка – это набор данных, включающий в себя информацию по пунктам, соответствующим колонкам в таблице. А колонки в таблице – это список параметров, что мы указали выше, когда создавали таблицу (в нашем случае это были пункты postId, Title, Category и Content).
Чтобы добавить строки в таблицу, снова воспользуемся SQL-выражением:
INSERT INTO dbo.Customers
([postId],[Title], [Category], [Content])
VALUES
( 1, N'About apes', N'Animals', N'Apes are cool'),
( 2, N'Story', N'Articles', N'The story about dead women killer'),
( 3, N'Very important article', N'News', N'Not so important information'),
GO
В запросе мы указываем наименования колонок, которые будут заполнены данными из списка запросов. В поле VALUE как раз указываются нужные данные в заранее определенном порядке. То есть первый элемент в строке станет Id, второй элемент будет Title и т.п.

Создание запросов к базе данных MSSQL

До этого мы делали SQL-запросы, которые позволяют модифицировать базу. То есть добавлять в нее новую информацию, создавать таблицы, колонки и строки. Но немаловажным является умение добывать информацию из БД, чтобы отображать ее в интерфейсе приложения или веб-сайта.
Обычно такие запросы указываются в программном коде, но и в SQL Server Management Studio их можно протестировать. Например, чтобы отобразить все строки из таблицы Posts, мы используем запрос:
SELECT * FROM dbo.Posts
В блоке Results отобразятся все строки из таблицы. Здесь же можно их отредактировать, не покидая визуальный редактор.

Программное подключение

Чтобы подключиться к базе данных Microsoft из приложения, необходимо создать функцию соединения с сервером, создав строку, содержащую в себе информацию о сервере. Его название, расположение, а также данные для аутентификации (логин и пароль). Точная схема подключения зависит от выбранного языка программирования. В случае с C#, например, применяется команда SqlConnection и строка connectionString.
Информацию для других языков можно найти в официальной документации и на Stack Overflow.

Вместо заключения

Теперь вы можете создать локальную копию базы данных Microsoft и добавить в нее всю необходимую информацию. Даже если вы никогда не работали с БД, вы быстро поймете, насколько это логичный и удобный интерфейс для манипуляции контентом. Главное – практиковаться.