ฐานข้อมูลเซิร์ฟเวอร์ SQL: สร้าง แก้ไข และวางฐานข้อมูลใน SQL

ฐานข้อมูลคืออะไร?

ฐานข้อมูลคือชุดของออบเจ็กต์ เช่น ตาราง มุมมอง ขั้นตอนการจัดเก็บ ทริกเกอร์ ฟังก์ชัน ฯลฯ

ลองพิจารณา a ด้วยตัวอย่างเล็กๆ น้อยๆ ในชีวิตจริง:

  • เรามีตู้หนังสือที่มีหนังสืออยู่
  • เรามีบ้านที่เราอาศัยอยู่
  • เรามีลานจอดรถที่สามารถจอดยานพาหนะได้และมีตัวอย่างมากมาย

ในทำนองเดียวกัน เรามีฐานข้อมูลซึ่งเป็นบ้านสำหรับตาราง มุมมอง ขั้นตอนการจัดเก็บ ฯลฯ ทั้งหมดของเราซึ่งมีการเชื่อมโยงถึงกัน

ในทางเทคนิคแล้ว Database จะจัดเก็บข้อมูลในลักษณะที่มีการจัดระเบียบอย่างดีเพื่อให้เข้าถึงและเรียกค้นได้ง่าย ใน SQL Serverมีฐานข้อมูลอยู่ 2 ประเภท:

  1. ฐานข้อมูลระบบ: ฐานข้อมูลระบบจะถูกสร้างขึ้นโดยอัตโนมัติสำหรับคุณเมื่อคุณติดตั้ง SQL Server มีบทบาทสำคัญในเซิร์ฟเวอร์ โดยเฉพาะอย่างยิ่งในการรับประกันว่าออบเจ็กต์ฐานข้อมูลทำงานอย่างถูกต้อง ตัวอย่างของฐานข้อมูลระบบ SQL Server ได้แก่ Master, MSDB, Model, Tempdb, Resource
  2. ฐานข้อมูลผู้ใช้: ฐานข้อมูลผู้ใช้ถูกสร้างขึ้นโดยผู้ใช้ฐานข้อมูลเช่นคุณที่ได้รับสิทธิ์ในการเข้าถึงเพื่อสร้างฐานข้อมูล

กฎเกณฑ์ในการสร้างฐานข้อมูล

ขั้นแรก เราต้องรู้กฎพื้นฐานสำหรับการสร้างฐานข้อมูลใหม่:

  • ชื่อฐานข้อมูลต้องไม่ซ้ำกันภายในอินสแตนซ์ของ SQL Server
  • ชื่อฐานข้อมูลมีความยาวได้สูงสุด 128 อักขระ
  • คำสั่ง CREATE DATABASE ต้องทำงานในโหมดยอมรับอัตโนมัติ
กฎเกณฑ์ในการสร้างฐานข้อมูล
กฎเกณฑ์ในการสร้างฐานข้อมูล

การสร้างฐานข้อมูลในเซิร์ฟเวอร์ SQL มี 2 วิธี

  1. สตูดิโอจัดการเซิร์ฟเวอร์ SQL
  2. ธุรกรรม-SQL

วิธีการสร้างฐานข้อมูลใน SQL Server Management Studio

นี่คือกระบวนการทีละขั้นตอนในการสร้างฐานข้อมูล สตูดิโอการจัดการเซิร์ฟเวอร์ SQL:

ขั้นตอน 1) คลิกขวาที่ 'ฐานข้อมูล' จากหน้าต่าง 'Object Explorer' จากนั้นเลือก 'ฐานข้อมูลใหม่'

สร้างฐานข้อมูลใน SQL Server Management Studio

ขั้นตอน 2) ด้านล่างหน้าจอ 'ฐานข้อมูลใหม่' จะปรากฏขึ้น ป้อน 'ชื่อฐานข้อมูล' โปรดทราบว่า: คอลัมน์ 'ชื่อเชิงตรรกะ' จะถูกเติมโดยอัตโนมัติด้วย:

  1. การศึกษา | ประเภทไฟล์: แถวและกลุ่มไฟล์: หลัก
  2. Edu_log | ประเภทไฟล์: LOG และกลุ่มไฟล์: 'ไม่เกี่ยวข้อง'

