Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

josolha

데이터 모델링 본문

DB

데이터 모델링

josolha 2023. 7. 25. 00:08
데이터 모델링이란??
'문제'를 현실로부터 뜯어내어 고도의 '추상화과정'을 거쳐서 '컴퓨터라는 새로운 현실'로
옮겨 담는 것이라 할 수 있다. 이에 현실의 '모델'이 컴퓨터의 '표'에 잘 담기는지 끊임 없이 확인 해야한다.

순서도  :  1.업무파악 → 2.개념적 데이터 모델링 → 3.논리적 데이터 모델링 → 4.물리적 데이터 모델링

 

1.업무파악
  • 현재 하려는 일이 무엇인지, 어떤것을 만들고 싶은지에 대한 요건 정의서, 기획서를 이용하여 업무파악을 할 수 있다.

2.개념적 데이터 모델링
  • 개념들이 어떻게 상호작용하는지 파악하는 단계

  •  E-R다이어그램 작성

      뜻: Entity Relationship Diagram 개체(entitiy)- 관계(relationship) 다이어그램 그림으로 
      그려 나타내 이를 다른 사람도 알아볼 수 있게 표현하는 것.

      E-R 다이어그램 표기법에는 피터 첸 표기법, 정보 공학 표기법(IE), 바커 표기법등이 있는데,
     이 중 E-R모델을 제안한 피터 첸의 표기법이 가장 기본적이다.
     (실무에서는 피터첸 사용 X, 보통 IE 표기법이 쓰임)


2-1. 피터 첸 표기법   
  • 다음은 피터 첸 표기법(Peter Chen Notation)으로 ERD 다이어그램을 구성한 그림이다.
    그리는 방법은 어렵지 않다.  도형이 의미하는 바를 알고 화살표를 통해 관계를 표현하기만 하면 된다.

피터챈 표기법 ERD

 

 

기호

  • Entity (개체) 현실에 존재하는 개별적으로 식별할 수 있는 물리적 또는 추상적인 개체  이며
    각 Entity 는 특징을 나타낼 수 있는 Attribute (속성)들을 가지고 있다.
    • 예를 들어 ‘학생’ 이라는 Entity 는 ‘학번’, ‘학생 이름’ 등의 Attribute 를 가질 수 있고,
    • ‘수업’ 이라는 Entity 는 ‘수업번호’, ‘수업 이름’ 등의 Attribute 를 가질 수 있다.
  • ER(개체-관계) 모델은 위에서 설명한 Entity(개체) 사이의 Relation (관계)을 통해 현실 세계를 표현하기 위한 설계 방식이다.
    • 예를 들어 ‘학생’ 과 ‘수업’ Entity 끼리는 ‘수강하다’ 라는 관계를 맺을 수 있다.
추가적으로 논리적 데이터 모델링에서는 구현시에 이렇게 변경된다.
   Entity(개체) -> table
   Attribute(속성) -> column
   Relation(관계) -> pk.fk

2-2. IE 표기법 

IE 표기법 ERD

  • Entity(개체)

위 그림과 같이 직사각형에 Entity 의 이름을 상단에 표기한다.

  • Attribute(속성)

Entity(개체) 이름 하단에 위 그림과 같이 좌측에 PK, FK 등의 정보를 표기하고, 우측에는 Attribure(속성)의 이름을 표기한다.

  • Relation(관계)
    엔티티 또는 속성간의 연관성, 관계
    • 관계명 : 엔터티가 관계에 참여하는 형태를 지칭한다. 
      각각의 관계는 두 개의 관계명을 가지고 있다. 또한 각각의 관계명에 의해 두 가지의 관점으로 표현될 수 있다. 
      아래의 사진을 확인하자

    • 관계차수(Cardinality) : 특정 관계에서 참여하는 수를 나타낸다.
      • 1:1, 1:M, M:N
          1:1 관계 : 한 학생은 한 개의 사물함을 갖는다. / 한 사물함은 한명의 학생이 갖는다.
          1:n 관계 : 한 학생은 여러 개의 교과서를 갖는다. / 하나의 교과서는 한 명의 학생이 갖는다.
          n:n 관계 : 한 학생은 여러 과목을 수강한다. / 한 과목은 여러명의 학생이 수강한다.

 

1:1,1:M,M:N
표시 방법

  • 관계선택사양(Optionality)
    • 엔터티가 항상 관계에 참여하는지, 아니면 선택적으로 관계에 참여할 수 있는 것인지를 의미한다.
      이때 항상 관계에 참여하는 것을 필수 참여(Mandatory Membership)이고 선택적으로 관계에 참여하는 것을
      선택 참여(Optional Membership)이라고 한다.

 

    • 위와 같이 학생 엔터티와 수업 엔터티가 있을 때, 학생 엔터티는 수업 엔터티와 관계가 있을수도 있고 없을수도 있기 때문에
      학생 엔터티를 기준으로 학생-수업 관계는 선택참여가 된다. 따라서 위와 같이 동그라미표시를 한다.
    • 반대로 수업 엔터티는 학생 엔터티가 관계가 필수적이기 때문에 수업 엔터티를 기준으로 수업-학생 관계는 필수 참여가 되고
      이때에는 아무런 표시를 하지 않는다. (학생이 듣지 않는 수업에 대해서는 고려하지 않았다.)
  • 식별관계
    • 실선 : 식별관계 - 부모테이블의 PK가 자식테이블의 FK/PK가 되는 경우
    • 점선 : 비식별관계 - 부모테이블의 PK가 자식테이블의 일반속성이 되는 경우


3.논리적 데이터 모델링
  •  개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환한다.
  •  필드로 기술된 데이터 타입과 데이터 타입들 간의 관계를 이용하여 현실세계를 표현한다.
  •  단순히 데이터 모델이라고 하면 논리적 데이터 모델을 의미한다.
  •  특정 DBMS는 특정 논리적 데이터 모델 하나만 선정하여 사용하고
     데이터 간의 관계를 어떻게 표현하느냐에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분한다.

 


4.물리적 데이터 모델링
  • 물리적 데이터 모델링은 최종적으로 데이터를 관리할 데이터 베이스를 선택하고, 
    선택한 데이터 베이스에 실제 테이블을 만드는 작업 을 말한다. 
    시각적인 구조를 만들었으면 그것을 실제로 SQL 코딩을 통해 완성하는 단계라고 보면 된다.


 

'DB' 카테고리의 다른 글

다대다(M:N)  (0) 2023.12.18
SQL  (0) 2023.07.24
Database  (0) 2023.07.17