티스토리 뷰

DataBase System

관계 데이터 연산

김남김 2022. 8. 22. 22:18
  • 데이터 모델 = 데이터 구조 + 연산 + 제약조건

관계 데이터 연산(relational data operation)

  • 관계 데이터 모델의 연산
  • 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것
  • 관계 대수와 관계 해석이 있음
    • 기능과 표현력 측면에서 능력이 동등함
    • 처리절차를 얼마나 자세히 기술하느냐에 따라 차이를 보임

  • 관계 대수(relational algebra)의 개념
    • 원하는 결과를 얻기 위해 릴레이션의 처리 과정을 순서대로 기술하는 언어
      • 절차 언어(procedural language)
    • 릴레이션을 처리하는 연산자들의 모임
      • 대표 연산자 8개
      • 일반 집합 연산자와 순수 관계 연산자로 분류됨
    • 폐쇄 특성(closure property)이 존재함
      • 피연산자도 릴레이션이고 연산의 결과도 릴레이션임

 


 

일반 집합 연산자(set operation)

  • 릴레이션이 투플의 집합이라는 개념을 이용하는 연산자

 


 

합집합

  • R U S도메인이 모두 같아야한다
  • 릴레이션 R에 속하거나 릴레이션 S에 속하는 모든 투플로 결과 릴레이션 구성

 

  • 결과 릴레이션의 특성
    • 차수는 릴레이션 R과 S의 차수와 같음
    • 카디널리티는 리레이션 R과 S의 카디널리티를 더한 것과 같거나 적어짐
  • 교환적 특징이 있음
    • R U S = S U R
  • 결합적 특징이 있음
    • (R U S) U T = R U (S U T)

 


 

 

 

교집합

  • 릴레이션 R에 속하거나 릴레이션 S에 속하는 모든 투플로 결과 릴레이션 구성

  • 결과 릴레이션의 특징
    • 차수는 릴레이션 R과 S의 차수와 같음
    • 카디널리티는 릴레이션 R과 S의 어떤 카디널리티보다 크지 않음
  • 교환적 특징이 있음
  • 결합적 특징이 있음

 


 

차집합: R - S

  • 릴레이션 R에는 존재하고 릴레이션 S에는 존재하지 않는 투프로 결과 릴레이션 구성

  • 결과 릴레이션의 특징
    • 차수는 릴레이션 R과 S의 차수와 같음
    • R-S의 카디널리티는 릴레이션 R의 카디널리티와 같거나 작음
    • S-R의 카디널리티는 릴레이션 S의 카디널리티와 같거나 작음
  • 교환적, 결합적 특징이 없음

 


 

 

  • 카티션 프로덕트(cartesian product) : R x S
    • 릴레이션 R에 속한 각 투플과 릴레이션 S에 속한 각 투플을 모두 연결하여 만들어진 새로운 투플로 결과 릴레이션을 구성

 

  • 결과 릴레이션의 특성
    • 차수는 릴레이션 R과 S의 차수를 더한 것과 같음
    • 카디널리티는 릴레이션 R과 S의 카디널리티를 곱한 것과 같음
  • 교환적 특징이 있음
  • 결합적 특징이 있음

 


 

순수 관계 연산자(relational operation)

  • 릴레이션의 구조와 특성을 이용하는 연산자

 

일반 집한 연산자의 특성

  • 피연산자가 두 개 필요함
    • 두 개의 릴레이션을 대상으로 연산을 수행
  • 합집합, 교집합, 차집합은 피연산자인 두 릴레이션이 합병이 가능해야 함
    • 합병 가능(union-compatible)조건두 릴레이션에서 서로 대응되는 속성의 도메인이 같아야 함
    • 두 릴레이션의 차수가 같아야 함

 

셀렉트(Select)

하나의 릴레이션을 대상으로 연산을 수행데이터 언어적 표현법: 릴레이션 where 조건식

  • 비교식, 프레디킷(predicate)이라고도 함
  • 속성과 상수의 비교나 속성들 간의 비교로 표현
  • 비교연산자(>,<,≤,≥,=,≠)와 논리연산자를 이용해 작성
  • 조건식
  • 수학적 표현법 : σ(조건식)
  • 릴레이션에서 조건을 만족하는 투플만 선택하여 결과 릴레이션을 구성

if 고객 릴레이션에서 등깁이 gold인 투플을 검색하시오

  • 고객 where 등급 = ‘gold’ or σ등급=’gold’(고객)

교환적 특징이 있음

 

 


프로젝트(Project)

하나의 릴레이션을 대상으로 연산을 수행데이터 언어적 표현법 : 릴레이션[속성리스트]

  • 수학적 표현법 : π속성리스트(릴레이션)
  • 릴레이션에서 선택한 속성의 값으로 결과 릴레이션을 구성

if 고객 릴레이션에서 고객이름, 등급, 적립금을 검색하시오

  • π고객이름, 등급, 적립금(고객) or 고객[고객이름, 등급, 적립금]

 

 


 

조인(Join)

  • 조인 속성의 값이 같은 투플만 연결하여 생성된 투플을 결과 릴레이션에 포함
  • 조인 속성 : 두 릴레이션이 공통으로 가지고 있는 속성

표현법: 릴레이션1 ⋈ 릴레이션2

  • 표현법 : 릴레이션1 ⋈N 릴레이션2
  • 자연조인(natural join)이라고도 함
  • 조인 속성을 이용해 두 릴레이션을 조합하여 결과 릴레이션을 구성

 


 

 

디비전(division)

 

릴레이션2의 모든 투플과 관련이 있는 릴레이션1의 투플로 결과 릴레이션을 구성

  • 단, 릴레이션1이 릴레이션2의 모든 속성을 포함하고 있어야 연산이 가능함
  • 표현법 : 릴레이션1 ÷ 릴레이션2

if 등급이 gold인 고객의 이름과 나이를 검색하시오

  • π고객이름,나이(σ등급=’gold’(고객))

 

 

참고 강의) http://www.kocw.net/home/cview.do?cid=9c591659f017851e

 

데이터베이스의 원리와 응용

본 강의에서는 데이터베이스 입문자들에게 꼭 필요한 데이터베이스 기초 이론, 데이터 모델과 연산, SQL, 데이터베이스 설계에 대해 공부하고자 한다.

www.kocw.net

 

'DataBase System' 카테고리의 다른 글

SQL 조작  (0) 2022.08.22
SQL 정의(Structured Query Langauge)  (0) 2022.08.22
정규화  (0) 2022.08.22
데이터 모델링  (0) 2022.08.22
관계 데이터 모델: 실습  (0) 2022.08.22
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함