데이터베이스 모델링
개념모델링, 논리모델링, 물리모델링을 거쳐 물리 데이터 베이스를 구축하는 순서로 진행한다. 또한, 이에따른 엔티티의 정의와 관계도, 상속 및 상위엔티티, 하위엔티티에 대한 설명을 진행하려고 한다.
개념모델링
- 주제영역도출
- 핵심 엔티티 도출
- 식별자 정의
- 관계정의
데이터 모델링 엔티티 종류
- 테이블을 종류에 따라 /Key/Main/Action/Production으로 분류하고 상세화한다.
개념데이터 모델링
주제영역별 핵심 엔티티를 도출하고 그들간의 관계를 정의하여 상위 수준의 엔티티 관계도(ERD)를 작성한다.
개념모델링에서는 식별자보다는 핵심 엔티티 식별 및 핵심 엔티티간의 관계를 식별하는 것이 중요하다.
주제영역
- 기업이 사용하는 데이터의 최상위 집합
- 하위 주제영역들로 구성
- 업무활동 기능과 대응
(핵심)엔티티(Entity)
데이터정보를 담는 또는 보관하는 툴
- 엔티티의 정의항목과 특이 및 제약사항 항목을 정의하여 보관하여야 한다.
- 관계는 엔티티와 엔티티간의 연관성을 표현한 것이다. 즉, 데이터 집합간의 연관성을 표현한 것이다.
- 한 데이터가 발생하기 위해서는 다른 데이터가 어떤 역활을 하는지를 규정한 것이다.
관계정의
- 관계차수(Cardinality)는 두 엔티티간의 관계에 참여하는 인스턴스의 수를 나타내는 것
- 1:1관계
- 1대 M 관계
- M대 N 관계
데이터모델링 구성요소 중 관계 정의 등의 예외 도출방법을 구체화
- 공통코드 엔티티와 타엔티티의 관계를 생략하는 것이 중요
선택성
- 선택성 (Optionality)는 존재시 필수항목이며 없으면 선택항목이다. - 멘데토리, 옵셔널 필수참여관계, 선택 참여관계
- 선택사양의 일반적으로 형태로 주로 참조하는 엔티티는 참조되는 엔티티가 반드시 존재해야하는 경우가 많이 나타난다.
- 바람직힌 선택사양의 환경은 가능한 필수 관계를 가지도록 특히 자식쪽에서 노력해야된다.
식별성
- 식별/비식별성은 상위엔티티의 식별자가 하위엔티티의 식별자로 상속되는 경우 식별자를 구분한다.
- 식별자 관계는 부모엔티팀와 자식엔티티의 관계에서 부모 엔티티의 식별자가 자식 엔티티의 식별자영역으로 상속된다.
- 식별자는 인스턴스의 유일성을 보장하는 외 조회조건으로 사용속성 식별자를 추가하지 않아야한다.
- 엔티티가 업무적으로 절대 종속성이 있을 때는 식별자로 상속되는 것이 바람직하다.
- 비식별자관계는 부모 엔티티의 식별자를 자식 엔티티의 일반 속성으로 상속한다. nullable / not null
상속성
- 관계표현에서는 데이터 모델링에서의 데이터 집합간에는 무수한 관계가 존재한다. 하지만 이러한 모든 관계를 표현하는 것은 아니다. 많은 관계중에서 직접 종속인 것만을 관게로 보고 모델링 하는 것이다.
서브타입
- 서브타입이란 업무적관점에서 특성속성값에 따라 집합의 논리적성격과 업무규칙이 다른 경우 속성의 소유관계 대상을 명확하게 하는 것
- 서브타입의 특징으로 수퍼타입의 모든 속성 , 관계, 식별자는 서브타입으로 상속된다.
데이터 모델링의 원칙 - 추상화(Abstrate)
추상화란 현실셰계의 관리대상 정보를 분류화 집단화, 일반화를 통해 구체화하는 과정이다.
데이터베이스 정규화
데이터모델링 수행방법이자 검증방법인 정규화 이론과 적용방안 구체화
1차정규화
복수의 속성값을 갖는 속성을분리
여러개의 복합적인 의미를 가지고 있는 속성이 분해되어 하나의 의미만을 표현하는 속성으로 분해되어야한다.
성격이 유사한 속성이 반복하여 발생하며 별도의 엔티티로 분리하여 유연성을 증대시킨다
어떤속성이 다수의 값을 가지고 있다면 M대1의 관계의 새로운 엔티티를 구성한다.
2차정규화
복합식별자에서 모든 식별자에 종속적이지 않은 속성을 분리 (부분종속제거)
어떤속성이 식별자 전체에 종속되어 있지 않으면 잘못된 취이이며 새로운 엔티티 즉 상위 엔티티를 생성하고 식별자를 상속받도록 한다.
3차정규화
일반 속성간 종속 송석 분리 (이행종속 제거)
후보키가 아닌 속성에 대한 다른 속성들이 함수적인 종속성을가지면 안되다.
물리데이터 모델링
물리데이터 모델링의 순서
- 테이블통합분리 -> PK 장비 -> FK 장비 -> Not Null 및 Default 정책-> 시스템속성 -> 역정규화 -> 체번방식 -> 암호화칼럼 -> 이력테이블 -> 연계테이블 매핑과 설계 배정 -> DB 오브젝트(DB Object)
- 기본적으로 물리데이터 모델링의 경우 데이터베이스 성능향상을 목적으로 하고 있다.
댓글 영역