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

데이터 모델링(data modeling): 현실세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환과정
추상화(abstraction): 현실세계의 특징을 잘 묘사하는 데이터를 뽑아내는 것

개념적 모델링(conceptual modeling): 묘사하고자 하는 대상에 대한 중요 데이터를 추출하여 개념 세계로 옮기는 작업
논리적 모델링(logical modeling): 개념 세계의 데이터를 데이터베이스에 저장할 구조를 결정하고 이 구조로 표현하는 작업
개념적 모델링 + 논리적 모델링 = 데이터 모델링

데이터 모델(data model): 데이터 구조+연산+제약조건

개체ㅡ관계 모델

개체-관계 모델 : 개체(entity)와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현하는 방법
개체-관계 다이어그램 : 현실 세계를 개체-관계모델을 이용해 개념적으로 모델링 하여 그림으로 표현한 것

  1. 개체
    개체(entity): 현실 세계에서 조직을 운영하는데 꼭 필요한 사람이나 사물같이 구별되는 모든 것

    개념적으로만 존재하는 사건이나 개념도 개체가 될 수 있다.
    개체 타입(entity type): 개체를 고유한 이름과 속성들로 정의한 것
    개체 인스턴스(entity instance), 개체 어커런스(entity occurrence): 속성이 실제 값을 가지므로서 실체화 된 개체
    개체 집합(entity set): 특정 개체 타입에 대한 개체 인스턴스들을 모아놓은 것

  2. 속성
    • 단일 값 속성과 다중 값 속성
      단일 값 속성: 인스턴스당 하나의 값만 있는 것(ex. 고객 이름, 고객 적립금)
      다중 값 속성: 인스턴스당 여러개의 값을 가지는 것(ex. 고객 전화번호, 책 저자)
    • 단순 속성과 복합 속성
      단순 속성: 더는 분해할 수 없는 속성(ex. 고객 아이디, 책 이름)
      복합 속성: 의미를 분해할 수 있어 값이 여러개의 의미를 포함하는 것(ex. 주소, 생년월일)
    • 유도 속성
      저장 속성: 값이 실제로 저장되어 있는 속성(ex. 가격, 할인율)
      유도 속성: 값이 별도로 저장되는 것이 아니라 기존의 다른 속성 값에 유도되어 결정되는 속성( ex. 판매가격 = (가격*(1-할인율)) )
    • 널 속성
      널 값: 아직 결정되지 않았거나 모르는 값, 존재하지 않는 값
      널 속성: 널 값이 허용되는 속성
    • 키속성
      키 속성: 개체 집합에 존재하는 각 개체 인스턴스들을 식별하는 데 사용

      키를 둘 이상의 속성들로 구성하기도 함

  3. 관계

관계 타입(relationship type): 개체와 개체 사이에 정의된 구매 관계(관계 타입도 속성을 가질 수 있다.) (ex. 고객(개체)과 책(개체) 사이에 구매(관계 타입) 정의, 구매의 속성으로 구매일자(속성), 결제방식(속성)을 가진다)
관계 인스턴스: 관계타입이 실제 값을 가지므로서 실체화 된 관계
- 관계의 유형
관계 참여하는 개체 타입의 수에 따른 분류: 이항 관계(개체 타입 2개가 맺는 관계), 삼항 관계(개체 타입 3개가 맺는 관계), 순환 관계(개체 타입 1개가 자기 자신과 맺는 관계)
매핑 원소의 수, 즉 매핑 카디널리티(mapping cardinality) 기준으로 분류 : 일대일, 일대다, 다대다
- 일대일 관계
- 일대다 관계
- 다대다 관계
- 관계의 참여 특성
A와 B의 관계를 생각한다
A의 모든 개체 인스턴스가 관계에 반드시 참여해야 하는 상황 : 'A가 관계에 필수적(or 전체) 참여한다'
A의 개체 인스턴스 중 일부만 관계에 참여해도 되는 상황: 'A가 관계에 선택적(or 부분) 참여한다'
- 관계의 종속성
A와 B의 관계를 생각한다
개체 B가 독자적으로는 존재할 수 없고, 다른 개체 A의 존재 여부에 의존적인 상황: '개체 B가 개체 A에 종속되어 있다' -> A가 존재해야 개체 B가 존재할 수 있고, A가 삭제되면 B도 삭제한다(생명주기가 A에 종속적이다) 이때 A를 강한 개체, B를 약한 개체fk gksek.
4. E-R 다이어그램

논리적 데이터 모델

  1. 논리적 데이터 모델의 개념과 특성
    앞서 설명한 개념적 데이터모델(개체-관계 모델)은 사람들의 머리속에 그려지는 개념적 모델임
    하지만, 이를 논리적 데이터 모델링을 하기 위해서 DBMS의 종류가 중요함
  2. 계층 데이터 모델
  3. 네트워크 데이터 모델

'DB' 카테고리의 다른 글

관계 데이터 모델  (0) 2022.04.10
데이터베이스 시스템  (0) 2022.04.09
데이터베이스 관리 시스템  (0) 2022.04.09
데이터베이스 기본개념  (0) 2022.04.09

+ Recent posts