สร้างฐานข้อมูลใน SQL Server Management Studio

ที่นี่:

ก) การศึกษา | ประเภทไฟล์: แถวและกลุ่มไฟล์: หลักคือไฟล์ .mdf

B) Edu_log | ประเภทไฟล์: LOG และกลุ่มไฟล์: 'ไม่เกี่ยวข้อง' คือไฟล์ .ldf

ขั้นตอน 3) (ทางเลือก) สำหรับการตั้งค่าที่ซับซ้อนกว่านี้ เราสามารถไปที่ 'ตัวเลือก' และ 'กลุ่มไฟล์' ในระดับเริ่มต้น การสร้างฐานข้อมูลจากแท็บทั่วไปก็เพียงพอ

สร้างฐานข้อมูลใน SQL Server Management Studio

ขั้นตอน 4) คลิกที่ 'เพิ่ม'

สร้างฐานข้อมูลใน SQL Server Management Studio

ผลลัพธ์: สร้างฐานข้อมูล 'Edu' แล้ว

สร้างฐานข้อมูลใน SQL Server Management Studio

เราสามารถขยายฐานข้อมูล - 'Edu' ซึ่งจะมี Tables, View ฯลฯ ซึ่งในตอนแรกจะว่างเปล่าจนกว่าผู้ใช้จะสร้างตาราง มุมมอง ฯลฯ ใหม่

ดูแบบสอบถามแหล่งที่มา:

คุณสามารถดูการสืบค้นต้นฉบับของฐานข้อมูล 'Edu' ที่สร้างขึ้นใหม่เป็น: การนำทาง: คลิกขวาที่ชื่อฐานข้อมูล> ฐานข้อมูลสคริปต์เป็น> สร้างไปยัง> หน้าต่างตัวแก้ไขแบบสอบถามใหม่

สร้างฐานข้อมูลใน SQL Server Management Studio

หน้าต่างแบบสอบถาม:

สร้างฐานข้อมูลใน SQL Server Management Studio

สร้างสคริปต์:

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]

คลิกที่ 'ดำเนินการ'

สร้างฐานข้อมูลด้วย T-SQL

ผลลัพธ์: เราจะเห็นว่า Edu_TSQL สร้างขึ้นใน SQL Object Explorer

สร้างฐานข้อมูลด้วย T-SQL

มาดูกันว่าเราต้องการสร้างฐานข้อมูลด้วยไฟล์ .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 )

สร้างฐานข้อมูลด้วย T-SQL

วิธีการแก้ไขฐานข้อมูล

เช่นเดียวกับ Create Database Query เราก็สามารถแก้ไขฐานข้อมูลได้เช่นกัน เราสามารถเปลี่ยนชื่อฐานข้อมูล เปลี่ยนตำแหน่งไฟล์และการตั้งค่า ฯลฯ

กฎพื้นฐานสำหรับการเปลี่ยนฐานข้อมูลใหม่:

  • คำสั่ง ALTER DATABASE ต้องทำงานในโหมดยอมรับอัตโนมัติ
  • ไม่อนุญาตให้เปลี่ยนฐานข้อมูลในธุรกรรมที่ชัดเจนหรือโดยปริยาย

การแก้ไขฐานข้อมูลในเซิร์ฟเวอร์ SQL มี 2 วิธี

  1. สตูดิโอจัดการเซิร์ฟเวอร์ SQL
  2. ธุรกรรม-SQL.

วิธีการแก้ไขฐานข้อมูลใน SQL Server Management Studio

ด้านล่างนี้เป็นขั้นตอนในการแก้ไขฐานข้อมูลในสตูดิโอการจัดการเซิร์ฟเวอร์ SQL:

มาลองเปลี่ยนชื่อฐานข้อมูลที่สร้างไว้ล่วงหน้า 'Edu' กัน

แก้ไขฐานข้อมูลใน SQL Server Management Studio

ขั้นตอนที่ 1) เปลี่ยนชื่อฐานข้อมูล

คลิกขวาที่ชื่อฐานข้อมูล คลิกที่ 'เปลี่ยนชื่อ'

แก้ไขฐานข้อมูลใน SQL Server Management Studio

