인공지능/데이터분석

관계형 데이터 모델의 기초

해피밀세트 2020. 1. 19. 20:17
반응형

데이터 모델이란?

데이터 모델은 구조(S), 연산(O), 제약조건(C)로 이루어져 있음

1. 구조 : 데이터의 구조

 - 정적 성질, 객체 타입과 이들간의 관계를 명세함

2. 연산 : 데이터의 동적 성질

 - 객체 인스턴스를 처리하는 작업에 대한 명세
 - 데이터 조작 기법

3. 제약조건 : 데이터의 논리적인 제약

 - 구조로부터 파생 의미적 제약
 - 데이터 조작의 한계를 표현하는 규정
   예) 정수
        구조 : -2.-1,0,1,2...
        연산 : 사칙연산
        제약조건 :정수의 제한 2.5는 정수가 아님


관계형 데이터 모델을 사용하는 이유

 - 모델의 구조가 단순함
 - 집합 이론이라는 수학족 이론에 기반하여 모델이 강건함
 - SQL이라는 간단한 비절차적 언어로 사용하기 쉬움


관계형 데이터 모델

 - 구조 : 릴레이션 (또는 테이블)
 - 연산 : 관계대수
 - 제약조건 : 무결성 제약조건


관계형 데이터 모델의 구조와 연산

1. 관계형 데이터 모델의 구조

 - 릴레이션
 - 2차원 테이블 형태
 - 테이블의 열 => 속성 (도메인:속성이 가질수 있는 값의 범위)
 - 테이블의 행 => 튜플 (릴레이션 튜플들의 집합)

2. 릴레이션의 특징

 1) 튜플의 유일성
    -릴레이션은 튜플의 집합임
    - 집합은 중복을 혀용하지 않음
 2) 튜플의 무순서성
    - 집합에서 원소들 간의 순서는 없음 ({1,2,3}={2,3,1})
 3) 속성의 무순서성
    - 릴레이션 스키마(구조정보)는 속성들의 집합임
 4) 속성의 원자성
    - 속성의 값은 원자값임
    - 논리적으로 더 분해할 수 없음

3. 관계형 데이터 모델의 연산

 - 관계대수 : 시스템 관점
 - SQL : 사용자 위주

4. 관계 대수의 연산자의 분류

 1) 일반 집합 연산자 
    - 합집합, 교집합, 차집합, 카티션 프로덕트
    - 합병호환성 : 연산의 피연산자들이 지켜야할 제약조건
      · 차수(속성의 수)가 같아야 함
      · 대응되는 속성 쌍 별로 타입 (또는 도메인)이 같아야 함
      · 대응되는 속성 쌍 별로 의미가 같아야 함
        (1,2조건은 시스템에서 확인해줌, 3조건은 사람이 해야함)
 2) 순수관계 연산자
    - 릴레이션 2차원 구조이기 때문에 유도되는 연산자 (셀렉트, 프로젝트, 조인, 디비전)
       

관계형 데이터 모델의 제약조건

1.키

 키의 개념 : 하나의 테이블 내에서 각 튜플의 유일하게 식별할 수 있느 속성들의 집합
   - 실생활의 키
   - 하나의 자물쇠를 열 수 있는 열쇠는 하나임
   - 생활의 편리성을 위하여 키를 복제하여 쓰지만 논리적ㅇ으로는 하나임

 키의 종류
  1) 후보키 : 한 릴레이션 R에 대한 속성의 집합 K으로 다음과 같은 성질을 만족함
      - 유일성 : 서로 다른 두 튜플의 속성집합 K의 값은 같지않음
      - 최소성 : K는 서로 다른 두 튜플을 식별하기 위한 최소한의 속성들로만 이루어져 있음
  2) 슈퍼키
      - 유일성을 만족하는 속성 집합
      - 최소성을 만족하지 않아도 됨
      - 일반적으로 후보키는 슈퍼키의 부분 집합임(슈퍼키는 후보키를 포함함)
  3) 기본키
      - 하나의 릴레이션에는 후보키가 여러 개일 수 있음
      - 여러 개의 후보키 중 DBA가 지정한 하나의 키임
  4) 대체키
      - 후보키 중 기본키를 제외한 나머지 후보키
  5) 외래키
      - 한 릴레이션 R1의 튜플과 다른 릴레이션 R2의 하나의 튜플과의 연관 관계를 표시하기 위하여 사용함
      - R1의 속성 집합 FK의 도메인이 R2의 기본키일때, FK를 R1의 외래키라고 함
      - R1을 참조 릴레이션, R2를 피참조 릴레이션이라고 함.

2. 무결성 제약조건

  1) 개체 무결성
     - 의미 : 서로다른 두 튜플은 같을 수 없음
     - 정의 : 기본키 값은 언제고 어느 때고 NULL값일 수 없음
  2) 참조 무결성
     - 외래키 값은 피참조 릴레이션의 기본키 값이거나 NULL값임
     - 추가 지정을 통해 NULL을 가질 수 없다고 제약을 걸 수 있음
  3) 도메인 무결성
     - 속성값은 해당 속성 도메인에 속한 값들 중 하나이어야 함
     - DBMS는 데이터베이스의 상태 변화(삽입, 갱신, 삭제)에도 항상 무결성 제약조건을 검사하고 유지시킴

반응형