2025-03-06

Suhyeon Lee·2025년 3월 6일

출처

1과목

데이터 모델링의 이해

  • 데이터 모델의 이해
  • 엔터티
  • 속성
  • 관계
  • 식별자

데이터 모델과 SQL

  • 정규화
  • 관계와 조인의 이해
  • 모델이 표현하는 트랜잭션의 이해
  • Null 속성의 이해
  • 본질식별자 vs 인조식별자

1과목 정리

용어 정리

→ 설계 방식에 따라 다름(물리적/논리적)
설계 도면에서는 엔터티, 속성, 인스턴스
물리적 단계에서는 테이블, 컬럼, 행으로 용어 매칭

  • 엔터티(Entity)
    • 실체, 객체라는 의미
      • 변별할 수 있는 사물(Peter Chen)
      • 데이터베이스 내에서 변별 가능한 객체(C.J Date)
      • 정보가 저장될 수 있는 사람, 장도, 물건, 사건 그리고 개념 등(Thomas Bruce)
    • 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합
      • 학생이라는 엔터티는 학번, 이름, 학점, 전공 등의 속성으로 특징지을 수 있음
    • 유무형/발생시점에 따라 분류
      • 유형/개념/사건
      • 기본/중심/행위

사람, 장소, 물건, 사건, 개념 등의 명사
업무상 관리가 필요한 관심사
저장이 되기 위한 어떤 것(thing)

  • 속성(Attribute)

    • 사물의 성질, 특징 또는 본질적인 성질
    • 없다면 실체를 생각할 수 없는 어떤 것
    • 업무에서 필요로 하는 인스턴스에서 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위
    • 엔티티를 설명하고 인스턴스의 구성요소가 됨
      • 엔티티와 마찬가지로 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 함
      • 정규화 이론에 근간하여 정해진 주식별자에 함수적 종속성을 가져야 함
      • 하나의 속성에는 한 개의 값만을 가짐
        (하나의 속성에 여러 개의 값이 있는 다중값일 경우 별도의 엔티티를 이용하여 분리)
  • 인스턴스(Instance)

    • 스키마에 대한 실제 데이터
      • 테이블의 각 행을 의미
    • 시간에 따라 자주 변경
    • 인스턴스의 집합 == 데이터베이스 상태(state)
    • 주어진 시점에서 데이터베이스에 있는 데이터의 스냅샷(snapshot)

데이터모델의 이해

  • 모델링 개념

    • 현실 세계의 비즈니스 프로세스와 데이터 요구 사항을 추상적으로 구조화된 형태로 표현하는 과정
    • 데이터베이스의 구조와 관계를 정의하며, 이를 통해 데이터의 저장, 조작, 관리 방법을 명확하게 정의
  • 모델링 특징

    • 단순화(Simplification)
      • 현실을 단순화하여 핵심 요소에 집중하고 불필요한 세부 사항 제거
      • 단순화를 통해 복잡한 현실 세계를 이해하고 표현하기 쉬워짐
    • 추상화(Abstraction)
      • 현실세계를 일정한 양식에 맞추어 간략하게 대략적으로 표현하는 과정
      • 다양한 현상을 일정한 양식인 표기법에 따라 표현
    • 명확화(Clarity)
      • 대상에 대한 애매모호함을 최대한 제거하고 정확하게 현상을 기술하는 과정
      • 명확화를 통해 모델을 이해하는 이들의 의사소통을 원활히 함
  • 데이터 모델링 3가지 관점

    • 데이터 관점
      • 데이터가 어떻게 저장되고, 접근되고, 관리되는지를 정의하는 단계
      • 업무를 고려하지 않고 데이터만 보는 것
        (우리 사이트에는 고객, 상품, 결제 데이터가 필요 → 각각 어떤 속성이 정의되어야 하는지)
    • 프로세스 관점
      • 시스템이 어떤 작업을 수행하며, 이러한 작업들이 어떻게 조직되고 조정되는지를 정의하는 단계
      • 데이터가 시스템 내에서 어떻게 흐르고 변환되는지에 대한 확인
      • 업무적(프로세스적)으로 바라보며 모델링
    • 데이터와 프로세스 관점
      • 데이터 관점과 프로세스 관점을 결합하여 시스템의 전반적인 동작을 이해하는 단계
      • 특정 프로세스가 어떤 데이터를 사용하는지, 데이터가 어떻게 생성되고 변경되는지를 명확하게 정의
      • 보다 각 프로세스가 정확히 어떤 데이터가 필요한지를 파악하는 단계

