Поговорим о том, как работает БД 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
После этого активируем запрос, нажав на кнопку 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 и добавить в нее всю необходимую информацию. Даже если вы никогда не работали с БД, вы быстро поймете, насколько это логичный и удобный интерфейс для манипуляции контентом. Главное – практиковаться.