SQL Server란?

송민경's avatar
Nov 07, 2024
SQL Server란?

1. SQL Server

  • 마이크로소프트(Microsoft)에서 개발한 관계형 데이터베이스 관리 시스템(RDBMS)
  • 데이터 저장, 검색, 관리 및 보안을 제공하는 강력한 도구 기업 환경에서 널리 사용 주로 Transact-SQL (T-SQL)을 사용하여 데이터베이스를 쿼리하고 관리

2. SQL Server의 주요 개념

  • 데이터베이스 (Database)
    • SQL Server에서 가장 중요한 단위 여러 테이블, 뷰, 저장 프로시저, 트리거 등이 포함
    • 하나의 SQL Server 인스턴스 내에 여러 개의 데이터베이스가 존재 가능
  • 테이블 (Table)
    • 데이터를 행(Row)과 열(Column)로 구성하여 저장하는 기본 단위
    • 각 테이블은 프라이머리 키(Primary Key)를 사용하여 각 행을 고유하게 식별 가능
  • 뷰 (View)
    • 테이블과 비슷하지만, 데이터베이스 내에서 쿼리 결과를 가상의 테이블처럼 다루는 객체
    • 실제 데이터를 저장하지 않고, 다른 테이블의 데이터를 조합하여 보여줌
  • 인덱스 (Index)
    • 데이터의 빠른 검색을 돕기 위해 테이블의 열에 대한 인덱스 생성 가능
    • 검색 성능을 향상시키지만, 데이터 삽입/수정 성능에 영향을 미칠 수 있음
  • 저장 프로시저 (Stored Procedure)
    • SQL Server에서 반복적으로 실행할 수 있는 SQL 명령문 집합
    • 서버에서 미리 컴파일되어 실행되므로 성능이 뛰어남
  • 트리거 (Trigger)
    • 데이터베이스에서 데이터가 삽입, 수정 또는 삭제될 때 자동으로 실행되는 코드
    • 특정 이벤트(예: INSERT, UPDATE, DELETE)가 발생할 때 자동으로 실행되어 데이터를 검증하거나 수정 가능
  • 스키마 (Schema)
    • 데이터베이스 내에서 객체들의 논리적인 구성을 정의하는 컨테이너
    • 테이블, 뷰, 프로시저 등을 그룹화 가능
  • 트랜잭션 (Transaction)
    • 여러 SQL 작업을 하나의 작업 단위로 묶어서 실행하는 방법
    • 트랜잭션 내에서 실행된 모든 쿼리는 ACID 원칙을 따라야 함 작업이 모두 성공 : 커밋(commit) 실패 : 롤백(rollback)

3. SQL Server의 주요 버전

  • SQL Server Express Edition
    • 무료 버전 소규모 애플리케이션이나 학습용으로 적합
    • 데이터베이스 크기나 CPU 성능에 제한이 있으며, 고급 기능이 제한될 수 있음
  • SQL Server Standard Edition
    • 중소기업 및 다양한 기업용 기능을 제공하는 버전
    • 고급 기능(예: 고가용성, 복제, 분산 데이터베이스 등)을 지원
  • SQL Server Enterprise Edition
    • 대규모 데이터베이스 및 복잡한 애플리케이션을 위한 고급 기능이 포함된 버전
    • 높은 성능, 보안, 가용성을 제공
  • SQL Server Web Edition
    • 웹 응용 프로그램에 최적화된 버전 인터넷 서비스 제공업체(ISP) 및 웹 호스팅 서비스를 위한 버전

4. SQL Server의 주요 기능

  • 데이터 보호 및 보안
    • 데이터 암호화, 역할 기반 접근 제어(RBAC), 인증 및 권한 부여 기능을 제공
    • 데이터 무결성 및 감사 기능도 지원
  • 고가용성 (High Availability)
    • Always On Availability Groups, Database Mirroring, Log Shipping 등 고가용성 및 장애 복구 기능을 제공
  • 백업 및 복원
    • 다양한 백업 옵션을 제공합 (전체 백업, 차등 백업, 로그 백업)
    • 데이터를 안전하게 복원할 수 있는 기능도 제공 데이터 손실을 최소화
  • 성능 최적화
    • 쿼리 최적화, 인덱싱, 병렬 처리 등을 지원하여 대규모 데이터베이스에서 성능을 최적화
    • SQL Profiler, Execution Plans 등을 사용하여 쿼리 성능을 분석하고 개선 가능
  • SQL Server Management Studio (SSMS)
    • SQL Server의 관리 및 개발을 위한 기본 도구 데이터베이스를 만들고, 쿼리를 실행하며, 서버 관리 작업을 쉽게 할 수 있음
  • SQL Server Reporting Services (SSRS)
    • 데이터베이스에서 직접 보고서를 생성하고 관리할 수 있는 기능을 제공
  • SQL Server Integration Services (SSIS)
    • 다양한 데이터 소스를 통합하고 ETL(Extract, Transform, Load) 작업을 처리할 수 있는 도구
  • SQL Server Analysis Services (SSAS)
    • 데이터 분석 및 OLAP(온라인 분석 처리) 기능을 제공하여 비즈니스 인텔리전스(BI) 작업에 유용

5. SQL Server에서 사용하는 SQL 문법

  • SELECT – 데이터 조회
SELECT column1, column2 FROM TableName WHERE condition;
  • INSERT – 데이터 삽입
INSERT INTO TableName (column1, column2) VALUES (value1, value2);
  • UPDATE – 데이터 수정
UPDATE TableName SET column1 = value1, column2 = value2 WHERE condition;
  • DELETE – 데이터 삭제
DELETE FROM TableName WHERE condition;
  • CREATE TABLE – 테이블 생성
CREATE TABLE TableName ( Column1 datatype, Column2 datatype );
  • ALTER TABLE – 테이블 수정
ALTER TABLE TableName ADD ColumnName datatype;
  • DROP TABLE – 테이블 삭제
DROP TABLE TableName;
  • JOIN – 테이블 결합
SELECT columns FROM Table1 INNER JOIN Table2 ON Table1.column = Table2.colum
Share article

vosw1