[데이터베이스시스템] 관계형 모델

 

✔ 관계형 모델의 개념

릴레이션의 특성

데이터베이스 모델링 과정

개념적 데이터 모델링의 결과

 

논리적 데이터 모데링 단계

1. DBMS에서 사용하는 데이터 모델에 맞추어 데이터를 표현하는 과정

2. 데이터 정의 언어로 기술된 개념 스키마 생성

3. 관계형 모델(relational model)

  • 1969년 에드가 F.코드에 의해 제안
  • 릴레이션으로 데이터를 표현하는 모델
  • 데이터 표현이 단순하고 직관적 구조화 모델
  • 현재 대다수 DBMS의 기초
    • 관계형 모델을 사용하는 관계형 DBMS(RDBMS)
    • Oracle, DB2, PostgreSQL, MySQL, MSSQL 등

 

릴레이션의 구성

두 개의 메타 데이터를 표현해서 하나의 데이터 값을 데이터화 시키는 과정에 최적화되어 있다.

 

릴레이션의 특징

  • 레코드의 유일성 : 중복된 레코드의 존재가 불가능
  • 레코드의 무순서성 :  레코드의 순서는 의미가 없음 (같은 양의 정보를 담고있기 때문)
  • 컬럼의 무순서성 : 컬럼은 순서가 없고, 이름과 값의 쌍
  • 컬럼값의 원자성 : 모든 값들은 나눌 수 없는 단 하나의 의미

 

키(key)의 역할

릴레이션의 레코드를 유일하게 식별하는 값

1. 키의 속성

유일성(Uniqueness) & 최소성(Irreducibility) 을 동시에 만족하고 있는 컬럼

 

2. 키의 종류

  • 수퍼키(super key) : 유일성 만족
  • 후보키(candidate key): 유일성, 최소성 만족. 기본키가 될 수 있는 후보
  • 기본키(PK: primary key) : 레코드의 구분을 위해 선택된 후보키
  • 외래키(FK: foreign key) : 참조된 다른 릴레이션의 기본키

 

관계형 모델의 예

1. 수퍼키 :  학과이름, {학과이름, 단과대학}, 주소, 전화번호, {전화번호, 졸업학점} 등

2. 후보키 : 학과이름, 주소, 전화번호

3. 기본키 : 학과이름 

4. 외래키 : 교수의 소속을 나타내기 위해 학과 릴레이션을 참조

 

관계형 모델의 제약조건

  • 영역 제약 조건 : 컬럼에 정의 된 영역(domain)에 속한 값으로만 컬럼값이 결정   ex) 숫자 컬럼엔 숫자만
  • 키 제약 조건 : 키는 레코드를 고유하게 구별하는 값으로 구성
  • 개체 무결성 제약조건 :  어떠한 기본키 값도 널(null)이 될 수 없음
  • 참조 무결성 제약조건 : 반드시 존재하는 레코드의 기본키만 참조 가능

 

널(NULL)의 개념

'없음' 또는 '0'이 아닌 미지의 값에 대한 표현

= 입력된 적이 없는 값

= 적용 불가능한 값

 

 

✔ ERD의 변환

ER 다이어그램 변환 규칙

논리적 데이터 모델링

1. DBMS의 구현 모델에 맞춰 데이터를 표현하는 과정

2. 데이터 정의 언어로 기술된 개념 스키마 생성

3. 논리적 데이터 모델링의 필요

  • 관계형 DBMS(RDBMS)의 구현 모델에 맞춰 데이터의 구조와 관계를 표현
  • 작성된 ERD를 EDBMS가 수용 가능한 구조로 변환

 

ER 다이어그램의 변환

관계형 모델로의 변환 방법

더보기

1. 개체 집합 : 개체 집합은 릴레이션으로 변환

2. 약한 개체 집합 :  강한 개체 집합의 키 속성을 약한 개체 집합의 릴레이션에 포함

3. 1:1 관계 :  두 릴레이션 중 한 릴레이션의 기본키를 다른 릴레이션에서 외래키로 참조

4. 1:N 혹은 N:1 관계 : 1쪽의 기본키를 N쪽 릴레이션에서 외래키로 참조

5. N:N : 관계 릴레이션을 생성하고, 두 릴레이션의 기본키를 각각 참조하는 외래키를 복합키 형태의 컬럼으로 구성

6. 다중값 속성 :  릴레이션의 기본키를 참조하는 외래키와 다중값 속성으로 별도의 릴레이션으로 구성

7. 관계 집합의 속성 : 외래키가 위치한 릴레이션의 컬럼으로 삽입

 

 

✔ 데이터 연산

관계 연산의 개념

1. 관계형 모델을 기반으로 구성된 릴레이션을 사용하여 새로운 릴레이션을 생성하는 표현

2. 사용자의 관점에서 필요한 데이터를 릴레이션에서 추출하는 방법을 제공하는 도구

3. 관계 대수(relational algebra)

  • 관계 연산을 정의하는 방법
  • 주어진 릴레이션에서 필요한 릴레이션을 만드는 연산자로 구성
  • 관계 대수 연산자는 새로운 임시 릴레이션을 생성
  • 연산자를 중첩하여 연산 처리 절차를 표현

 

셀렉트 연산

1. 주어진 릴레이션에서 조건을 만족하는 레코드를 갖는 릴레이션을 생성

2. 조건 : aθb 또는 aθv

3. 조건의 결합 : ∧(and), ∨(or)

 

관계 대수 연산자