데지덤

  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

이상현상

개념
-데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상 - 하나의 릴레이션에 두 개 이상의 실체의 속성들을 혼합하여, 즉 정규화 되지 않은 경우 데이터의 중복이 원인이 되어 발생함

1. 정규화가 필요한 이유, 이상현상의 개요

  가. 이상 현상의 발생 원인

    - 여러 종류의 사실들을 하나의 릴레이션으로 표현하려고 하기 때문

    - 속성들간에 존재하는 여러가지 종속관계에 대해 정규화가 실행되지 않았기 때문

  나. 이상현상의 해결

    - 애트리뷰트들 간의 종속성(dependency)을 분석해서 하나의 릴레이션에는 하나의 종속성이

    - 표현되도록 분해 => 스키마 변환 (schema transformation)

  다. 스키마 변환의 원리

    - 정보의 무손실 표현 : 스키마 변환 시, 정보의 손실이 있어서는 안됨.

    - 최소의 데이터 중복성(minimal data redundancy)만이 허용 : 중복으로 인한 이상현상 제거

    - 분리의 원칙(principle of separation) : 하나의 독립된 관계성은 하나의 릴레이션으로 분리

 

2. 이상 현상의 종류

종 류

주요 개념

갱신이상

(Update Anomaly)

릴레이션 R에서 특정 속성값 갱신 시 중복 저장되어 있는 속성값 중 하나만 갱신하고, 나머지는 갱신하지않아서 발생하는 데이터의 불일치 현상(Data Inconsistency)

삭제이상

(Deletion Anomaly)

릴레이션 R에서 특정 투플을 삭제할 경우 원하지 않는정보까지도 삭제되는 현상

삽입이상

(Insertion Anomaly)

릴레이션 R에서 특정 투플을 삽입할 경우 원하지 않는불필요한 정보까지도 삽입해야 하는 현상

 

3. 이상 현상 사례 및 해결 방안

  가. 1차 정규화가 필요한 이상현상

    1) 사례

    2) 이상현상

구 분

내 용

삽입 이상

(Insertion Anomaly)

컴퓨터라는 제품명을 입력하려면, 주문하지도 않은 주문번호, 주문수량을 입력해야 함

갱신 이상

(Update Anomaly)

주문수량을 수정하려면, 제품 수 만큼 수정해야 함

삭제 이상

(Deletion Anomaly)

특정 제품을 삭제하려고 하면, 주문한 내용까지도 같이 삭제됨

    3) 해결방안

  - 1차 정규화(중복속성 분리)를 통하여 입력, 수정, 삭제 이상현상 해결

  나. 2차 정규화가 필요한 이상현상

    1) 사례

학번

과목코드

과목명

학점

100

C413

운영체제

A

100

C412

데이터베이스

A

200

C123

SW공학

B

300

C312

자료구조

A

300

E324

영어

C

300

C413

운영체제

B

2) 이상현상

구 분

내 용

삽입 이상

(Insertion Anomaly)

학번 Key 추가시, 수강한 과목이 없어도 임의의 과목코드를 만들어 삽입해야 함

갱신 이상

(Update Anomaly)

학번 300과 과목코드 C413의 과목명을 변경시 {100, C413}의 과목명과 다른 이름을 갖게 됨

삭제 이상

(Deletion Anomaly)

300 학번의 영어 과목 학점을 삭제하면, 영어 과목까지 삭제됨

3) 해결방안

- 부분함수 종속 제거, 과목명이 기본키의 일부인 과목코드에 종속인 구조 제거

3차 정규화가 필요한 이상현상

1) 사례

사번

부서코드

부서명

100

A10

기획부

200

A20

인사부

300

A30

영업부

400

A40

기획부

2) 이상현상

구 분

내 용

삽입 이상

(Insertion Anomaly)

새로운 tuple 사번 ‘500’을 삽입하려고 할 때, 부서코드에 추가적으로 불필요한 부서명까지 삽입해야 하는 현상

갱신 이상

(Update Anomaly)

사번 ‘300’의 tuple을 삭제하면, 부서코드 ‘A30’의 영업부 데이터도 함께 삭제되는 현상

삭제 이상

(Deletion Anomaly)

부서코드 ‘A10’ 기획부의 부서명을 “총무부”로 변경하고자 할 때 사번 ‘100’의 부서명만 변경하면 사번 ‘400’의 부서명과 일치하지 않아 모순이 발생하는 현상

3) 해결방안

- 일반속성인 부서코드와 부서명 간에 FD관계가 있으므로 분리하여 이상현상 해결

 

  라. 릴레이션 R(수강지도)의 이상현상

 

릴레이션 R  :  수강지도

학번

지도교수

학과

과목번호

성적

1001

홍길동

경영

9101

A

1001

홍길동

경영

9104

B

1001

홍길동

경영

9105

A

1002

최수영

경영

9103

A

1005

강병수

전자

9101

C

1006

홍길동

경영

9105

A

1006

홍길동

경영

9101

B

 

 

 

 

    1) 삽입이상

    - 릴레이션 R에서 어느 특정 학생(1002)이 어떤 교과목(9103)을 등록할때까지는 그 학생의 지도교수가 누구라는 사실을 삽입 불가

    - 특정 튜플을 삽입하려고 할때 원하지 않는 불필요한 데이터도 함께 삽입해야하는 현상

    2) 삭제이상

    - 릴레이션 R에서 튜플(1005)이 하나만 있는 상황에서 교과목을 삭제하면 지도교수 정보 (강병수)를 잃어버리게 됨

    - 특정 튜플을 삭제할  경우 유지되어야 할 정보까지도 삭제되는 연쇄 삭제 현상

    3) 갱신이상

    - 릴레이션 R에서 어떤 학생에 대한 지도교수 속성값이 여러 번  중복되어 변경 시 문제가 발생

    - 특정 속성값 갱신시에 중복저장되어 있는 속성값 중 하나만 갱신 하고, 나머지는 갱신하지 않아
      발생하는 데이터 불일치 현상

댓글