데지덤

  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. 데이터무결성의 개요

  가. 데이터 무결성의 정의

  • 데이터의 중복이나 누락이 없는 정확성과 원인과 결과 의미의 연속성이 보장되는 일관성이 확보된 상태
  • 데이터를 인가되지 않은 방법으로 변경 하 수 없도록 보호하는 성질
  • 데이터의 정확성, 유효성, 일관성, 신회성을 위해 무효 갱신으로부터 데이터 보호
  • 데이터 베이스 관리자나 응용프로그램 개발자가 결정한 대로 미리 정의된 일련의 규칙에 데이터를 적용시킨 것

  나.데이터무결성의 중요성

  • 데이터 가치 : 업무에 있어 사용자에게 의미 있는 정보를 제공하기 위함
  • 데이터 신뢰성 : 항상 정확하고 오류가 없는 데이터가 데이터베이스에 저장되는 신뢰성 제공

  다. 무결성 보장의 효과

  • Data의 정확성 확보로 신뢰할 수 있는 정보 제공
  • Data의 일관성 유지로 자료의 효율적 관리
  • 사용자 및 Application 개발자의 생산성 향상 기대
  • 데이터 무결성 규칙 강제 시행은 약간의 성능 저하를 동반

 

2. 데이터무결성의 4가지 종류과 데이터 무결성 요소에 대한 설명

  가. 데이터 무결성의 4가지 종류

종류

의미

종류

엔티티무결성

릴레이션의 기본키 속성은 절대 널 값(Null Value)을 가질 수 없음

PK의 속성이 Null을 허용할 수 없음

Primary Key, Unique Index

키 무결성

(Key Integrity)

한 릴레이션에 같은 키값을 가진 투플들이 허용 안 됨

Primary Key, Unique Index

참조무결성

외래키가 참조하는 다른 개체의 기본키에 해당하는 값이 기본키 값이나 Null 이어야 함

Foreign Key

속성무결성

속성의 값은 기본값, Null 여부, 도메인 (데이터 타입, 길이)가 지정된 규칙을 준수하여 존재해야 함

CHECK, NULL/NOT NULL, DEFAULT

사용자무결성

사용자의 의미적 요구사항을 준수 해야함

Trigger, User Defined Data Type

 

  나. 무결성 제약조건 요소에 대한 설명

DBMS 요소

종류

Primary key

지정된 컬럼들이 유일성이 위배되는 일이 없음을 보장

Primary Key는 Null 값이 될 수 없음

Unique

다중의 보조키 개념을 지원함

Primary Key 와 마찬가지로 지정된 컬럼들의 유일성이 위배되지 않음을 보장

Unique는 Null을 허용

Foreign Key

테이블간의 논리적 관계가 유지됨을 보장함

Foreign Key 값은 반드시 참조하려는 테이블의 Primary Key값으로 나타나야 함

Foreign Key 값은 Null 값을 가질 수 없음

Cascaded Option : Master가 삭제 시 레코드가 함께 삭제

Nullified Option : Master 삭제시 해당 값을 Null로 셋팅

Restricted Option : Forengn Key가 존재하면 Master 레코드를 삭제 할 수 없음

Data Type

데이터의 형을 제한 함으로써 데이터 무결성을 유지함

Check

데이터를 추가할 때마다 SQL 서버가 해당 값이 해당 컬럼들에 지정된 Check 제약을 위배하는지를 검사함으로써 데이터 무결성을 유지

Default

특정 컬럼에 대해 명시적으로 값을 입력하지 않은 경우에 SQL 서버가 자동적으로 지정된 값을 삽입할 수 있도록 함으로써 데이터 무결성을 유지

INSERT 또는 UPDATE 에서 DEFAULT 키워드를 사용할 수 있음

Trigger

테이블의 내용을 변경하려는 특정 사건 (DB 연산)에 대해서 DBMS가 미리 정의된 일련의 행동(DB 연산)들을 수행하는 메커니즘

DBMS 서버에 의해 자동적으로 호출됨

데이터에 대한 변경을 시도 할 때마다 자동적으로 호출됨 (데이터의 변경 전 상태와 변경 후의 상태를 사용)

트랜잭션의 철회 (rollback)와 같은 동작을 수행할 수 있음

저장 프로시져의 특별한 형태로서 SQL의 모든 기능을 이용할 수 있음

참조 무결성을 위해 사용될 수도 있음. 참조 무결성이 위배되는 경우에 원하는 동작을 하도록 트리거를 구성하면 됨

 

3. 실전 프로젝트에서 데이터무결성 설계와 참조무결성 활용

  가. 데이터 무결성과 관련된 모델링의 요소

 

  나. 데이터 무결성과 관련된 모델링의 요소

무결성 요소

 

개체(엔티티)무결성

Book 엔티티 타입에서 Book_no 라는 PK를 통해 데이터의 중복(Duplicate)과 누락(Null)을 방지하는 역할을 수행합니다. 즉, 엔티티 무결성을 PK를 통해 유지 하는 역할

참조무결성

Member와 Order 엔티티타입의 관계(Relationship)에서 Order는 반드시 member에 등록된 사용자가 신청을 해야 하는 관계 입니다. 따라서 Order에 들어가는 Member_no의 값은 member의 값을 반드시 참조하여 들어가야 데이터무결성을 유지할 수 있습니다

속성무결성

Order 속성은 데이터타입이 Varchar2를 많이 사용하고 있습니다. 이러한 데이터 타입에는 number 형식이 들어가면 안되는 무결성 규칙 존재. Member_no가 Not Null 로 반드시 데이터가 들어가야 하는 의미

사용자무결성

Book에 Price라는 속성에 들어가는 단가 정보가 주문된 여러가지 도서 정보를 종합하여 계산된 (Derived Column) OrderItem의 Buy_Amt는 반드시 일관성이 있는 값을 가지고 있어야 합니다. 즉. 주문된 단가 정보의 총합이 Buy_Amt값과 일치해야 하는 데이터 무결성 특징을 가지고 있음. 사용자 무결성제약은 트리거를 통해서 할 수도 있으나, 대부분 어플리케이션 프로그램에서 논리처리를 수행하는 것이 일반적 처리임

  다. 참조무결성 종류

 

  라. 참조무결성 활용의 예

   - 참조무결성이 DBMS에 결려있는 테이블에서 인덱스가 생성되어 있지 않으면 성능적인 문제가 나타날 수 있음

   - 인덱스가 설정 안된 상태로 참조무결성 제약이 걸린 테이블의 Delete 명령어가 실행된 경우 다음과 같이 Full scan으로 인한 성능저하 발생할 수 있음

- Foreign Key 제약 시 연쇄(Casecde) 삭제 – Full Scan

   - 다음과 같이 발령 테이블의 PK 인덱스를 생성할 때 다음과 같이 확인이 가능하므로 성능이 향상됨. 참조무결성 테이블의 PK 인덱스는 성능과 직결됨

 

 

 

댓글