랑아
article thumbnail

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) 속성의 특성에 따른 분류

  1. 기본 속성(Basic Attribute)
    • 업무 분석으로 정의한 속성
    • 업무로부터 추출한 모든 속성에 해당
    • 개체 타입에 가장 일반적으로 많이 사용
    • 코드 데이터, 개체 타입을 식별하기 위해 부여된 일련번호, 다른 속성을 계산하거나 영향을 받아 생성된 속성을 제외한 모든 속성
  2. 설계 속성(Designed Attribute)
    • 원래 업무에는 존재하지 않지만 설계를 하면서 도출하는 속성
    • 업무에 필요한 데이터 이외에 데이터 모델링을 위해 업무를 규칙화하려고 속성을 새로 만들거나 변형하여 정의하는 속성
    • 일련번호화 같은 속성은 Unique 식별자를 부여하기 위해 모델에서 새로 정의하는 설계 속성에 해당
  3. 파생 속성(Derived Attribute)
    • 다른 속성으로부터 계산이나 변형되어 생성되는 속성
    • 다른 속성에 영향을 받아 발생하는 속성으로 보통 계산된 값이 이에 해당

4) 개체 구성 방식에 따른 분류

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

5) 속성의 후보 선정 원칙

  1. 원시(Source) 속성으로 보이는 후보는 제거하지 않음
    • 다른 속성에 의해 다시 재현할 수 없는 속성
    • 가공 속성이 아닌 속성, 이 속성이 없다면 다시는 재현할 수 없는 속성을 원시 속성이라고 함
    • 재현이 불가능한 상황일 때 이것을 제거하면 정보가 소실되므로 절대 제거해서는 안 됨
  2. 소그룹별로 후보군을 만들고 가장 근접한 개체에 할당함
    • 모든 개체가 정의되어 있는 상태가 아니라 단지 핵심 개체들을 대상으로 모델링을 실시해 왔을 뿐이므로 아직은 모든 개체가 드러나 있지 않음
    • 따라서 각 속성 후보들을 적절한 데이터 그룹으로 생성하여 두는 것이 필요함

6) 속성명의 부여 원칙

  • 해당 업무에서 사용하는 이름을 부여할 것
  • 서술식 속성명은 사용하지 않을 것
  • 약어 사용은 가급적 자제할 것
  • 개체 타입명은 속성명으로 사용하지 않을 것
  • 개체 타입에서 유일하게 식별할 수 있도록 지정할 것



03. 식별자(Identifier)

1) 식별자의 정의

  • 여러 개의 집합체를 담고 있는 하나의 개체 타입에서 각각의 개체를 구분할 수 있는 결정자
  • 모든 개체 타입에는 반드시 하나 이상의 식별자가 있어야 함

2) 식별자의 특징

  • 식별자에 의해 개체 타입 내 모든 개체가 유일하게 구분되어야 함
  • 일단 특정 개체 타입에 식별자가 지정되면 그 식별자는 변하지 않아야 함
  • 주 식별자의 경우 식별자가 지정되면 주 식별자 속성에 반드시 데이터 값이 있어야 함

3) 식별자의 구분

  1. 주(Primary) 식별자와 보조(Alternative) 식별자
    • 주 식별자는 개체 타입의 대표성을 나타내는 유일한 식별자
    • 보조 식별자는 주 식별자를 대신하여 보조적으로 개체를 식별할 수 있는 속성
    • 주 식별자나 보조 식별자 모두 개체 타입의 개체를 유일하게 식별할 수 있음
    • 주 식별자는 개체 타입이 하나에 한 개인 반면 보조 식별자는 하나 이상일 수 있음
    • 물리 테이블에서 주 식별자는 기본키로 저장되며, 보조 식별자는 기본키로 지정되지 않고, Unique 인덱스로 지정되어 사용
    • 개체 타입에서 개체를 유일하게 식별할 수 있는 속성이 두 개 이상일 때 해당 업무에 적합한 속성을 주 식별자로 두고, 다른 속성은 보조 식별자로 활용
  2. 내부(Internal) 식별자와 외부(External) 식별자
    • 내부 식별자는 사원 개체 타입의 사원번호, 주문 개체 타입의 주문번호와 같이 타 개체 타입으로부터 식별자를 가져오지 않고 자신의 개체 타입 내에서 스스로 생성되어 존재하는 식별자를 의미
    • 외부 식별자는 다른 개체 타입과의 관계에 의해 주 식별자 속성을 상속받아 자신의 속성에 포함되는 식별자로 자신의 외부 식별자가 주 식별자 영역에 포함될 수도 있고, 일반 속성에 포함될 수도 있음
    • 외부 식별자는 자신의 개체 타입으로부터 다른 개체 타입을 찾아가는 연결자 역할을 함
  3. 단일(Single) 식별자와 복합(Composit) 식별자
    • 단일 속성으로 식별되는 가에 따른 구분
    • 주 식별자의 구성이 한 가지 속성으로만 이루어진 경우를 단일 식별자라고 함
    • 두 개 이상의 속성으로 구성된 경우를 복합 식별자라고 함
    • 주문 개체 타입은 주문번호의 속성이 주 식별자 열할을 하므로 단일 식별자에 해당
    • 주문 목록 개체 타입의 주문번호와 제품번호 속성을 이용하여 하나의 유일한 식별자 역할을 하는 경우를 복합 식별자라고 함
  4. 원조(Artificial) 식별자와 대리(Surrogate) 식별자
    • 대체 여부에 따른 구분
    • 주 식별자의 속성이 복합 식별자로 여러 개의 속성을 묶어 하나의 속성으로 만들어 주 식별자로 활용하는 경우를 대리 식별자라고 함
    • 주 식별자 속성을 일반 속성으로 내리고, 일련번호 형태를 사용하는 경우 주 식별자로 사용된 일련번호를 대리 식별자라고 함

4) 후보 식별자 조건

  • 각 인스턴스를 유일하게 식별할 수 있어야 함
  • 나머지 속성들을 직접 식별할 수 있어야 함
  • 널(NULL)이 될 수 없음
  • 후보 식별자로 속성 집합을 선택하는 경우에는 개념적으로 유일해야 함
  • 후보 식별자의 데이터는 자주 변경하느 않는 것이어야 함

5) 인조 식별자 조건

  • 최대한 범용적인 값을 사용
  • 유일한 값을 만들기 위한 인조 식별자를 사용
  • 편의성과 단순성을 확보하기 위한 인조 식별자를 사용할 수 있음
  • 의미의 체계화를 위한 인조 식별자를 사용할 수 있음
  • 내부적으로만 사용하는 인조 식별자를 사용할 수 있음



04. 개체 정의서(Entity Description)

1) 개체 정의서의 정의

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

2) 개체 정의서 포함 목록

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

랑아

@RangA

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!