티스토리 뷰

반응형

 

데이터 모델링

현실 세계의 데이터를 데이터베이스에 저장하기 위해서는 데이터 모델을 세워야 하고 그 과정을 데이터 모델링이라 한다. 다시 말해 데이터 모델링이란 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정을 말한다.

 

*추상화 : 현실 세계를 일정한 형식에 맞추어 표현 (일정한 표기법에 의해 표현)

 

 

📗 변환 과정은 2단계로 나누어 진행한다.

 

  1. 개념적 데이터 모델링

    - 사용자에 초점을 맞추는 데이터 모델

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

  2. 논리적 데이터 모델링

    - 컴퓨터와 사용자 둘 다 고려하는 데이터 모델
    - 개념 세계의 데이터를 데이터 베이스에 저장하는 구조로 표현하는 작업

 

데이터 모델

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

 

  • 개념적 데이터 모델

    사람의 머리로 이해할 수 있도록 현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구
    ex) 개체-관계 모델, 아파트 설계도

  • 논리적 데이터 모델

    개념적 구조를 논리적 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구
    ex) 관계 데이터 모델, 아파트 모델하우스

 

∴ 데이터베이스 설계 = 개념적 데이터 모델링 + 논리적 데이터 모델링

 

 

개체-관계 모델

피터 첸(Peter Chen)이 제안한 개념적 데이터 모델로, 개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현했다.

 

개체-관계 모델을 제대로 활용하려면 개체, 속성, 관계를 꼭 짚고 넘어가야 한다.

 

  • 개체
  • 속성
  • 관계

 

📗 개체

개체는 저장할 만한 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물 등이며, 개념적 모델링을 하는 데 가장 중요한 요소다. 구별되는 이름, 고유한 속성을 가지고 있다.

 

📌 개체 타입

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

 

📌 개체 인스턴스

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

 

📌 개체 타입

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

    


 

📗 속성

속성은 개체가 가지고 있는 고유의 특성이다. 의미 있는 데이터의 가장 작은 논리적 단위로 파일 구조에서 필드와 대응된다.

 

속성의 분류

 

💭속성의 분류

  1. 단일 값 속성
  2. 다중 값 속성
  3. 단순 속성
  4. 복합 속성
  5. 유도 속성

 

1️⃣ 단일 값 속성

     - 값을 하나만 가질 수 있는 속성

       ex) 이름

2️⃣ 다중 값 속성

     - 값을 여러 개 가질 수 있는 속성

        ex) 연락처

3️⃣ 단순 속성

     - 의미를 더는 분해할 수 없는 속성

       ex) 가격 등

4️⃣ 복합 속성

     - 의미를 분해할 수 있는 속성

       ex) 주소 // 도, 시 동 등으로 세분화 가능

5️⃣ 유도 속성

     - 기존의 다른 속성의 값에서 유도되어 결정되는 속성

       ex) 출생연도 속성으로 계산되는 나이

 

➕ 널 속성

널 값이 허용되는 속성으로 널 값은 아직 결정되지 않았거나 모르는 값 또는 존재하지 않는 값을 의미한다.

* 공백이나 0과는 의미가 다르다

 

➕ 키 속성

각 개체 인스턴스를 식별하는 데 사용되는 속성을 말한다. 모든 개체 인스턴스 키 속성 값은 다르다.

 


 

📗 관계

개체와 개체가 맺고 있는 의미 있는 연관성을 관계라 한다.

 

💭관계의 유형

  • 관계에 참여하는 개체 타입의 수 기준
  • 매핑 카디널리티 기준 (매핑 원소 수)

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

  • 이항 관계 : 개체 타입 두 개가 맺는 관계
  • 삼항 관계 : 개체 타입 세 개가 맺는 관계
  • 순환 관계 : 개체 타입 하나가 자기 자신과 맺는 관계

💥 매핑 카디널리티 기준 (매핑 원소 수)

  • 일대일 관계
  • 일대다 관계
  • 다대다 관계

 

💭관계의 참여 특성

  • 필수적 참여

    - 모든 개체 인스턴스가 관계에 반드시 참여해야 되는 것을 의미한다.

  • 선택적 참여

    - 개체 인스턴스 중 일부만 관계에 참여해도 되는 것을 의미한다.

 

💭관계의 종속성

  • 약한 개체 = 종속 개체
    - 다른 개체의 존재 여부에 의존적인 개체

  • 강한 개체 = 오너 개체
    - 다른 개체의 존재 여부를 결정하는 개체
  • 강한 개체와 약한 개체는 일반적으로 일대다 관계
  • 약한 개체는 강한 개체와의 관계에 필수적으로 참여
  • 약한 개체는 강한 개체의 키를 포함하여 키를 구성 (확실한 식별을 위해)

 

💨 E-R 다이어그램

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

 

 

논리적 데이터 모델

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

 

⭕ 관계 데이터 모델

일반적으로 많이 사용되는 논리적 데이터 모델

⭕ 계층 데이터 모델

데이터베이스의 논리적 구조가 트리 형태

⭕ 네트워크 데이터 모델

데이터베이스의 논리적 구조가 그래프 형태

 

 

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함