inblog logo
|
vosw1
    SQL

    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

    RSS·Powered by Inblog