메뉴 건너뛰기

bysql.net

1.1.장 연습문제

2014.03.05 21:42

bydavid 조회 수:3683

연습문제

문제 1. 다음 중 정보시스템을 모델링할 때 세 가지 관점에 해당하지 않는 것은?
  1. 업무가 어떤 데이터와 관련이 있는지 분석
  2. 업무가 실제하는 일은 무엇인지 또는 무엇을 해야 하는지 분석
  3. 업무가 처리하는 일의 방법에 따라 데이터가 어떻게 영향을 받는지 분석
  4. 업무를 처리할 수 있는 프로그램 구성을 어떻게 해야 하는지 분석
<해설>
# 모델링의 세 가지 관점
1. 데이터 관점 : 업무가 어떤 데이터와 관련있는지. 데이터간의 관계는 무엇인지 분석(What, Data)
2. 프로세스관점 : 업무가 실제 하고있는 일은 무엇인지. 무엇을 해아 하는지 분석(How, Process)
3. 데이터와 프로세스의 상관관점 : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 분석(Interaction)


문제 2. 데이터 모델링의 세 가지 중요개념에 속하지 않는 것은?
  1. 업무가 관여하는 어떤것(Things)
  2. 업무가 관여하는 어떤것의 행위(Events)
  3. 업무가 관여하는 어떤것의 성격(Attributes)
  4. 업무가 관여하는 어떤것의 관계(Relationships)
<해설>
데이터 모델링을 구성하는 주용한 개념으로 데잍 모델에 대한 이해의 근간이 되므로 반드시 기억해야 한다.
1. 업무가 관여하는 어떤 것(Things)
2. 어떤 것이 가지는 성격(Attribute)
3. 업무가 관여하는 어떤 것 간의 관계(Relationships)


문제 3. 발생시점에 따라 구분할 수 있는 엔터티의 유형이 아닌 것은?
  1. 행위 엔터티(Active Entity)
  2. 중심 엔터티(Main Entity)
  3. 개념 엔터티(Conceptual Entity)
  4. 기본 엔터티(Basic Entity)
<설명>
# 엔터티의 분류
1. 유형에 따른 분류
      1). 유형 엔터티 : 물리적인 형태가 있고, 안정적이며 지속적으로 활용되는 엔터티 / 사원, 물품, 강상 
      2). 개념엔터티 : 물리적인 헝태는 존재하지 않고 개념적 정보로 구분되는 엔터티 / 조직, 보험상품
      3). 사건엔터티 : 업무를 수행함에 따라 발생되는 엔터티 / 주문, 청구, 미납

2. 발생시점에 따른 분류
      1). 기본/키엔터티
           업무에 원래 존재하는 정보. 엔터티와의 관계에 의해 생성되지 않고 독립적으로 생성 가능.
           타 엔터티의 부모 역할. 다른 엔터티로부터 주식별자를 상속받지 않고 자신의 고유한 주식별자를 갖는다.
           예) 사원, 부서, 고객, 상품, 자재
      2). 중심엔터티
           기본엔터티로부터 발생. 업무에서 중심적인 역할을 한다.
           데이터의 양이 많이 발생되고 다른 엔터티와의 관계를 통해 많은 행위엔터티를 생성한다.
           예) 계약, 사고, 예금원장, 청구, 주문, 매출
      3). 행위엔터티
           두 개 이상이 무모엔터티로부터 발생되고 자주 내용이 바뀌거나 데이터량이 증가된다.
           분석초기 다계에서는 잘 나타나지 않으며 상세 설계단계나 프로세스와 상관모델링을 진행하며서 도출될 수 있다.
           예) 주문목록, 사원변경이력


문제 4. 이 속성이 없어도 다른 속성을 이용하여 결과를 도출할 수 있는 특징을 가진 속성의 이름은?
  1. 설계 속성(Designed Attribute)
  2. 파생 속성(Derived Attribute)
  3. 기본 속성(Basic Attribute)
  4. 관계 속성(Associative Attribute)
<해설>
# 속성의 분류
1. 속성의 특성에 따른 분류
    1) 기본속성 : 업무분석을 통해 바로 정의한 속성
    2) 설계속성 : 원래 업무상 존재하지는 않지만 설계를 하면서 도출해내는 속성
    3) 파생속성 : 다른 속성으로부터 계산이나 변경이 되어 생성되는 속성

2. 엔터티 구성방식에 따른 분류
    1) PK(Primary Key)속성 : 엔터티를 식별할 수 있는 속성
    2) FK(Foreign Key)속성 : 다른 엔터티와의 관계에서 포함된 속성
    3) 일반속성 : 엔터티에 포함되어 있고 PK, FK에 포함되지 않은 속성


문제 5. 다음 중 엔터티의 특징에 포함되지 않는 것은?
  1. 반드시 해당 업무에서 필요하다고 관리하고자 하는 정보이여야 한다.
  2. 유일한 식별자에 의해 식별이 가능해야 한다.
  3. 엔터티는 업무 프로세스에 의해 이용되어야 한다.
  4. 엔터티는 반드시 속성이 없어도 된다.
<설명>
# 엔터티의 특징
1. 반드시 해당 업무에서 필요하다고 관리하고자 하는 정보이여야 한다.
2. 유일한 식별자에 의해 식별이 가능해야 한다.
3. 영속적으로 존재하는 인스턴스의 집합이어야 한다.
4. 엔터티는 업무 프로세스에 의해 이용되어야 한다.
5. 엔터티는 반드시 속성이 있어야 한다.
6. 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 한다.


