<개체와 속성>

개체

개체의 정의

  • 레코드에 대응하는 개념
  • 독립적으로 존재

 

개체 타입

  • 개체 스키마
  • 유일한 식별자에 의해 식별 가능해야함
  • 개체 타입에는 속성들이 포함되어 있어야 함
  • 다른 개체 타입과 최소 한 개 이상의 관계가 있어야 함

 

개체 타입을 명명하는 일반적인 기준

  • 실제 업무에서 사용하는 용어 사용
  • 약어 사용하지 않는다
  • 단수 명사 사용
  • 이름은 유일해야함
  • 의미에 따라 이름 부여

개체 어커런스 - 레크드의 값

개체 집합 - 개체 어커런스들의 집합

 

속성
  • 더 이상 분리되지 않은 최소의 데이터 단위
  • 필드
  • 각각의 개체 타입은 속성의 집합으로 설명 가능
  • 하나의 속성 : 하나의 개체 타입에만 존재

 

속성에 따른 분류

  • 기본 속성
    • 모든 속성
    • 일반적, 많이 사용됨
    • 다른 속성에 영향 받아 생성되는거 제외
  • 설계 속성
    • 설계를 하면서 도출되는 속성
    • 새로 만들거나 변형하여 정의하는 속성
  • 파생 속성(Derived Attribute) 
    • 다른 속성으로부터 변형되어 생성되는 속성
    • 계산 된 값

개체 구성 방식에 따른 분류

  • 기본키 속성
    • 개체를 식별할 수 있는 속성
  • 외래키 속성
    • 다른 개체와 관계에 포함된 속성
  • 일반 속성
    • 개체에 포함 됨 || 외래키에 포함 안됨

 

속성 후보 선정 원칙

  • 원시 속성으로 보이는 후보는 제거하지 않는다
    • 다시 재현할 수 없는거
    • 제거하면 정보가 소실됨
  • 소그룹별로 후보군을 만들고, 가장 근접한 개체에 할당
    • 모든 개체가 드러나지 않아서

 

식별자
  • 각각의 개체 구분할 수 있는 결정자
  • 모든 개체 타입에는 반드시 하나 이상의 식별자 있어야함. 

식별자 구분

  • 주 식별자, 보조식별자
    • 주 : 개체 타입의 대표성을 나타내는 유일한 식별자
      • 개체 타입이 하나에 한개
      • 물리테이블 -> 기본키
    • 보조 : 주 식별자 대신, 보조적으로 식별 가능
      • 하나 이상 가능
  • 내부 식별자, 외부식별자
    • 내부 : 스스로 생성되어 존재
    • 외부: 다른 개체 타입과의 관계에 의해 주 식별자의 속성 상속받음,
      • 주 식별자 영역에 포함될 수도, 일반 속성에 포함될 수도
      • 연결자 역활
  • 단일 식별자, 복합 식별자
    • 단일 속성으로 식별 되는 가 
    • 단일 : 주 식별자의 구성이 한 가지 속성
    • 복합 : 두 개의 이상의 속성으로 구성
  • 원조(Artificial) 식별자, 대리(Surrogate)식별자
    • 대체 여부에 따름
    • 대리 : 주 식별자가 복합일 때, 여러개 속성 묶어 하나의 속성으로

 

후보 식별자 조건

  • 각 인스턴스 유일하게 식별 O
  • 나머지 직접 속성할 수 있어야 함
  • 널 X
  • 개념적으로 유일해야함
  • 자주 변경하지 않는 것

 

인조 식별자 조건

  • 최대한 범용적인 값
  • 유리한 값 만들고 싶을 때
  • 편의성, 단순성, 의미의 체계화, 내부적 사용시 

 

 

개체 정의서
  • 개체, 속성, 식별자가 모두 확정 -> 명세서 작성

개체 정의서 포함 항목

  • 개체 타입명
  • 개체 타입 설명
  • 동의어/유의어
  • 개체 타입 구분
  • 관련 속성들
  • 식별자

 

<정보 모델링과 데이터 모델링>

모델링

개념

  • 정보 모델링 : 개체 -> 정보 구조로 표현하는 과정
  • 데이터 모델링 : 정보 구조 -> 논리적인 데이터 구조 (컴퓨터가 이해O)

 

모델링 단계

  • 현실 단계  : 개체 파악, 개체 실체 만들어냄
  • 개념 단계 : 공통점 찾아 추상화 (그림으로 표현?)
  • 논리 단계 : 데이터들의 관계로 구성 (레코드 필드,,)

 

데이터 모델링

구성요소

  • 논리적 구조
  • 연산
    • 데이터 삽입, 삭제, 변경
  • 제약조건
    • 데이터 구조에서 허용할 수 있는 관계를 명세화

 

목적

  • 정보 요구에 정확한 이해
  • 효율적인 의사소통 수단
  • 유지 보수 비용 감소 효과 기대
  • 개발 기초

 

특성

  • 업무 흐름 파악 용이
  • 무결성 보장 O
  • 데이터 공유를 통한 중복 제거, 일관성 있는 정보 제공 O

 

데이터 모델링 절차

데이터 모델링 절차

0. 요구사항

1. 개념(Conceptual) 데이터 모델링

  • 정보 내용 만족
  • 성능 목적 지원
  • E-R모델
  • 논리 데이터 모델의 기초
  • 개념 모델링 2단계
    • 개념 스키마 모델링
      • E-R다이어그램
    • 트랜잭션 모델링
      • 고차원 명세로 기술

