LabHub

SI DB 운영 · 스키마 설계와 표준 · 퀴즈

퀴즈: 스키마 설계와 표준

LabHub 에서 이어서 보기

문항 7개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. 데이터 표준을 표준단어 → 표준도메인 → 표준용어 순으로 정하는 이유는?

    1. 감리 산출물 목록에 그 순서로 명시돼 있어 순서를 바꾸면 지적받기 때문
    2. 단어와 도메인을 먼저 고정하면 누가 만들어도 같은 이름과 같은 타입·길이가 나와서
    3. DBMS 의 카탈로그가 그 순서로 참조를 검증하기 때문에
    4. 모델링 도구가 그 순서로만 정의서를 생성할 수 있기 때문에
  2. 복합 인덱스 컬럼 순서에 대한 기본 규칙으로 옳은 것은?

    1. 등치 조건으로 쓰는 컬럼을 앞에, 범위 조건으로 쓰는 컬럼을 뒤에 둔다
    2. 테이블 정의서의 컬럼 순서를 그대로 따라 헷갈리지 않게 한다
    3. 저장 크기가 작은 타입을 앞에 두어 인덱스 페이지를 아낀다
    4. NULL 이 적은 컬럼을 앞에 두어 스캔 범위를 줄인다
  3. 테이블정의서에 '필수 항목'이라고 적었는데 DDL 에 NOT NULL 이 없을 때의 결과는?

    1. DB 가 정의서와 스키마를 대조해 경고를 남기므로 배포 전에 발견된다
    2. 제약이 없어 NULL 이 들어가고, 대개 조회 오류나 통계 불일치로 뒤늦게 드러난다
    3. 애플리케이션의 검증 계층이 막아 주므로 실제 데이터에는 영향이 없다
    4. 제약 검사가 빠져 삽입이 빨라지는 대신 조회에서 손해를 본다
  4. 국내 SI 에서 날짜를 `CHAR(8) YYYYMMDD` 로 유지하는 관행에 대한 가장 균형 잡힌 판단은?

    1. 타입 선택은 표준을 따르는 것이 맞으므로 신규는 예외 없이 DATE 로 간다
    2. 고정길이 비교가 빨라 CHAR(8) 이 DATE 보다 조회 성능이 늘 유리하다
    3. 연동·이관 지점이 많으면 변환 누락이 조용한 오류가 되므로 '합의' 로 판단해야 한다
    4. 레거시 DBMS 가 DATE 를 지원하지 않아 어쩔 수 없이 굳어진 관행이다
  5. 논리 삭제(`DEL_YN`)를 쓰는 시스템에서 가장 흔한 사고는?

    1. 지운 행이 계속 남아 테이블이 커지면서 디스크가 모자라는 것
    2. 삭제 표시 컬럼의 값이 한쪽으로 치우쳐 인덱스가 무용해지는 것
    3. 조회 쿼리에서 삭제 조건을 빠뜨려 삭제된 데이터가 화면에 노출되는 것
    4. 삭제 표시 갱신이 몰리면서 같은 행을 두고 교착 상태가 생기는 것
  6. 데이터 이관 시 인덱스를 삭제하고 적재한 뒤 다시 만드는 이유는?

    1. 인덱스가 이관 데이터를 손상시키기 때문
    2. INSERT 마다 모든 인덱스가 갱신되어 대량 적재가 크게 느려지기 때문
    3. 인덱스가 있으면 CSV 적재가 불가능하기 때문
    4. 인덱스는 이관 후 자동으로 재생성되기 때문
  7. 테이블정의서를 DB 메타데이터에서 생성하도록 만드는 실무적 이점은?

    1. 문서를 손으로 적는 시간이 줄어 산출물 작성 공수가 절약된다
    2. 정의서 생성 과정에서 통계가 갱신되어 조회 성능이 함께 좋아진다
    3. 문서와 실제 스키마가 어긋나지 않고, 사람은 설명만 관리하면 된다
    4. 자동 생성 산출물은 감리에서 신뢰도가 높아 평가에 유리하다