공부하기싫어

데이터 모델 성능 이론 확인 문제 6문제와 데이터모델의 이해 단원 정리 문제 30문제를 풀어보고 오답노트까지 해보자

 

 

 

1. 다음중 데이터 중복을 제거하여 데이터 모델의 유연성을 향상시키는 것이 아닌 것은?

① 정규화

② 3층 스키마

③ 반정규화

④ 이상현상 제거

 

내가 고른 답 : 3

정답 : 3

해설 : 반정규화는 데이터 중복을 허용하여 성능을 항샹시키는 방법이다.

 

 

2. 이행 함수 종속성을 제거하는 정규화 단계는?

① 제1정규화

제2정규화

제3정규화

④ BCNF

 

내가 고른 답 : 4

정답 : 3

해설 : 제3정규화는 기본키를 제외한 칼럼간의 종속성을 제거하는 이행 함수 종속성을 제거한다.

 

 

3. 반정규화를 수행하는 경우에 해당되지 않는 것은?

① SELECT문의 실행 속도가 느려진 경우

② 집계 정보가 요구되는 경우

③ 특정 범위를 자주 조회하는 경우

④ 데이터 모델이 자주 변경되는 경우

 

내가 고른 답 : 4

정답 : 4

해설 : 데이터 모델이 자주 변경되는 경우는 정규화를 해야한다.

 

 

4. 반정규화 기법 중에서 특정 값의 범위에 따라 분할하는 것은?

① 수직분할

② 수평분할

③ 테이블 병합

④ 칼럼 추가

 

내가 고른 답 : 2

정답 : 2

해설 : 수평분할은 특정 값에 따라서 테이블을 분할하는 방법이다.

 

 

5. Super Type 과 Sub Type 변환 방법 중에서 조인 성능이 가장 좋은 것은?

① OneToOne Type

② Plus Type

③ Single Type

④ Integration Type

 

내가 고른 답 : 3

정답 : 3

해설 : Single Type 은 슈퍼타입과 서브타입을 하나의 테이블로 생성하기 때문에 조인 성능이 좋고 관리가 편리하다.

 

 

 

6. 다음 중 좋은 모델링의 요건에 해당되지 않는 것은?

① 중복배제

② Business Rule

③ 완전성

④ 기능성

 

내가 고른 답 : 2

정답 : 4

해설 : 좋은 모델링의 요건은 중복배제, Business Rule, 완전성이다.

 

 

 

 

 

  • 데이터 모델링의 이해 단원 정리 문제

1. 하나의 릴레이션에서 튜플 전체 개수를 릴레이션의 ( ) 이라고 한다. ( ) 에 올바른 것은?

① 도메인

② 테이블

③ 다중값 속성

④ 카디널리티

내가 고른 답 : 4

정답 : 4

해설 : 카디널리티(Cardinality)는 하나의 릴레이션에서 튜플의 전체 개수를 의미한다.

 

2. ( ) 는(은) 특정 조건에 의해서 선택될 것으로 예상되는 레코드의 비율이다. ( ) 에 올바른 것은?

① 카디널리티

② 도메인

③ 선택도

④ 행

내가 고른 답 : 3

정답 : 3

해설 : 선택도란 특정 조건에 의해서 선택될 것으로 예상되는 레코드의 비율을 의미하며, 조건절에서 요청한 값의 범위/전체값 으로 게산된다.

 

 

3. 성별이라는 칼럼은 M 혹은 F 값만 가질 수 있다. 성별이라는 칼럼의 제약조건은 무엇인가?

① 카디널리티

② 도메인

③ 선택도

④ 행

내가 고른 답 : 2

정답 : 2

해설 : 도메인(Domain)은 하나의 속성(Attribute)이 가질 수 있는 모든 원자 값들의 집합을 의미한다.

 

 

4. 다음은 엔터티(Entity)에 대한 설명이다. 올바르지 않은 것은?

① 기업에서 관리하고자 하는 데이터이다.

② 집합의 특성을 가진다

③ 보안을 위해서 다른 개체와 구분되지 않는다

④ 순수 개체이거나 행위 집합이다.

내가 고른 답 : 3

정답 : 3

해설 : 엔터티(Entity)는 다른 개체와 확연히 구분되는 특성을 가진다. 그래서 모델의 독립성을 향상시킬 수 있다.

 

 

5. 다음은 엔터티의 분류이다. 관련성이 없는 하나는 무엇인가?

① 키 엔터티

② 메인 엔터티

③ 개념 엔터티

④ 행위 엔터티

