SQLD 1과목 오답

AnalytiCode·2025년 5월 25일
post-thumbnail

3회차

1과목

Q1. 다음 중 아래에서 설명하는 데이터모델의 개념으로 가장 적절한 것은?
학생이라는 엔터티에서 학년이라는 속성 값의 범위는 1~4 사이의 정수이며, 주민번호 속성은
13자리 이내 문자열로 정의할 수 있다.

① 도메인
② 릴레이션
③ 시스템카탈로그
④ 속성사전

속성값의 범위를 얘기하고 있음 -> 도메인

Q10. 다음이 설명하는 식별자로 가장 적절한 것은?
다른 엔터티 참조 없이 엔터티 내부에서 스스로 생성되는 식별자

내부식별자

식별자

  • 대표성 여부에 따른 식별자
    주식별자(#) vs 보조 식별자(후보키, o)

  • 생성 여부에 따른 식별자
    내부식별자(엔터티 내부에서 스스로 생성) vs 외부식별자(관계로 인해 생성, 외래키, *)

  • 속성 수에 따른 식별자
    단일 식별자 vs 복합 식별자

  • 대체 여부에 따른 식별자
    본질식별자(비즈니스, 원조) vs 인조식별자(인위적, 일련번호-자동증가)

    ✅ 본질식별자란?
    "해당 엔터티가 현실에서 가지는 고유한 특성(속성)"으로 식별하는 것.
    즉, 실제 비즈니스 세계에서 원래부터 가지고 있는 고유 정보로 구분하는 경우로 의미가 있고 바뀌기 어려운 것
    ex)주민등록번호

    이메일 주소나 전화번호의 경우 바뀔 수도 있고 고유하지 않을 수도(중복값) 있어서 항상 본질이라고 하기는 어려움.

4회차

1과목

엔터티 분류

    1. 유형 vs 무형
    • 유형 엔터티 : 물리적인 형태 존재 (상품, 강사)
    • 개념 엔터티 : 물리적인 형태 없음 (학과, 코스닥)
    • 사건 엔터티 : 행위를 함으로써 발생 (이벤트 응모, 주문)
    1. 발생시점
    • 기본 엔터티 : 업무에 원래 존재하는 정보, 독립적으로 생성되며 자식 엔터티를 가질 수 있음 (고객, 상품)
    • 중심 엔터티 : 기본 엔터티로부터 발생하고 업무에서 중심적인 역할 (주문, 취소)
    • 행위 엔터티 : 두 개 이상의 부모 엔터티로부터 발생, 내용이 자주바뀌거나 증가할 수 있음 (주문 내역, 취소 내역)

Q2. 엔터티 분류 중 유형과 무형에 따른 분류가 아닌 것은?

① 유형엔터티
② 개념엔터티
③ 사건엔터티
④ 행위엔터티

행위 엔터티는 발생 시점에 따른 분류

관계

  • 관계명(Membership) : 관계의 이름, 모든 관계는 두 개의 관계명을 가지는데, 각 엔터티의 관점에서 관계명을 하나씩 가지기 때문

    관계는 두 개의 엔터티 사이의 연관성을 의미.
    이때, 각각의 엔터티 입장에서 이 관계를 부르는 이름(역할)이 따로 있음.
    그래서 “관계명은 두 개”라고 말하는 것

    엔터티관계명
    학생수강한다 (takes)
    수업수강된다 (is taken)
  • 관계차수(Cardinality) : 관계에 참여하는 수, 일반적으로 1:1, 1:M, M:N 형식으로 구분
  • 관계선택사양(Optionality) : 선택참여관계→참여하는 엔터티가 항상 참여하는지 아니면 참여할 수도 있는지를 나타내는 방법

Q4. 다음 중 관계를 구성하는 요소가 아닌 것은?

① 관계명
② 차수(Cardinality)
③ 선택성(Optionality)
④ 관계정의

관계 = 관계명 + 차수 + 선택성

