ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [SQLD] SQL 개발자 공부하기 Day 3 : 데이터 모델링의 이해 오답 노트
    Study/SQL 2024. 2. 18. 19:32
    728x90
    반응형
    목차
    1. 데이터 모델링의 이해 오답 노트

    1. 데이터 모델링의 이해 오답 노트

     

     

    이기적 SQL 개발자 이론서 + 기출문제 문제집을 풀었고,
    데이터 모델링의 이해 예상문제 30문제 중 12개를 틀렸다. 

     

    오답 풀이

    데이터모델링

    8. 개념적 모델링, 논리적 모델링, 물리적 모델링 중 가장 높은 수준의 추상화를 요구하는 모델링 단계는 개념적 모델링이다.

    개념적 모델링 -> 논리적 모델링 -> 물리적 모델링으로 올라갈수록 구체적인 것이 된다.
    그러므로 개념적 모델링이 제일 추상적이다.

     

     

    관계와 속성

    1. 하나의 릴레이션에서 튜플의 전체 개수를 릴레이션의 카디널리티라고 한다. 

    카디널리티는 하나의 릴레이션에서 튜플의 전채 개수를 의미한다.

     

     

    3. 성별이라는 칼럼은 남성 혹은 여성 값만 카질 수 있다면, 성별이라는 칼럼의 제약조건은 도메인이다. 

    도메인은 속성이 가질 수 있는 값의 범위이다.

     

     

    3층 스키마

    10. 3층 스미카 중에서 조직 전체적인 관점을 통합을 표현하는 계층은 개념 스키마이다. 

    개념 스키마는 사용자 전체 집단의 데이터베이스 구조이며, 통합 데이터베이스 구조이다.
    728x90

     

    엔터티

    5. 키 엔터티, 메인 엔터티, 개념 엔터티, 행위 엔터티 중 관련성이 없는 엔터티는 개념 엔터티이다. 

    발생 시점에 따른 엔터티 종류는 기본 엔터티, 중심 엔터티, 행위 엔터티이다.
    기본 엔터티는 키 엔티티라고도 한다.
    중심 엔터티는 메인 엔티티라고도 하는 거 같다.

     

     

    6. 키 엔터티, 메인 엔터티, 개념 엔터티, 행위 엔터티 중 데이터 양이 가장 많을 엔터티는 행위 엔터티이다. 

    기본 엔터티 -> 중심 엔터티 -> 행위 엔터티로 올라가면서 지속적으로 정보가 축적되고 변경되기 때문이다.

     

     

    12. 식별자는 존재해야 하지만, 유일한 식별자가 없을 수 있는 것은 엔터티의 특징이 아니다. 

    엔터티의 특징
    1) 유일한 식별자가 있어야 함.
    2) 두 개 이상의 인스턴스가 있어야 함.
    3) 속성을 가지고 있어야 함.
    4) 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함.
    5) 업무에서 관리되어야 하는 집합임.

     

     

    19. 본질 식별자와 인조 식별자 식별자의 대체 여부로 식별자를 분류한 것이다. 

    식별자의 대표성 여부: 주 식별자 vs 보조 식별자
    식별자의 속성 수 : 단일 식별자 vs 복합 식별자
    식별자의 대체 여부 : 본질 식별자 vs 인조 식별자
    식별자의 생성 여부 : 내부 식별자 vs 외부 식별자

     

     

    정규화와 반정규화

    21. 반정규화는 데이터 독립성을 향상시키는 방법이 아니다.

    독립성이 향상된다는 말은 유연성이 높아진다랑 비슷한 의미인 듯.
    정규화는 데이터 모델의 유연성을 높인다.
    3층 스키마는 데이터베이스의 독립성을 확보하기 위한 방법이다.
    데이터 모델링의 유의점으로 중복, 비유연성, 비일관성이 있는데, 그 중 비유연성은 데이터 정의를 데이터 프로세스와 분리해 유연성을 높여야 한다라는 뜻이다.
    반정규화는 성능을 향상시키지만 유연성이 낮아진다.
    반응형

    22. 반정규화를 수행하고 입력을 하는 것은 반정규화를 통한 성능 향상과 관련이 낮다. 

    반정규화는 SELECT문에서 조인을 줄인다, 데이터 중복을 허용한다.

    문제 해설과 인터넷 검색으로도 왜 오답인지 잘 모르겠어서 GPT의 도움을 받았다.

    1) Nested Loop 방식의 조인을 조회해서 반정규화를 수행하여 조인을 제거했다.
    -> 이는 반정규화의 일반적인 사례로, 조인을 줄임으로써 성능 향상을 기대할 수 있습니다.
    2) 데이터의 중복을 허용하여 SELECT문이 간단하게 변경되었다.
    -> 반정규화 과정에서 일부러 데이터 중복을 허용하여 성능을 개선하는 경우가 있으며, 이로 인해 SELECT문이 더 단순해질 수 있습니다.
    3) 반정규화를 수행하고 입력을 했다.
    -> 이 항목은 구체적이지 않으며, '입력을 했다'는 부분이 반정규화와 직접적인 연관이 없어 보입니다. 반정규화는 주로 조회 성능에 초점을 맞추지, 입력 작업과는 관련이 적습니다.
    4) 야간에 배치로 합계를 미리 계산 후의 SELECT문을 사용한다.
    -> 이는 반정규화의 한 예로, 계산된 집계값을 저장해 놓음으로써 실시간 계산에 따른 부하를 줄일 수 있습니다.

     

     

    23. 제3정규화는 주식별자와 관련성이 없다. 

    제3정규화는 이행함수종속성을 제거한다.
    이행함수종속성은 기본키를 제외하고 칼럼 간에 종속성이 발생하는 것이다.

     

     

    26. 데이터 모델링 시 기본 키를 선정한 후에도 후보 키가 존재하며, 후보 키가 기본 키의 속성 중 하나를 함수적으로 종속하는 것BCNF이다.

    BCNF는 기본 키 제외 후보 키가 있는 경우, 후보 키가 기본 키를 종속시키면 분해한다.

     

    728x90
    반응형

    댓글

Designed by Tistory.