내가 고른 답 : 1

정답 : 3

해설 : 엔터티는 키 엔터티, 메인 엔터티, 행위 엔터티로 분류된다.

키 엔터티 - 다른 엔터티의 도움 없이 생성되는 엔터티이다.

메인 엔터티 - 업무 처리에 중심이 되는 엔터티로 부모 엔터티(키엔터티)로부터 파생된다.

행위 엔터티 - 업무처리를 하는 동안에 발생되는 엔터티로 자주 변경되고 지속적으로 정보가 추가된다.

 

 

6. 엔터티 종류 중 데이터양이 가장 많을 것으로 예상되는 것은 무엇인가?

① 키 엔터티

② 메인 엔터티

③ 중심 엔터티

④ 행위 엔터티

내가 고른 답 : 4

정답 : 4

해설 : 행위 엔터티는 지속적으로 정보가 추가되고 변경되는 엔터티로 주문, 취소, 결제와 같은 엔터티이다.

 

 

7. 최대한 범용적인 값을 사용하고 유일한 값을 만들기 위해서 사용되는 식별자는 무엇인가?

① 보조 식별자

② 인조 식별자

③ 본질 식별자

④ 고유 식별자

내가 고른 답 : 2

정답 : 2

해설 : 인조 식별자(Artificial Identifier)는 최대한 범용적인 값을 사용해서 만든 식별자로 유일한 값을 만들기 위한 것이다. 인조 식별자는 하나의 인조 속성을 다른 것으로 대체할 수 없다.

 

 

8. 데이터 모델링 중에서 가장 높은 수준의 추상화를 요구하는 모델링 단계는?

① 개념적 모델링

② 논리적 모델링

③ 물리적 모델링

④ 리버스 데이터베이스 모델링

내가 고른 답 : 1

정답 : 1

해설 : 개념적 모델링은 고객의 업무를 포괄적으로 모델링하는 가장 높은 수준의 추상화 모델이다. 즉, 개념적 모델링, 논리적 모델링, 물리적 모델링의 단계를 수행하면서 추상회된 모델은 점점 더 구체화 된다. 

 

 

9. 데이터 모델링의 고려사항에 해당되지 않는 것은?

① 데이터 중복

② 비유연성

③ 추상화

④ 비일관성

내가 고른 답 : 4

정답 : 3

해설 : 데이터 모델링 시에 고려사항은 데이터중복, 비유연성, 비일관성이 발생하지 않게 해야한다.

 

 

10. 데이터베이스의 독립성을 향상하기 위한 3층 스키마 중에서 조직 전체적인 관점으로 통합을 표현하는 계층은 무엇인가?

① 개념 스키마

② 내부 스키마

③ 외부 스키마

④ 간접 스키마

내가 고른 답 : 3

정답 : 1

해설 : 3층 스키마는 개념스키마, 내부스키마, 외부스키마로 구성된다. 개념스키마는 조직 전체적인 간점으로 통합을 표현한다.

 

 

 

11. 다음의 시나리오에서 엔터티(Entity) 항목으로 올바른 것은?

 - 학생이 A대학교에 입학하기 위해서 주민등록번호, 이름, 나이 등을 입력해야 한다

① A대학교

② 주민등록번호

③ 주민등록번호, 이름, 나이

④ 학생

내가 고른 답 : 4

정답 : 4

해설 : 엔터티는 업무에서 관리되어야 하는 데이터 집합을 의미한다. 그래서 위의 시나리오에서 엔터티가 될 수 있는 것은 학생과 입학이다. 그리고 주민등록번호, 이름, 나이는 속성이 된다.

 

 

 

12. 다음은 엔터티의 특징에 대한 설명이다. 올바르지 않은 것은?

① 고객이 관심 사항이다.

② 식별자는 존재해야 하지만, 유일한 식별자는 없을 수 있다.

③ 다른 엔터티와 최소한 한 개 이상의 관계가 있어야 한다.

④ 두 개 이상의 인스턴스가 있어야 한다.

내가 고른 답 : 3

정답 : 2

해설 : 엔터티는 업무에서 관리해야 하는 데이터 집합으로 반드시 유일한 식별자가 있다. 그리고 두 개 이상의 인스턴스가 있으며 다른 엔터티와 최소한 한개 이상의 관계가 있어야 한다.

 

 

13. 다음은 속성(Attribute)에 대한 설명이다. 올바르지 않은 것은?

① 사물의 성질

② 사물의 특징

③ 유일한 값

④ 사물의 본질적 성질

내가 고른 답 : 1