식별자 - 식별자와 비식별자 관계

  • 식별자 관계 : 부모 엔터티의 식별자가 자식 엔터티의 주식별자가 되는 관계, 부모 엔터티가 있어야 생성 가능하며 단일식별자인지 복합식별자인지에 따라 1:1이거나 1:M이거나 결정

    order

    주문ID (PK)고객ID
    1001A123

    order item

    주문ID (PK, FK)상품ID (PK)수량
    1001P0012
    1001P0021

    여기서 OrderItem의 PK는 (주문ID + 상품ID)
    즉, 부모(주문)의 PK가 자식(주문상세)의 PK로 식별자 역할을 하고 있음 → 식별자 관계
    하나의 주문에는 여러 개의 상품이 들어갈 수 있음
    주문상세는 주문이 없으면 존재할 수 없음

  • 비식별자 관계 : 부모 엔터티의 식별자가 자식 엔터티의 주식별자가 아닌 일반 속성이 되는 관계, 부모 엔터티가 없는 자식 엔터티 생성이 가능하고, 자식 엔터티가 존재하는 상태에서 부모 엔터티가 삭제될 수도 있음

    professor

    교수ID (PK)이름
    P01김교수

    student

    학생ID (PK)이름지도교수ID (FK)
    S001철수P01

    여기서 학생ID는 독립적인 PK
    지도교수ID는 그냥 일반 속성(FK)
    → 부모 PK가 자식 PK에 포함되지 않음 → 비식별자 관계

    학생은 교수와 연결되긴 하지만,
    교수 없이도 학생은 미리 등록 가능
    교수 사라져도 학생 정보는 남아 있음

Q5.다음 중 아래 개념이 설명하는 관계로 가장 적절한 것은?
부모 엔터티의 주식별자를 상속받아 자식 엔터티에서 외부식별자이면서 주식별자로 사용하는 관계

① 식별관계
② 비식별관계
③ 필수관계
④ 선택관계

부모 엔터티의 주식별자를 상속받아 자식 엔터티에서 외부식별자이면서 주식별자로 사용하는 관계는 식별관계이다.

정규화

제1 : 하나에 하나, 반복제거
제2 : 완전함수종속
제3 : 이행적 종속 제거
BCNF : 결정자가 후보키
제4 : 다중값 종속 제거
제5 : 조인에 의한 종속성 분해

Q6.다음 엔터티는 어떤 정규화를 위배한 것인가? (단, 고객번호+상품명이 PK임)

① 제 1 정규화
② 제 2 정규화
③ 제 3 정규화
④ 제 4 정규화

기본키(고객번호+상품명) 중 상품명에 의해 가격이 결정(부분함수종속)되므로 완전 함수 종속성을 위배하였다. 따라서 제 2 정규화 규칙을 위반하였다.

주식별자 특성

주식별자란? 기본키, PK에 해당하는 속성, 하나의 속성이 주식별자가 될 수도 있고, 여러 개의 속성이 주식별자가 될 수도 있다.

  • 유일성 : 각 인스턴스에 유니크함을 부여하여 식별이 가능하도록 한다.
  • 최소성 : 유일성을 보장하는 최소 개수의 속성이어야 한다.
  • 불변성 : 속성값이 되도록 변하지 않아야 한다.
  • 존재성 : 속성값이 NULL일 수 없다.

Q10.다음의 주식별자가 나타내는 특징을 가장 잘 설명한 것은?
주식별자를 구성하는 속성 중에서 유일성을 만족하는 최소한의 속성으로 구성한다.

① 유일성
② 최소성
③ 단일성
④ 존재성

주식별자를 구성하는 속성 중에서 유일성을 만족하는 최소한의 속성으로 구성하는 특성은 최소성이다.

단일성은 속성의 분류에서, 단일식별자(하나의 속성으로 구성된 식별자) vs 복합식별자에서 쓰임.

0개의 댓글