본문 바로가기
정보처리기사

논리 데이터 모델링

by 두두리안 2022. 7. 1.
728x90

목차

1.개체(Entity)
2.속성
3.식별자(Identifier)
4.개체 정의서
5.모델링
6.관계

1.개체(Entity)

1-1. 개체의 정의

* 현실 세계의 식별 가능한 대상을 추상화하여 표현하는 단위
* 파일 시스템에서 레코드에 대응하는 개념으로 각 개체는 독립적으로 존재

1-2. 개체 타입

* 개체명과 개체 속성을 논리적으로 설계한 정의
* 개체 스키마라고 한다

1-3. 개체 타입의 특징

* 업무 프로세스에 반드시 필요한 정보로 구성
* 식별이 가능해야 하며 속성이 포함되어야 한다
* 최소 한개 이상의 개체 타입과 관계가 있어야 한다

1-4. 개체 타입 지정시 고려사항

* 가급적 약어를 사용하지 않고, 실제 업무에서 사용하는 용어를 사용
* 정의되는 이름은 유일해야 하며 단수 명사를 사용
* 이외에는 개체 타입의 의미에 따라 이름을 정의

1-5. 개체 인스턴스

* 개체 타입에 의해 실제로 값이 저장된 실질적인 개체를 의미
* 개체와 레코드는 각각 같은 의미를 가진다

2.속성

2-1. 속성의 정의

* 개체 정보의 특성을 나타내며 파일 시스템에서 필드에 해당
* 각 속성은 고유해야 하며 속성 사이에는 순서가 없다
* 개체를 구성하는 가장 작은 단위

2-2. 속성의 특징

* 개체의 성격을 구체적으로 나타내며 개체 타입은 속성의 집합이다
* 개체의 특성을 설명할수 있지만 속성 자체만으로는 정보를 표현할수 없다
* 속성은 개체 타입에 고유하게 존재하고, 속성을 가질수 없다

2-3. 속성의 특성에 따른 분류

1. 기본속성: 업무 분석을 통해 추출하거나 정의된 모든 속성
2. 설계속성: 업무에는 존재하지 않지만 개체를 설계하면서 도출되는 속성
3. 파생속성: 다른 속성으로 부터 계산되는 등의 영향을 받아 생성되는 속성

2-4. 속성의 개체 구성 방식에 따른 분류

1. 기본키 속성: 개체를 식별할수 있는 속성
2. 외래키 속성: 다른 개체와의 관계를 나타내는 속성
3. 일반 속성: 기본키, 외래키에 포함되지 않는 속성

2-5. 속성의 후보 선정 원칙

1. 원시 속성은 제거하지 않는다
    * 다른속성에 의해 생성되지 않는 속성
2. 소그룹별로 후보군을 만들고 가장 근접한 개체에 할당
    * 아직 모든 개체가 정의되어 있지 않은 상황이므로 각 속성 후보들을 적절히 그룹화 한다

2-6. 속성의 명명 규칙

* 실제 해당 업무에서 사용하는 이름을 정의
* 약어 사용은 가급적 자제해야 하지만 그렇다고 서술식 속성명을 사용해서는 안된다
* 개체 타입과 같은 이름을 사용해서는 안되므로 서로 유일하도록 이름을 정의

3.식별자(Identifier)

3-1. 식별자의 개념

* 개체 타입에서 각각의 개체를 유일하게 식별할수 있는 결정자의 역할
* 모든 개체 타입에는 반드시 하나이상의 식별자가 존재
* 식별자가 지정되면 변경할수 없으며, 주 식별자의 경우 반드시 값이 존재

3-2. 식별자의 구분

1. 주 식별자와 보조 식별자
    * 주 식별자: 개체 타입의 대표성을 나타내는 유일한 식별자
    * 보조 식별자: 주 식별자를 대신하여 개체를 식별하는 식별자
2. 내부 식별자와 외부 식별자
    * 내부 식별자: 다른 개체 타입에서 가져오는 것이 아닌 자신의 개체 타입으로 부터 생성되는 식별자
    * 외부 식별자: 다른 개체 타입에서 주 식별자를 상속받아 자신의 개체 타입에 포함시키는 속성
