본문 바로가기
스터디/SQL

[정리노트] SQLD 2024년 개정판 - 관계형 데이터베이스 개요

by 견습생L 2024. 8. 19.

[정리노트] SQLD 2024년 개정판 - 관계형 데이터베이스 개요

 

관계형 데이터 베이스 개요

데이터베이스(Database)와 DBMS (Database Management System)

  •   데이터베이스: 데이터의 집합, 꼭 형식을 갖추지 않아도 엑셀 파일을 모아 둔다면 데이터베이스임
  •   DBMS: 데이터를 효과적으로 관리하기 위한 시스템
    •   개인이 파일을 여러 개 묶어서 폴더에 보관하면 데이터를 찾고 관리하는데 많은 비용이 발생
    •   이를 보다 시스템적으로 작동하게 만든 시스템을 DBMS라고 한다. (ORACLE, MYSQL)

관계형 데이터 베이스 구성 요소

관계형 데이터 베이스 구성 요소

  •   계정: 데이터의 접근 제한을 위한 여러 업무별/시스템별 계정이 존재
  •   테이블: DBMS의 DB안에서 데이터가 저장되는 형식
  •   스키마: 테이블이 어떠한 구성으로 되어있는지, 어떠한 정보를 가지고 있는지에 대한 기본적인 구조를 정의

테이블

  •   정의
    •   엑셀에서의 워크시트처럼 행(로우)과 열(컬럼)을 갖는 2차원 구조로 구성, 데이터를 입력하여 저장하는 최소 단위
    •   컬럼은 속성이라고도 부름
  •   특징
    •   하나의 테이블은 반드시 하나의 유저(계정) 소유여야 함
    •   테이블간 관계는 일대일(1:1), 일대다(1:N), 다대다(N:N)의 관계를 가질 수 있음
    •   테이블명은 중복될 수 없지만, 소유자가 다른 경우 같은 이름으로 생성 가능
      •   ex) Scott 소유의 EMP 테이블 존재, HR 소유의 EMP 테이블 생성 가능
    •   테이블은 행 단위로 데이터가 입력, 삭제되며 수정은 값의 단위로 가능

SQL

SQL  (Structured Query Language)

  •   관계형 데이터베이스에서 데이터 조회 및 조작, DBMS 시스템 관리 기능을 명령하는 언어
  •   데이터 정의 (DDL), 데이터 조작 (DML), 데이터 제어 언어(DCL) 등으로 구분
  •   SQL 문법은 대, 소문자를 구분하지 X

 

종류

  • DDL (Data Definition Language) - CREATE, ALTER, DROP, RENAME, TRUNCATE (초기화)
    • transction의 rollback 대상이 아님
  • DML (Data Manipulation Language) - INSERT, DELETE, UPDATE, MERGE
  • DCL (Data Contrl Language) - GRANT, REVOKE
  • TCL (Transaction Control Language) - COMMIT, ROLLBACK
    • 트랜잭션(Transaction)
      • 사전적 의미는 거래이고,컴퓨터 과학 분야에서의 트랜잭션(Transaction)은 "더이상 분할이 불가능한 업무처리의 단위"를 의미
      • 한꺼번에 수행되어야 할 일련의 연산모음을 의미
      • 특징
        1. 원자성: 트랜잭션이 데이터베이스에 모두 반영되던가, 아니면 전혀 반영되지 않아야 한다는 것
        2. 일관성: 작업 처리 결과가 항상 일관성이 있어야 한다는 것
        3. 독립성: 둘 이상의 트랜잭션이 동시에 실행되고 있을 경우 어떤 하나의 트랜잭션이라도, 다른 트랜잭션의 연산에 끼어들 수 없다는 점
        4. 영구성: 지속성은 트랜잭션이 성공적으로 완료됬을 경우, 결과는 영구적으로 반영되어야 한다는 점
  • DQL (Data Query Language) - SELECT
    • SELECT 문은 따로 SQL 종류 중 어디에도 속하지 않음

관계형 데이터베이스

특징

  •   데이터의 분류, 정렬, 탐색 속도가 빠름
  •   신뢰성이 높고, 데이터의 무결성 보장
  •   기존의 작성된 스키마를 수정하기 어려움
  •   데이터베이스의 부하를 분석하는 것이 어려움

데이터 무결성

정의

  •   데이터의 정확성과 일관성을 유지하고, 데이터에 결손과 부정합이 없음을 보증하는 것
  •   데이터베이스에 저장된 값과 그것이 표현하는 현실의 비즈니스 모델의 값이 일치하는 정확성을 의미함
  •   데이터 무결성을 유지하는 것이 데이터베이스 관리시스템에 중요한 기능

 

종류

  •   개체 무결성: 테이블의 기본키를 구성하는 컬럼(속성)은 NULL 값이나 중복값을 가질 수 없음
  •   참조 무결성: 외래키 값은 NULL 이거나 참조 테이블의 기본키 값과 동일해야 한다
     (외래키: 참조 테이블의 기본키에 정의된 데이터만 허용되는 구조)
  •   도메인 무결성: 주어진 속성 값이 정의된 도메인에 속한 값 이어야 함
  •   NULL 무결성: 특정 속성에 대해 NULL을 허용하지 않는 특징
  •   고유 무결성: 특정 속성에 대해, 값이 중복되지 않는 특징
  •   키 무결성: 하나의 릴레이션(관계)에는 적어도 하나의 키가 존재해야 함
      (테이블이 서로 관계를 가질 경우 반드시 하나 이상의 조인키를 가짐)

※ 도메인: 각 컬럼(속성)이 갖는 범위
※ 릴레이션: 테이블간 관계
※ 튜플: 하나의 행
※ 키: 식별자


ERD

ERD (Entiry Relationship Diagram)

  • 테이블 간 서로의 상관 관계를 그림으로 표현한 것
  • ERD의 구성요소에는 엔터티, 관계, 속성이 있다.
    • 현실 세계의 데이터는 이 3가지 구성으로 모두 표현 가능

 

반응형