4장:데이터 모델링

Icarus<Wing>·2022년 10월 17일
0

basic DB

목록 보기
4/11

데이터 모델링

  • 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 과정
  • 추상화:어떤 특정 작업에서 내가 필요로 하는 정보만 추출

2단계 데이터 모델링

개념적 데이터 모델링(ER 다이어그램으로 실현) -> 논리적 데이터 모델링(릴레이션으로 실현) -> 데이터 구조화(실제 DB에 저장)

  • 중요도: 개념적 데이터 모델링 > 논리적 데이터 모델링
    why? 고객의 요구사항을 만족시키는 ER다이어그램을 못그리면, 릴레이션 변환도 못해서 DB에 정확히 저장할 수 없음

개체-관계 모델

개체

  • 저장할 가치가 있는 중요 데이터가 있고, 다른 것과 구별됨
    예)서점에 필요한 개체:고객, 책
    -사각형으로 표현, 사각형 안에 개체 이름을 표기

속성

  • 개체나 관계가 가지고 있는 고유의 특성
  • 타원으로 표현, 타원 안에 속성이름을 표기

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

  • 개체 인스턴스:개체를 구성하고 있는 속성이 실제값을 가짐(튜플,레코드에 해당)

  • 개체 집합:개체 인스턴스들을 모아놓은 것

  • 단일 값 속성:값을 하나만 가질 수 있는 속성

  • 다중 값 속성:값이 여러개, 이중 타원으로 표현

  • 단순 속성:의미를 분해할 수 없는 속성 예)고객 개체의 아이디, 책 개체의 이름 및 가격

  • 복합 속성:의미를 분해할 수 있는 속성 예)고객 개체의 생년월일->연,월,일로 세분화

이분화된 개념이 아니라, 사용 목적에 따라 속성부류가 달라짐

  • 유도 속성:다른 속성의 값에서 유도되어 결정되는 속성, 점선 타원으로 표현
  • 값이 별도로 저장되지 않음 예)책 개체의 가격과 할인율 -> 판매가격 속성

널 속성

  • 널 값이 허용되는 속성
  1. 속성 값이 그 개체에 "해당되지 않는(N/A)"경우 예) 병역(여학생)
  2. 속성 값을 "알수 없는" 경우
    • 존재하는데 누락(missing)된 경우 예:이름( )
    • 존재하는지 조차 알수 없어 모르는(not known) 예:취미

    키 속성

  • 각 개체 인스턴스를 식별하는데 사용되는 속성, E-R 밑줄로 표현(주로 기본키)

    관계

  • 개체와 개체가 맺고 있는 연관성, 매핑을 의미, 마름모로 표현
    예)고객 개체와 책 게체 간의 구매관계

    매핑 카디널리티(제약조건 1)

  • 관계를 맺는 두 개체 집합에서, 각 개체 인스턴스가 연관성을 맺고 있는 상대 개체 집합의 인스턴스 개수

  1. 일대일 관계:개체 A의 개체 인스턴스가 개체 B의 개체 인스턴스 하나와 관계를 맺음
    ->함수 관계 성립 예)남편 개체와 아내 개체는 부부 또는 결혼이라는 관계를 갖는데, 일부일처제에 의해 일대일 관계를 갖는다.

  2. 일대다 관계:개체 A의 개체 인스턴스가 개체 B의 개체 인스턴스 여러 개와 관계를 맺음 -> 개체 A에 대해서는 함수 관계 불성립, 개체 B는 함수관계 성립
    예)부서 개체와 사원 개체는 소속이라는 관계를 갖고 일대다 관계이다

3.다대다 관계:둘다 개체 인스턴스 여러 개와 관계를 맺을 수 있어서 함수 관계 불성립 예)고객 개체와 책 개체는 구매(또는 소유)라는 관계를 통하여 다대다 관계를 갖는다.

관계의 참여 특성(제약조건 2)

  • 전체 참여:모든 개체 인스턴스가 관계에 반드시 참여해야 되는 것을 의미
    이중선으로 표현, 엄격한 제약조건이라 거의 사용되지 않음
    ->주로 약한 개체의 관계표현에 사용된다.

  • 부분 참여:개체 인스턴스 중 일부만 관계에 참여해도 되는 것
    예)학생-과목(휴학 등 허용), 고객이 책을 구매하지 않을 수 있음

    다대다 관계인데 꼭 관계에 전체참여일 필요는 없다

존재 종속 관계(제약조건 3)

  • 강한 개체:다른 개체의 존재 여부를 결정하는 개체
  • 약한 개체:종속적인 개체, 약한 개체집합 내에서 서로 구별할 수 있는 부분키를 가짐, 이중 사각형으로 표현, 관계는 이중 마름모로 표현
  • 특징
    • 강한 개체와 약한 개체는 일다대의 관계가 성립
    • 약한 개체는 강한 개체와의 관계에 필수적으로 참여(이중선)
    • 약한 개체는 강한 개체의 키를 포함하여 키를 구성(후에 배우는 릴레이션 변환에서 아주 중요하다)

    3원 관계


profile
모든 코드에는 이유가 있기에 원인을 파악할 때까지 집요하게 탐구하는 것을 좋아합니다.

0개의 댓글