모델링을 할 때 어떤 관점으로 보느냐에 따라 정의되는 개념이 달라짐

  • 데이터 모델링 유의점

    • 중복(Duplication) → 최대한 발생하지 않게
      • 한 테이블 또는 여러 테이블에 같은 정보를 저장하지 않도록 설계
      • 저장 공간 낭비가 발생하지 않도록
    • 비유연성(Inflexibility) → 유연한 설계일수록 좋음
      • 사소한 업무 변화에 대해서도 잦은 모델 변경이 되지 않도록 주의
      • 데이터 정의를 프로세스와 분리
    • 비일관성(Inconsistency) → 일관성(예: 업무코드 일치 등)이 있어야 함
      • 데이터베이스 내의 정보가 모순되거나 상반된 내용을 갖는 상태를 의미
      • 데이터 간 상호연관 관계를 명확히 정의
      • 데이터 품질 관리 필요
      • 데이터의 중복이 없더라도 비일관성은 발생할 수 있음
  • 데이터 모델링 3가지 요소

    • 대상(Entity): 업무가 관리하고자 하는 대상(객체)
    • 속성(Attribute): 대상들이 갖는 속성
      • 하나의 특징으로 정의될 수 있는 것
    • 단계(Relationship): 대상들 간 관계
  • 데이터 모델링 3단계

    • 개념적 모델링
      • 업무 중심적이고 포괄적(전사적) 수준의 모델링
      • 추상화 수준이 가장 높음
      • 업무를 분석 뒤 업무의 핵심 엔터티(Entity)를 추출하는 단계
      • 도출된 핵심 엔터티(Entity)들과의 관계를 표현하기 위해 ERD 작성
    • 논리적 모델링
      • 개념적 모델링의 결과를 토대로 세부 속성, 식별자, 관계 등을 표현하는 단계
      • 데이터 구조를 정의하기 때문에 비슷한 업무나 프로젝트에서 동일한 형태의 데이터 사용 시 재사용 가능
      • 동일한 논리적 모델을 사용하는 경우 쿼리도 재사용 가능
      • 데이터 정규화 수행
      • 재사용성이 높은 논리적 모델은 유지보수가 용이해짐
    • 물리적 모델링
      • 논리 모델링이 끝나면 이를 직접 물리적으로 생성하는 과정
      • 데이터베이스 성능, 디스크 저장 구조, 하드웨어 보안성, 가용성 등을 고려
      • 가장 구체적인 데이터 모델링
      • 추상화 수준은 가장 낮음(가장 구체적인 모델링이므로)
  • 스키마

    • 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터(객체 정보)의 집합
    • A 스키마 → A 소유의 여러 가지(테이블, 인덱스, 제약 조건, 기타 등등)의 객체에 대한 전체적인 개념을 스키마라고 표현
    • 집합이라 생각하면 됨
  • 모든 객체들에 대한 정보

  • 3단계 구조: 외부, 개념, 내부 스키마로 분리

    • 바라보는 관점에 따라 정의되는 형태가 다름
  • 사용자의 관점과 실제 설계된 물리적인 방식을 분리하기 위해 고안됨

  1. 외부 스키마
    • 사용자가 보는 관점에서 데이터베이스 스키마를 정의
    • 사용자나 응용 프로그램이 필요한 데이터를 정의
      (특히 사용자가 접근하는 대상을 view라고 부름)
  2. 개념 스키마
    • 사용자 관점의 데이터베이스 스키마를 통합하여 데이터베이스의 전체 논리적 구조를 정의
      • 논리 모델링 단계에서 만들어진 스키마
    • 전체 데이터베이스의 개체(엔터티), 속성, 관계, 데이터 타입 등을 정의
  3. 내부 스키마
    • 데이터가 물리적으로 어떻게 저장되는지를 정의
      • 물리 설계 단계에서 만들어진 결과물
    • 데이터의 저장 구조, 컬럼, 인덱스 등을 정의
  • 3단계 스키마의 독립성 → 한쪽이 변경되더라도 다른 쪽에 영향을 주면 안 됨

    • 독립성: 물리적, 논리적 구조를 변경하더라도 사용자가 사용하는 응용 프로그램에 영향을 주지 않는 특성
      • 논리적 독립성: 논리적 데이터 구조가 변경되어도(개념 스키마 변경) 응용 프로그램에 영향을 주지 않는 특성
      • 물리적 독립성: 물리적 구조가 변경되어도(내부 스키마 변경) 개념/외부 스키마에 영향을 주지 않는 특성
  • 데이터 모델의 표기법(ERD: Entity Relationship Diagram)

    • 엔터티(Entity)와 엔터티 간의 관계(Relationship)를 시각적으로 표현한 다이어그램
    • 1976년 피터 첸(Peter Chen)이 만든 표기법
    • 데이터 모델링 표준으로 사용
  • ERD 작성 절차

    1. 엔터티를 도출한 후 그린다
    2. 엔터티 배치
    3. 엔터티 간의 관계를 설정
    4. 관계명을 서술
      • 학생과 과목 → '수강 이력' 관계
    5. 관계의 참여도 기술
    6. 관계의 필수 여부를 확인
      • 필수적인 엔터티는 선으로 표시
      • 선택적인 엔터티는 동그라미로 표현
        (데이터가 꼭 들어오지는 않아도 된다는 뜻)

엔터티

  • 예시

속성

관계

식별자

정규화

관계와 조인의 이해

모델이 표현하는 트랜잭션의 이해

Null 속성의 이해

본질식별자 vs. 인조식별자

2과목

SQL 기본

  • 관계형 데이터베이스 개요
  • SELECT 문
  • 함수
  • WHERE 절
  • GROUP BY, HAVING 절
  • ORDER BY 절
  • 조인
  • 표준 조인

SQL 활용

  • 서브 쿼리
  • 집합 연산자
  • 그룹 함수
  • 윈도우 함수
  • Top N 쿼리
  • 계층형 질의와 셀프 조인
  • PIVOT 절과 UNPIVOT 절
  • 정규 표현식

관리 구문

  • DML
  • TCL
  • DDL
  • DCL

2과목 정리

관계형 데이터베이스 개요

SELECT문

함수

WHERE절

GROUP BY절과 HAVING절

ORDER BY절

조인

표준 조인

서브쿼리

NULL

정규식 표현

profile
2 B R 0 2 B

0개의 댓글