Search
Duplicate

데이터 모델링

태그
데이터 모델링
엔티티

데이터 모델링의 이해

데이터 모델링
데이터 모델링은 현실 세계를 데이터베이스로 표현하기 위해서 추상화한다.
데이터 모델링의 특징
추상화 : 공통적인 특징을 찾고 간략하게 표현한다.
단순화 : 복잡한 문제를 피하고 누구나 이해할 수 있게 표현
명확화 : 의미적 해석이 모호하지 않고 명확하게 해석. 한 가지 의미를 가져야 한다.
데이터 모델링 단계
개념적 모델링
전사적 관점에서 기업의 데이터를 모델링한다.
추상화 수준이 가장 높은 수준의 모델링
업무 측면에서 모델링
논리적 모델링
정규화를 통해서 재사용성을 높인다.
식별자를 정의하고 관계, 속성 등을 모두 표현한다.
물리적 모델링
성능, 보안, 가용성 등을 고려하여 데이터베이스를 구축한다.
테이블, 인덱스 생성 단계
데이터 모델링 관점
데이터 : 비즈니스 프로세스에서 사용되는 데이터 의미
프로세스 : 비즈니스 프로세스에서 수행하는 작업을 의미
데이터와 프로세스 : 프로세스와 데이터 간의 관계를 의미
ERD
절차
엔티티를 도출하고 그린다 → 엔티티를 배치한다 → 엔티티 간의 관계를 설정한다 → 관계명을 서술한다 → 관계 참여도를 표현한다 → 관계의 필수 여부를 표현한다
데이터 모델링 고려사항
데이터 모델의 독립성 → 중복된 데이터 제거 (= 정규화)
고객 요구사항의 표현
데이터 품질 확보
3층 스키마
사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 데이터베이스를 기술하고 이들간의 관계를 정의한 ANSI 표준이다.
데이터베이스의 독립성을 확보하기 위한 방법이다.
데이터 복잡도 감소, 중복 제거, 대응력 향상, 유지보수 비용 절감
각 계층을 뷰 라고도 한다.
구조
외부 스키마 : 응용 프로그램이 접근하는 데이터 베이스
개념 스키마 : 설계자 관점의 데이터 베이스. 통합 데이터베이스 구조이다.
내부 스키마 : 개발자 관점, 데이터베이스의 물리적 저장 구조이다.
독립성
논리적 독립성 : 개념 스키마가 변경되더라도 외부 스키마가 영향을 받지 않는 것
물리적 독립성 : 내부 스키마가 변경되더라도 개념 스키마가 영향을 받지 않는 것
좋은 모델링의 요건
중복 배제, Business Rule, 완전성

엔티티

엔티티
업무에서 관리해야 하는 데이터 집합을 의미한다.
엔터티는 개념, 사건, 장소 등의 명사이다.
특징
식별자 : 엔티티는 유일한 식별자가 있어야 한다.
인스턴스 집합 : 2개 이상의 인스턴스가 있어야 한다. (= 행의 수)
속성 : 반드시 속성을 가지고 있다.
관계 : 다른 엔터티와 최소한 한 개 이상 관계가 있어야 한다.
업무 : 엔터티는 업무에서 관리되어야 하는 집합이다.
종류
유형과 무형에 따른 엔티티 종류
유형 엔티티 : 지속적으로 사용되는 엔티이이다. (물리적 형태 존재)
개념 엔티티 : 물리적 형태 없음
사건엔티티 : 비즈니스 프로세스를 실행하면서 생성되는 엔터티이다.
발생 시점에 따른 엔티티 종류
기본 엔티티 : 키 엔티티. 독립적으로 생성되는 엔티티
중심 엔티티 : 기본 엔티티로부터 발생되고 행위 엔티티를 생성하는 것
행위 엔티티 : 2 개 이상의 엔티티로부터 발생된다.
속성
업무에서 필요한 정보인 엔티티가 가지는 항목
더 이상 분리되지 않는 단위
분해 여부에 따른 속성의 종류
단일 속성 : 하나의 의미로 구성된 것 (이름)
복합 속성 : 여러 개의 의미가 있는 것. 주소가 있다.
다중값 속성 : 속성에 여러 개의 값을 가질 수 있는 것. 엔터티로 분해된다.
특성에 따른 속성의 종류
기본속성 : 비즈니스 프로세스에서 도출되는 본래의 속성이다.
설계속성 : 데이터 모델링 과정에서 발생되는 속성이다. 유일한 값을 부여한다.
파생속성 : 다른 속성에 의해서 만들어지는 속성이다.
도메인
도메인은 속성이 가질 수 있는 값의 범위이다.
관계
존재 관계 : 존재 관계는 엔티티 간의 상태를 의미한다.
행위 관계 : 엔티티 간에 어떤 행위가 있는 것.
식별 관계와 비식별 관계
식별 관계
강한 개체는 다른 엔터티와 관계를 가질 때 기본키를 공유한다.
강한 개체는 식별 관계로 표현된다.
비식별 관계
강한 개체의 기본키를 다른 엔터티의 기본키가 아닌 일반 칼럼으로 관계를 가지는 것
식별자
주식별자 (= 기본키, PK)
최소성, 대표성, 유일성, 불변성
후보키 중에서 엔티티를 대표할 수 있는 키이다.
후보키 : 후보키는 유일성과 최소성을 만족하는 키이다.
슈퍼키 : 유일성만 만족한다.
대체키 : 여러 개의 후보키 중에서 기본키를 선정하고 남은 키이다.
외래키
참조 무결성을 확인하기 위해서 사용하는 키
허용된 데이터 값만 데이터베이스에 저장하기 위해 사용한다.
식별자의 종류
식별자의 대표성
주식별자 : 엔티티를 대표하는 식별자. 참조관계로 연결 가능
보조식별자 : 대표성 만족 못함
생성 여부에 따른 식별자
내부 식별자 : 엔티티 내부에서 스스로 생성되는 식별자
외부 식별자 : 다른 엔티티와의 관계로 인하여 만들어지는 식별자
속성의 수에 따른 식별자
단일 식별자 : 하나의 속성으로 구성
복합 식별자 : 두 개 이상의 속성으로 구성
대체 여부에 따른 식별자
본질 식별자 : 비즈니스 프로세스에서 만들어지는 식별자
인조 식별자 : 인위적으로 만들어지는 식별자