개체와 속성
1. 개체(Entity)
개념 |
- 현실 세계의 유/무형 대상체 추상화하여 표현하는 단위로 파일에서 레코드에 대응하는 개념
- 돋립적으로 존재하며 식별 가능
- 조직에서 업무 활동상 지속적 관심을 갖고 있는 대상으로 동질성을 지닌 개체 집합이나 행위의 집합
|
개체 타입 (Entity Type) |
- 개체 이름, 특성으로 표현된 속성들로 구성하여 만든 논리적 정의
- 설계에 해당하는 개념으로 개체 스키마(Entity Schema)
|
개체 타입 특성 |
- 시스템 구축하고자 하는 업무에 필요한 정보
- 유일한 식별자(Unique Identifier)에 의해 식별 가능
- 영속적으로 존재하는 개체의 집합
- 업무 프로세스는 그 개체 타입 반드시 이용
- 개체 타입에는 반드시 속성(항목, 필드, Attribute) 포함
- 다른 개체 타입과 최소 한 개 이상의 관계
|
개체 타입 명명하는 일반적 기준 |
- 가능하면 실제 업무에서 사용하는 용어 사용
- 가능하면 약어 미사용
- 단수 명사 사용
- 개체 타입에 부여되는 이름은 유일
- 가급적 개체 타입이 생성되는 의미에 따라 이름 부여
|
개체 어커런스 (Entity Occurence) |
- 개체 타입의 연산에 의해 실제적 값이 들어가 있는 상태, 개체 인스턴스(Entity Instance)
|
개체 집합 (Entity set)
|
|
2. 속성(Attribute)
개념 |
- 업무에 필요한 개체에서 관리하고자 하는 최소의 데이터 단위
- DB를 구축하는 가장 작은 논리적 단위로 파일 시스템의 필드(Field) 개념
|
특징 |
- 개체 타입에 속한 개체의 성격 구체적으로 나타내는 항목으로 각각의 개체 타입은 속성의 집합
- 속성 자체만으로는 정보 표현 불가하며 개체나 관계의 특성을 설명하는 단위로 사용
- 하나의 속성은 하나의 개체 타입에만 존재, 관계로 기술될 수 없고, 자신이 속성 가질 수 없음
|
특성에 따른 분류 |
- 기본 속성(Basic Attribute)
- 설계 속성(Designed Attribute)
- 파생 속성(Derived Attribute)
|
개체 구성 방식에 따른 분류 |
- 기본키(Primary Key) 속성
- 외래키(Foreign Key) 속성
- 일반 속성
|
속성의 후보 선정 원칙 |
- 원시(Source) 속성으로 보이는 후보는 제거하지 않는다
- 소그룹별로 후보군 만들고 가장 근접한 개체에 할당한다
|
3. 식별자(Identifier)
개념 |
- 여러 개의 집합체를 담고 있는 하나의 개체 타입에서 각각의 개체 구분할 수 있는 결정자
|
식별자 구분 |
- 주(Primary) 식별자와 보조(Alternative) 식별자
- 내부(Internal) 식별자와 외부(External) 식별자
- 단일(Single) 식별자와 복합(Composit) 식별자
- 원조(Artificial) 식별자와 대리(Surrogate) 식별자
|
후보 식별자 조건 |
- 각 인스턴스 유일히 식별나머지 속성들 직접 식별
- 나머지 속성들 직접 식별
- 널(Null) 가질 수 없음
- 후보 자로 속성 집합 선택 시 개념적으로 유일해야 함
- 후보 식별자의 데이터는 자주 변경하지 않음
|
인조 식별자 조건
|
- 최대한 범용적인 값
- 유리한 값을 만들기 위한 인조 식별자 사용
- 편리성, 단순성 확보
- 의미 체계화위한 인조 식별자
- 내부적으로만 사용하는 인조 식별자
|
4. 개체 정의서(Entity Description)
개념 |
- 논리적 개체와 속성, 식별자들이 모두 확정된 후 이들에 대한 명세서 작성
|
포함 항목 |
- 개체 타입명
- 개체 타입 설명
- 동의어/유의어
- 개체 타입 구분
- 관련 속성들
- 식별자
|
정보 모델링과 데이터 모델링
1. 모델링
정보 모델링 (Information Modeling) |
현실 세계에 존재하는 개체(Entity)를 인간이 이해할 수 있는 정보 구조로 표현하는 과정 |
데이터 모델링 (Data Modeling) |
정보 모델링 과정에서 생성된 정보 구조를 컴퓨터가 이해할 수 있는 형태의 논리적인 데이터 구조로 만들어 가는 과정 |
모델링 단계 |
|
2. 데이터 모델링
개념 |
- 현실 세계 데이터 구조를 컴퓨터 세계 데이터 구조로 변환하는 개념적 도구
|
구성 요소 |
- 논리적 구조(Logical Structure): 데이터 베이스에 논리적으로 표현될 대상으로서의 개체 타입, 그 관계로 데이터 구조 및 정적 성질 표현
- 연산(Operation): 실제 데이터 처리하는 작업에 대한 명세로서 데이터베이스 조작하는 기본 도구
- 제약 조건(Constraint): 데이터베이스에 저장될 수 있는 실제 데이터의 논리적 제약 조건
|
3. 데이터 모델링 절차
데이터 관점의 데이터 모델링 절차
개념(Conceptual) 데이터 모델링 |
- 정보 내용 요구를 만족시키고 쉽게 이해 가능한 정보 구조 제공
- DBMS에 독립적인 ERD 설계
- 개념 스키마 모델링(Conceptual Schema Modeling)
- 트랜잭션 모델링(Transaction Modeling)
|
논리(Logical) 데이터 모델링 |
- DB 개발 과정 첫 단계로 전략 수립 및 분석 단계에서 실행
- 데이터 모델링 과정의 핵심
- 논리적 데이터 저장소(개체/속성 확인, 프로세스별 CRUD 확인, 데이터 백업 및 복구 정책 확인)
- 논리적 데이터 베이스 구조로 매핑(MApping)
- 트랜잭션 및 인터페이스 설계
- 스키마 평가 및 정제(최적화)
|
물리(Physical) 데이터 모델링 |
- 레코드 분석 및 설계
- 저장 레코드 클러스터링
- 접근 경로 설계
|
데이터 베이스 구축 고려사항 |
|
4. 관계
종류
- 속성 관계(Attribute Relationship, Intra-Entity Relationship)
- 개체 관계(Entity Relationship, Inter-Entity Relationship)
- 종속 관계(Dependent Relationship)
- 중복 관계(redundant relationship)
- 재귀 관계(Recursive Relationship)
- 배타 관계(Exclusive Relationship)
Reference
https://book.naver.com/bookdb/book_detail.naver?bid=17134434