Home 실전문제) 1과목 1장 - 데이터 모델링 이해
Post
Cancel

실전문제) 1과목 1장 - 데이터 모델링 이해

“2장 - 데이터 모델과 성능” 바로가기


4번 - 데이터 모델링 유의점

  “데이터의 정의를 데이터의 사용 프로세스와 분리”
  => 비유연성

  • 중복Duplication
    : 데이터 모델은 같은 데이터 사용하는 사람, 시간, 장소 파악에 도움 줌.
  • 비유연성Inflexibility
    : 데이터 정의를 데이터 사용 프로세스와 분리하기
      => 데이터, 프로세스의 작은 변화가 앱과 DB에 중대 변화 발생 가능성 낮춤.
  • 비일관성Inconsistency
    :데이터와 데이터 사이의 상호 연관 관계에 대해 명확하게 정의하기.



5번 - 데이터 모델링 3단계

  데이터모델링 3단계

  • 개념적
    : 추상화 수준 high, 업무중심적/포괄적 수준 모델링.
     전사적 데이터 모델링
  • 논리적
    : 시스템으로 구축하려는 업무에 대한 Key, 속성, 관계 명확히 표현.
     재사용성 high
  • 물리적
    : 실제로 DB에 이식 가능하도록 성능, 저장 등 물리적 성격 고려 설계.



6번 - DB 스키마 구조 3단계

  • 외부 스키마
    : View 단계의 여러 개 user 관점으로 구성.
     DB의 user나 응용프로그래머가 접근하는 DB 정의.
  • 개념 스키마
    : 모든 user 관점 통합한, 조직 전체의 DB를 기술.
     DB에 저장되는 데이터와 그들 간의 관계 표현.
  • 내부 스키마
    : DB가 물리적으로 저장된 형식.
     물리적 장치에서 데이터가 저장되는 방법 표현한 스키마.



9번 - 엔터티의 특징

  • 반드시 해당 업무에서 필요하고, 관리하고자 하는 정보여야 함.
  • 유일한 식별자에 의해 식별 가능해야 함.
  • 영속적으로 존재하는 인스턴스의 집합이어야 함.   (두 개 이상)
  • 업무 프로세스에 의해 이용돼야 함.
  • 반드시 속성이 있어야 함.
  • 다른 엔터티와 최소 한 개 이상의 관계 있어야 함.



12번 - 엔터티 분류

  • 기본 엔터티
    : 대상 업무에 원래 존재하는 정보.
     다른 엔터티와 관계에 의해 생성되지 않고 독립적 생성.
     자신은 타 엔터티의 부모 역할.
     타 엔터티로부터 주식별자 상속받지 않고, 자신 고유 주식별자 가짐.
     e.g. - 사원, 부서, 고객, 상품, 자재



15번 - 속성

엔터티, 인스턴스, 속성, 속성값 관계

  • 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 함.
  • 한 개의 엔터티는 두 개 이상의 속성을 가짐.
  • 한 개의 속성은 한 개의 속성값을 갖는다.

속성의 정의

  • 업무에서 필요로 함.
  • 의미상 더 이상 분리되지 않음.
  • 엔터티를 설명하고 인스턴스의 구성요소.

속성의 특징

  • 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 함.
  • 정규화 이론에 근거하여 주식별자에 함수적 종속성 가져야 함.
  • 하나의 속성에는 한 개의 값만을 가짐.
    하나의 속성에 여러 개의 값 있는 다중값이면 별도 엔터티로 분리.

속성의 분류

  • 기본속성
    : 업무로부터 추출한 모든 속성.
  • 설계속성
    : 업무상 필요한 데이터 이외에,
     데이터 모델링, 업무 규칙화 위해 속성 새로 생성/변형/정의하는 속성.
     코드성 속성은 원래 속성을 업무상 필요에 의해 변형하여 만든 설계속성.
     e.g. - 일련번호
  • 파생속성
    : 다른 속성에 영향 받아 발생하는 속성.
     계산된 값들이 여기에 해당.
     데이터 정합성 유지 고려!



18번 - 도메인

  각 속성이 가질 수 있는 값의 범위.
 => 이걸 그 속성의 도메인.
 ==> 엔터티 내에서 속성에 대한 데이터타입, 크기, 제약사항 지정.



21번 - 관계

  엔터티와 인스턴스 사이의 논리적인 연관성.
 존재/행위의 형태로서 서로에게 연관성이 부여된 상태.

표기법

  • 관계명
  • 관계차수
  • 관계선택사양

관계 체크사항

두 엔터티 사이에서 관계 정의 시 체크할 사항

  • 두 엔터티 사이에 관심있는 연관규칙 존재하는가?
  • 두 엔터티 사이에 정보의 조합이 발생하는가?
  • 업무기술서, 장표에 관계연결 관한 규칙이 서술돼 있는가?
  • 업무기술서, 장표에 관계연결 가능케 하는 동사가 있는가?



25번 - 주식별자

주식별자
: 엔터티에 대해 각각을 구분할 수 있는 논리적 이름(구분자)

특징

  • 유일성
    : 주식별자 의해 엔터티 내 모든 인스턴스들이 유일하게 구분돼야 함.
  • 최소성
    : 주식별자를 구성하는 속성 수는 유일성 만족하는 최소의 수 돼야 함.
  • 불변성
    : 지정된 주식별자의 값은 자주 변하지 않는 것이어야 함.
  • 존재성
    : 주식별자가 지정 되면 반드시 값이 들어와야 함.

그 외 식별자

  • 본질식별자
    : 업무에 의해 만들어지는 식별자
  • 인조식별자
    : 업무적으로 만들어지지 X.
     원조식별자의 복잡한 구성으로 인해 인위적으로 만든 것.



29번 - 식별자관계/비식별자관계

항목식별자관계비식별자관계
목적강한 연결관계
표현
약한 연결관계
표현
자식 주식별자
영향
자식 주식별자의
구성에 포함됨.
자식 일반속성에
포함됨.
표기법실선점선
연결
고려사항
- 반드시 부모엔터티 종속
- 자식 주식별자 구성에
  부모 주식별자포함 必
- 상속받은 주식별자 속성을
  타 엔터티에 이전 필요
- 약한 종속관계
- 자식 주식별자 구성을
  독립적 구성
- 자식 주식별자 구성에
  부모 주식별자 부분적 필요
- 상속받은 주식별자속성을
  타 엔터티에 차단 필요
- 부모쪽의 관계참여가
  선택관계



30번 - 비식별자관계 외부속성 생성

  • 자식 엔터티에서 받은 속성이 반드시 필수가 아니어도 무방하므로
    부모 없는 자식이 생성될 수 있는 경우.

  • 엔터티별로 데이터 생명주기를 다르게 관리할 경우.
    ex) 부모 엔터티에 인스턴스가 자식의 엔터티와 관계 가지고 있었으나,
      자식만 남겨두고 먼저 소멸될 수 있는 경우.
    =>(방안) 물리 DB 생성 시 Foreign Key를 연결하지 않는 임시적 방법.
    이것보다는, 데이터 모델상에서 관계를 비식별자로 조정하는 것!

  • 여러 개의 엔터티가 하나로 통합되어 표현되었을 때
    각각의 엔터티가 별도의 관계를 가질 때.

  • 자식엔터티에 주식별자로 사용해도 되지만,
    자식엔터티에서 별도 주식별자 생성하는 것이 더 유리하다 판단될 때
    비식별자 관계에 의한 외부식별자로 표현.

Contents