데이터 모델 구성 3 요소
- 개체(Entity), 속성(Attributes), 관계(Relationship)
1. 개체(Entity)
1) 개체의 정의 및 특징
- 실세계에 독립적으로 존재하거나 그 자체로서도 구별 가능
- 유형, 무형의 정보로 서로 연관된 몇 개의 속성으로 구성 (물리적/개념적)
- 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체
- 유일한 식별자(Unique Identifier)에 의해 식별 가능
- 다른 개체와 하나 이상의 관계(Relationship)가 있음
- 파일 시스템의 레코드에 대응
2) 개체 선정 방법
- 실제 업무를 담당하고 있는 담당자와 인터뷰
- 실제 업무에 사용되고 있는 장부와 전표를 이용
- DFD(Data Flow Diagram)를 통해 업무 분석을 수행했을 경우 자료 흐름도의 자료 저장소(Data Store)를 이용
- BPR(Business Process Reengineering, 업무 프로세스 재설계)에 의해 업무를 재정의한 경우 관련 개체를 찾음
3) 개체명 지정 방법
- 해당 업무에서 사용하는 용어(약어 X)
- 단수 명사 , 개체명은 유일해야 함
- 가능하면 개체가 생성되는 의미에 따라 이름 부여
ex) 교수, 고객, 주문, 도시 등
2. 속성(Attribute)
1) 속성의 정의 및 특징
- 데이터베이스를 구성하는 가장 작은 논리적 단위
- 파일 구조상의 데이터 항목 또는 데이터 필드
- 개체를 구성하는 항목 및 개체의 특성을 기술
- 디그리(Degree)/차수:속성의 수
카디널리티(Cardinality)/기수 : 튜플(Tuple)의 수
2)분류
2.1) 속성의 특성에 따른 분류 #기설파
- 기본 속성(Basic ) 업무 분석을 통해 정의한 속성 ex) 자동차명, 제조일, 연비
- 설계 속성(Designed ) 원래 업무상 존재하지 않고 설계 과정에서 도출해낸 속성 ex) 자동차 코드
- 파생 속성(Derived) 다른 속성으로부터 영향을 받아 발생하는 속성 ex) 계산한 값(예. 할인 적용된 가격)
2.2) 개체 구성 방식에 따른 분류
- 기본 키 속성(Primary Key Attribute) 개체를 식별할 수 있는 속성
- 외래 키 속성(Foreign Key Attribute) 다른 개체와의 관계에서 포함된 속성
- 일반 속성 개체에 포함되어 있고 PK(기본키),FK(외래키) 포함되지 않은 속성
3) 속성명 지정 원칙
- 해당 업무에서 사용하는 용어(약어 X)
- 단수 명사 , 개체에서 유일해야 함
- 서술형으로 지정하지 않음
- 개체명은 속성명으로 사용할 수 없음
3. 관계(Relationship)
개체(entity)간의 논리적 연결
1) 관계의 형태
- 일 대 일(1:1) 개체 집합 A의 각 원소가 개체 집합 B의 원소 한 개와 대응하는 관계
- 일 대 다(1:N) 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고 있지만, 개체 집합 B의 각 원소는 개체 집합 A의 원소 한 개와 대응하는 관계
- 다 대 다(N:M) 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고, 개체 집합 B의 각 원소도 개체 집합 A의 원소 여러 개와 대응하는 관계
2) 관계의 종류 #종중재배
- 종속 관계(Dependent Relationship) : 두 개체 사이의 주종 관계를 표현한 것으로, 식별 관계와 비식별 관계가 있음
- 중복 관계(Redundant Relationship) : 두 개체 사이에 2번 이상의 종속 관계가 발생하는 관계
- 재귀 관계(Recursive Relationship) : 개체가 자기 자신과 관계를 갖는 것, 순환 관계라고도 함
- 배타 관계(Exclusive Relationship) : 개체의 속성이나 구분자를 기준으로 개체의 특성을 분할하는 관계, 배타 AND 관계와 배타 OR 관계로 구분
- 식별 관계 : 개체 A,B 사이의 관계에서 A 개체의 기본키가 B 개체의 외래키이면서 동시에 기본키가 되는 관계
- 비식별 관계 : 개체 A,B 사이의 관계에서 A 개체의 기본키가 B 개체의 비기본키 영역에서 외래키가 되는 관계
4.식별자
-하나의 개체 내에서 각각의 인스턴스를 유일하게 구분할 수 있는 구분자
-모든 개체는 한 개 이상의 식별자를 반드시 가져야 함
4.1 분류
분류 | 식별자 |
대표성 여부 | 후보 식별자 개체에서 각 인스턴스를 유일하게 식별할 수 있는 속성 또는 속성 집합 - 하나의 개체에는 한 개 이상의 후보 식별자 - 이 중 개체의 대표성을 나타내는 식별자를 주 식별자로, 나머지는 보조 식별자로 지정 - 널 값이 될 수 없음 (1)주 식별자(Primary Identifier) - 개체를 대표하는 유일한 식별자 - 물리적 테이블에서 기본키로 지정되어 사용 예.사번,주문번호 유일성, 최소성, 불변성, 존재성 (2) 보조 식별자(Alternate Identifier) - 주 식별자를 대신하여 개체를 식별할 수 있는 속성 - 하나의 개체에 한개 이상 존재 - 물리적 테이블에서 유니크 인덱스로 지정되어 사용 예. 주민등록번호, ID,이름 |
스스로 생성 여부 | 내부 식별자(Internal Identifier) 개체 내에서 스스로 만들어지는 식별자 외부 식별자(Foreign Identifier) 다른 개체와의 관계에 의해 외부 개체의 식별자를 가져와 사용하는 식별자 - 자신의 개체에서 다른 개체를 찾아가는 연결자 역할 |
단일 속성 여부 | 단일 식별자(Single Identifier) 주 식별자가 한 가지 속성으로만 구성된 식별자 복합 식별자(Composite Identifier) 주 식별자가 두 가지 이상의 속성으로만 구성된 식별자 |
대체 여부 | 원조 식별자(Original Identifier) 업무에 의해 만들어지는 가공되지 않은 원래의 식별자, 본질 식별자 대리 식별자(Surrogate Identifier) 주 식별자의 속성이 두 개 이상인 경우 속성들을 하나의 속성으로 묶어 사용 하는 식별자, 인조 식별자 |
'Challenges > 정보처리기사' 카테고리의 다른 글
[정보처리기사]3.데이터베이스 구축/논리 데이터베이스 설계/관계형 데이터모델 (0) | 2021.09.07 |
---|---|
[정보처리기사]3.데이터베이스 구축/논리 데이터베이스 설계/E-R(개체-관계) 모델 (0) | 2021.09.06 |
[정보처리기사]3.데이터베이스 구축/논리 데이터베이스 설계/ 데이터베이스 (0) | 2021.09.04 |
[정보처리기사]3.데이터베이스 구축/논리 데이터베이스 설계/ 데이터베이스 모델 (0) | 2021.09.04 |
[정보처리기사]2.소프트웨어 개발/인터페이스 구현/인터페이스 구현 (0) | 2021.09.03 |