Please enable JavaScript.
Coggle requires JavaScript to display documents.
CUK 2021-1 DatabaseSystem W03-04 데이터 모델링과 설계 - Coggle Diagram
CUK 2021-1 DatabaseSystem W03-04
데이터 모델링과 설계
데이터 모델링
데이터 모델
데이터 모델링
정의
어떤 데이터가 존재하는지 또는 업무에 필요한 정보가 무엇인지 분석 및 표현하는 방법
데이터 모델의 역할
시스템 가시화
시스템 구조와 행동 명세화
시스템 구축하는 틀 제공
결정된 것들을 문서화
다양한 관점
특정 목표에 따라 다양한 상세 수준 제공
데이터베이스 설계
개요
고려사항
무결성
제약조건
일관성
회복
보안
효율성
확장성
모델링과 설계
최적화된 데이터베이스를 구현하기 위한 단계적 실행 절차
모델링은 일반적으로 개념적, 논리적 수준을 말함
설계는 시스템 구현에 좀 더 가까운 개념
5단계
요구 분석 단계
데이터 요구 명세
데이터 요구 조건
처리 요구 조건
데이터 요구 명세 및 트랜잭션 식별
개념적 설계 단계
개체 관계도 Entity Relation Diagram, ERD
개요
1976년 Peter Chen에 의해 최초 제안
개체-개체 간 연관성
subtype 등 추가되면서 확장 개체-관계 모델 Extended Entity-Relationship Model 로 발전
개체 Entity
DB에 표현하려고 하는 유무형 객체
물리적 개체
개념적 개체
용어
개체
속성
개체타입
개체를 구성하는 속성 집합
개체인스턴스
개체집합
식별
업무에서 필요하고 관리하고자 하는 정보
유일한 식별자에 의해 식별 가능
영속적으로 존재할 필요가 있는 정보
업무 프로세스에 의해 이용되어야 함
속성이 하나 이상 존재
다른 개체와 최소 1개 이상의 관계
명명
약어 지양
단수명사
유일
의미
관계 Relationship
마름모
관계 타입 Relationship Type
관계 인스턴스 Relationship Instance
유형
1:1
1:N
N:1
N:M
기수성
카디날러티 Cardinality
관계 참여
선택적 관계 Optional
필수적 관계 Mandatory
min(Cardinality) >= 1
속성
관계 타입도 개체 타입처럼 속성을 가질 수 있음
이중
두 개체 사이 두 개 이상의 관계 존재하는 특수한 경우
사람 - <출생> -도시
사람-<거주>-도시
유형
순환관계
이진관계
삼진관계
속성 Attribute
종류
키속성
약한 개체 타입 Weak Entity Type
자신의 속성만으로는 키 명세 불가
이중 마름모
부분 키속성 partial key attribute
강한 개체 타입 Strong Entity Type
자신의 속성 만으로 키 구성
unique
not null
일반속성
다중값 속성
하나의 속성이 여러 값을 가질 수 있는 속성
이중 원
단일값 속성으로 표현하는 방법
다중값 속성을 여러 개 새로운 속성으로 분리
새로운 개체 생성하고 새로운 개체와 관계로 연결
복합속성 Composite Attribute
하나의 속성이 여러 작은 부분들로 쪼개어질 수 있는 경우
유도속성 Drived Attribute
존재 유무와 무관한 상태로 어떤 값과 복수 값을 이용해 산출
월급 = 본봉 + 초과근무수당 + 가족수당
개념적 설계 단계에선 포함
논리적 설계 단계에선 존재의 필요성 재검토
점선 타원 표시
도메인 Domain
각 속성마다 가질 수 있는 값들의 범위
무결성 보장 위한 제약조건
논리적 설계 단계
ER 모델을 관계 모델로 변환
무결성, 일관성 제약 조건 검토
스키마 생성 (테이블 구조), 정규화
유형
계층형
네트워크형
객체지향형
객체 관계형
관계형
릴레이션 변환
개체
그 자체로 하나의 릴레이션으로 변환
관계
N:M
별도의 릴레이션 생성,
양쪽 기본키를 외래키로 하는 복합키 생성
1:N
1쪽의 기본키를 N쪽의 외래키로 넣는 릴레이션
1:1
한쪽 기본키를 다른 쪽 외래키로 넣는 릴레이션
연결이 비어있는 경우가 적은 쪽에 외래키 생성하는 것이 더 나음; 1:N의 연장으로 생각
속성
키속성을 가진 경우 해당 속성을 기본키로 설정
다중값속성 가진 경우 기본키와 다중값 속성을 합쳐서 복합속성 만든 후 그 복합 속성을 기본키로 하는 별도의 릴레이션 생성
복합속성 가진 경우, 합쳐서 하나의 속성으로 만들던지, 나눠서 여러개의 속성으로 변환
분리하는 경우, 분리된 속성들이 스스로도 독립적인 의미 갖는지 확인
유도속성 가진 경우, 속성이 가지는 중요도에 따라 존재 여부 판단
관계에 속한 속성
트랜잭션 Transaction
DB 일관성 유지 수단
특성
원자성 atomicity
자기 연산을 전부 또는 전무 실행; all or nothing
일관성 consistency
일관성 있는 DB 상태 유지
격리성 isolation
트랜잭션 실행 중 다른 트랜잭션 접근 불가
영속성 durability
완료된 결과의 영속성
DBMS 특성 고려
함수 종속
물리적 설계 단계
테이블 최적화
응답시간
저장공간
트랜잭션 처리
인덱스 설정
역정규화 결정
데이터베이스 구현 단계
물리적 설계에서 만든 최적화된 내부적 스키마(테이블)을 DDL을 이용해 데이터베이스 스키마 구조 생성
트랙잭션 구현
초기 데이터 입력
운영 DB로 완성