01. 개체와 속성
01. 개체(Entity)
1) 개체의 정의
- 현실 세계의 유형, 무형의 대상체를 추상화하여 표현하는 단위로 파일에서 레코드에 대응하는 개념
- 독립적으로 존재하며 식별 가능해야 함
- 회사나 학교 등의 조직에서 업무 활동상 지속적인 관심을 가지고 있는 대상으로 동질성을 지닌 개체 집합이나 행위의 집합
2) 개체 타입(Entity Type)
- 개체 이름과 이 개체의 특성으로 표현된 속성들로 구성하여 만든 논리적인 정의
- 설계에 해당하는 개념으로 개체 스키마(Entity Schema)라고도 함
3) 개체 타입의 특성
- 시스템을 구축하고자 하는 업무에서 필요한 정보이어야 함
- 유일한 식별자(Unique Identifier)에 의해 식별이 가능해야 함
- 영속적으로 존재하는 개체의 집합이 되어야 함
- 업무 프로세스는 그 개체 타입을 반드시 이용해야 함
- 개체 타입에는 반드시 속성(항목, 필드, Attribute)들이 포함되어 있어야 함
- 개체 타입은 다른 개체 타입과 최소 한 개 이상의 관계가 있어야 함
4) 개체 타입을 명명하는 일반적인 기준
- 가능하면 실제 업무에서 사용하는 용어를 사용할 것
- 가능하면 약어를 사용하지 않을 것
- 단수 명사를 사용할 것
- 개체 타입에 부여되는 이름은 유일할 것
- 가급적 개체 타입이 생성되는 의미에 따라 이름을 부여할 것
5) 개체 어커런스(Entity Occurrence)
- 개체 타입의 연산에 의해 실제적인 값이 들어가 있는 상태를 의미
- 개체 인스터느(Entity Instance)라고도 함
- 파일 시스템의 레코드 값을 의미하며 실제적인 개체를 의미
6) 개체 집합(Entity set)
- 개체 어커런스들의 집합
- 각 개체들의 모든 정보를 의미
02. 속성(Attribute)
1) 속성의 정의
- 업무에 필요한 개체에서 관리하고자 하는, 더 이상 분리되지 않는 최소의 데이터 단위
- 데이터베이스를 구축하는 가장 작은 논리적 단위로 파일 시스템의 필드 개념에 해당
2) 속성의 특징
- 개체 타입에 속한 개체의 성격을 구체적으로 나타내는 항목들을 말하며, 각각의 개체 타입은 속성의 집합으로 설명될 수 있음
- 속성 자체만으로는 정보를 표현할 수 없고 정보를 표현하는 단위인 개체나 관계의 특성을 설명하는 단위로 사용
- 하나의 속성은 하나의 개체 타입에만 존재할 수 있으며, 관계로 기술될 수 없고, 자신의 속성을 가질 수도 없음
3) 속성의 특성에 따른 분류
- 기본 속성(Basic Attribute)
- 업무 분석으로 정의한 속성
- 업무로부터 추출한 모든 속성에 해당
- 개체 타입에 가장 일반적으로 많이 사용
- 코드 데이터, 개체 타입을 식별하기 위해 부여된 일련번호, 다른 속성을 계산하거나 영향을 받아 생성된 속성을 제외한 모든 속성
- 설계 속성(Designed Attribute)
- 원래 업무에는 존재하지 않지만 설계를 하면서 도출하는 속성
- 업무에 필요한 데이터 이외에 데이터 모델링을 위해 업무를 규칙화하려고 속성을 새로 만들거나 변형하여 정의하는 속성
- 일련번호화 같은 속성은 Unique 식별자를 부여하기 위해 모델에서 새로 정의하는 설계 속성에 해당
- 파생 속성(Derived Attribute)
- 다른 속성으로부터 계산이나 변형되어 생성되는 속성
- 다른 속성에 영향을 받아 발생하는 속성으로 보통 계산된 값이 이에 해당
4) 개체 구성 방식에 따른 분류
- 기본키 속성 : 개체를 식별할 수 있는 속성
- 외래키 속성 : 다른 개체와의 관계에서 포함된 속성
- 일반 속성 : 개체에 포함되어 있고 기본키, 외래키에 포함되지 않는 속성
5) 속성의 후보 선정 원칙
- 원시(Source) 속성으로 보이는 후보는 제거하지 않음
- 다른 속성에 의해 다시 재현할 수 없는 속성
- 가공 속성이 아닌 속성, 이 속성이 없다면 다시는 재현할 수 없는 속성을 원시 속성이라고 함
- 재현이 불가능한 상황일 때 이것을 제거하면 정보가 소실되므로 절대 제거해서는 안 됨
- 소그룹별로 후보군을 만들고 가장 근접한 개체에 할당함
- 모든 개체가 정의되어 있는 상태가 아니라 단지 핵심 개체들을 대상으로 모델링을 실시해 왔을 뿐이므로 아직은 모든 개체가 드러나 있지 않음
- 따라서 각 속성 후보들을 적절한 데이터 그룹으로 생성하여 두는 것이 필요함
6) 속성명의 부여 원칙
- 해당 업무에서 사용하는 이름을 부여할 것
- 서술식 속성명은 사용하지 않을 것
- 약어 사용은 가급적 자제할 것
- 개체 타입명은 속성명으로 사용하지 않을 것
- 개체 타입에서 유일하게 식별할 수 있도록 지정할 것
03. 식별자(Identifier)
1) 식별자의 정의
- 여러 개의 집합체를 담고 있는 하나의 개체 타입에서 각각의 개체를 구분할 수 있는 결정자
- 모든 개체 타입에는 반드시 하나 이상의 식별자가 있어야 함
2) 식별자의 특징
- 식별자에 의해 개체 타입 내 모든 개체가 유일하게 구분되어야 함
- 일단 특정 개체 타입에 식별자가 지정되면 그 식별자는 변하지 않아야 함
- 주 식별자의 경우 식별자가 지정되면 주 식별자 속성에 반드시 데이터 값이 있어야 함
3) 식별자의 구분
- 주(Primary) 식별자와 보조(Alternative) 식별자
- 주 식별자는 개체 타입의 대표성을 나타내는 유일한 식별자
- 보조 식별자는 주 식별자를 대신하여 보조적으로 개체를 식별할 수 있는 속성
- 주 식별자나 보조 식별자 모두 개체 타입의 개체를 유일하게 식별할 수 있음
- 주 식별자는 개체 타입이 하나에 한 개인 반면 보조 식별자는 하나 이상일 수 있음
- 물리 테이블에서 주 식별자는 기본키로 저장되며, 보조 식별자는 기본키로 지정되지 않고, Unique 인덱스로 지정되어 사용
- 개체 타입에서 개체를 유일하게 식별할 수 있는 속성이 두 개 이상일 때 해당 업무에 적합한 속성을 주 식별자로 두고, 다른 속성은 보조 식별자로 활용
- 내부(Internal) 식별자와 외부(External) 식별자
- 내부 식별자는 사원 개체 타입의 사원번호, 주문 개체 타입의 주문번호와 같이 타 개체 타입으로부터 식별자를 가져오지 않고 자신의 개체 타입 내에서 스스로 생성되어 존재하는 식별자를 의미
- 외부 식별자는 다른 개체 타입과의 관계에 의해 주 식별자 속성을 상속받아 자신의 속성에 포함되는 식별자로 자신의 외부 식별자가 주 식별자 영역에 포함될 수도 있고, 일반 속성에 포함될 수도 있음
- 외부 식별자는 자신의 개체 타입으로부터 다른 개체 타입을 찾아가는 연결자 역할을 함
- 단일(Single) 식별자와 복합(Composit) 식별자
- 단일 속성으로 식별되는 가에 따른 구분
- 주 식별자의 구성이 한 가지 속성으로만 이루어진 경우를 단일 식별자라고 함
- 두 개 이상의 속성으로 구성된 경우를 복합 식별자라고 함
- 주문 개체 타입은 주문번호의 속성이 주 식별자 열할을 하므로 단일 식별자에 해당
- 주문 목록 개체 타입의 주문번호와 제품번호 속성을 이용하여 하나의 유일한 식별자 역할을 하는 경우를 복합 식별자라고 함
- 원조(Artificial) 식별자와 대리(Surrogate) 식별자
- 대체 여부에 따른 구분
- 주 식별자의 속성이 복합 식별자로 여러 개의 속성을 묶어 하나의 속성으로 만들어 주 식별자로 활용하는 경우를 대리 식별자라고 함
- 주 식별자 속성을 일반 속성으로 내리고, 일련번호 형태를 사용하는 경우 주 식별자로 사용된 일련번호를 대리 식별자라고 함
4) 후보 식별자 조건
- 각 인스턴스를 유일하게 식별할 수 있어야 함
- 나머지 속성들을 직접 식별할 수 있어야 함
- 널(NULL)이 될 수 없음
- 후보 식별자로 속성 집합을 선택하는 경우에는 개념적으로 유일해야 함
- 후보 식별자의 데이터는 자주 변경하느 않는 것이어야 함
5) 인조 식별자 조건
- 최대한 범용적인 값을 사용
- 유일한 값을 만들기 위한 인조 식별자를 사용
- 편의성과 단순성을 확보하기 위한 인조 식별자를 사용할 수 있음
- 의미의 체계화를 위한 인조 식별자를 사용할 수 있음
- 내부적으로만 사용하는 인조 식별자를 사용할 수 있음
04. 개체 정의서(Entity Description)
1) 개체 정의서의 정의
- 논리적 개체와 속성, 식별자들이 모두 확정된 후에 이들에 대한 명세서를 작성한 것
2) 개체 정의서 포함 목록
- 개체 타입명 : 확정된 개체 타입들의 이름을 기술
- 개체 타입 설명 : 확정된 개체 타입의 의미를 기술
- 동의어/유의어 : 해당 개체 타입과 유사한 동의어나 유의어를 기술
- 개체 타입 구분 : 개체 타입의 구분 기준에 따라 유형들을 기술
- 관련 속성들 : 개체 관련 속성들을 기술
- 식별자 : 해당 개체 타입의 주 식별자와 대체 식별자(후보 식별자)를 기술
'정보처리기사 > 데이터베이스 구축' 카테고리의 다른 글
논리 데이터베이스 설계 3 (1) | 2023.05.26 |
---|---|
논리 데이터베이스 설계 2 (0) | 2023.05.25 |
데이터베이스의 개요 3 (0) | 2023.05.25 |
데이터베이스의 개요 2 (0) | 2023.05.25 |
데이터베이스의 개요 1 (1) | 2023.05.25 |