1. 데이터 모델링의 이해
(1) 데이터 모델링의 특징으로 적절하지 않은 것은?
- 현실 세계의 일정한 형식에 맞추어 표현하는 추상화의 의미를 가질 수 있다.
O 시스템 구현만을 위해 진행하는 사전 단계의 작업으로서 데이터 베이스 사전 작업의 의미가 있다.
- 복잡하나 현실을 제한된 언어나 표기법으로 이해하기 쉽게 하는 단순화의 의미를 가지고 있다.
- 애매모호함을 배제하고 누구나 이해가 가능하도록 정확하게 현상을 기술하는 정확화의 의미를 가진다.
> 업무 분석이나 업무 형상화의 작업도 거침
(2) 데이터 모델링에 대한 설명으로 가장 적절하지 않은 것은?
- 업무 정보를 구성하는 기초가 되는 정보들을 일정한 표기법으로 표현한다.
- 분석된 모델로 데이터 베이스를 생성하여 개발 및 데이터 관리에 사용하기 위한 것이다.
O 데이터 베이스를 구축하는 목적으로 데이터 모델링을 수행하며 업무에 대한 설명은 별도의 표기법을 이용한다.
- 데이터 모델링 자체로서 업무의 흐름을 설명하고 분석하는 부분에 의미를 가진다.
> 일정한 표기법을 가짐
(3) 데이터 독립성의 구성요소에 대한 설명으로 가장 적절하지 않은 것은?
- 통합된 모든 사용자의 관점은 개념 스키마와 관련이 있다.
- 물리적인 저장구조를 표현하는 스키마는 내부 스키마이다.
O View 단계는 여러 사용자 관점으로 구성하는 개념 스키마에 해당한다.
- 논이적은 데이터 독립성을 고려하는 단계는 외부 단계와 개념적 단계이다.
> 외부 스키마(View) : 개념 스키마 : 내부 스키마(개발자, 물리적 구조 등)
(4) 모든 사용자 관점을 통한 조직 전체 관점의 통합적 표현, 모든 응용 시스템들이나 사용자들이 필요호 하는 데이터를 통합한 조직 전체의 DB를 시루한 것으로 DB에 저장되는 데이터와 그들 간의 관계를 표현한 스키마는?
- 개념 스키마
(5) 아래 시나리오에서 엔터티로 가장 적절한 것은?
시나리오 : S병원은 여러 명의 환자가 존재하고 각 환자의 이름, 주소 등을 관리해야 한다. (단, 업무 범위와 데이터의 특성은 위 시나리오에 기술되어 있는 사항만을 근거로 판단해야 함)
- 환자
> 이름, 주소는 속성에 포함됨
> 엔터티 특징 : 2개 이상의 속성, 2개 이상의 인스턴스 필요
(6) 엔터티의 특징으로 옳지 않은 것은?
- 속성이 없는 엔터티는 있을 수 없다. 엔터티는 반드시 속성을 가져야 한다.
- 엔터티는 다른 엔터티와의 관계를 가져야한다. 단, 통계성 엔터티나 코드성 엔터티의 경우 관계가 생략될 수 있다.
O 객체 지향의 디자인 패턴에는 싱글턴 패턴이 있어 하나의 인스턴스를 가지는 클라스가 존재한다. 이와 유사하게 엔터티는 한 개의 인스턴스를 가지는 것 만으로도 충분한 의미를 부여할 수 있다.
- 데이터로서는 존재하지만 업무상에서 필요로 하지 않으면 해당 업무의 엔터티로 성립될 수 없다.
> 엔터티는 2개 이상의 인스턴스를 필요로 한다.
(7) 진행한 정규화 작업으로 가장 적절한 것은?
- 1차 정규화 : 중복 미 허용
- 2차 정규화 : 부분 함수 종속성 제거 (키가 2개인 테이블의 일반 컬럼은 키 2개 모두에 종속이어야 함)
- 3차 정규화 : 이전적 함구 종속 관계 제거 (키에 종속되지 않고 일반 컬럼에 종속된 경우)
(8) 데이터를 조회할 때 빠른 성능을 낼 수 있도록 하기 위해 원래 속성값을 계산하여 저장할 수 있도록 만든 속성은?
- 파생 속성 (통계값 저장)
(9) 데이터 모델링의 관계에 대한 설명으로 가장 적절하지 않은 것은?
- 관계는 존재적 관계와 행위에 의한 관계로 나누어 볼 수 있다.
O 관계의 표기법은 관계명, 관계 차수, 식별성의 3가지 개념을 사용한다.
- 부서와 사원의 엔터티 간의 소속 관계는 존재적 관계의 사례이다.
- 주문과 배송의 엔터티 간의 배송 근거 관계는 행위에 의한 관계의 사례이다.
> 관계의 표기법은 관계명, 관계 차수, 선택성의 개념을 사용
(10) 아래에서 설명하는 데이터 독립성은?
아래 : 데이터 베이스의 파일 구조의 변화가 논리 스키마에 영향을 주지 않음. 데이터 베이스의 색인 구조의 변화가 응용 프로그램에 영향을 주지 않음
- 물리적 독립성
> 물리적→논리적→개념적 영향을 주지 않음. 논리적 독립성에 영향을 주지 않기 위해는 물리적 독립성이어야 함.
(11) 비 식별자 관계로 연결하는 경우로 적절하지 않은 것은?
- 1:M의 관계로 부모 엔티티보다 자식 엔티티가 먼저 생성되는 경우
- 자식 엔터티가 부모 엔터티의 식별자보가 늦게 삭제되는 경우
O 조인 최소화를 원하는 경우
- 자식 엔터티의 식별자가 부모 엔터티의 주 식별자를 상속받는 것보다 별도의 주 식별자를 생성하는 것이 유리하다고 판단되는 경우
> 최소 조인을 위해서는 식별자 관계로 연결해야 함
2. 데이터 모델링과 SQL
(1) 속성(a,b,c,d,e)로 구성된 릴레이션에서 아래와 같은 함수 종속성이 존재할 때, 이 릴레이션 후보 키로 가장 적절하지 않은 것은? (ab > cde, e > b, d > ab)
- d
- ab
- ac
- ae
> 후보키 : 유일성과 최소성 (d>ab>cde, ae > ab > cde, ab > edc)
(2) 아래 빈칸에서 가, 나에 들어갈 용어는?
아래 : 어떤 릴레이션이 가 이고, 기본키에 속하지 않은 속성 모두가 기본키에 이행적 함수 종속이 아닐 때 나에 속한다.
- 제 2 정규형, 제 3 정규형
(3) 데이터 모델링의 정규화에 대한 설명으로 가장 적절하지 않은 것은?
O 정규화는 개념 데이터 모델의 일관성을 확보하고 주복을 제거하여 속성들이 가장 적절한 엔터티에 배치되도록 한다.
- 제 1 정규형은 모든 인스턴스가 반드시 하나의 값을 가져야함을 의미한다.
- 제 3 정규형을 만족하는 엔터티의 일반 속성은 주 식별자 전체에 종속적이다.
- 반 정규화는 성능을 위해 데이터 중복을 허용하는 것이지만, 성능의 향상을 항상 보장하는 것은 아니다.
> 정규화는 논리 데이터 모델의 일관성을 확보함
(4) NULL 값에 대한 설명으로 가장 적절한 것은?
O NULL 값에 어떤 숫자를 더해도 결과는 항상 NULL이다.
- NULL 값과 어떤 숫자의 크기를 비교해도 결과는 항상 NULL 이다. (알수 없음)
- "NULL=NULL" 연산의 결과는 TRUE이다. (알수 없음)
- 집계 함수를 계산할 때 NULL 값은 0으로 처리된다. (NULL 값을 빼고 계산함)
(5) 본질 식별자와 인조 식별자에 대한 설명으로 가장 적절하지 않은 것은?
- 인조 식별자는 대체로 본질 식별자가 복잡한 구성을 가질 때 만들어진다.
- 인조 식별자를 사용하면 중복 데이터를 막기 어려워진다.
- 인조 식별자를 사용하면 본질 식별자를 사용할 때와 비교하여 추가적인 인덱스가 필요해진다.
O 인조 식별자는 개발 편의성을 높여주기 때문에 되도록 사용하는 것이 바람직하다.
> 되도록 사용하는 것이 아닌 꼭 필요한 경우에만 사용하는 것이 바람직하다.