I. 프로세스와 데이터 간의 상관관계, CRUD Matrix 가. CRUD Matrix의 개념 시스템 개발 시 프로세스와 DB에 저장되는 데이터 사이의 Dependency를 표현하는 Matrix 나. CRUD Matrix의 필요성 필요성 설명 모델링 작업 검증 – 분석 단계의 데이터 모델과 프로세스 모델에 대한 작업 검증 역할 중요 산출물 – 시스템 구축 단계에서 어플리케이션 개발 시 필요하며 중요한 산출물 테스트
I. DW 모델링, 다차원 모델링 DW 모델링 시 사실 테이블과 차원 테이블 간 상호관계를 정의하여 다차원으로 구현하는 모델링 기법 II. 다차원 모델링의 구성요소 구분 구성요소 사실 (Facts) 중심테이블로서 관련성이 높은 매체 집합 두 가지 Type의 Measure – Raw(Base) fact / Derived(Calculated) metric 차원 (Dimensions) 부속 테이블(minor 테이블) 각 Fact를 분석하는 하나의 관점 속성 (Attribute)
I. 데이터 표현 추상화, 데이터 모델링 가. 데이터 모델링 (Data Modeling)의 개념 현실 세계의 업무 프로세스를 추상화하여 데이터베이스의 데이터로 표현하기 위한 설계 과정 나. 데이터 모델링의 필요성 DBMS 구축에 필요한 제반 기술들의 효율적 적용 방안 제시 업무 조직과 기술 조직 간 의사소통 및 중재 잠재적 위험 요소 조기 발견 및 해결 방안 제시 기존 설계
I. 고확장성 분산 DB의 배경, NoSQL의 CAP이론 가. CAP 이론 분산 시스템이 갖추면 좋은 특징 C, A, P를 말하며, 세 가지 중 두 가지 특성 보유 가능 이론 나. CAP의 요소 Consistency – 모든 노드가 같은 시간에 같은 데이터 Availability – 노드가 다운되어도 다른 노드 영향X Partition Tolerance – 일부메시지 손실에도 시스템 정상동작 데이터 관리
I. 분산 환경 최적 DBMS, NoSQL의 개념 테이블-컬럼 스키마 없이 분산 환경에서 Key-Value 기반 단순 검색 및 추가 작업이 용이한 DBMS II. NoSQL 데이터 모델 구조 모델 구조 개념도 설명 Key/Value Store Key/Value Model Column Family Model – Unique한 Key에 하나의 Value 형태 모델 – Column Family Key 내 (Column, Value) 조합으로 된 여러 필드를 갖는 모델 Ordered Key/Value Store – Key/Value Store의 확장된 형태로, 데이터가 Key 순서로Sorting Document Key/Value Store – 저장되는 Value 데이터가 Document 타입
I. SNS 관계 표현, 그래프 데이터베이스 데이터를 노드(Node)와 엣지(Edge) 관계로 저장하고, 그래프에서 연결하는 데이터베이스 II. 그래프 데이터베이스 구조 및 구성기술 가. 그래프 데이터베이스 구조 – 정점(Vertec)과 간선(Edge)을 통해 현실 엔티티(Entity) 간의 관계(Relation)를 표현 나. 그래프 데이터베이스 구성기술 구분 구성기술 설명 일관성 측면 – ACID 보장 – 무결성 기술 – 원자성, 일관성, 독립성 등 – 데이터 사이 관계 제공 확장성 측면 – 분산저장 기술 – 도메인 활용 – 데이터 유형 별 분산저장 – 수평적 확장 기능
I. 분산 데이터베이스 개요 가. 분산 데이터베이스의 개념 논리적으로 하나의 시스템으로 구성되나 물리적으로 네트워크를 통해 분산된 형태로 관리되는 데이터베이스 나. 분산 데이터베이스의 장단점 구분 세부 구분 설명 장점 지역 자치성 – 지역 자체 자치적 제어 가능 점증적 확장 – 확장 시 서비스 중단 없음 신뢰성, 가용성 – 데이터 중복 관리로 가용성 증가 단점 개발 비용증가 – 분산DB 개발의 복잡성 증가 오류 잠재성 – 병렬적 운영으로 오류 가능성
I. 가상 튜플 충돌 현상, 팬텀 충돌의 개요 가. 팬텀 충돌(Phantom Conflict)의 정의 서로 충돌하지 않는 두 개 이상의 트랜잭션이 삽입되려고 하는 가상의 튜플에 의해 충돌이 발생되는 현상 트랜잭션의 일관성이 보장되지 않는 현상 나. 팬텀 충돌의 영향 읽기 수행 시 – 다른 트랜잭션의 삽입으로 처음 읽을 때 없던 튜플이 다음에 읽을 때 나타남 쓰기 수행 시 – 다른 트랜잭션의 삭제 동작으로 처음 쓰기
I. 개체 간의 관계, 카디널리티 가. 카디널리티(Cardinality)의 개념 엔티티 간 릴레이션을 구성하는 튜플의 수를 1:1, 1:N, N:M 등으로 표현하는 개체 간의 관계 나. 카디널리티의 표현 – 엔티티 간의 릴레이션을 구성하는 튜플의 수가 카디널리티 II. 카디널리티의 종류와 표기법 카디널리티 최소 관계 최대 관계 표기법 Exactly one 1 1 Zero or one 0 1 One or more 1 many Zero, one, more 0
I. 키(Key) 유형 가. 키(Key)의 정의 데이터베이스에서 조건을 만족하는 튜플(레코드)을 찾거나 순서대로 정렬할 때 기준이 되는 속성 나. 키(Key)의 유형 키(Key) 설명 후보키 (Candidate Key) 릴레이션(테이블)을 구성하는 속성 중 튜플(레코드)을 유일하게 식별할 수 있는 속성의 부분 집합 기본키 (Primary Key) 후보키 중 유일성과 최소성을 가지며 튜플(레코드)을 식별하기 위해 반드시 필요한 키, Null 값 불가 대체키 (Alternate Key) 후보키 중 기본키를