⚡️ 전공수업/데이터베이스

데이터 모델링

aaahyunseo 2025. 5. 19. 22:13

✏️ 데이터 모델링과 데이터 모델의 개념

💡 데이터 모델링(Data Modeling)

: 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정

 

 

현실 세계 —(정보모델링)→ 개념적 모델 —(데이터 모델링)→ 논리적 모델 —(DB로 구현)→ 데이터베이스

 

개념적 데이터 모델링(conceptual modeling)

: 현실 세계의 중요 데이터를 추출하여 개념 세계로 옮기는 작업

논리적 데이터 모델링(logical modeling)

: 개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업

 

 

💡 데이터 모델(Data Model)

: 데이터 모델링의 결과물을 표현하는 도구

 

📍 개념적 데이터 모델

: 사람의 머리로 이해할 수 있도록 현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구

ex. 개체-관계 모델

 

📍 논리적 데이터 모델

: 개념적 구조를 논리적 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구

ex. 관계 데이터 모델

 

데이터 모델의 구성

  • 연산(Operation)
  • 데이터 구조(Data Structure)
  • 제약조건(Constraint)

✏️ 개체-관계 모델

개체-관계 모델(E-R model; Entity-Relationship model)

: 개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현

  • 핵심 요소 - 개체, 속성, 관계

개체-관계 다이어그램(E-R diagram)

: 개체-관계 모델을 이용해 현실 세계를 개념적으로 모델링한 결과물을 그림으로 표현한 것

 

💡 개체(Entity)

: 현실 세계에서 조직을 운영하는 데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것

  • 저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등 (명사 형태)
  • 다른 개체와 구별되는 이름을 가지고 있고, 각 개체만의 고유한 특성이나 상태, 즉 속성을 하나 이상 가지고 있음.
  • 파일 구조의 레코드(record)와 대응됨.
  • E-R 다이어그램에서 사각형으로 표현하고 사각형 안에 이름 표기

 

💡 속성(Attribute)

  • 개체나 관계가 가지고 있는 고유의 특성
  • 의미 있는 데이터의 가장 작은 논리적 단위
  • 파일 구조의 필드(field)와 대응됨.
  • E-R 다이어그램에서 타원으로 표현하고 타원 안에 이름을 표기

 

개체 타입(entity type)

: 개체를 고유의 이름과 속성들로 정의한 것

  • 파일 구조의 레코드 타입(record type)에 대응됨

 

개체 인스턴스(entity instance)

: 개체를 구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체

  • 개체 어커런스(entity occurrence)라고도 함.
  • 파일 구조의 레코드 인스턴스(record instance)에 대응됨.

 

개체 집합(entity set)

: 특정 개체 타입에 대한 개체 인스턴스들을 모아놓은 것

 

속성의 분류

(1) 속성 값의 개수

  • 단일 값 속성 : 값을 하나만 가질 수 있는 속성
    • ex. 고객 개체의 이름, 적립금 등
  • 다중 값 속성 : 값을 여러 개 가질 수 있는 속성
    • E-R 다이어그램에서 이중 타원으로 표현
    • ex. 고객 개체의 연락처 등

(2) 의미의 분해 가능성

  • 단순 속성 : 의미를 더는 분해할 수 없는 속성
    • ex. 고객 개체의 적립금 등
  • 복합 속성 : 의미를 분해할 수 있는 속성
    • ex. 고객 개체의 주소 등

(3) 기존 속성 값에서 유도

  • 유도 속성 : 기존의 다른 속성의 값에서 유도되어 결정되는 속성. 값이 별도로 저장되지는 않음.
    • E-R 다이어그램에서 점선 타원으로 표현
    • ex. 고객 개체의 출생연도 속성으로 계산되는 나이 속성

(4) 널 속성(Null attribute) : 널 값이 허용되는 속성

  • 널(null) 값 : 아직 결정되지 않았거나 모르는 값 또는 존재하지 않는 값 → 공백이나 0과는 의미가 다름.

(5) 키 속성(Key attribute) : 각 개체 인스턴스를 식별하는 데 사용되는 속성

  • 모든 개체 인스턴스의 키 속성 값이 다름.
  • 둘 이상의 속성들로 구성되기도 함.
  • E-R 다이어그램에서 밑줄로 표현

 

💡 관계(Relationship)

