데이터베이스 (3) 데이터 모델링

gmlwlswldbs·2021년 12월 1일
0

Computer Science

목록 보기
3/16

데이터 모델링

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

  • 데이터 모델링 : 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
  • 데이터 모델 : 데이터 모델링을 표현하는 도구
    • 개념적 구조로 표현 (개념적 모델링) -> 논리적 구조로 표현 (논리적 모델링)
      1. 데이터 구조 2. 연산 3. 제약 조건
    • 개념적 데이터 모델 : 개체-관계 모델 / 논리적 데이터 모델 : 관계 데이터 모델

개체-관계 모델

  • 개체-관계 모델 : 현실 세계를 개체 와 개체 간의 관계를 이용해 개념적 구조로 표현하는 방법
    • 개체-관계 다이어그램 (E-R 다이어그램)

개체

  • 구별되는 모든 것, E-R에서 사각형
  • 개체 타입 (entity type) : 개체를 고유의 이름과 속성들로 정의한 것
  • 다른 개체와 구별되는 이름을 가지고 있고 속성 (각 개체만의 고유한 특성이나 상태)을 하나 이상 가지고 있다
  • 개체 인스턴스 (entity instance, 개체 어커런스) : 개체를 구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체
    • ex. <정소화, 서울시 동작구, 02-111-1111, 1000>
    • 개체 집합 (entity set) : 특정 개체 타입에 대한 개체 인스턴스를 모아 놓은 것 (데이터 베이스)
    • 파일 구조에서 개체 타입은 레코드 타입, 개체 인스턴스는 레코드 인스턴스에 대응

속성

  • 개체가 가지고 있는 고유의 특성, 의미 있는 데이터의 가장 작은 논리적 단위, E-R에서 타원
  1. 속성 값의 개수
    • 단일 값 속성 : 특정 개체를 구성하는 속성 값이 하나 - 타원
      • ex. 고객 객체를 구성하는 이름, 적립금
    • 다중 값 속성 : 속성이 값을 여러 개 가질 수 있는 경우 - 이중타원
      • ex. 고객 개체를 구성하는 연락처 속성 -> 한 고객 인스턴스에 대해 집/휴대폰 등 여러 개 가질 수 있음
  2. 의미의 분해 가능성
    • 단순 속성 : 더는 분해할 수 없는 속성
      • ex. 책 객체를 구성하는 이름, ISBN, 가격
    • 복합 속성 : 의미를 분해할 수 있어 값이 여러 개의 의미를 포함하는 속성
      • ex. 고객 객체를 구성하는 생년월일 속성. 연,월,일로 의미를 세분화 가능
      • 단순 속성이 여러개 모여 만들어진 속성
  3. 유도 속성
    • 값이 별도로 저장되는 것이 아니라 기존의 다른 속성의 값(저장속성)에서 유도되어 결정되는 속성
      ex. 책 개체의 판매가격 속성. 가격과 할인율 속성(저장속성)으로 계산된다.
  4. 널 속성
    • 널 값이 허용되는 속성
      • ex. 고객 개체 인스턴스의 등급 속성 값, 사원 개체를 구성하는 병역 속성 (여자인 경우 널)
  5. 키 속성
    • 개체 집합에 존재하는 각 개체 인스턴스들을 식별하는 데 사용. 밑줄 그어 표현
      • ex. 고객 객체의 고객 아이디
    • 둘 이상의 속성으로 구성하기도
      • ex. 고객 아이디 없는 경우 고객명 + 전화번호

관계

  • 개체와 개체가 맺고 있는 의미 있는 연관성 , 마름모
  • 개체 집합들 사이의 대응관계(매핑)을 의미
  • 속성을 가질 수 있다
  • 관계의 유형 (매핑 카디널리티를 기준으로)
    • 매핑 카디널리티 : 관계를 매즌ㄴ 두 개체 집합에서 각 인스턴스가 연관성을 맺고 있는 상대 개체 집합의 인스턴스 개수
    1. 일대일 관계
      • ex. 남편과 아내 개체의 혼인 관계
    2. 일대다 관계
      • ex. 부서와 사원 개체의 소속 관계
    3. 다대다 관계
      • ex. 고객과 책 개체의 구매 관계
  • 관계의 참여 특성
    1. 필수적 참여 관계 : 관계에 반드시 참여 - 이중선
    2. 선택적 (부분) 참여 관계 : 개체 집합 속 인스턴스가 일부만 참여해도 됨
  • 관계의 종속성
    • 존재 종속 : 개체 B가 독자적으로는 존재할 수 없고 다른 개체 A의 존재 여부에 의존적. A가 삭제되면 같이 삭제. A - 오너 개체 B - 약한 개체(이중 사각형), 관계는 이중 마름모
    • ex. 학생 개체와 학부모 객체 사이의 보호 관계
    • 오너 개체-약한 개체는 일대다의 관계. 약한 개체는 오너 개체와의 관계에 필수적 참여
    • 구별자 또는 부분키 : 약한 개체를 구별하는 역할을 하는 속성
  • E-R 다이어그램

논리적 데이터 모델

  • 논리적 데이터 모델의 개념과 특성
    • 논리적 데이터 모델 : 사용자가 생각하는 데이터베이스의 모습
      • 2차원 테이블 형태의 관계 데이터 모델, 계층 데이터 모델, 네트워크 데이터 모델 등
  • 계층 데이터 모델
    • 트리 형태의 논리적 구조
    • 개체(사각형), 관계(연결선), 두 개체 사이의 관계를 하나만 정의 가능, 일대다 관계만 표현 가능
    • 다대다 관계 표현하려면 개체 추가해서 만들어야함
    • 사이클은 존재하지 않고 트리 구조이기 때문에 루트있음. 부모-자식 관계
    • 구조가 복잡, 연산과 검색 쉽지 않다
  • 네트워크 데이터 모델
    • 그래프, 네트워크 형태
    • 개체(사각형), 관계(화살표, 일대다만 표현 가능, 두개로 다대다 표현), 오너 멤버 관계
    • 계층 데이터 모델보다 자연스럽게 모델링하지만 복잡해지고 연산과 검색이 더 어렵다
  • 관계데이터모델

0개의 댓글