JUINTINATION
데이터 모델 본문
데이터 모델이란?
데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위해 단순화, 추상화하여 체계적으로 표현한 개념적 모형이다.
- 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약 조건 등을 기술하기 위한 개념적 도구들의 모임
- 현실 세계를 데이터베이스에 표현하는 중간과정, 즉 데이터베이스 설계 과정에서 데이터의 구조(Schema)를 논리적으로 표현하기 위해 사용되는 지능적 도구
데이터 모델의 구성 요소
- 개체(Entity)
- 데이터베이스에 표현하려는 것
- 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체
- 실세계에 독립적으로 존재하는 유형, 무형의 정보로 서로 연관된 몇 개의 속성으로 구성됨
- 파일 시스템의 레코드에 대응하는 것으로 유일한 식별자(Unique Identifier)에 의해 식별 가능
- 다른 개체와 하나 이상의 관계(Relationship) 존재
- 개체명을 지정할 때 해당 업무에서 사용하는 용어로 지정해야 하며 약어 사용은 되도록 제한한다. 또한 가능하면 단수 명사를 사용하며 모든 개체명은 유일해야 한다.
- 속성(Attribute)
- 데이터의 가장 작은 논리적 단위로 개체를 구성하는 항목
- 파일 구조상의 데이터 항목 또는 데이터 필드로 개체의 특성을 기술
- 속성의 수 = 차수(Degree)
- 속성의 특성에 따른 분류
- 기본 속성(Basic Attribute) : 업무 분석을 통해 정의한 속성
- 설계 속성(Designed Attribute) : 업무상 존재하지 않고 설계 과정에서 도출해내는 속성
- 파생 속성(Derived Attribute) : 다른 속성으로부터 계산이나 변형 등의 영향을 받아 발생하는 속성
- 개체 구성 방식에 따른 분류
- 기본키 속성(primary Key Attribute) : 개체를 식별할 수 있는 속성
- 외래키 속성(Foreign Key Attribute) : 다른 개체와의 관계에 포함된 속성
- 일반 속성 : 개체에 포함되어 있지만 기본키, 외래키에 포함되지 않은 속성
- 속성명을 지정할 때 해당 업무에서 사용하는 용어로 지정해야 하며 약어 사용은 되도록 제한한다. 또한 서술형으로 지정하지 않아야 하며 개체에서 유일하게 식별 가능하도록 지정해야 한다.
- 관계(Relationship)
- 개체 간의 관계 또는 속성 간의 논리적인 연결
- 관계의 형태로는 일대일(1:1), 일대다(1:N), 다대다(M:N) 관계가 있다.
- 관계의 종류
- 종속 관계(Dependent Relationship) : 두 개체 사이의 주종 관계를 표현한 것으로 식별 관계와 비식별 관계가 있음
- 식별 관계 : 개체 A, B 사이의 관계에서 A 개체의 기본키가 B 개체의 외래키 이면서 동시에 기본키가 되는 관계
- 비식별 관계 : 개체 A, B 사이의 관계에서 A 개체의 기본키가 B 개체의 비기본키 영역에서 외래키가 되는 관계
- 중복 관계(Redundant Relationship) : 두 개체 사이에 2번 이상의 종속 관계가 발생하는 관계
- 재귀 관계(Recursive Relationship) : 개체가 자기 자신과 관계를 갖는 것
- 배타 관계(Exclusive Relationship) : 개체의 속성이나 구분자를 기준으로 개체의 특성을 분할하는 관계로 배타 AND 관계와 배타 OR 관계로 구분됨
- 배타 AND 관계 : 하위 개체들 중 속성이나 구분자 조건에 따라 하나의 개체만 선택 가능
- 배타 OR 관계 : 하위 개체들 중 속성이나 구분자 조건에 따라 하나 이상의 개체 선택 가능
- 종속 관계(Dependent Relationship) : 두 개체 사이의 주종 관계를 표현한 것으로 식별 관계와 비식별 관계가 있음
- 관계의 표현 : 다음 블로그에서 ERD 표기 예시 부분 참고
개념적 데이터 모델
- 속성들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 이용하여 현실 세계 표현
- 대표적인 개념적 데이터 모델로는 E-R 모델이 있음
논리적 데이터 모델
- 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계를 이용하여 현실 세계 표현
- 단순히 데이터 모델이라고 하면 논리적 데이터 모델을 의미
- 특정 DBMS는 특정 논리적 데이터 모델 하나만 선정하여 사용
- 데이터 간의 관계 표현 방법에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분
논리적 데이터 모델의 품질 검증
- 논리 데이터 모델 품질 기준에 따라 개체, 속성, 관계, 식별자, 모델 전반 등에 대해 검토 체크리스트를 작성, 체크리스트의 각 항목을 확인하는 방식으로 검증
- 논리 데이터 품질 모델 기준으로는 정확성, 완전성, 준거성, 최신성, 일관성, 활용성 등이 있음
- 개체 품질 검증 항목
- 단수 명사 여부, 개체의 주 식별자, 개체 간 상호 배타성, 개체의 정규화 여부, 개체 상세 정의, 개체 관리 업무 기능, 개체에 2개 이상의 속성 존재 여부, 개체의 총 길이, 개체 동의어 여부, 개체 분산 요구 등
- 속성 품질 검증 항목
- 단수 명사 여부, 속성의 값 존재 여부 및 개수, 도메인 정의, 반복되는 속성, 그룹화 가능 속성, 주 식별자 및 비 식별자에 의존한느 속성, 다치 종속 속성 등
- A, B, C 3개의 속성을 가진 테이블 R에서 어떤 복합 속성(A, C)에 대응하는 B 값의 집합이 A 값에만 종속되고 C 값에는 무관하면 B는 A에 다치 종속
- 단수 명사 여부, 속성의 값 존재 여부 및 개수, 도메인 정의, 반복되는 속성, 그룹화 가능 속성, 주 식별자 및 비 식별자에 의존한느 속성, 다치 종속 속성 등
- 관계 품질 검증 항목
- 관계의 명칭, 2개 이상의 노드와 관계 존재 여부, 노드의 기수성과 선택성, 필수적 관계, 유효한 관계, 중복된 관계, 외부식별자 존재 여부, 참조 무결성 여부 등
- 식별자 품질 검증 항목
- 식별자의 명칭, 정의, 구성, 정합성, 크기, 순서 등
- 전반적인 품질 검증 항복
- 주제 영역 구성의 적절성, 데이터 모델 상의 정규화 여부, 다대다 관계 해소 여부, 이력 ㅗ간리 대상 선정 확인, 이력 관리 방법의 적절성 확인
데이터 모델에 표시할 요소
- 구조(Structure)
- 논리적으로 표현된 개체 타입들 간의 관계로 데이터 구조 및 정적 성질 표현
- 연산(Operation)
- 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세
- 데이터베이스를 조작하는 기본 도구
- 제약 조건(Constraint)
- 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건
식별자(Identifier)
식별자는 하나의 개체 내에서 각각의 인스턴스를 유일하게 구분할 수 있는 구분자로 모든 개체는 한 개 이상의 식별자를 반드시 가져야 한다.
분류 | 식별자 |
대표성 여부 | 주 식별자(Primary Identifier) 보조 식별자(Alternate Identifier) |
스스로 생성 여부 | 내부 식별자(Internal Identifier) 외부 식별자(External Identifier) |
단일 속성 여부 | 단일 식별자(Single Identifier) 복합 식별자(Composit Identifier) |
대체 여부 | 원조 식별자(Original Identifier) 대리 식별자(Surrogate Identifier) |
주 식별자/보조 식별자
주 식별자는 개체를 대표하는 유일한 식별자이며 주 식별자의 4가지 특징으로 유일성, 최소성, 불변성, 존재성이 있다.
보조 식별자는 주 식별자를 대신하여 개체를 식별할 수 있는 속성으로 두 식별자 모두 개체를 유일하게 식별할 수 있어야 한다.
물리적 테이블에서 주 식별자는 기본키(Primary Key)로, 보조 식별자는 유니크 인덱스(Unique Index)로 지정되어 사용된다.
내부 식별자/외부 식별자
내부 식별자는 개체 내에서 스스로 만들어지는 식별자이며 외부 식별자는 다른 개체와의 관계에 의해 외부 개체의 식별자를 가져와 사용하는 식별자로 자신의 개체에서 다른 개체를 찾아가는 연결자 역할을 한다.
단일 식별자/복합 식별자
단일 식별자는 주 식별자가 한 가지 속성으로만 구성된 식별자이며 복합 식별자는 주 식별자가 두 개 이상의 속성으로 구성된 식별자이다.
원조 식별자/대리 식별자
원조 식별자는 업무에 의해 만들어지는 가공되지 않은 원래의 식별자이며 대리 식별자는 주 식별자의 속성이 두 개 이상인 경우 속성들을 하나의 속성으로 묶어 사용하는 식별자로 대리 식별자의 조건은 다음과 같다.
- 최대한 범용적인 값 사용
- 유일한 값을 만들기 위한 대리 식별자 사용
- 편의성과 단순성, 의미의 체계화를 위한 대리 식별자 사용 가능
- 시스템적인 필요성에 의해 내부적으로만 사용하는 대리 식별자 사용 가능
후보 식별자
후보 식별자는 개체에서 각 인스턴스를 유일하게 식별할 수 있는 속성 또는 속성 집합을 의미하며 후보 식별자의 조건은 다음과 같다.
- 각 인스턴스를 유일하게 식별할 수 있어야 한다.
- 속성들을 직접 식별할 수 있어야 한다.
- 널 값(NULL Value)이 될 수 없다.
- 속성 집합은 후보 식별자로 지정한 경우 개념적으로 유일해야 한다.
- 후보 식별자의 데이터는 자주 변경되지 않아야 한다.
하나의 개체에는 한 개 이상의 후보 식별자가 있고 이 중 개체의 대표성을 나타내는 식별자를 주 식별자로, 나머지를 보조 식별자로 지정한다.
'정보처리기사 정리' 카테고리의 다른 글
관계형 데이터베이스 (0) | 2024.02.15 |
---|---|
E-R(개체-관계) 모델과 관계형 데이터 모델 (0) | 2024.02.15 |
데이터베이스 설계 (0) | 2024.02.15 |
인터페이스 구현 (0) | 2024.02.12 |
애플리케이션 성능 분석 (1) | 2024.02.12 |