Создание базы данных в Microsoft SQL Server – инструкция для новичков
Приветствую всех на сайте Info-Comp.ru! В этой статье я подробно, специально для начинающих программистов, расскажу о том, как создать базу данных в Microsoft SQL Server, а также о том, что Вы должны знать, перед тем как создавать базу данных.
Сегодняшний материал, как я уже сказал, ориентирован на начинающих программистов, которые хотят научиться работать с Microsoft SQL Server. Поэтому я и буду исходить из того, что Вам нужно создать базу данных для обучения, т.е. основной посыл этой статьи направлен на то, чтобы тот, кто хочет создать базу данных в Microsoft SQL Server, после прочтения статьи четко знал, что ему для этого нужно сделать.
Что нужно, для того чтобы создать базу данных в Microsoft SQL Server?
В данном разделе я представлю своего рода этапы создания базы данных в Microsoft SQL Server, т.е. это как раз то, что Вы должны знать и что у Вас должно быть, для того чтобы создать базу данных:
- У Вас должна быть установлена СУБД Microsoft SQL Server. Для обучения идеально подходит бесплатная редакция Microsoft SQL Server Express. Если Вы еще не установили SQL сервер, то вот подробная видео-инструкция, там я показываю, как установить Microsoft SQL Server 2017 в редакции Express;
- У Вас должна быть установлена среда SQL Server Management Studio (SSMS). SSMS – это основной инструмент, с помощью которого осуществляется разработка баз данных в Microsoft SQL Server. Эта среда бесплатная, если ее у Вас нет, то в вышеупомянутой видео-инструкции я также показываю и установку этой среды;
- Спроектировать базу данных. Перед тем как переходить к созданию базы данных, Вы должны ее спроектировать, т.е. определить все сущности, которые Вы будете хранить, определить характеристики, которыми они будут обладать, а также определить все правила и ограничения, применяемые к данным, в процессе их добавления, хранения и изменения. Иными словами, Вы должны определиться со структурой БД, какие таблицы она будет содержать, какие отношения будут между таблицами, какие столбцы будет содержать каждая из таблиц. В нашем случае, т.е. при обучении, этот этап будет скорей формальным, так как правильно спроектировать БД начинающий не сможет. Но начинающий должен знать, что переходить к созданию базы данных без предварительного проектирования нельзя, так как реализовать БД, не имея четкого представления, как эта БД должна выглядеть в конечном итоге, скорей всего не получится;
- Создать пустую базу данных. В среде SQL Server Management Studio создать базу данных можно двумя способами: первый — с помощью графического интерфейса, второй — с помощью языка T-SQL;
- Создать таблицы в базе данных. К этому этапу у Вас уже будет база данных, но она будет пустая, так как в ней еще нет никаких таблиц. На этом этапе Вам нужно будет создать таблицы и соответствующие ограничения;
- Наполнить БД данными. В базе данных уже есть таблицы, но они пусты, поэтому сейчас уже можно переходить к добавлению данных в таблицы;
- Создать другие объекты базы данных. У Вас уже есть и база данных, и таблицы, и данные, поэтому можно разрабатывать другие объекты БД, такие как: представления, функции, процедуры, триггеры, с помощью которых реализуется бизнес-правила и логика приложения.
Вот это общий план создания базы данных, который Вы должны знать, перед тем как начинать свое знакомство с Microsoft SQL Server и языком T-SQL.
В этой статье мы рассмотрим этап 4, это создание пустой базы данных, будут рассмотрены оба способа создания базы данных: и с помощью графического интерфейса, и с помощью языка T-SQL. Первые три этапа Вы должны уже сделать, т.е. у Вас уже есть установленный SQL Server и среда Management Studio, и примерная структура базы данных, которую Вы хотите реализовать, как я уже сказал, на этапе обучения этот пункт можно пропустить, а в следующих материалах я покажу, как создавать таблицы в Microsoft SQL Server пусть с простой, но с более-менее реальной структурой.
Создание базы данных в SQL Server Management Studio
Первое, что Вам нужно сделать, это запустить среду SQL Server Management Studio и подключиться к SQL серверу.
Затем в обозревателе объектов щелкнуть по контейнеру «Базы данных» правой кнопкой мыши и выбрать пункт «Создать базу данных».
В результате откроется окно «Создание базы данных». Здесь обязательно нужно заполнить только поле «Имя базы данных», остальные параметры настраиваются по необходимости. После того, как Вы ввели имя БД, нажимайте «ОК».
Если БД с таким именем на сервере еще нет, то она будет создана, в обозревателе объектов она сразу отобразится.
Как видите, база данных создана, и в этом нет ничего сложного.
Создание базы данных на T-SQL (CREATE DATABASE)
Процесс создания базы данных на языке T-SQL, наверное, еще проще, так как для того чтобы создать БД с настройками по умолчанию (как мы это сделали чуть выше), необходимо написать всего три слова в редакторе SQL запросов – инструкцию CREATE DATABASE и название БД.
Сначала открываем редактор SQL запросов, для этого щелкаем на кнопку «Создать запрос» на панели инструментов.
Затем вводим следующую инструкцию, и запускаем ее на выполнение, кнопка «Выполнить».
CREATE DATABASE TestDB;
Где CREATE – это команда языка T-SQL для создания объектов на SQL сервере, командой DATABASE мы указываем, что хотим создать базу данных, а TestDB — это имя новой базы данных.
Конечно же, на данном этапе многие не знают ни Microsoft SQL Server, ни языка T-SQL, многие, наверное, как раз и создают базу данных для того, чтобы начать знакомиться с этой СУБД и начать изучать язык SQL. Поэтому чтобы Вам легче было это делать, советую почитать книгу «SQL код» – это самоучитель по языку SQL для начинающих программистов, которую написал я, и в которой я подробно, и в то же время простым языком, рассказываю о языке SQL.
С помощью инструкции CREATE DATABASE можно задать абсолютно все параметры, которые отображались у нас в графическом интерфейсе SSMS. Например, если бы мы заменили вышеуказанную инструкцию следующей, то у нас база данных создалась бы в каталоге DataBases на диске D.
--Создание БД TestDB CREATE DATABASE TestDB ON PRIMARY --Первичный файл ( NAME = N'TestDB', --Логическое имя файла БД FILENAME = N'D:\DataBases\TestDB.mdf' --Имя и местоположение файла БД ) LOG ON --Явно указываем файлы журналов ( NAME = N'TestDB_log', --Логическое имя файла журнала FILENAME = N'D:\DataBases\TestDB_log.ldf' --Имя и местоположение файла журнала ) GO
Удаление базы данных в Microsoft SQL Server
В случае необходимости можно удалить базу данных. В реальности, конечно же, такое редко будет требоваться, но в процессе обучения, может быть, и часто. Это можно сделать также, как с помощью графического интерфейса, так и с помощью языка T-SQL.
В случае с графическим интерфейсом необходимо в обозревателе объектов щелкнуть правой кнопкой мыши по нужной базе данных и выбрать пункт «Удалить».
Примечание! Удалить базу данных возможно, только если к ней нет никаких подключений, т.е. в ней никто не работает, даже Ваш собственный контекст подключения в SSMS должен быть настроен на другую БД (например, с помощью команды USE). Поэтому предварительно перед удалением необходимо попросить всех завершить сеансы работы с БД, или в случае с тестовыми базами данных принудительно закрыть все соединения.
В окне «Удаление объекта» нажимаем «ОК». Для принудительного закрытия существующих подключений к БД можете поставить галочку «Закрыть существующие соединения».
В случае с T-SQL, для удаления базы данных достаточно написать следующую инструкцию (в БД также никто не должен работать).
DROP DATABASE TestDB;
Где DROP DATABASE — это инструкция для удаления базы данных, TestDB – имя базы данных. Иными словами, командой DROP объекты на SQL сервере удаляются.
Заметка! Для комплексного изучения языка T-SQL рекомендую посмотреть мои видеокурсы по T-SQL, в которых используется последовательная методика обучения и рассматриваются все конструкции языка SQL и T-SQL.
Видео-урок по созданию базы данных в Microsoft SQL Server
На этом наш сегодняшний урок закончен, надеюсь, материал был Вам интересен и полезен, в следующем материале я расскажу про то, как создавать таблицы в Microsoft SQL Server, удачи Вам, пока!
Microsoft SQL Server: работа с базами данных
Наши пользователи могут использовать базы данных Microsoft SQL Server 2016 на своих виртуальных площадках в рамках, предусмотренных соответствующими тарифами.
Параметры и способы соединения с Microsoft SQL Server
- Имя хоста (сервера), на котором размещена база данных Microsoft SQL Server: uXXXXX.mssql.masterhost.ru;
- Порт: 1433;
- Логин: соответствует названию виртуальной площадки — uXXXXX;
- Пароль: указан в письме, которое пользователь получает при регистрации;
- Имя базы данных: соответствует названию виртуальной площадки — uXXXXX;
- Подключение нужно осуществлять по протоколу TCP/IP.
Подключение к SQL-серверу через «Microsoft SQL Server Management Studio Express»
Чтобы получить доступ к базе данных Microsoft SQL Server, возможно использовать Microsoft SQL Server Management Studio Express .
В параметрах выберите в качестве сетевого протокола TCP/IP.
Создание новой базы данных
Новую базу данных вы можете создать через раздел Услуги, в Личном кабинете. Выберите нужную «виртуальную площадку», далее в разделе «MS SQL» нажать на кнопку «+ База MS SQL». Затем вам необходимо указать имя (логин) и выбрать владельца новой базы.
Использовать Microsoft SQL Server Management Studio для создания новых баз данных нельзя.
Создание нового логина
Создать новый логин для базы данных Microsoft SQL вы можете через раздел Услуги, в Личном кабинете. Выберите нужную «виртуальную площадку», далее в разделе «MS SQL» нажать на кнопку «+ Пользователь MS SQL». Затем вам необходимо указать имя (логин) для нового пользователя.
Уменьшение физического размера файлов баз данных и лога транзакций MS SQL Server.
- Из графического интерфейса Microsoft SQL Server Management Studio:
- В обозревателе объектов подключитесь к экземпляру Microsoft SQL Server, 2016 Web Edition и разверните его.
- Разверните узел «Базы данных», затем правой кнопкой мыши щелкните базу данных, которую нужно сжать.
- В меню «Задачи» выберите «Сжать» и щелкните «База данных». Или установите флажок «Реорганизовать файлы перед освобождением неиспользуемого места». Если он установлен, необходимо указать значение параметра «Максимально доступное свободное место в файлах после сжатия».
DBCC SHRINKFILE (N'uXXXXXX.Log' , 0, TRUNCATEONLY) DBCC SHRINKDATABASE (N'uXXXXXX')
Изменение кодировки сравнения (collation)
По умолчанию кодировка collation выставлена как Cyrillic_General_CI_AS, изменить кодировку для сравнений можно следующим SQL-запросом:
ALTER DATABASE [uXXXXX] COLLATE SQL_Latin1_General_CP1251_CS_AS GO
где uXXXXX — имя БД, где требуется данная операция.
Список доступных кодировок можно узнать так:
SELECT * FROM ::fn_helpcollations()
Как дать права на доступ к базе определенному логину
Для SQL — дополнительный SQL логин, но настраивать права нужно самому: Заводим еще один SQL логин — uXXX_Ann
Для начала используем нашу базу:
USE [uXXXX] GO
Создаем пользователя для определенного «логина»:
CREATE USER [InetUser] FOR LOGIN [uXXX_Ann] GO
Наделяем его правами (например только чтение таблиц):
EXEC sp_addrolemember N'db_datareader', N'InetUser' GO
Или можем дать пользователю только конкретные права, на конкретные таблицы. Например, давайте дадим пользователю InetUser права на SELECT, INSERT, UPDATE для таблицы test, следующим SQL-запросом :
USE [uXXXXXX] GO GRANT SELECT ON [dbo].[test] TO [InetUser] GO GRANT INSERT ON [dbo].[test] TO [InetUser] GO GRANT UPDATE ON [dbo].[test] TO [InetUser] GO
При всем при этом, при осуществлении доступа через SQL Management Studio, под дополнительным логином не являющимся владельцем базы, не будет видно базу данных в списке доступных баз, но будет возможность выполнять разрешенные SQL-запросы .
Как получить раскладку по размеру таблиц в базе
Это можно сделать следующим SQL-запросом:
SET NOCOUNT ON DBCC UPDATEUSAGE(0) -- DB size. EXEC sp_spaceused -- Table row counts and sizes. CREATE TABLE #t ( [name] NVARCHAR(128), [rows] CHAR(11), reserved VARCHAR(18), data VARCHAR(18), index_size VARCHAR(18), unused VARCHAR(18) ) INSERT #t EXEC sp_msForEachTable 'EXEC sp_spaceused ''?''' SELECT * FROM #t -- # of rows. SELECT SUM(CAST([rows] AS int)) AS [rows] FROM #t DROP TABLE #t
Основы работы с базами SQL
В программировании и IT часто приходится работать с базами данных. Это специальные электронные массивы (таблицы) с информацией упорядоченного характера.
В данной статье речь зайдет о том, как создать базу данных SQL. Дополнительно будут затронуты основы работы с БД.
Предварительная подготовка и общий план
Лучше всего создавать рассматриваемые элементы при помощи Microsoft SQL Server. Для этого необходимо провести небольшую предварительную подготовку:
- Установить СУБД Microsoft SQL Server. Новичкам подойдет версия Express.
- Удостовериться в наличии на компьютере SQL Server Management Studio (SSMS). Он является основным инструментом, который помогает разрабатывать баз данных MS SQL Server. Среда полностью бесплатная.
- Сформировать (спроектировать) изначальную базу данных. Перед тем, как проводить создание проекта в электронном виде, его нужно тщательно продумать. В процессе планирования рекомендуется определиться с сущностями, хранимыми в «таблице». Сюда же относят характеристики, свойства, ограничения, а также иные правила отображения и классификации. Все это поможет сделать БД максимально удобной и эффективной.
- Создать пустую БД. В SSMS процедура реализовывается несколькими методами: через графический интерфейс, а также посредством языка T-SQL.
- Создать таблицы. Обычно на данном этапе уже есть готова БД, но без внесенных в нее сведений. Этот шаг характеризуется не только формированием таблиц, но и заданием тех или иных ограничений.
- Наполнить «массив» информацией.
- Создать иные databases объекты. Сюда включены функции, триггеры, процедуры.
Это – общий алгоритм. Перед тем, как приступать к активным действиям, нужно тщательно изучить Microsoft SQL Server, а также язык T-SQL или MySQL. В противном случае при реализации поставленной задачи не исключены серьезные проблемы.
Создание пустой базы
Создание базы данных – не самый сложный процесс, если действовать последовательно. Заострим внимание на формирование пустой БД. Данный вариант предусматривает два способа реализации – через специализированный язык, а также при помощи встроенного графического интерфейса.
Графический интерфейс
Для того, чтобы воспользоваться соответствующим алгоритмом, необходимо:
- Запустить Server Management Studio.
- Подключиться к серверу.
- Открыть обозреватель объектов и кликнуть по блоку «Базы данных» правой кнопкой мыши. В появившемся меню выбрать команду «create database».
- Изучить появившееся меню. Обязательным для заполнения является только поле «Имя базы данных». Оставшиеся параметры можно заполнить по мере необходимости.
- Нажать на кнопку «Ок».
Среда вследствие выполнения описанного алгоритма создает базу данных без внесенных в нее сведений. Если объект с указанным в свойствах ранее именем отсутствует, он будет сформирован и отображен в обозревателе.
Через T-SQL
Второй вариант, помогающий сделать новую базу данных – это использование T-SQL. Он еще более простой, чем действия при помощи графического интерфейса. Достаточно указать специальную команду на языке запросов:
- Открыть редактор SQL-запросов. Для этого нужно кликнуть на панели инструментов по кнопке «Создать запрос».
- Ввести инструкцию: create database nameDB. NameDB – это имя БД.
- Нажать на кнопку «Выполнить».
Произойдет creating database. Это элементарный вариант. Таким способом можно сделать БД, которая будет обладать теми же характеристиками и параметрами, что и при использовании графического интерфейса.
Выше – наглядный пример того, как создается TestDB в каталоге DataBases на разделе жесткого диска с именем D.
В MySQL
В MySQL делать БД тоже достаточно легко. Для этого используется оператор create database. После него нужно указать имя создаваемого объекта при помощи create schema.
Выше – пример created database MySampleDB. Для того, чтобы исключить конфликты имен, можно использовать опцию if not exists. Эта «команда» создаст БД только тогда, когда ее название является уникальным.
Удаление
Иногда возникает потребность в удалении БД. В реальной жизни подобные ситуации возникают редко, но знать о дальнейших действиях при подобных обстоятельствах нужно.
Удаление может производиться так, как и creates – через графический интерфейс, а также при помощи специальных команд и операторов. В первом случае потребуется:
- Открыть «Обозреватель объектов».
- Найти интересующий элемент и кликнуть правой кнопкой мыши по нему.
- Выбрать команду «Удалить». Откроется меню удаления.
- Выбрать объекты (если их несколько), а затем подтвердить операцию. На данном этапе рекомендуется поставить отметку около пункта «Закрыть существующие соединения». Это поможет избавиться от существующих подключений.
Удалить базу данных можно только тогда, когда с ней никто не работает. Это касается не только сторонних пользователей, но и самой SSMS.
Если нужно избавиться от БД при помощи T-SQL, подойдет команда:
Здесь можно увидеть больше информации о том, как грамотно работать с созданием БД в Microsoft Server.
Основы T-SQL
Для создания базы данных используется команда CREATE DATABASE .
Чтобы создать новую базу данных откроем SQL Server Management Studio. Нажмем на назначение сервера в окне Object Explorer и в появившемся меню выберем пункт New Query .
В центральное поле для ввода выражений sql введем следующий код:
CREATE DATABASE usersdb
Тем самым мы создаем базу данных, которая будет называться «usersdb»:
Для выполнения команды нажмем на панели инструментов на кнопку Execute или на клавишу F5. И на сервере появится новая база данных.
После создания базы даных, мы можем установить ее в качестве текущей с помощью команды USE :
USE usersdb;
Прикрепление базы данных
Возможна ситуация, что у нас уже есть файл базы данных, который, к примеру, создан на другом компьютере. Файл базы данных представляет файл с расширением mdf, и этот файл в принципе мы можем переносить. Однако даже если мы скопируем его компьютер с установленным MS SQL Server, просто так скопированная база данных на сервере не появится. Для этого необходимо выполнить прикрепление базы данных к серверу. В этом случае применяется выражение:
CREATE DATABASE название_базы_данных ON PRIMARY(FILENAME='путь_к_файлу_mdf_на_локальном_компьютере') FOR ATTACH;
В качестве каталога для базы данных лучше использовать каталог, где хранятся остальные базы данных сервера. На Windows 10 по умолчанию это каталог C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA . Например, пусть в моем случае файл с данными называется userstoredb.mdf. И я хочу этот файл добавить на сервер как базу данных. Вначале его надо скопировать в выше указанный каталог. Затем для прикрепления базы к серверу надо использовать следующую команду:
CREATE DATABASE contactsdb ON PRIMARY(FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\userstoredb.mdf') FOR ATTACH;
После выполнения команды на сервере появится база данных contactsdb.
Удаление базы данных
Для удаления базы данных применяется команда DROP DATABASE , которая имеет следующий синтаксис:
DROP DATABASE database_name1 [, database_name2].
После команды через запятую мы можем перечислить все удаляемые базы данных. Например, удаление базы данных contactsdb:
DROP DATABASE contactsdb
Стоит учитывать, что даже если удаляемая база данных была прикреплена, то все равно будут удалены все файлы базы данных.