데지덤

  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

기본키

개념
후보키(candidate key)중 데이터베이스 설계자가 선정하는 하나의 키

1.Key의 개념

  가. Key의 정의

    - 릴레이션의 튜플(tuple)을 유일하게 식별할 수 있는 애트리뷰트(속성)의 집합

    - 여러 개의 집합체를 담고 있는 하나의 엔티티 타입에서 각각의 엔티티를 구분할 수 있는 결정자

특징

내용

비고

유일성

식별자에 의해 엔티티타입내에 모든 엔티티들이 유일하게 구분

예 주민등록번호 주식별자가  모든 사람을 고유하게 식별할 수 있음

최소성

최소한의 속성으로 식별자 구성

예. 이미 주민번호하나만으로 유일성을 확보할 수 있는데 구분코드+주민번호 PK구성은 최소성을 위배함

불변성

식별자가 한 번 특정 엔티티를 지정되면 그 식별자는 변하지 않아야 함

예. 주민등록번호 가 변한다는 의미는 이전기록이 말소가 되고 새로운 기록이 발생되는 개념임

존재성

식별자가 지정되면 반드시 데이터 값이 존재

예. 주민등록번호 없는 대한민국 국민은 있을 수 없음

 

  나. Key의 종류

종류

정 의

후보키

(candidate key)

 

- 릴레이션 R(A1, A2, ..., An)에 대한 애트리뷰트 집합 A = { A1, A2, ..., An }, K = { Ai , Aj , ..., Ak }에 대하여, K Í A 인 K가 아래 성질을 만족하면 후보키

- 유일성(uniqueness) : K (= { Ai , Aj , ..., Ak }) 의 값(< Vi , Vj , ..., Vk >)은 유일

- 최소성(minimality) : K는 투플을 유일하게 식별하기 위해 필요한 최소의 애트리뷰트로 구성

슈퍼키

(super key)

- 유일성(uniqueness)은 만족하지만 최소성(minimality)을 보장하지는 않는 키의 집합

기본키

(primary key)

- 후보키(candidate key)중 데이타베이스 설계자가 선정하는 하나의 키

-  Minimal super key

대체키

(alternate key)

- 후보키중에 기본키를 제외한 나머지 후보키

외래키

(foreign key)

- 릴레이션 R1에 속한 애트리뷰트(집합)FK가 릴레이션 R2의 기본키일 때 FK는 R1의 외래키이다.

- (FK의 도메인) = (R2의 기본키의 도메인)

- FK의 값은 R2에 존재하는 값이거나 null이다.

- R1과  R2가 반드시 다른 릴레이션일 필요는 없다.

- R1을 참조 릴레이션(referencing relation), R2를 참조된 릴레이션(referenced relation)이라 한다.

 

2. 엔티티타입의 주 식별자인 기본키(Primary Key)의 개념

  가.기본키(Primary Key, PK)의 정의

    - 후보키(candidate key)중 데이타베이스 설계자가 선정하는 하나의 키

    - 기본키(Primary Key)는 엔티티 타입을 대표하는 주 식별자임

  나.주식별자와 보조식별자의 개념

구 분

정 의

사 용

주식별자

엔티티타입을 대표성을 나타내는 유일한 식별자

물리적인 테이블에서 PRIMARY KEY로 지정

보조식별자

엔티티타입을 식별할 수 있는 속성이 한 개 이상일 때 하나는 주 식별자로 선택하고 그 나머지를 보조식별자로 지정

물리적인 테이블에서 UNIQUE INDEX로 지정

 

  다.기본키(Primary key)의 특징

특징

내용

비고

유일성

식별자에 의해 엔티티타입 안의 모든 엔티티 들이 유일하게 구분

예. 주민등록번호 : 주식별자가 모든 사람을 고유하게 식별 할 수 있음

최소성

최소한의 속성으로 식별자 구성

예. 이미 주민번호 하나만으로 유일성을 확보할 수 있는데 구분코드+주민번호로 PK를 구성하는 것은 최소성을 위배함

불변성

식별자가 한 번 특정 엔티티로 지정되면 그 식별자는 변하지 않아야 함

예. 주민등록번호가 변한다는 의미는 이전 기록이 말소가 되고 새로운 기록이 발생되는 개념임

존재성

식별자가 지정되면 반드시 데이터 값이 존재

예. 주민등록번호 없는 대한민국 국민은 있을 수 없음

 

 

3. 기본키(Primary key)의 선정 기준

선정기준

내용

1. 속성의 사용 빈도

해당업무에서 빈번하게 사용하는 속성으로 지정.

사례) 사원번호는 주 식별자, 주민등록번호는 보조 식별자 선정

2. 명칭, 내역 등의 이름 속성은 제외

명칭, 내역 등과 같이 이름으로 기술되는 것들은 주 식별자로 선정하기 부적절함

이유) 부서명을 주 식별자로 선정하면 물리DB 테이블 생성시 부서명이 조건절(where)에 기술되거나, 부서명이 20자 이상으로 길어질 수 있으므로 제외

방안1- 부서에 부서코드를 부여하여 주 식별자로 사용

방안2- 부서일련번호(부서번호)를 주 식별자, 부서명은 보조 식별자로 선정

3. 과도한 복합키 배재

- 주식별자 속성 개수 최대 7~8개 이내로 유지

-방안 : 주식별자 속성 수가 8개 이상 시, 모델 단순화를 위해 새로운 식별자 (Artificial Identifier)를 주식별자로 선정

사례) 접수정보 7개 이상의 복잡한 속성

 

[참고] Key의 분류

구분

식별자

정의

대표성

주 식별자

(Primary Key)

- 테이블의 Primary key로 엔티티 타입의 대표성을 나타내는 식별자

- 하나의 엔티티타입에 주식별자가 한 개 존재

보조 식별자

(Candidate Key)

- 테이블의 Unique Index

- 주식별자를 선정하고 나머지 속성은 보조식별자로 지정

- 엔티티타입 하나에 한 개 이상

스스로 생성

내부식별자,

자신의 엔티티타입 내에 존재 하는 식별자

외부식별자

(Foreign Key)

타 엔티티타입의 식별자가 자신의 속성으로 포함된 것

단일속성

단일식별자,

한 개의 식별자가 엔티티타입을 유일하게 대표

복합식별자

여러 개의 식별자가 합쳐진 식별자

대체여부

대리식별자

(Surrogate Identifier)

주식별자의 속성이 복합 식별자일 경우 여러 개의 속성을 묶어 하나의 속성으로 만들어 주식별자로 활용하는 경우, 이때의 식별자를 대리식별자라 함

방법 1) 주 식별자 속성을 일반속성으로 내리고 일련번호 형태를 주 식별자로 사용

방법 2) 여러개의 속성을 한데 묶어서 하나의 주문번호로 대리 식별자를 생성

원조식별자

원래의 식별자

댓글