ขั้นตอนที่ 2) ป้อนชื่อฐานข้อมูลใหม่

ชื่อฐานข้อมูลจะสามารถแก้ไขได้ ป้อนชื่อใหม่และกด Enter

แก้ไขฐานข้อมูลใน SQL Server Management Studio

ผลลัพธ์: ขณะนี้ฐานข้อมูลเปลี่ยนชื่อเป็น "Edu_Alter" จาก 'Edu'

แก้ไขฐานข้อมูลใน SQL Server Management Studio

แก้ไขฐานข้อมูลด้วย 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'

แก้ไขฐานข้อมูลด้วย Transact-SQL

ไวยากรณ์ทั่วไป:

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 );

แก้ไขฐานข้อมูลด้วย Transact-SQL

การเปลี่ยนตำแหน่งไฟล์ .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' );

แก้ไขฐานข้อมูลด้วย Transact-SQL

ลบฐานข้อมูล

มี 2 ​​วิธีในการลบฐานข้อมูลในเซิร์ฟเวอร์ SQL

  1. สตูดิโอจัดการเซิร์ฟเวอร์ SQL
  2. ธุรกรรม-SQL.

วิธีการวางฐานข้อมูลใน SQL Server Management Studio

ต่อไปนี้เป็นกระบวนการในการวางฐานข้อมูลลงในสตูดิโอจัดการเซิร์ฟเวอร์ SQL:

ลองลบฐานข้อมูลที่สร้างไว้ล่วงหน้า 'Edu_Alter' ของเรา

ขั้นตอน 1) คลิกขวาที่ฐานข้อมูล คลิกที่ 'ลบ' จากนั้น 'ตกลง'

วางฐานข้อมูลใน Studio การจัดการเซิร์ฟเวอร์ SQL

ผลลัพธ์: 'Edu_Alter' ถูกลบออกจากรายการฐานข้อมูล 'Object Explorer'

วางฐานข้อมูลใน Studio การจัดการเซิร์ฟเวอร์ SQL

ลบฐานข้อมูลโดยใช้ Transact-SQL

มาลองลบฐานข้อมูลที่สร้างไว้ล่วงหน้าของเรา 'Edu_TSQL_Alter'

ไวยากรณ์:

DROP DATABASE <Databse_name>

ค้นหา:

USE master;  
GO  
DROP DATABASE Edu_TSQL_Alter;  
GO

เรียกใช้แบบสอบถามข้างต้นโดยคลิกที่ 'ดำเนินการ'

ผลลัพธ์: 'Edu_TSQL_Alter' ถูกลบออกจากรายการฐานข้อมูล 'Object Explorer'

ลบฐานข้อมูลโดยใช้ Transact-SQL

กู้คืนฐานข้อมูลใน SQL Server

คุณสามารถสร้างฐานข้อมูลได้โดยการเรียกคืนฐานข้อมูลที่คุณได้สำรองไว้ก่อนหน้านี้ โดยสามารถทำได้โดยการเรียกใช้คำสั่งเรียกคืนฐานข้อมูลซึ่งมีรูปแบบดังต่อไปนี้:

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

แบบสอบถามควรดำเนินการภายในหน้าต่างแบบสอบถามเช่นเดียวกับคำสั่งก่อนหน้า ตัวอย่างเช่น:

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

คุณยังสามารถใช้การนำทาง GUI: คลิกขวาที่ฐานข้อมูล> กู้คืนฐานข้อมูล> อุปกรณ์> นำเข้าไฟล์> คลิกตกลง

สรุป

  • เราสามารถใช้ทั้ง SQL Management GUI และ T-SQL เพื่อดำเนินการทั้งสามอย่าง ได้แก่ สร้าง แก้ไข และลบฐานข้อมูล
  • สามารถระบุฐานข้อมูลได้สูงสุด 32,767 ฐานข้อมูลบนอินสแตนซ์ของ SQL Server
  • ไม่สามารถลบฐานข้อมูลระบบได้
  • สร้าง แก้ไข และลบ: การดำเนินการทั้งหมดไม่คำนึงถึงตัวพิมพ์เล็ก-ใหญ่ เราสามารถใช้ตัวพิมพ์ใหญ่และตัวพิมพ์เล็กเป็นรูปแบบประโยคได้