SQLD 6

[1장] 분산 데이터베이스

분산데이터베이스 물리적으로 분산된 데이터베이스를 하나의 논리적 시스템으로 사용 (성능 극대화) ▶ 설계방식 하향식 : 전역 스키마 작성 후 지역사상 스키마 작성 상향식 : 지역 스키마 작성 후 전역 스키마 작성 ▶ 장/단점 (장점) 지역 자치성, 점증적 시스템 용량 확장 신뢰성 및 가용성(데이터의 가용성과 신뢰성 증가), 효용성 및 융통성 빠른 응답 속도 및 통신비용 절감 시스템 규모의 적절한 조절 각 지역 사용자의 요구 수용 증대 (단점) 소프트웨어 개발 비용 증가 오류의 잠재성 및 처리 비용 증대 설계, 관리의 복잡성 및 비용 증가 불규칙한 응답 속도 통제의 어려움 및 데이터 무결성에 대한 위협 ▶ 데이터베이스 분산 설계를 적용하여 효율성을 증대시키는 경우 성능이 중요한 사이트에 적용 공통코드, 기준..

[1장] 데이터 모델, 정규화, 반정규화

성능 데이터 모델링 데이터베이스 성능 향상을 위해 설계 단계부터 성능과 관련된 모든 사항을 고려하여 데이터 모델링 수행 정규화, 반정규화, 테이블 통합 및 분할, 조인 구조, PK/FK 설정 등 ▶ 수행시점 사전에 할 수록 비용이 들지 않음 (빠를수록 좋음) 분석/설계 단계에서 성능 모델링 수행하면 재업무 비용 최소화 가능 ▶ 고려사항 정규화 : 데이터를 주요 관심사별로 분산 시키는 효과 용량산정 : 어떤 엔터티(Table)에 데이터가 집중됐는지 파악 트랜잭션 유형 파악 : CRUD 매트릭스/시퀀스 다이어그램 활용, 데이터 조회에 필요한 조인 관계 등 파악 반정규화 : 테이블, 속성, 단계에 대해 포괄적인 반정규화 방법 적용 이력모델 조정, 인덱스를 고려한 PK/FK 순서 조정, 슈퍼/서브타입 조정 등 ..

[1장] 데이터 모델링의 이해 4절

도메인(Domain) 속성이 가질 수 있는 값의 범위 관계(Relationship) 엔터티 간의 관련성 의미, 존재와 행위 관계로 분류 존재관계 : 두 개의 엔터티가 존재 여부의 관계가 있는 것 (엔터티 간의 상태) 행위관계 : 두 개의 엔터티가 어떤 행위에 의한 관련성이 있는 것 ▶ 표기법 관계명(Membership) : 관계의 이름, 명확한 문장, 현재형 관계차수(Cardinality) : 관계에 참여하는 수 (1:1, 1:M, M:N) 관계선택사양(Optionality) : 필수인지 선택인지의 여부 (필수적, 선택적 관계) 식별자(Identifiers) 엔터티를 대표할 수 있는 유일성을 만족하는 속성 ▶ 주식별자 (PK: Primary Key) 하나의 속성이 주식별자가 될 수도 있고, 여러 개의 속..

[1장] 데이터 모델링의 이해 3절

속성(Attribute) 업무에 필요한 정보인 엔터티가 가지는 항목 더 이상 분리되지 않는 단위, 업무(프로세스)에서 필요한 데이터 저장 인스턴스의 구성요소 ▶ 속성의 특징 업무에서 관리되는 정보 하나의 값 존재 주식별자에게 함수적으로 종속됨(기본키가 변경되면 속성의 값도 변경됨) ※ 엔터티, 인스턴스, 속성, 속성값의 관계: 엔터티 ⊃ 인스턴스 ⊃ 속성 한 개의 엔터티는 두 개 이상의 인스턴스를 가짐 한 개의 인스턴스는 두 개 이상의 속성을 가짐 한 개의 속성은 하나의 속성값을 가짐 ▶ 속성의 분류 "특성"에 따른 분류: "기설파" 기본속성(Basic Attribute) : 본래의 속성 ex) 회원ID, 이름, 계좌번호, 주민등록번호 등 설계속성(Designed Attribute) : 데이터 모델링 과..

[1장] 데이터 모델링의 이해 2절

엔터티(Entity) 업무에서 관리해야 하는 데이터 집합(관심사), 저장되고 관리되어야 하는 데이터 개념, 사건, 장소 등의 명사 ▶ 엔터티의 특징 업무에서 쓰이는 정보 포함 (업무 프로세스에 이용) 유일한 식별자 존재 2개 이상의 인스턴스 포함 반드시 속성을 가짐 다른 엔터티와 1개 이상의 관계 존재 ▶ 엔터티의 분류 유형 vs. 무형 유형 엔터티(Tangible Entity) : 물리적인 형태 존재, 안정적, 지속적 (ex: 상품, 회원, 학생 ... ) 개념 엔터티(Conceptual Entity) : 물리적인 형태 없음, 개념적 (ex: 부서, 학과, 수업 ... ) 사건 엔터티(Event Entity) : 행위를 함으로써 발생, 빈번함, 통계자료로 이용 (ex: 주문, 이벤트 응모, 수강신청 ...

[1장] 데이터 모델링의 이해 1절

모델링(Modeling) 정의 : 현실 세계를 추상화/단순화/명확화하기 위해 일정한 표기법에 의해 표현하는 기법 조건 : 현실세계 반영, 단순화하여 표현, 관리하고자 하는 데이터를 모델로 설계 ▶ 모델링의 특징 추상화(Abstraction) : 일정한 형식으로 표현하는 것 단순화(Simplification) : 정해진 표기법으로 단순하고 쉽게 표현하는 것 명확화(Clarity) : 불분명함(애매모호함)을 제거하고 명확하게 해석할 수 있도록 기술하는 것 ▶ 모델링의 세 가지 관점 데이터 관점(What, Data) 비즈니스 프로세스에서 사용되는 데이터 구조 분석, 정적 분석 프로세스 관점(How, Process) 비즈니스 프로세스에서 수행하는 작업 시나리오 분석, 도메인 분석, 동적 분석 데이터와 프로세스의..