-
데이터 모델링의 이해 오답노트SQLD (자격증)/문제풀이 2020. 4. 12. 17:43
2번. 다음 설명 중 데이터 모델링이 필요한 주요 이유로 가장 부적절한 것은?
1. 업무정보를 구성하는 기초가 되는 정보들에 대해 일정한 표기법에 의해 표현한다.
2. 분석된 모델을 가지고 데이터베이스를 생성하여 개발 및 데이터관리에 사용하기 위한 것이다.
3. 데이터베이스를 구축하기 위한 용도를 위해 데이터모델링을 수행하고 업무에 대한 설명은
별도의 표기법을 이용한다.
4. 데이터모델링 자체로서 업무의 흐름을 설명하고 분석하는 부분에 의미를 가지고 있다.
※ 해설
데이터 모델링을 하는 주요한 이유는 업무정보를 구성하는 기초가 되는 정보들에 대해 일정한
표기법에 의해 표현함으로써 정보시스템 구축의 대상이 되는 업무 내용을 정확하게 분석하는 것이
첫번째 목적이다.
두번째는 분석된 모델을 가지고 실제 데이터이스를 생성하여 개발 및 데이터관리에 사용하기 위한 것이
두번째 목적이다.
다시 말하면, 데이터모델링이라는 것은 단지 데이터베이스만을 구축하기 위한 용도로 쓰이는 것이 아니라 모델링
자체로서 업무를 설명하고 분석하는데도 매우 중요한 의미를 가지고 있다.
5번. 다음 중 아래 데이터 모델링 개념에 대한 설명에서 [ㄱ], [ㄴ]에 들어갈 단어로 가장 적절한 것은?
전사적 데이터 모델링을 수행할 때 많이 하며, 추상화 수준이 높고 업무 중심적이고 포괄적인
수준의 모델링을 진해앟는 것을 [ㄱ] 데이터 모델링이라고 한다.
이와 달리, 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등의 물리적인 성격을 고려한 데이터 모델링은
[ㄴ] 데이터 모델링이라고 한다.
※ 해설
전사적 데이터 모델링이나 EA수립 시에 많이 하며, 추상화 수준이 높고, 업무 중심적이면서 포괄적인
수준의 모델링을 진행하는 것을 개념적 데이터 모델링이라고 하며, 실제로 데이터베이스에 이식할 수 있도록
성능, 저장 등의 물리적인 성격을 고려한 데이터 모델링 방식은 물리적 데이터 모델링이라고 한다.
7번. 다음 중 고객과 주문의 ERD에 대한 설명으로 가장 부적절한 것은?
1. 한 명의 고객은 여러개의 제품을 주문 할 수 있다. 주문은 할 수도 있고 안 할 수도 있다.
2. 하나의 주문은 반드시 한 명의 고객에 의해 주문된다.
3. 주문에 데이터를 입력할 때는 반드시 고객데이터가 존재해야 한다.
4. 고객에 데이터를 입력할 때는 주문데이터가 존재하는 고객만을 입력할 수 있다.
※ 해설
부모 엔터티에 데이터가 입력될 때 자식 엔터티에 해당 값이 존재하는지의 여부와 상관없이
입력될 수 있는 구조로 표현되어 있기 때문에, 고객 엔티티에 새로운 고객번호 데이터를 입력하는 것은
주문 데이터에 해당 고객번호가 존재하는지의 여부와 상관없이 가능하다.
8번. 다음 중 ERD에 대한 설명으로 가장 부적절한 것은?
1. 1976년 피터첸(Perter Chen)에 의해 Entity-Relationship Model(E-R Model)이라는 표기법이 만들어 졌다.
2. 일반적으로 ERD를 작성하는 방법은 엔터티 도출 - > 배치 -> 관계 설정 -> 관계명 기술의 흐름으로 작업을 진행한
3. 관계의 명칭은 관계 표현에 있어서 매우 중요한 부분에 해당한다.
4. 가장 중요한 엔터티를 오른쪽 상단에 배치하고 추가 발생되는 엔터티들을 왼쪽 편과 하단에 배치하는 것이 원칙
※ 해설
엔터티를 어디에 배치하는가에 대한 문제는 필수사항은 아니지만 데이터 모델 툴 사용 여부와 상관없이
데이터 모델의 가독성 측면에서 중요한 문제이다. 일반적으로 사람의 눈은 왼쪽에서 오른쪽, 위쪽에서 아래쪽으로
이동하는 경향이 있기 때문에, 데이터 모델링에서도 가장 중요한 엔터티를 왼쪽 상단에 배치하고, 이것을 중심으로
다른 엔터티를 나열하면서 전개하면 사람의 눈이 따라가이에 편리한 데이터 모델을 작성할 수 있다.
해당 업무에서 가장 중요한 엔터티는 왼쪽 상단에서 조금 아래쪽 중앙에 배치하여 전체 엔터티와 어울릴 수 있도록
하면, 향후 관련 엔터티와 관계선을 연결할 때 선이 고이지 않고 효과적으로 배치할 수 있게 된다.
10번. 다음 중 엔터티의 특징으로 가장 부적절한 것은?
1. 속성이 없는 엔터티는 있을 수 없다. 엔터티는 반드시 속성을 가져야 한다.
2. 엔터티는 다른 엔터티와 관계가 있을 수 밖에 없다. 단, 통계성 엔터티나, 코드성 엔터티의 경우 관계를
생략할 수 있다.
3. 객체지향의 디자인패턴에는 싱글패턴이 있어 하나의 인스턴스를 가지는 클래스가 존재한다.
이와 유사하게 엔터티는 한 개의 인스턴스를 가지는 것만으로 충분한 의미를 부여할 수 있다.
4. 데이터로서 존재하지만 업무에서 필요로 하지 않으면 해당 업무의 엔터티로 성립될 수 없다.
※ 해설
엔터티의 특징
1. 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다.
(ex. 환자, 토익의 응시횟수...)
2. 유일한 식별자에 의해 식별이 가능해야 한다.
3. 영속적으로 존재하는 (두 개 이상의) 인스턴스 집합이어야 한다. (한개는 안됨)
4. 엔터티는 업무 프로세스에 의해 이용되어야 한다.
5. 엔터티는 반드시 속성이 있어야 한다.
6. 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 한다.
13번. 다음 중 엔터티의 이름을 부여하는 방법으로서 가장 부적절한 것은?
1. 가능하면 약어를 사용하여 엔터티의 이름을 간결하고 명확하게 한다.
2. 현업의 업무 용어를 사용하여 업무상의 의미를 분명하게 한다.
3. 모든 엔터티에서 유일한 이름이 부여되어야 한다.
4. 엔터티가 생성되는 의미대로 자연스럽게 부여하도록 한다.
※ 해설
엔터티를 명명하는 일반적인 기준은 다음과 같다. 용어를 사용하는 모든 표기법이 다 그렇듯이
첫 번째는 가능하면 현업업무에서 사용하는 용어를 사용한다.
두 번째는 가능하면 약어를 사용하지 않는다.
세 번재는 단수명사를 사용한다.
네 번째는 모든 엔터티를 통틀어서 유일하게 이름이 부여되어야 한다.
다섯 번째는 엔터티 생성의미대로 이름을 부여한다.
14번. 업무에서 필요로 하는 인스턴스에서 관리하고자 하는 의미상 더 이상 분리되지 않는
최소의 데이터 단위를 무엇이라 하는가?
답 : 속성(Attribute)
※ 해설
속성이란 사전적인 의미로는 사물의 성질, 특징 또는 본질적인 성질이다.
그것이 없다면 실체를 생각할 수 없는 것으로 정의할 수 있다.
본질적 속성이란 어떤 사물 또는 개념에 없어서는 안 될 징표의 전부이다.
이 징표는 사물이나 개념이 어떤 것인지를 나타내고 그것을 다른 것과 구별하는 성질이라고
할 수 있다. 이런 사전적인 정의 외에 데이터모델링 관점에서 속성을 정의하자면
"업무에서 필요로 하는 인스턴스에서 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위"
로 정의할 수 있다. 업무상 관리가 가능한 최소의 의미 단위로 생각할 수 있고, 이것은 엔터티에서 한 분야를
담당하고 있다.
16번. 다음 중 아래와 같은 사례에서 속성에 대한 설명으로 가장 부적절한 것은?
우리은행은 예금분류(일반예금, 특별예금 등)의 원금, 예치기간, 이자율을 관리할 필요가 있다.
또한, 원금에 대한 이자율을 적용하여 계산된 이자에 대해서도 속성으로 관리하고자 한다.
예를 들어 원금이 1000원이고 예치기간이 5개월이며 이자율이 5.0%라는 속성을 관리하고 계산된
이자도 관리한다. 일반예금이나 특별예금 등에 대해서는 코드를 부여(ex. 01-일반예금, 02-특별예금)하여
관리한다.
1. 일반예금은 코드 엔터티를 별도로 구분하고 값에는 코드값만 포함한다.
2. 원금, 예치기간은 기본(BASIC) 속성이다.
3. 이자와 이자율은 파생(DERIVED) 속성이다.
4. 예금분류는 설계(DESIGNED) 속성이다.
※ 해설
이자는 계산된 값으로 파생속성이 맞지만, 이자율은 원래 가지고 있어야 하는 속성이므로
기본속성에 해당한다.
20번. 다음 중 데이터모델링의 관계에 대한 설명으로 가장 부적절한 것을 2개 고르시오
1. 관계는 존재에 의한 관계와 행위에 의한 관계로 구분될 수 있으나 ERD에서는 관계를 연결할 때,
존재와 행위를 구분하지 않고 단일화된 표기법을 사용한다.
2. UML(Uified Modeling Language) 에는 클래스 다이어그램의 관계 중 연관관계(Association)와
의존관계(Dependency)가 있고 이것은 실선과 점선의 표기법으로 다르게 표현이 된다.
3. 관계에는 존재에 의한 관계와 행위에 의한 관계로 구분될 수 있고 ERD에서는 관계를 연결할 때,
존재와 행위를 구분하여 실선과 점선의 표기법으로 다르게 표현한다.
4. UML(Unified Modeling Language)에는 클래스 다이어그램의 관계 중 연관관계(Association)와
의존관계(Dependency)가 있으나 구분하지 않고 단일화된 표기법을 사용한다.
※ 해설
데이터모델링에서는 존재적 관계와 행위에 의한 관계를 구분하는 표기법이 없으며, UML에서는
연관관계와 의존관계에 대해 다른 표기법을 가지고 표현하게 되어 있다.
24번. 다음 중 두 개의 엔터티 사이에서 관계를 도출 할 때 체크 할 사항을 모두 고른 것은?
가. 두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가?
나. 두 개의 엔터티 사이에 정보의 조합이 발생되는가?
다. 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
라. 업무기술서, 장표에 관계연결을 가능하게 하는 동사(Verb)가 있는가?
1. 가, 다, 라
2. 가, 다, 라
3. 가, 나, 다
4. 가, 나, 다, 라
26번. 다음 중 사원엔터티에서 식별자의 특성에 해당하지 않는 것은 무엇인가?
1. 주식별자
2. 단일식별자
3. 내부식별자
4. 인조식별자
※ 해설
사번은 업무적으로 의미 있는 식별자로, 시스템적으로 부여된 인조식별자가 아니라 일반적으로
사원 인스턴스의 탄생과 함께 업무적으로 부여되는 사원 인스턴스의 본질적인 속성에 해당한다 할 수 있기
때문에 본식별자로 볼 수 있다.'