본문 바로가기
DB/데이터모델링

실전문제 - 데이터모델의 이해(데이터 모델의 이해, 엔터티, 속성, 관계, 식별자)

by 참외롭다 2024. 6. 10.
반응형

 

데이터 모델링의 특징에 대해 서술하시오.

 

데이터 모델링은 업무상 필요한 정보를 일정한 형식에 맞춰 표현하는 추상화 과정입니다.  추상화를 통해 복잡한 업무상 정보를 단순화하고 모델을 보는 누구나 이해할 수  있도록 정확하게 표현합니다. 모델링 과정을 통해 업무를 분석하고 형상화하여 최종적으로 정보시스템을 구축하는데에 목적이 있습니다.

 

데이터 모델링이 필요한 이유에 대해 서술하시오

 

데이터 모델링은 업무정보를 약속된 일정한 표기법에 의한 표현하는 행위입니다. 데이터 모델링을 통해 데이터베이스를 생성하여 데이터를 관리합니다.  데이터 모델링을 통해 엄무의 흐름을 설명하고 분석할 수 있습니다.

 

데이터모델링 시 유의할 사항에 대해 서술하시오

 

같은 정보를 여러 데이터베이스에 저장하지 않도록 유의(중복배제)하고 데이터 정의와 사용 프로세스를 분리하여 사용 프로세스의 변화가 데이터 정의에 영향을 주지않는 유연한 구조(비유연성)로 설계합니다. 데이터간 상호 연관관계를 명확하게 정의해 데이터가 일관성있게 유지되도록한다(비일관성).

 

데이터 모델링의 구분과 특징에 대해 서술하시오.

데이터 모델링은 단계와 특성에 따라 개념적/논리적/물리적 모델링으로 구분된다. 개념적 모델링은 업무를 추상화하여 표현합니다. 논리적 데이터 모델링은 데이터 베이스로 구축하고자 하는 업무에 대한 KEY, 속성, 관계를 표현합니다. 물리적 데이터 모델링은 실제로 데이터베이스에 이식할 수 있도록 성능, 저장등의 물리적 성격을 고려해 구축합니다.

 

개념스키마에 대해 서술하시오

모든 사용자 관점을 통합한 통합적 표현입니다. 응용시스템이나 사용자가 필요로 하는 데이터를 통합한 조직 전체의 DB를 기술한 것으로 저장된 데이터 사이의 관계를 표현합니다.

 

ERD 표현법에 대해 서술하시오

 

엔터티 간의 관계에서 원은 0, 새로직선은 1, 까마귀발은 N을 의미합니다. 관계를 잇는 선이 점선인 경우 하위 엔터티가 상위 엔터티의 기본기를 외래키로 갖지만 기본키로 사용하지 않는 관계임을 의미(비식별관계) 하고 실선인 경우 하위 엔터티가 상위 엔터티의 기본키를 기본키로 사용함(식별관계)을 의미합니다.

 

ERD(ENTITY-RELATED-DIAGRAM)의 특징에 대해 서술하시오.

 

ERD는 1976년 피터첸에 의해 고안됐습니다. 도형과 선으로 엔터티간의 관계를 서술합니다. 다이어그램 상 엔터티는 사각형, 관계는 마름모, 엔터티의 속성은 마름모로 표현합니다. 일반적인 ERD의 작성방법은 엔터티 도출 - 엔터티 배치 - 관계 설정 - 관계명 기술의 흐름으로 진행됩니다. 중요엔터티를 왼쪽 상단에 배치하고 추가 발생되는 엔터티들은 왼쪽으로 이동하며 배치합니다. 구분에 따라 표현법이 상이합니다.

 

 

엔터티의 특징에 대해 서술하시오.

 

업무에서 반드시 필요하고 관리하고자 하는 정보를 엔터티로 만들어야 합니다. 업무 프로세스에 의해 반드시 이용되야합니다. 엔터티는 영속적인 두 개 이상의 인스턴스의 집합이어야합니다. 엔터티의 인스턴스는 유일한 식별자에 의해 식별되야 합니다. 엔터티는 다른 엔터티와 반드시 하나 이상의 관계가 있어야 합니다. 단, 통계성이나 코드성 엔터티는 관계를 생략할 수 있습니다.

 

엔터티의 분류에 대해 서술하시오.

 

엔터티는 크게 엔터티의 성격과 발생시점에 따라 구분할 수 있습니다. 엔터티의 성격에 따라 유형/개념/사건 엔터티로 분류할 수 있습니다. 유형엔터티는 물리적인 형태가 있고 지속적으로 활용되는 정보를 표현한 엔터티입니다. 개념엔터티는 논리적 형태로 존재하는 개념정보를 표현한 엔터티입니다. 사건 엔터티는 업무를 수행함에 따라 발생하는 정보를 표현한 엔터티로 주로 통계자료로 활용됩니다.

 

발생시점에 따라 기본/중심/행위 엔터티로 구분할 수 있습니다. 기본엔터티는 업무에 존재하는 정보를 표현한 것으로 독립적인 생성이 가능하고 다른 엔터티의 부모역할을 합니다. 주식별자를 다른 엔터티로부터 상속받지 않고 고유한 주식별자가 있습니다. 중심 엔터티는 기본엔터티로 부터 발생해 주요업무에 대한 정보를 표현한 엔터티입니다. 다른 엔터티와의 관계를 통해 행위 엔터티를 생성합니다.  행위 엔터티는  엔터티 사이의 관계정보를 표현한 엔터티입니다. 상세 설계 단계나 프로세스 상관 모델링을 통해 도출합니다.

 

