Учебники

5) База данных SQL Server

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

База данных — это совокупность объектов, таких как таблицы, представления, хранимые процедуры, триггеры, функции и т. Д.

Рассмотрим несколько примеров из реальной жизни:

  • У нас есть книжный шкаф, где находится книга,
  • У нас есть дома, где мы живем,
  • У нас есть автостоянки, где припаркованы транспортные средства и примеров бесчисленное множество.

Точно так же у нас есть DATABASE, которая является своего рода домом для всех наших таблиц, представлений, хранимых процедур и т. Д., Которые связаны между собой.

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

  1. Системные базы данных: системные базы данных создаются автоматически при установке SQL Server. Они играют важную роль на сервере, особенно в обеспечении правильной работы объектов базы данных. Примеры системных баз данных SQL Server: Master, MSDB, Model, Tempdb, Resource
  2. Пользовательские базы данных. Пользовательские базы данных создаются такими пользователями, как вы, которым предоставлен доступ к созданию баз данных.

В этом уроке вы узнаете:

Правила создания базы данных

Во-первых, нам нужно знать основные правила создания новой БД:

  • Имена баз данных должны быть уникальными в экземпляре SQL Server.
  • Имена баз данных могут содержать не более 128 символов.
  • Оператор CREATE DATABASE должен выполняться в режиме автоматической фиксации.

Есть 2 способа создать базу данных на SQL сервере.

  1. SQL Server Management Studio
  2. Transact-SQL

Создание базы данных с помощью SQL Server Management Studio

Шаг 1) Щелкните правой кнопкой мыши «База данных» в окне «Обозреватель объектов» и выберите «Новая база данных».

Step 2) Below ‘New Database’ screen will appear. Enter ‘Database name’.Note that: ‘Logical name’ column will be auto-populated with:

  1. Edu | Filetypes: Rows and Filegroups: PRIMARY
  2. Edu_log | Filetypes: LOG and Filegroups: ‘Not Applicable’

Here:

A) Edu | Filetypes: Rows and Filegroups: PRIMARY is .mdf file

B) Edu_log | Filetypes: LOG and Filegroups: ‘Not Applicable’ is .ldf file

Step 3) (Optional) For more Complex settings, we can navigate to ‘Options’ and ‘Filegroups’.At Beginner level, creating Database from General Tab will suffice.

Step 4) Click on ‘Add’.

Result: ‘Edu’ Database Created.

We can expand Database – ‘Edu’ which will contain Tables, View, etc. These are initially blank until the user creates new Table, views, etc.

View the Source Query:

Вы можете просмотреть исходный запрос вновь созданной базы данных ‘Edu’ как: Навигация: Щелкните правой кнопкой мыши на имени базы данных> База данных сценариев как> СОЗДАТЬ> окно нового редактора запросов.

Окно запроса:

Создать скрипт:

USE [master]
GO

CREATE DATABASE [Edu]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

Создать базу данных с T-SQL

Другой метод — написать запрос T-SQL для создания базы данных и выполнить его.

Давайте посмотрим на наиболее простой запрос создания базы данных T-SQL.

Синтаксис:

CREATE DATABASE <Database_name>

Запрос:

CREATE DATABASE [Edu_TSQL_file]

Нажмите «Выполнить»

Результат: мы видим Edu_TSQL, созданный в SQL Object Explorer.

Давайте посмотрим, когда мы хотим создать базу данных с .mdf и .ldf файлом. Здесь мы можем указать местоположение как неявную часть нашего запроса.

Синтаксис:

CREATE DATABASE database_name   
[ CONTAINMENT = { NONE | PARTIAL } ]  
[ ON   
      [ PRIMARY ] <filespec> [ ,...n ]   
      [ , <filegroup> [ ,...n ] ]   
      [ LOG ON <filespec> [ ,...n ] ]   
];

Запрос:

CREATE DATABASE [Edu_TSQL_file]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu_TSQL_file', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_TSQL_file_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

Как изменить базу данных