문제 6. 다음 설명이 나타내는 데이터 모델의 개념은 무엇인가?
학생이라는 엔터티가 있을 때 학점이라는 속성의 값의 범위는 0.0 에서 4.0 사이의 실수 값이며 주소라는 속성은 길이가 20자리 이내의 문자열로 정의할 수 있다.
  1. 도메인(Domain)
  2. 용어사전(Word Dictionary)
  3. 속성사전(Attribute Dictionary)
  4. 시스템카탈로그(System catalog)
도메인 : 각 속성은 가질 수 있는 값의 범위가 있는데 이를 그 속성의 도메인(Domain)이라 한다.


문제 7. 엔터티간 1:1, 1:M과 같이 관계의 기수성을 나태니는 것을 무엇이라 하는가?
  1. 관계명(Relationship Membership)
  2. 관계차수(Relationship Degree/Cardinality)
  3. 관계선택성(Relationship Optionality)
  4. 관계정의(Relationship Definition)
<설명>
# 관계의 표기법
1. 관계명(Membership) : 관계의 이름
2. 관계차수(Cardinality) : 1:1, 1:M, M:N
관계선택사양(Optionality) : 필수관계, 선택관계


문제 8. 관계를 정의할 때 주요하게 체크해야 하는 사항과 거리가 먼 것은?
  1. 두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가?
  2. 두 개의 엔터티 사이에 정보의 조합이 발생되는가?
  3. 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
  4. 업무기술서, 장표에 관계연결을 가능하게 하는 명사(Noun)가 있는가?
<설명>
두 개의 엔터티 사이에서 관계를 정의할 때 다음 사항을 체크해 보도록 한다.
1. 두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가?
2. 두 개의 엔터티 사이에 정보의 조합이 발생되는가?
3. 업무기술서, 장표에 관게연결에 대한 규칙이 서술되어 있는가?
4. 업무기술서, 장표에 관계연결을 가능하게 하는 동가(Verb)가 있는가?


문제 9. 식별자의 대체여부에 따라 분류하는 방식은?
  1. 주식별자 - 보조식별자
  2. 내부식별자 - 외부식별자
  3. 본질식별자 - 인조식별자
  4. 단일식별자 - 복합식별자
<설명>
# 식별자의 분류체계
1. 대표성 여부
    1) 주식별자 : 엔터티 내에서 각 어커런스를 구분할 수 있는 구분자이며, 타 엔터티와 참조관계를 연결할 수 있는 식별자
    2) 보조식별자 : 엔터티 내에서 각 어커런스를 구분할 수 있는 구분자이나 대표성을 가지지 못해 참조관계 연결을 못함
2. 스스로 생성여부
    1) 내부식별자 : 엔터티 내부에서 스스로 만들어지는 식별자
    2) 외부식별자 : 타 엔터티와의 관계를 통해 타 엔터티로부터 받아오는 식별자
3. 속성의 수
    1) 단일식별자 : 하나의 속성으로 구성된 식별자
    2) 복합식별자 : 둘 이상의 속성으로 구성된 식별자
4. 대체여부
   1) 본질식별자 : 업무에 의해 만들어지는 식별자
   2) 인조식별자 : 업무적으로 만들어지지는 않지만 원조식별자가 복잡한 구성을 가지고 있기 대문에 인위적으로 만든 식별자


문제 10. 다음 개념에 해당하는 관계는 어떤 관계를 설명한 것인가?
부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용하지 않고 일반적인 속성으로만 사용한다.
  1. 식별자관계(Identifying Relationship)
  2. 일반속성관계(Attribute Relationship)
  3. 비식별자관계(Non-Identifying Relationship)
  4. 외부식별관계(Foreign Key Relationship)
<설명>
# 식별자 관계
자식엔터니의 주식별자로 부모의 주식별자가 상속이 되는 경우를 식별자 관계(Identifying Relationship)라고 한다.

# 비식별자관계
부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용하지 않고 일반적인 속성으로만 사용하는 경우가 있다. 이와 같은 경우를 비식별자 관계(Non-Identifying Relationship)라고 하며 다음의 네 가지 경우에 비식별자 관계에 의한 외부속성을 생성한다.

1. 자식엔터티에서 받은 속성이 반드시 필수가 아니어도 무방하기 때문에 부모 없는 자식이 생성될 수 있는 경우이다.
2. 엔터티별로 데이터의 생명주기(Life Cycle)를 다르게 관리할 경우이다. 에를 들어 부모엔터티에 인스턴스가 자식의 엔터티
   와 관계를 가지고 있었지만 자식만 남겨두고 먼저 소멸될 수 있는 경우가 이에 해당된다. 이에 대한 방안으로 물리데이터베
   이스 생성 시 Foreign Key를 연결하지 않는 임시적인 방법을 사용하기도 하지만 데이터 모델상에서 관계를 비식별자관계
   로 조정하는 것이 가장 좋은 방법이다.
3. 여러 개의 엔터티가 하나의 엔터티로 통합되어 표현되었는데 각각의 엔터티가 별도의 관계를 가질 때.
4. 자식엔터티에 주식별자로 사용하여도 되지만 자식엔터티에서 별도의 주식별자를 생성하는 것이 더 유리하다고 판단될 때
    비식별자 관계에 의한 외부식별자로 표현한다.

자료 출처 : bysql.net (SQL 개발자 자격증 - 연습문제)

관련 링크 : 

김세란 블로그 - SQL 전문가 Study

이임탁 블로그 - SQL 전문가


  • SQL 전문가 개발자 자격증 스터디 (bysql.net 2014년 1차 스터디)
  • 작성자: 최동권
  • 최초작성일: 2014년 03월 02 일
  • 본문서는 bysql.net 스터디 결과입니다 .본 문서를 인용하실때는 출처를 밝혀주세요. http://www.bysql.net
  • 문서의 잘못된 점이나 질문사항은 본 문서에 댓글로 남겨주세요. ^^