CS/데이터베이스

(SQLD)SQL자격검정 실전문제(데이터 모델링의 이해)

doheun 2023. 3. 18. 15:32
반응형

1.데이터 모델링의 이해

오답

2번

데이터 모델링이 필요한 주요이유 부적절한 것
데이터베이스를 구축하기 위한 용도를 위해 데이터 모델링을 수행하고 업무에 대한 설명은 별도의 표기법을 이용
->데이터모델링이라는 것은 단지 데이터베이스만을 구축하기 위한 용도로 쓰이는 것이 아니라 데이터모델링 자체로서 업무를 설명하고 분석하는 부분에서도 매우 중요한 의미를 가지고 있다

4번

데이터모델링의 유의점에 해당하는 특성
지문
데이터 모델을 어떻게 설계했느냐에 따라 사소한 업무변화에도 데이터 모델이 수시로 변경됨으로써 유지보수의 어려움을 가중시킬 수 있다. 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 모델링은 데이터 혹은 프로세스의 작은 변화가 애플리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성을 줄인다
-> 비유연성
유의점

  1. 중복
  2. 비유연성
  3. 비일관성

12번

기본엔티티

  • 업무에 원래 존재하는 정보로서 다른 엔티티와의 관계에 의해 생성되지 않고 독립적으로 생성이 가능
  • 다른엔티티로부터 주식별자를 상속받지 않고 자신의 고유한 주식별자를 가지게 된다
  • 예시로 사원,부서,고객,상품,자재 등

20번

데이터 모델링의 관계에 대한 설명

  • 데이터 모델링에서는 존재적 관계와 행위에 의한 관계는 구분하는 표기없이 없음
  • UML에서는 연관관계와 의존관계에 대해 다른 표기법을 가지고 표현하게 되어 있다

21번

관계 표기법

  1. 관계명
  2. 관계차수
  3. 선택성
    체크사항
  4. 연관규칙
  5. 정보의 조합 발생
  6. 관계연결에 대한 규칙 서술 여부
  7. 관계연결을 가능하게 하는 동사 존재 여부

29번

식별자와 비식별자 관계 비교

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

37번 38번

칼럼에 의한 반복적인 속성값을 같는 형태 - 속성의 원자성을 위배한 1차 정규화대상
반복적인 속성 각각에 대하여 개별로 Index를 생성할 경우 입력, 수정, 삭제 시 성능이 저하되므로 1차 정규화를 수행한 후 인덱스를 적용하는 것이 좋다

41번

반정규화 의 기법은 테이블 속성, 관계에 대해서 반정규화 적용, 하나의 테이블의 전체 칼럼 중 자주 이용하는 집중화된 칼럼들이 있을 때 디스크의 I/O를 줄이기 위해 해당 칼럼들을 별도로 모아 놓는 반정규화 기법은 테이블 추가 반정규화 기법 중에서 부분 테이블 추가에 해당

42번

컬럼의 반정규화

  • 중복칼럼 추가
  • 파생칼럼 추가
  • 이력테이블 칼럼추가
  • PK에 의한 칼럼 추가
  • 응용시스템 오작동을 위한 칼럼 추가

헷갈리는 문제

5번

개념적 데이터모델링
: 전사적 데이터 모델링을 수행할 때 많이 하며, 추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링을 진행하는 것

7번

ERD
부모엔티티(입력)와 자식엔티티(삭제)시 해당값의 존재 여부와 상관없음

9번 ,10번

엔티티 특징

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

14번

속성

  • 업무에서 필요로 하는 인스턴스에서 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위

16번

파생속성(계산된 값)과 기본속성(원래 가지고 있어야 하는 속성) 확실히 구분 할 것

25번

주식별자 지정시 고려 사항

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

33번

성능을 고려한 데이터 모델링의 순서

  1. 데이터 모델링을 할 때 정규화를 정확하게 수행
  2. 데이터베이스 용량산정을 수행
  3. 데이터베이스에 발생되는 트랜잭션의 유형을 파악
  4. 용량과 트랜잭션의 유형에 따라 반정규화를 수행
  5. 이력모델의 조정,PK/FK조정, 슈퍼타입/서브타입 조정 수행
  6. 성능관점에서 데이터 모델 검증

45번

칼럼수가 많은 테이블
한 테이블에 많은 칼럼들이 존재할 경우 데이터가 물리적으로 저장되는 디스크 상에 넓게 분포할 가능성이 커지게 되어 디스크 I/O가 대량으로 발생할 수 있고, 이로인해 성능 저하 가능성 있음.
-> 자주접근하는 칼럼들과 아닌 칼럼들을 구분하여 1:1로 테이블을 분리하면 성능 향상 가능

46번

파티셔닝
하나의 테이블에 많은 양의 데이터가 저장되면 인덱스를 추가하고 테이블을 몇개로 쪼개도 성능이 저하되는 경우가 있다. 이때 논리적으로는 하나의 테이블이지만 물리적으로는 여러 개의 테이블로 분리하여 데이터 액세스 성능도 향상시키고, 데이터 관리방법도 개선할 수 있도록 테이블에 적용하는 기법

48번

슈퍼타입/ 서브타입
트랜잭션은 항상 전체를 통합하여 분석 처리하는데 슈퍼-서브타입이 하나의 테이블로 통합되어 있으면 하나의 테이블에 집적된 데이터만 읽어 처리할 수 있기 때문에 다른 형식에 비해 더 성능이 우수

49번

연산자 우선순위
0. 괄호

  1. NOT
  2. 비교연산자
  3. AND
  4. OR
    SELECT 건수, 금액
    FROM 현금출급기실적
    WHERE 거래일자 BETWEEN "20130701' AND "20130702" AND 사무소코드="000368"
    이 경우 WHERE 절에서 연산자 우선순위에 의해 =가 가장 먼저 처리 되기 때문에 PK순서를 사무소코드+거래일자+출급기번호+명세표번호로 바꾸고 인덱스를 생성하는 것이 유리

51번

ERD로 표현되어 있는 데이터모델에 대한 인덱스관련 문제

  • 엔티티 간에 논리적 관계가 있을 경우 즉, 엔티티 간에 관계를 정의하여 관련 엔티티 상호간에 업무적인 연관성이 있음을 표현한 경우, 이 데이터들이 업무적으로 밀접하게 연결되어 상호간에 조인이 자주 발생한다는 것을 의미한다. 데이터베이스 상에서 DBMS가 제공하는 FK Constraints 를 생성했는지 여부와 상관없이 조인 성능을 향상시키기 위한 인덱스를 생성해 주는 것이 좋다.

52번

Global Single Instance(GSI)는 통합된 한 개의 인스턴스 (통합 데이터베이스 구조)로 분산데이터베이스와 대치되는 개념

반응형

'CS > 데이터베이스' 카테고리의 다른 글

(SQLD)SQL자격검정 실전문제(SQL기본 및 활용)  (0) 2023.03.18
(MariaDB)SQL프로그래밍  (0) 2023.02.09
(MariaDB)조인  (0) 2023.02.07
(MariaDB)내장함수  (0) 2023.02.07
(MariaDB)SQL문-DML  (0) 2023.02.06