엔터티의 속성에 대해 서술하시오.

 

엔터티의 속성은 인스턴스를 통해 관리하는 업무상 필요한 의미상으로 더 이상 분리되지 않는 최소의 데이터 단위입니다. 하나의 엔터티에는 최소 두 개 이상의 속성이 있어야 합니다. 하나의 속성에 하나 이하의 속성 값이 있습니다. 속성의 명칭을 부여할 때는 다른 엔터티의 속성이더라도 명칭을 다르게 지정하는 것이 좋습니다.

 

속성의 분류에 대해 서술하시오.

 

엔터티의 속성은 특성에 따라 기본/설계/파생속성 3가지로 분류됩니다. 업무분석을 통해 정의한 속성을 기본속성, 원래 업무상에는 존재하지 않지만 설계를 통해 도출하는 설계속성, 다른 속성으로 부터 계산되어 나온 속성을 파생속성이라 합니다.

 

속성의 도메인에 대해 서술하시오.

특정 속성의 속성값이 될 수 있는 값의 범위를 도메인이라고 합니다. 도메인을 통해 엔터티의 속성에 대한 데이터타입과 제약사항을 지정할 수 있습니다.

 

엔터티의 관계에 대해 서술하시오.

 

관계는 존재에 의한 관계와 행위에 의한 관계로 구분됩니다. ERD에서는 이를 구분하지않고 단일화된 표현법을 사용합니다. 반면 UML에서는 이를 구분하여 연관관계와 의존관계로 나눠 표현합니다.

 

관계의 표기법에 대해 서술하시오

 

관계는 관계명, 관계차수, 관계사양으로 표기합니다. 엔터티가 관계에 참여하는 형태를 관계명으로 표현합니다. 두 엔터티의 관계에 각 엔터티의 인스턴스 중 몇개가 참여하는지를 관계차수로 표현합니다. 관계사양에는 필수참여와 선택참여가 있습니다. 핌수참여관계에서는 관계에 참여하는 모든 인스턴스가 반드시 상대 엔터티의 인스턴스 중 최소 하나와 관계를 맷어야합니다. 선택참여관계에서는 관계에 참여하는 모든 인스턴스가 0개 이상의 상대엔터티의 인스턴스와 관계합니다.

 

엔터티의 관계를 정의하기 위해 확인해야할 요소들에 대해 서술하시오.

 

- 두 엔터티 사이에 업무적으로 관심이 있는 연관규칙이 존재하는가?
- 두 엔터티 사이에 정보의 조합이 발생하는가?
- 업무정의상, 관계연결을 가능하게하는 동사가 있는가?
- 업무정의상, 장표에 관계연결에 대한 규칙이 있는가?

 

엔터티 식별자의 정의에 대해 서술하시오.

 

엔터티의 각 인스턴스를 구분할 수 있는 논리적인 이름을 식별자라고 합니다. 하나의 인스턴스에는 반드시 하나의 식별자가 있어야 합니다. 식별자는 특징에 따라 주식별자와 외부식별자로 구분할 수 있습니다. 주 식별자는 다음과 같은 조건을 만족해야 합니다.

 

- 유일성 : 엔터티 내의 모든 인스턴스를 구별할 수 있어야합니다.
- 최소성 : 최소한의 속성으로 구성되야 합니다.
- 불변성 : 자주 변하지 않는 속성이어야 합니다.
- 존재성 : 반드시 값이 존재하는 속성이어야 합니다.

 

엔터티 식별자의 구분에 대해 서술하시오.

 

엔터티의 식별자는 엔터티에 대한 대표성을 가지는지에 따라 주식별자와 보조식별자로 구분됩니다. 엔터티 내에서 스스로 발생했는지 아니면 관계에 의해 상속받았는지에 따라 내부식별자와 외부식별자로 구분할 수 있습니다. 하나의 속성으로 언터티의 인스턴스를 식별할 수 있다면 단일식별자, 두 개 이상의 속성을 통해 식별할 수 있다면 복합식별자로 구분됩니다. 업무적으로 의미가 있는 식별자라면 본질식별자, 이를 대체하기 위해 생성한 식별자라면 인조식별자로 구분합니다.

 

식별자 관계와 비식별자 관계에 대해 서술하시오.

 

관계를 통해 외부식별자 생성됩니다. 관계의 상위엔터티로 부터 내려받은 외부식별자를 하위엔터티의 식별자에 포함하면 식별자 관계이고 포함하지 않으면 비식별관계입니다.

 

식별관계의 경우, 식별자에는 null이 포함될 수 없으므로 상위 엔터티의 관계인스턴스가 존재해야만 하위 엔터티의 인스턴스도 존재할 수 있습니다. 외부식별자를 하위 엔터티의 단일 식별자로 이용하면 두 엔터티의 관계는 1:1 이고 하위 엔터티의 식별자에 포함하면 관계는 1:M이 됩니다.

 

일반적으로 엔터티간 관계는 식별자관계로 하고 다음 조건에 해당할 경우 비식별자관계로 변경합니다.

 

- 두 엔터티의 관계의 강약을 분석해 약한 관계로 판단되는 경우
- 자식테이블에 독립적인 PK가 필요한 경우
- 과도한 조인조건으로 인해 쿼리문이 길어지는 경우
- 부모엔터티에 참조값이 없어도 자식엔터티의 인스턴스 생성이 가능한 경우
- 관계하는 두 엔터티의 생명주기가 다른경우

반응형