정답 : 3

해설 : 속성은 사물의 성질, 특징, 본질적 성질을 의미하며 중복된 값이 있을 수 있다.

 

 

14. 속성을 특성에 따라 분류한 것이 아닌 것은?

① 기본 속성

② 선택 속성

③ 설계 속성

④ 파생 속성

내가 고른 답 : 3

정답 : 2

해설 : 속성을 특성에 따라서 분류하면 기본속성, 설계속성, 파생속성으로 구분된다.

 

 

15. 다음중 속성에 이름을 부여하는 방법으로 올바르지 않은 것은?

① 해당 기업의 업무 프로세스를 분석하고 업무에서 사용하는 명칭을 사용한다.

② 속성의 이름은 유일성 있게 부여한다.

③ 가급적 문자와 숫자 등을 조합해서 복잡하게 부여한다.

④ 의미가 있는 문자를 사용한다.

내가 고른 답 : 3

정답 : 3

해설 : 속성명은 업무에서 사용하는 명칭을 사용하고 데이터 모델에서 유일하게 상요해야한다. 그리고 서술어와 약어를 지양해야 한다.

 

 

16. 다음 중에서 주식별자로 부적절한 것을 고르시오

① 회원번호

② 학생번호

③ 학생명

④ 일련번호

내가 고른 답 : 3

정답 : 3

해설 : 식별자는 유일성을 만족해야 한다. 그러나 학생명은 동명이인이 있을수도 있으므로 유일성을 만족하지 못한다.

 

 

17. 다음 중에서 주식별자로 올바른 것은?

A-유일성

B-최소성

C-Not Null

D-대표성

① A,B

② A,B,C

③ B,C

④ A,B,C,D

내가 고른 답 : 4

정답 : 4

해설 : 주식별자는 최소성, 유일성, not null 을 만족하고 엔터티를 대표해야 한다.

 

 

18. 다음 보기의 설명에 해당하는 것은?

- 강한 연결관계를 표현한다.

- ERD에서 실선으로 표현한다.

- 부모 엔터티의 주식별자를 자식엔터티가 포함한다.

① 비식별관계

② 식별 관계

③ 자기자신 관계

④ 차수

내가 고른 답 : 2

정답 : 2

해설 : 식별관계는 강한 연결관계이고 부모엔터티와 주식별자를 자식엔터티의 주식별자로 포함하고 있는 관계이다. 비식별관계는 약한 연결관계를 포현하며, 약한 종속관계라고도 한다.

 

 

19. 본질 식별자와 인조 식별자는 어떤 관점으로 식별자를 분류한 것인가?

① 식별자의 대표성 여부

② 식별자의 속성 수

③ 식별자의 대체 여부

④ 식별자의 생성 여부

내가 고른 답 : 1

정답 : 3

해설 : 식별자는 대체 여부에 따라 본질식별자와 인조식별자로 구분한다. 대표성에 따라 주식별자와 보조식별자로 분류되며, 속성수에 따라 단일식별자와 복합식별자로 구분된다.

 

 

20. 식별자 중에서 대표성이 없어서 참조 관계를 가지지 못하는 식별자는 무엇인가?

① 주식별자

② 보조 식별자

③ 본질 식별자

④ 인조 식별자

내가 고른 답 : 2

정답 : 2

해설 : 보조 식별자는 대표성이 없어서 참조관계를 가지지 못하는 식별자이다

 

 

21. 다음은 데이터 독립성을 향상시키는 방법이다. 다른 하나는 무엇인가?

① 정규화

② 3층 스키마

③ 데이터 구조화

④ 반정규화

내가 고른 답 : 4

정답 : 4

해설 : 반정규화는 데이터 중복을 허용하여 성능을 향상시키지만 데이터 독립성은 낮아진다.

 

 

22. 다음 중 반정규화를 통한 성능 향상과 관련이 낮은 것은?

① Nested Loop 방식의 조인을 조회해서 반정규화를 수행하여 조인을 제거했다.

② 데이터의 중복을 허용하여 SELECT문이 간단하게 변경되었다.

③ 반정규화를 수행하고 입력을 했다.

④ 야간에 배치로 합계를 미리 계산 후의 SELECT문을 사용한다.

내가 고른 답 : 3

정답 : 3

해설 : 반정규화는 데이터 중복을 허용하여 저장하기 때문에 SELECT문에서 조인(Join)이 제거된다. 조인이 제거되면 조회의 속도가 향상된다. 하지만 입력은 반정규화가 데이터 중복을 허용하기 때문에 데이터가 중복되도록 입력되어야 한다. 그러므로 반정규화를 통한 성능 향상과는 관련이 없다. 

 

 