3. 단일 식별자와 복합 식별자
    * 개체를 식별할때 필요한 속성의 개수에 따라 단일과 복합 식별자가 결정된다
4. 원조 식별자와 대리 식별자
    * 주 식별자의 속성이 복합 식별자일 경우에 여러개의 속성을 하나로 묶은 속성으로 만들어 주 식별자로 활용하는 경우를 대리 식별자 라고한다

3-3. 인조 식별자

* 후보 식별자 중 주 식별자로 선정할 식별자가 마땅치 않거나 속성조합이 지나치게 복잡할때 지정하는 식별자
* 코드 및 일련번호 등의 데이터를 새로 생성하여 속성을 지정하여 식별자가 단순해 진다
* 실제 업무에 필요한 식별자 외에 추가적인 키 관리가 필요하며 가독성이 저하된다
* 인조 식별자만으로 개체 정보를 판단하거나 업무를 이해하기 어렵다

4.개체 정의서

4-1. 개체 정의서의 개념

* 논리적 개체와 속성, 식별자들이 모두 확정된 이후에 이들에 대한 명세서를 작성한것

4-2. 개체 정의서 포함 항목

1. 개체 타입명: 확정된 개체 타입들의 이름
2. 개체 타입 설명: 개체 타입들의 의미를 기술
3. 동의어/유의어: 개체 타입과 유사한 동의어나 유의어를 기술
4. 개체 타입 구분: 개체 타입의 구분 기준에 따라 유형들을 기술
5. 관련 속성: 개체 타입의 주 식별자가 될수 있는 속성을 기술
6. 식별자: 해당 개체 타입의 주 식별자와 대체 식별자를 기술

5.모델링

5-1. 정보 모델링과 데이터 모델링

1. 정보 모델링: 현실세계에 존재하는 개체를 인간이 이해할수 있는 개념적인 정보구조로 표현하는 과정
2. 데이터 모델링: 정보 모델링 과정에서 생성된 정보 구조를 컴퓨터가 이해할수 있는 형태의 논리적인 데이터 구조로 만들어가는 과정
3. 모델링 단계
    * 현실단계 : 현실 세계의 개체를 파악하여 개체의 특징과 값으로 개체의 실체를 만들어내는 단계
    * 개념단계 : 개체들의 공통점을 찾아 개체 타입과 관계를 사람의 관점으로 추상화하는 단계
    * 논리단계 : 개념 단계에서 파악된 개체를 컴퓨터의 관점으로 데이터 구조와 관계로 구성하는 단계

5-2. 데이터 모델링

1. 데이터 모델링의 정의
    * 현실세계의 데이터 구조를 디지털 세계의 데이터 구조로 변환하는 과정
2. 데이터 모델링의 구성 요소
    * 논리적 구조: 논리적으로 표현된 데이터 구조
    * 연산: 데이터 구조에서 삽입, 삭제, 변경하는 기능
    * 제약조건: 데이터 구조에서 혀용할수 있는 관계를 명세
3. 데이터 모델링의 목적
    * 연관조직의 정보요구에 대한 정확한 이해를 목적으로 한다
    * 이해관계자 간의 효율적인 의사소통 수단을 제공한다
    * 고품질 소프트웨어 개발과 유지보수 비용의 감소 효과를 기대
    * 신규 또는 개선 시스템의 개발 기초를 제공
4. 데이터 모델링의 특성
    * 데이터 중심분석을 통한 업무 흐름 파악이 용이
    * 데이터 무결성을 보장
    * 데이터의 공유를 통한 중복을 제거하고 일관성 있는 정보를 제공

5-3. 데이터 모델링의 절차

