데지덤

  1. 데이터관련 직무와 자격
    1. 데이터베이스 직무

    2. 데이터베이스 자격

  2. 데이터관련 학습방법
    1. 데이터베이스 개론 학습

    2. DBMS 학습

    3. 읽어볼만한 DB책

  3. 최신동향과 유명한 Things
    1. DB최신동향

    2. 데이터로 유명한 Things

  4. 데이터베이스 개념
    1. 데이터베이스 개념

    2. DBMS

    3. 데이터베이스 개발과운영

  5. 데이터베이스 설계(1/2)
    1. 데이터표준

    2. 데이터모델링

    3. 데이터모델 디자인패턴

  6. 데이터베이스 설계(2/2)
    1. 프로세스및상관모델링

    2. 정규화

    3. 반(역)정규화

    4. DB물리설계

  7. 인덱싱과 DB프로그래밍
    1. 인덱스와 해싱

    2. 관계연산

    3. DB언어

    4. SQL

    5. 데이터베이스 미들웨어

  8. 데이터베이스 운영
    1. 트랜잭션

    2. 병렬처리

    3. 데이터베이스 복구

    4. 데이터베이스 성능

    5. 병행제어(동시성제어)

  9. 분석계 및 빅데이터기술
    1. 데이터웨어하우스

    2. 데이터마이닝

    3. 빅데이터기술

  10. 데이터거버넌스
    1. 데이터거버넌스

    2. 데이터베이스 감리/진단

  11. 데이터베이스 종류와 보안
    1. 데이터베이스 종류

    2. 데이터베이스 보안

  12. DBMS
    1. 오라클

    2. SQL Server

    3. DB2

    4. Sybase

    5. Altibase

물리적 데이터모델링

개념
- 논리 데이터 모델을 특정 DBMS에 맞는 물리적인 스키마를 만드는 일련의 과정

1.물리데이터 모델링의 개요

  가. 정의

    - 논리 데이터 모델을 특정 DBMS에 맞는 물리적인 스키마를 만드는 일련의 과정

 

  나. 물리적 데이터베이스 설계 (물리적 데이터모델링을 포함함)

   - 논리 모델인 ERD를 물리 모델링 ERD로(테이블 관계도)로 전환

   - 테이블 관계 이외의 데이터베이스와 관련된 사항, 즉 오브젝트, 접근방법, 트랜잭션

   - 분석, 저장방법에 대해 설계

 

  다. 물리 모델로의 변환 주요 TASK

단계

과정

고려사항

일괄

전환

Entity별 Table로의 전환

 Sub Type 설계 방안

식별자의 Primary Key 정의

 Artificial Key 검토, PK 컬럼 순서 검토

속성의 컬럼 전환

 영문 컬럼명 매핑데이터 타입길이 결정정의컬럼의 순서

관계의 컬럼 전환

 참조무결성 규칙 및 구현방향 결정

구조

조정

수퍼타입/서브타입 모델 전환

 트랜잭션의 성격에 따라 전체 통합부분 통합개별 유저에 대한 의사 결정을 통해 데이터 모델 조정

성능

향상

성능을 고려한 반정규화

 SQL 활용 능력의 미흡으로 인한 빈번한 비정규화는 배제하도록 신중하게 검토

 

 

 

E-R 모델

관계형 모델

개체타입

릴레이션

속성

단순속성

속성 (열)

복합속성

단순 속성들의 집합

키속성

기본키 또는 보조키

속성값의 집합

도메인

관계

1:1 양방향 완전관계

두 릴레이션을 하나로 통합

1:1 한방향 완전관계

부분 관계 릴레이션이  PK를  완전 관계 릴레이션의 FK로 적용

1:1 양방향 부분관계

두 릴레이션의  PK 만으로 구성된 릴레이션을 생성

1:N N측 완전관계

1측의  PK를  N측의 FK로 설정

1:N 1측 완전관계

두 릴레이션의 PK로 구성된 릴레이션을 생성

새로운 릴레이션의 PK는 N측의 PK를 사용

M:N 관계

두 릴레이션의 PK로 구성된 릴레이션을 생성

새로운 릴레이션의 PK는 두 릴레이션의 PK를 결합하여 사용

Composite key 구성

 

※관계 데이터 모델 스키마 변환 규칙

ER 모델

관계 스키마

2진

관계

1:1 (양방향 전체참여)

• 두 엔티티타입과 관계타입을 하나의 릴레이션 스키마로 생성하며, 외래키는 없다

1:1 (단방향 전체참여)

• 전체참여측 관계스키마에 부분참여 관계스키마의 기본키를 외래키로 내장 (1개 외래키)

1:1 (양방향 부분참여)