23. 다음의 정규화 단계에서 주식별자와 관련성이 가장 낮은 것은?

① 제1정규화

제2정규화

제3정규화

④ BCNF

내가 고른 답 : 4

정답 : 3

해설 : 제3정규화는 주식별자를 제외한 칼럼간에 종속성을 확인해서 종속성이 있으면 분할하는 과정이다.

 

 

24. 제1정규화 결과 기본키(Primary Key)가 하나의 속성으로 이루어진 경우 생략되는 것은?

① 제1정규화

 제2정규화

 제3정규화

④ BCNF

내가 고른 답 : 2

정답 : 2

해설 : 제2정규화는 제1정규화 수행 이후에 하는 것으로 기본키가 2개 이상의 속성으로 이루어진 경우에 수행한다.

 

 

25. 이행 함수 종석성 제거와 관련된 것은?

① 제1정규화

 제2정규화

 제3정규화

④ BCNF

내가 고른 답 : 3

정답 : 3

해설 : 제3정규화는 이행 함수 종속성을 제거하는 것으로 기본키를 제외한 칼럼 간의 종속성이 있으면 분할한다.

 

 

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

① 제1정규화

 제2정규화

 제3정규화

④ BCNF

내가 고른 답 : 4

정답 : 4

해설 : BCNF는 기본키를 제외하고 후보키가 존재하고 후보키가 기본키의 속성 중에 하나를 함수적으로 종속하는 경우 발생한다.

 

 

27. 다음은 정규화에 대한 설명이다. 올바르지 않은 것은?

① 엔터티의 의미 해석이 명확해진다.

② 정규화를 수행하면 일반적으로 테이블의 수가 증가한다.

③ 정규화와 반정규호는 병렬적으로 수행하는 것이 좋다.

④ 정규화는 모델의 독립성을 향상시킨다.

내가 고른 답 : 3

정답 : 3

해설 : 반정규화는 트랜잭션의 유형, 용량등을 분석하고 정규화를 수행한 후에 수행해야 한다.

 

 

28. 다음 설명 중 올바르지 않은 것은?

① 정규화를 수행하면 조회 시에 조인의 수가 증가한다.

② 반정규화 된 테이블이 조회가 더 간단하다.

③ 정규화는 업무가 변경되어도 모델의 유연성을 향상시킨다.

④ 반정규화는 반드시 해야 한다.

내가 고른 답 : 4

정답 : 4

해설 : 트랜잭션의 유형, 데이터용량 등을 고려해서 특별히 성능 이슈가 없으면 반정규화를 안해도 된다.

 

 

29. 다음 설명 중 올바르지 않은 것은?

① 하나의 테이블에 많은 칼럼을 추가하는 방법으로 반정규화를 수행하면 정규화된 모델보다 조회 속도는 항상 빨라진다. 그 이유는 조인이 없어지기 때문이다.

② 반정규화를 할 때 범위 처리 빈도, 통계 프로세스, 테이블 조인 수, 대량 범위 처리를 조사해야 한다.

③ 반정규화는 테이블, 속성, 관계 반정규화로 구분된다.

④ 반정규화를 수행하지 않고 클러스터링, 뷰, 응용 프로그램, 인덱스 조정을 통해서 다른 방법으로 성능을 유도할 수 있는지 고려해야 한다.

내가 고른 답 : 1

정답 : 1

해설 : 하나의 테이블에 칼럼의 수가 많아지면 조인의 수가 감소한다. 하지만, 테이블의 길이가 길어져서 입출력 단위(Block Size)보다 길어지면 한개의 테이블 행을 조회할 때 여러번의 입출력이 발생하여 성능이 떨어진다.

 

 

30. 다음 테이블의 문제점이 무엇인지 간략하게 설명하시오

특허 출원 번호 특허명 특허 출원자
0001 임베스트SQLD 임호진
0002 임베스트SQLP 강지영, 임호진
0003 임베스트 보안기사 김호동, 임호진, 강지영

내가 고른 답 : 특허 출원자 칼럼에 다중값이 들어있다. 출원자 이름으로 특허명이나 출원번호를 찾을때 문제가 발생할 수 있다.

정답 : -

해설 : 특허 출원자를 보면 다중값을 가지고 있는 다중값 속성이다. 다중값 속성은 별도의 릴레이션으로 도출되어야 하는데 하나의 칼럼에 삽입했다. 

 

 

 

오늘은 여기까지