: 개체와 개체가 맺고 있는 의미 있는 연관성

  • 개체 집합들 사이의 대응 관계, 즉 매핑(mapping)을 의미함
  • E-R 다이어그램에서 마름모로 표현

 

관계의 유형

1. 관계에 참여하는 개체 타입의 수 기준

  • 이항 관계 - 개체 타입 두 개가 맺는 관계 (2진 관계)
  • 삼항 관계 - 개체 타입 세 개가 맺는 관계 (3진관계)
  • 순환 관계 - 개체 타입 하나가 자기 자신과 맺는 관계 (1진 관계)

 

2. 매핑 카디널리티 기준

  • 일대일 관계(1:1) - 하나의 개체가 하나의 개체에 대응
  • 일대다 관계(1:N) - 하나의 개체가 여러 개체에 대응
  • 다대일 관계(N:1) - 여러 개체가 하나의 개체에 대응
  • 다대다 관계(N:M) - 여러 개체가 여러 개체에 대응
  • 관계 대응수(cadinality)
    : 두 개체 타입의 관계에 실제로 참여하는 개별 개체 수
  • 매핑 카디널리티(mapping cardinality)
    : 관계를 맺는 두 개체 집합에서, 각 개체 인스턴스가 연관성을 맺고 있는 상대 개체 집합의 인스턴스 개수

 

관계의 참여 특성

  1. 필수적 참여(전체 참여)
    : 모든 개체 인스턴스가 관계에 반드시 참여해야 되는 것을 의미
    • E-R 다이어그램에서 이중선으로 표현
  2. 선택적 참여(부분 참여)
    : 개체 인스턴스 중 일부만 관계에 참여해도 되는 것을 의미

 

관계의 종속성

  • 약한 개체(week entity) : 다른 개체의 존재 여부에 의존적인 개체
  • 강한 개체(strong entity) : 다른 개체의 존재 여부를 결정하는 개체

→ 강한 개체와 약한 개체는 일반적으로 일대다 관계를 가지고, 약한 개체는 강한 개체와의 관계에 필수적으로 참여함.

→ 약한 개체는 강한 개체의 키를 포함하여 키를 구성함.

→ E-R 다이어그램에서 약한 개체는 이중 사각형으로 표현하고, 약한 개체가 강한 개체와 맺는 관계는 이중 마름모로 표현.

 

논리적 데이터 모델

: E-R 다이어그램으로 표현된 개념적 구조를 데이터베이스에 저장할 형태로 표현한 논리적 구조

  • 데이터베이스의 논리적 구조 = 데이터베이스 스키마(schema)
  • 사용자가 생각하는 데이터베이스의 모습 또는 구조
  • 관계 데이터 모델, 계층 데이터 모델, 네트워크 데이터 모델 등이 있음.

 

관계 데이터 모델

  • 일반적으로 많이 사용되는 논리적 데이터 모델
  • 데이터베이스의 논리적 구조가 2차원 테이블 형태임

 

계층 데이터 모델

  • 데이터베이스의 논리적 구조가 트리(tree) 형태임
  • 루트 역할을 하는 개체가 존재하고 사이클이 존재하지 않음
  • 개체 간에 상하 관계가 성립
    • 부모 개체 / 자식 개체 → 부모와 자식 개체는 일대다 관계만 허용됨
  • 두 개체 사이에 하나의 관계만 정의할 수 있음
  • 다대다(N:M) 관계를 직접 표현할 수 없음
  • 개념적 구조를 모델링하기 어려워 구조가 복잡해질 수 있음
  • 데이터의 삽입/삭제/수정/검색이 쉽지 않음

 

네트워크 데이터 모델

  • 데이터베이스의 논리적 구조가 네트워크, 즉 그래프 형태임
  • 개체 간에는 일대다(1:N) 관계만 허용됨 → 오너 / 멤버
  • 두 개체 사이에 여러 관계를 정의할 수 있어 이름으로 구별함
  • 다대다(N:M) 관계를 직접 표현할 수 없음
  • 구조가 복잡하고 데이터의 삽입/삭제/수정/검색이 쉽지 않음

'⚡️ 전공수업 > 데이터베이스' 카테고리의 다른 글

정규화  (0) 2025.05.22
데이터베이스 설계  (0) 2025.05.19
관계 데이터 연산  (0) 2025.04.29
관계데이터 모델  (0) 2025.04.29
데이터베이스 시스템(DBS)  (0) 2025.04.29