• [SQLD] 데이터 모델의 이해

    2025. 2. 5.

    by. hyunji1109

    1. 엔티티(Entity) 속성(Attribute) 인스턴스(Instance)

    • 엔티티(Entity)
      • 데이터 모델링에서 관리해야 할 정보의 대상을 의미
      • 사람, 사물, 사건 등을 나타내며, 현실 세계의 개체를 데이터로 표현
    • 속성(Attribute)
      • 엔티티가 가지는 특성이나 정보를 나타내는 요소
      • 엔티티를 설명하거나 구분하는 데 필요한 데이터를 저장
      • 학생 엔티티의 속성으로 학번, 이름, 나이 등이 있을 수 있다.
    • 인스턴스(Instance)
      • 엔티티의 실제 데이터
      • 엔티티의 한 개체를 특정한 값으로 나타낸다.
      • 학생 엔티티에서 학번이 20231234이고 이름이 "홍길동"인 경우가 하나의 인스턴스

     

     

     

    2. 모델링

    • 현실 세계의 복잡한 문제를 해결하기 위해 이를 단순화하여 표현하는 과정
    • 시스템의 구조나 동작을 이해하고 설계하기 위한 추상화 작업
    • 데이터 모델링에서는 데이터를 체계적으로 정리하고 구조화하여 데이터베이스에 반영

     

    특징

    1. 단순화 (Simplification)

    • 현실을 단순화하여 핵심 요소에 집중하고, 불필요한 세부 사항을 제거
    • 단순화를 통해 복잡한 현실 세계를 이해하고 표현하기 쉬워짐

    2. 추상화 (Abstraction)

    • 현실세계를 일정한 형식에 맞추어 간략하게 대략적으로 표현하는 과정
    • 다양한 현상을 일정한 양식인 표기법에 따라 표현

    3. 명확화 (Clarity)

    • 대상에 대한 애매모호함을 최대한 제거하고 정확하게 현상을 기술하는 과정
    • 명확화를 통해 모델을 이해하는 이들의 의사소통을 원활히 함

     

    유의점

    1. 중복 (Duplication)

    • 한 테이블 또는 여러 테이블에 같은 정보를 저장하지 않도록 설계

     

    2. 비유연성 (Inflexibility)

    • 사소한 업무 변화에 대해서도 잦은 모델 변경이 되지 않도록 주의
    • 데이터 정의를 프로세스와 분리
      업무(내용)이 바뀔 때 변화주기가 용이해야 함!
      ex. 시험 성적 테이블에서 과목 추가 또는 학생 추가하는 경우

     

    3. 비일관성 (Inconsistency)

    • 데이터베이스 내의 정보가 모순되거나 상반된 내용을 갖는 상태를 의미
    • 데이터간 상호연관 관계를 명확히 정의
    • 데이터 품질 관리 필요
    • 데이터의 중복이 없더라도 비일관성은 발생할 수 있음
    • 데이터 연결 시 특정 대상에 대한 정보가 다르면 안됨

     

    데이터 모델링의 3단계

    1.개념적 모델링

    • 업무 중심적이고 포괄적(전사적)인 수준의 모델링
    • 추상화 수준이 가장 높음
    • 업무를 분석 뒤 업무의 핵심 엔터티(Entity)를 추출하는 단계
    • 도출된 핵심 엔터티(Entity)들과의 관계들을 표현하기 위해 ERD 작성

    2. 논리적 모델링

    • 개념적 모델링의 결과를 토대로 세부속성, 식별자, 관계 등을 표현하는 단계
    • 데이터 구조를 정의하기 때문에 비슷한 업무나 프로젝트에서 동일한 형태의 데이터 사용 시 재사용 가능
    • 동일한 논리적 모델을 사용하는 경우 쿼리도 재사용 가능
    • 데이터 정규화 수행
    • 재사용성이 높은 논리적 모델은 유지보수가 용이해짐

    3. 물리적 모델링

    • 논리 모델링이 끝나면 이를 직접 물리적으로 생성하는 과정
    • 데이터베이스 성능, 디스크 저장구조, 하드웨어의 보안성, 가용성 등을 고려
    • 가장 구체적인 데이터 모델링
    • 추상화 수준은 가장 낮음(가장 구체적인 모델링이므로)

     

     

     

    3. 데이터 모델의 표기법(ERD : Entity Relationship Diagram)

    • 논리적 설계에서 만들어지는 엔터티(Entity)와 엔터티 간의 관계(Relationship)를 시각적으로 표현한 다이어그램, 엔터티와 엔터티간의 관계를 한눈에 확인할 수 있는 포괄적 설계도
    • 1976년 피터 첸(Peter Chen)이 만든 표기법, 데이터 모델링 표준으로 사용

     

    ERD 작성 절차

    ① 엔터티를 도출한 후 그린다

    ② 엔터티 배치

    ③ 엔터티 간의 관계를 설정

    ④ 관계명을 서술

    ⑤ 관계의 참여도 기술

    ⑥ 관계의 필수 여부를 확인

     

     

     

    'CS > SQL' 카테고리의 다른 글

    [SQLD] 관계(Relationship)  (0) 2025.02.10
    [SQLD] 속성(Attribute)  (0) 2025.02.08
    [SQLD] 엔티티(Entity)  (0) 2025.02.07
    SQL JOIN  (0) 2025.01.25
    SQL, NoSQL  (0) 2025.01.09

    댓글