• (신규)한쪾 개체의 키 애트리뷰트를 키값으로, 다른쪽의 키 애트리뷰트를 외래키로 (2개 외래키)

1:N (N측 전체참여)

• n-side 릴레이션 스키마에 1-side의 기본키를 외래키로 (1개 외래키)

1:N (N측 부분참여)

• (신규)n-side의 기본키 + 1-side의 기본키를 외래키로 (1개 외래키)

M:N

• (신규) 각 릴레이션의 기본키를 복합기본키와 외래키로 (2개 외래키)

순환

1:1

• (신규)기본키 + 기본키를 외래키로 내장 (예) 결혼

1:N

• 기본키를 외래키로 생성하여 자체 참조 (예) 사원-상관

기타

다중값 애트리뷰트

• (신규)원 릴레이션의 기본키와 다중값 애트리뷰트를 복합기본키로 원 릴레이션의 기본키는 외래키로 내장됨

식별 관계 타입 (1:N)

• 강한 개체의 기본키와 약한 개체의 부분키를 복합기본키로

 

                                                                       

1) 교수 (교수번호, 교수이름, 전공, 학과)

- 기본키 : 교수번호

2) 강의 (과목번호, 교수번호)

- 기본키 : 과목번호

- 참조키 : 과목번호, 교수번호

3) 과목 (과목번호, 과목이름, 학점)

- 기본키 : 과목번호

4) 등록 (학번, 과목번호, 성적)

- 기본키 : 학번/과목번호 (복합키)

- 참조키 : 학번, 과목번호

5) 학생 (학번, 이름, 주소, 학년, 교수번호)

- 기본키 : 학번

- 참조키 : 교수번호

6) 취미 (학번, 취미)

- 기본키 : 학번/취미 (복합키)

- 참조키 : 학번

 

  라. 스키마 변환

- 스키마 변환 (계층 모델, 네트워크 모델)

- 관계 모델과의 차이점은 개체 타입 표현이 아니라 관계 타입 표현에서 차이를 보임

             

구분

내용

스키마 다이어그램

계층

데이터 모델

(hierarchical data model)

• 트리(tree) 형태

• 루트 레코드 타입 존재

• 레코드 타입들 간 상하위 레벨관계 성립

• No Cycle

• 레코드 타입 간에는 하나의 링크, 즉 하나의 관계만 허용

• 1:다 관계만 허용

• 부모-자식(Parent-Child) 관계

   

네트워크 데이터 모델

(network data model)

• 네트워크(network) 형태

• 레코드 타입 간 하나 이상의 관계 설정 가능(이름으로 식별)

• 1:다 관계만 허용

• 오너-멤버(Owner-member) 관계

  

 

 

 

  마. 관계 데이터 모델 스키마 변환 규칙

구분

설명

단계 1

엔티티 타입은 릴레이션으로 매핑한다. 엔티티 타입의 키 중에서 하나를 릴레이션의 기본 키로 지정한다.

단계 2

약한 엔티티 타입도 릴레이션으로 매핑하되 소유 릴레이션 (owner relation)의 키 속성을 포함시킨다. 생 성된 릴레이션의 기본 키는 소유 릴레이션의 키와 약한 엔티티 타입의 부분키를 합쳐서 만든다

단계 3

1:1 이진 관계는 관계에 참여하는 두 릴레이션 중에서 어느 하나의 외래키 속성으로 매핑한다.

단계 4

1:N 이진 관계는 N-side 릴레이션의 외래키 속성으로 매핑하며, 1-side의 주 키를 참조하도록 한다.

단계 5

N:M 이진 관계는 별도의 릴레이션 (이를 관계 릴레이션이라고 부름)으로 생성하고, 관계에 참여하는 두 릴 레이션의 기본 키 를 각각 참조하는 외래키로 애트리뷰트를 구성한다. 이 때 두 외래키가 관계 릴레이션의 기 본키를 형성한다.

단계 6

다중값 애트리뷰트는 키를 포함하는 릴레이션으로 매핑된다

단계 7

n 차 관계는 관계에 참여하는 n 개의 릴레이션의 키들로 구성되는 관계 릴레이션으로 매핑된다. 관계 릴레이션의 애트리뷰트들은 참여 릴레이션의 주키를 참조하는 외래키들과 관계 속성(들)으로 구성된다.

 

2. 물리적 데이터 모델링 프로세스

 

3. 데이터 모델링 시 고려사항

  - 최대한 객관화

  - 불확실한 업무를 확실하게 정의.

  - 단순한 설계

   (다중 사용자 환경, 사용자 및 개발자 등의 관계자와의 통신 프로토콜)

  - 성능 고려.

  - 관계형 데이터베이스의 특성을 반영

  - 모델링의 접근 전략과 사고의 객관화.

  - 업무의 순서 중요

 

댓글