2. 논리 데이터 모델링 (분석)

  • 개념
    • DB 개발 과정 첫 단계
    • 가장 핵심
    • 개념 구조 -> 논리적 구조
    • DB 관리자가 사용
    • 관계형 데이터 모델, 계층적 데이터 모델, 네트워크 데이터 모델
    • 정규화하여 모델링함
    • 완전하고 정확하게 표현
    • 특정 DBMS로부터 독립적
  • 논리적 데이터 모델링 3단계
    • 논리적 DB구조로 매핑
    • 트랜잭션 인터페이스 설계
    • 스키마의 평가 및 정제(최적화)
  • 특성
    • 충분히 수집하지 않으면 비용 발생
    • E-R모델 활용
    • HW , SW에 독립적

3. 물리 데이터 모델링 (설계)

  • 개념
    • DB생성을 위한 물리 구조로 변환
    • 레코드 양식, 응답시간, 저장공간 등 설계
  • 3단계
    • 레코드 분석 및 설계
    • 저장 레코드들을 클러스터링 (데이터 하나로 집중 or 분산)
    • 접근 경로 설계
  • 오브젝트 추가
    • 설계용 개체 타입 추가
    • 설계용 속성 추가
  • 성능을 고려한 조정
    • DBMS 고려
    • 개체 타입의 분리 or 통합 검토
    • 반정규화
    • 관계를 해체
  • DBMS에 적합한 성능 조정
    • 인덱스 추가 및 조정
    • 테이블 스페이스 조정
    • 인덱스 스페이스 조정

4. 데이터 베이스 구축 (개발)

  • 개념
    • 설계된 데이터 저장하기 위해 -> DBMS이용하여 DB생성
  • 고려사항
    • 무결성
    • 일관성
    • 회복성
    • 보안성
    • 호율성
    • 확장성

5. 데이터베이스

 

관계

1. 종류

  • 속성 관계
    • 속성과 속성 사이의 관계
    • 개체 내 관계
  • 개체 관계
    • 개체와 개체 사이 관계
    • 개체 간의 관계
  • 종속 관계 (Dependent Relationship)
    • 식별 관계
      • 외래 식별자-> 하위 개체의 주 식별자의 전체 or 일부로 존재
    • 비식별 관계
      • 외래 식별자 -> 하위 개체의 일반 속성으로
  • 중복 관계 (Redundant Relationship)
    • 두 개체 간 두 번 이상의 종속 관계 발생
  • 재귀 관계 (Recursive Relationship)
    • 자기 자신 개체를 다시 참조
  • 배타 관계 (Exclusive Relationship)
    • 데이터 통합
    • AND, OR관계

 

2. 관계의 대응

  • 1:1 
    • 반드시 한 개씩
  • 1:0 or 1:1
    • 한 개 : 한개 이하
  • 1:1 or 1:N
    • 반드시 한 개 : 한 개 이상
  • 1:0 or 1:1 or 1:N
    • 반드시 한 개 : 한 개 이상 or 없
  • 1:N
    • 반드시 한 개 : 반드시 한 개 이상

 

3. M:N 관계의 해소

  • 구현 불가
  • N : 1로 변경해야 함
  • 논리적 완성, 부분집합 식별 능력 제한
  • 정규화 x, 불안정, 문서화 적업 완료 X

 

4. 관계의 특징

  • (1:1 - 1:0 ) or (1:1 - 1:1 )  : 개체 1, 개체 2는 주 식별자가 동일
    • 성능 향상, 데이터 보안 목적

 

 

<E-R다이어 그램 작성>

E-R다이어 그램

1. 배경

2. 개념

  • 개체와 관계로 현실 세계를 표현한 모델
  • 기본 요소 : 개체, 관계, 속성

3. 특징

  • 식별자, 상관관계, 속성 설명해줌
  • 물리적 시스템 환경 고려 X
  • 설계 변경이 거의 발생 X
  • 논리 data 모델 -> 하나의 개체 != 하나의 테이블이나 세그먼트

 

E-R다이어그램 표기법

1. 개체 - 사각형

  • 사물 or 사건
  • 유일한 단어

2. 속성 - 동그라미

  • 개체가 가지고 있는 요소 or 성질
  • 속성명 != 개쳄여
  • 속성 값이 NOT NULL인지, NULL인지 고려

3. 관계 - 마름모

4. E-R 모델 작성 기법

  • 개체들을 정렬하며 배열
  • 좌에서 우, 상에서 하
  • 관계는 사선 X
  • 교차선 X,

 

확장 E-R다이어그램 (ERD)

1. 슈퍼 타입, 서브 타입

  • is-a 관계 가짐
  • 서브 타입 -> 슈퍼 타입이 되어 -> 여러 개 서브 타입 가질 수 O

2. 특수화 (Specialization) ↓

  • 여러 개로 분리
  • 하향식 설계

3. 일반화 (Zeneralization) ↑

  • 공통적인 특성 -> 상위객체로
  • 클래스들 간의 개념적인 포함 관계
  • 상향식 

4. 상속 (inheritance)

  • 하위 클래스는 상위 클래스 모든 것 상속 O
  • 하나의 하위 클래스는 여러개의 상위 클래스 상속 O

5. 집단화(Aggregation)

  • 여러 개체 타입을 묶어 -> 하나의 상위 객체 만들 수 있
  • 중복될 수 있는 개체 -> 단순하게 표현 O
  • 특수화, 일반화 -> 집단화 상속 관계 X

6. 분류화(Classification)

  • 공통적인 성질을 갖는 멤버들 표현
  • 상속 관계X
  • root노드 유형

+ Recent posts