1. 개념적 설계
    * 정보 내용에 대한 요구 조건을 만족시키면서 쉽게 이해할수 있는 정보구조를 설계하는 단계
    * 현실 세계를 표현하는 방법 - E-R 모델
    * 데이터 모델의 골격을 정의하는 상위수준의 모델로 주요 개체타입, 기존속성, 관계, 주요 업무 기능
    * 개념 스키마 모델링: 데이터중심, ERD와 같은 DBMS에 독립적인 표현으로 명세하는 과정
    * 트랜잭션 모델링: 요구 조건 분석결과로 식별된 처리기능을 검통하여 이를 구현할수 있는 트랜잭션을 명세하는 과정
2. 논리적 설계
    * 개념 데이터 모델을 상세화하여 논리적인 데이터 집합, 관리항목, 관계등을 정의하는 단계
    * 가장 핵심이 되는 과정
    * 목표 DBMS에 맞는 데이터베이스 스키마 및 트랜잭션 인터페이스를 설계한다
    * 논리적 설계의 3단계
        - 논리적 데이터베이스 구조로 매핑
        - 트랜잭션 인터페이스를 설계
        - 스키마의 평가 및 최적화
3. 물리적 설계
    * 논리 데이터 모델을 DBMS의 특성 및 성능을 최대한 고려하여 구체화 시키는 단계
    * 논리 데이터 모델을 바탕으로 데이터베이스에 포함될 저장 레코드양식, 데이터구조, 응답시간, 저장공간 설계
    * 물리적 설계의 3단계
        - 레코드 분석 및 형식 설계
        - 저장 레코드 등을 클러스터링(Clustering)
        - 접근경로설계

6.관계

6-1. 관계의 종류

1. 속성 관계: 개체를 구성하고 있는 속성간의 관계
2. 개체 관계: 개체 간의 관계
3. 종속 관계
    * 식별관계: 하위 개체의 외래 식별자가 주 식별자의 일부분 또는 전체로 존재
    * 비식별관계: 하위 개체의 외래 식별자가 일반 속성으로 존재하는 관계
4. 중복 관계: 특정 개체 간의 두번 이상 종속관계가 발생
5. 재귀 관계: 특정 개체가 자기 자신을 다시 참조하는 관계
6. 배타 관계: 특정 속성의 조건, 구분자등에 의해 개체 특성을 분할하는 일반화 관계

6-2. 관계의 대응

1. 1:1
    * 개체가 반드시 한개씩 존재
    * 두 개체의 주 식별자가 동일
2. 1:0 or 1:1
    * 개체는 하나 존재하지만, 다른 개체는 없거나 하나만 존재
    * 두 개체의 주식별자가 동일
3. 1:1 or 1:N
    * 개체는 하나 존재하지만, 다른 개체는 한개 이상 존재
4. 1:0 or 1:1 or 1:N
    * 개체는 하나 존재하지만, 다른개체는 없거나 한개 이상 존재
5. 1:N
    * 개체는 하나 존재하지만, 다른 개체는 여러개 존재
    * 개체가 유일하면서도 최적의 구조가 될수 있도록 식별자 선정

6-3. 다대다(N:M) 관계의 해소

* 다대다 관계는 불특정 관계로, 데이터 구조에 있어서 어떠한 방법으로도 구현이 불가능
* 데이터 종속성에 대한 결정을 어렵게 하여 모델의 논리적 완성과 부분집합 식별 능력을 제한
* 새로운 관계를 추가하여 1:N 관계로 변경
* 관계 해결시까지 모델은 불안정 상태이고, 모델은 정규화되지 못한다

6-4. 관계 설정시 고려사항

* 개체간의 관계는 명칭이 파익이 아닌, 업무간의 관계를 파악해서 결정해야 한다
* 자주 활용되지 않는 항목들이나 부하가 염려되는 항목들은 개체에는 포함하지 않도록하는것이 중요

참고자료 : 이기적 환상콤비 정보처리기사

728x90

'정보처리기사' 카테고리의 다른 글

데이터정의어(DDL)  (0) 2022.07.02
E-R 다이어그램  (0) 2022.07.02
관계형데이터베이스(RDBMS)  (0) 2022.07.01
성능분석 및 품질평가  (0) 2022.06.30
애플리케이션 테스트 종류  (0) 2022.06.30