본문 바로가기

Data Architecture

(8)
반정규화 - 물리 데이터 모델링 테이블 분할 1) 수평 분할 - 개념 : 레코드를 기준으로 분할, 파티션 - 사용 의의 (1) 하나의 테이블에 데이터가 많고, 레코드 중에서 특정 범위만을 주로 액세스 하는 경우 사용 (2) 분할된 각 테이블은 서로 다른 디스크에 위치시켜 물리적인 디스크의 효용성 극대화 가능 (3) DBMS 차원에서 제공 (4) 대표적인 방법은 범위 분할, 해쉬 분할, 복합 분할 기법 2) 수직 분할 - 개념 (1) 하나의 테이블이 가지는 컬럼의 수가 많아 분할 (2) 조회 위주의 컬럼과 갱신 위주의 컬럼으로 나뉘는 경우 -> Locking 문제 (3) 특별히 자주 조회되는 컬럼이 있는 경우 (4) 특정 컬럼의 크기가 아주 큰 경우 (LOB Type) (5) 특정 컬럼에 보안을 적용해야하는 경우 중복 테이블 생성 1) ..
논리 - 물리 모델 변환 1. 논리 데이터 모델 - 물리 데이터 모델 변환 용어 분석 설계 논리 데이터 모델링 -> 물리 데이터 모델링 ER Model Physical Model Entity Table Attribute Column Primary UID Primary Key Secondary UID Unique Key Relationship Foreign Key Business Constraints Check Constraints 2. 엔터티 - 테이블 변환 1) 테이블 설명 - 테이블, 로우, 컬럼, 기본키, 외래키 2) 서브 타입 변환 종류 구성요건 장점 단점 통합 주로 서브타입에 적은 량의 속성이나 관계를 가진 경우 - 데이터 액세스가 좀 더 간편 - 뷰를 활용하여 각 서브타입만을 액세스 하거나 수정 가능 - 수행속도가 좋..
물리 데이터 모델링 1. 물리 데이터 모델 정의 - 하나의 논리적 집합은 하나 이상의 테이블이 될 수 있다. - 테이블은 경우에 따라 속성의 일부만으로 생성될 수 있다. - DBMS의 특성을 고려하여 논리 모델을 데이터베이스 저장구조로 변환하는 것이다. - 물리 데이터 모델링 : 데이터의 구조에 관련된 것들을 물리적인 모습까지 설계 - 데이터베이스 디자인 : 물리모델을 DBMS 관점의 오브젝트로 생성하는 최적의 설계를 하는 것 - 데이터베이스 디자인의 예 : 오브젝트 파티셔닝 설계, 최적의 인덱스 설계, 오브젝트별 저장공간의 효율적 사용계획 등 2. 물리 데이터 모델 의의 - 관계 데이터 모델링이라고도 한다. - 논리 데이터 모델을 RDBMS의 특성, 기능, 성능을 고려하여 데이터베이스의 물리적 구조를 작성해나가는 과정 -..
엔터티 상세화 - 논리 데이터 모델 - 식별자 : 엔터티 내의 모든 인스턴스를 유일하게 구분하기 위해 쓰임 - 본질 식별자 : 키 엔터티에서는 엔터티 모호성을 해소하기 위해, 행위 엔터티에서는 부모가 누구인지 확인하기 위해서 쓰이며 절대종속 (태어나게 하는 관계) / 상대종속 (없어도 됌)으로 나뉜다. 본질식별자 구분 방법은 육하원칙을 이용한다. - 후보 식별자 : 인스턴스를 유일하게 식별할 수 있어야 하며 나머지 속성들을 직접 식별 할 수 있으며 NULL이 될 수 없다. 개념적으로 유힐해야 하며 자주 변경되지 않는 것. - 대체식별자 : 사원 엔터티의 주민번호 - 인조식별자 : 최대한 범용적인 값으로, 유일한 값을 만드며, 하나의 인조 식별자 속성으로 대체할 수 없는 형태를 주의하며 편의성, 단순성 확보를 위해 사용할 수 있다. 의미의 ..
속성 정의 - 논리 데이터 모델 1. 속성의 개념 : 가공되지 않은 것, 원천을 의미 * 속성의 특징 - 속성도 일종의 집합이며 릴레이션십도 속성이다. - 속성들 간은 서로 독립적이다. 2. 속성 후보 도출 1) 속성 후보 수집처 - 구 시스템의 문서 자료, 현업 장표 / 보고서, 사용자와 협의, DFD, 전문 서적 및 자료, 다른 시스템 자료. 2) 속성 후보 선정 원칙 - 원시 속성으로 보이는 후보는 버리지 않는다. (추출속성이 아니며 재현할 수 없는 속성) - 소그룹 별로 후보군을 만들고 가장 근접한 엔터티에 할당 3) 속성의 기본 구성요소 - 속성명, 도메인, 선택성 (not null . null) - 속성명 : 의미를 명확히 표현하는 명사구. 일반적으로 사용하는 용어. 엔터티명 사용 x. 필요시 표준 약어를 제정하며 단 하나의..
논리 데이터 모델링 이해 1. 논리 데이터 모델 정의 - 논리적 데이터 모델링이란 데이터베이스 설계 프로세스의 input - 비즈니스 정보의 구조와 규칙을 명확하게 표현하는 기법 - 논리적 모델은 데이터 모델링이 최종적으로 완료된 상태 - 누가 어떻게 데이터에 엑세스하는 가의 전산화와는 독립적 - 데이터 모델링 과정에서 가장 핵심이 되는 부분 - 시스템 구축을 위해서 가장 먼저 시작해야할 기초적 업무 조사를 하는 초기 단계부터 인간이 결정해야할 대부분의 사항을 모두 정의하는 시스템 설계의 전 과정을 지원하는 과정의 도구 2. 논리 데이터 모델링 목적 및 효과 - 해당 비즈니스에 대한 데이터 관점에서의 명확한 이해 - 전사적인 통합 데이터 체계 확립 - 데이터의 일관성 및 정확성 유지를 위한 규칙 도출 - 사용자와의 명확한 의사 ..
개념 데이터 모델링 개념 데이터 모델링 순서 - 주제 영역 도출 -> 후보 엔터티 선정 -> 수집된 엔터티 분류 -> 핵심 엔터티 정의 -> 핵심 엔터티 관계 설정 개념 데이터 모델 정의 - 개념 데이터 모델은 주요 핵심 엔터티들로 구성 - 핵심 엔터티란 행위의 주체나 목적물이 되는 개체 집합에 해당하는 엔터티 - 부모가 존재하지 않는 창조된 집합 -> 키 엔터티 - 핵심 엔터티는 대체적으로 여러 가지 하위의 행위 엔터티를 탄생 개념 데이터 모델의 의의 - 주요 엔터티로 한정을 지을 뿐, 논리 모델링 기법과 동일. - 개념 데이터 모델링 이후 모델링 상세화가 진행되며 개념 데이터 모델도 상세화가 가능 - 상세화 되더라도 전체적인 골격의 개념적 모델을 벗어나서는 안됨 데이터 아키텍처 프레임워크 상에서 개념 데이터 모델 - 개..
데이터 모델링 개념 데이터 모델링이란? - 현실 세계에 대해 우리가 관심있어하는 대상을 데이터베이스화 하기 위한 개념적 도구 잘된 데이터 설계 - 데이터 중복 배제, 일관성 확보, 프로그램 유연성 확보 모델링 절차 - 개념적 데이터 모델링 -> 논리적 데이터 모델링 -> 물리적 데이터모델링 개념적 데이터 모델링 - 주제 영역을 정의하고 주제 영역내의 핵심 엔터티를 도출하여 그들간의 관계를 정의하는 것 *주제영역, 핵심엔티티, 관계 - 주제 영역이란 부서의 분류하는 것과 유사. (최상위 개념적 데이터 모델링) - 엔터티란 데이터를 담는 그릇이며 물리 모델에서 테이블로 전환. 핵심 엔터티란 엔터티 분류 중 키 엔터티, 메인 엔터티, 액션 엔터티 중 액션 엔터티를 제외한 나머지 부분. 개념 데이터 모델 논리 데이터 모델 물리 데..