Как создать запрос к базе данных, мы также можем изменить базу данных. Мы можем переименовать имя базы данных, изменить местоположение файла и настройки и т. Д.

Основные правила для изменения новой БД:

  • Инструкция ALTER DATABASE должна выполняться в режиме автоматической фиксации.
  • ALTER DATABASE не допускается в явной или неявной транзакции.

Есть 2 способа изменить базу данных на сервере SQL.

  1. SQL Server Management Studio
  2. Transact-SQL.

Изменить базу данных с SQL Server Management Studio

Давайте попробуем изменить имя нашей предварительно созданной базы данных «Edu».

Шаг 1) Щелкните правой кнопкой мыши на имени базы данных. Нажмите «Переименовать».

Шаг 2) Имя базы данных будет редактируемым. Введите новое имя и нажмите Enter.

Результат: База данных теперь переименована в «Edu_Alter» из «Edu».

Изменить базу данных с помощью Transact-SQL

Теперь давайте изменим базу данных, используя T-SQL

Синтаксис:

ALTER DATABASE <Databse_name>              
MODIFY NAME = <New Name>

Запрос:

ALTER DATABASE Edu_TSQL
MODIFY NAME = Edu_TSQL_Alter;

Запустите приведенный выше запрос, нажав «Выполнить».

Результат: теперь база данных переименована в Edu_TSQL_Alter из Edu_TSQL.

Общий синтаксис:

ALTER DATABASE { database_name  | CURRENT }  
{   MODIFY NAME = new_database_name   
  | COLLATE collation_name  
  | <file_and_filegroup_options>  
  | SET <option_spec> [ ,...n ] [ WITH <termination> ] 
  | SET COMPATIBILITY_LEVEL = { 140 | 130 | 120 | 110 | 100 | 90 }   
} ;

Изменение имени файла .mdf / .ldf

Запрос:

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL, NEWNAME = Edu_TSQL_newName );

Изменение расположения файла .mdf / .ldf

Запрос:

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL_NewName, FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\New_File\Edu_TSQL_log.ldf' );

Удалить базу данных

Существует 2 способа удаления базы данных на сервере SQL.

  1. SQL Server Management Studio
  2. Transact-SQL.

Удалить базу данных SQL Server Management Studio

Давайте попробуем удалить нашу предварительно созданную базу данных «Edu_Alter».

Шаг 1) Щелкните правой кнопкой мыши База данных. Нажмите «Удалить», а затем «ОК».

Результат: «Edu_Alter» удален из списка базы данных «Object Explorer».

Удалить базу данных с помощью Transact-SQL

Давайте попробуем удалить нашу предварительно созданную базу данных «Edu_TSQL_Alter».

Синтаксис:

DROP DATABASE <Databse_name>		

Запрос:

USE master;  
GO  
DROP DATABASE Edu_TSQL_Alter;  
GO  

Запустите приведенный выше запрос, нажав «Выполнить».

Результат: ‘Edu_TSQL_Alter’ удален из списка базы данных ‘Object Explorer’.

Восстановить базу данных

Вы можете создать базу данных, восстановив базу данных, резервную копию которой вы создали ранее. Это можно сделать, выполнив команду восстановления базы данных, которая имеет следующий синтаксис:

restore Database <database name> from disk = '<Backup file location + filename>

Запрос должен быть выполнен в окне запроса, как и предыдущая команда. Например:

restore database Edu from disk = 'C:\Backup\Edu_full_backup.bak'

Вы также можете использовать графический интерфейс навигации: щелкните правой кнопкой мыши База данных> Восстановить базы данных> Устройство> Импортировать файл> Нажмите ОК.

Резюме:

  • Мы можем использовать как графический интерфейс управления SQL, так и T-SQL для выполнения всех трех операций; Создать, изменить и удалить базу данных.
  • На одном экземпляре SQL Server может быть указано не более 32 767 баз данных.
  • Системные базы данных не могут быть удалены.
  • Create, Alter & Drop: все операции чувствительны к регистру. Мы можем использовать как верхний, так и нижний регистр в качестве синтаксиса.