BlueHarmel
BlueHarmel Devlog
BlueHarmel
전체 방문자
오늘
어제

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (330)
    • Book (11)
    • Dev (29)
      • ArtCon (0)
      • ESTsoft 오르미 (29)
    • Study (290)
      • Web (18)
      • AWS (2)
      • 알고리즘 (1)
      • GameDev (1)
      • 정보처리기사 (201)
      • English (1)
      • Mathematics (24)
      • 머신러닝 (7)
      • 딥러닝 (10)
      • 네트워크 보안 (5)
      • R (4)
      • 컴퓨터 네트워크 (6)
      • 데이터베이스 (8)
      • 데이터 통신 (0)
      • 운영체제 (2)
      • TIL (0)
    • Project (0)
      • 개인 (0)
      • 단체 (0)

인기 글

hELLO · Designed By 정상우.
BlueHarmel

BlueHarmel Devlog

데이터베이스 5. 관계대수와 관계해석
Study/데이터베이스

데이터베이스 5. 관계대수와 관계해석

2023. 10. 22. 17:47
  • 연산과 데이터 언어
    • 연산(절차적) : 시스템 입장
    • 데이터 언어(비절차적) : 사용자 입장
  • 관계 데이터 언어
    • 정형어 (C / JAVA등 문법이 명확한 언어)
      • 관계 대수 (relational algebra)
        • 절차언어 : how, what
      • 관계 해석 (relational calculus)
        • 비 절차 언어 : what
        • 튜플 관계 해석
        • 도메인 관계 해석

관계 해석과 관계 대수는 표현과 기능 면에서 동등하다. (관계 해석으로 표현할수 있는것은 모두 관계 대수로도 표현할 수 있다.)

1. 관계 대수 (절차적 질의)

- 릴레이션(튜플의 집합)을 처리하기 위한 연산의 집합

- 기본 연산

  1. 일반 집합 연산자 (Relation에 대해 닫혀있다. (relation => relation)) 
    1. UNION (합집합)
    2. INTERSECT (교집합) : 
    3. DIFFERENCE (차집합) : 
    4. CARTESIAN PRODUCT (카티션 프로덕트) : 
  2. 순수 관계 연산자 (Relation에만 가할수있는 연산자)
    1. SELECT : 
    2. PROJECT : 
    3. JOIN : 
      1. 동일 조인
      2. 자연 조인
      3. 세타 조인
      4. 세미 조인
      5. 외부 조인
    4. DIVISION : 
    5. RENAME (개명 연산) : 

폐쇄 성질 :

- 피연산자와 연산의 결과가 모두 릴레이션(연산 결과가 또다른 연산자의 피연산자가 될 수 있다.)

- 중첩(Nested)된 수식의 표현이 가능

- 릴레이션으로 도출된 결과집합 (=수평적 부분집합)

1. 합병 가능한 릴레이션  (합집합 교집합 연산의 피연산자들은)

- 차수(애트리뷰트의 갯수)가 같아야 함

- 대응 애트리뷰트 쌍 별로 도메인(데이터의 형태 : 숫자, 문자,...)이 같아야 함

2. 합집합 교집합 카티션 프로덕트는 결합적이며 교환적이다.

- 교환법칙과 결합법칙이 적용되므로 피연산자의 순서가 상관없다. 

 

- SELECT문은 조건들의 순서가 바뀌어도 상관없다.

- 선택도 : 피연산자 릴레이션 대비 결과 릴레이션의 튜플갯수 비율을 구한 것 (질의를 최적화 할때 사용)

- 셀렉트의 결과는 선택조건을 만족하는 릴레이션의 수평적 부분집합(horizontal subset) : 릴레이션의 가로요소(튜플) 들을 일부 가져옴

 

프로젝트

- 피연산 릴레이션의 특정 애트리뷰트 요소만 보려고 할때 사용

- 수직 요소(애트리뷰트)들을 결과로 사용하므로 릴레이션의 수직적 부분집합이다.

- 프로젝트의 결과에 중복이 있다면 제거하므로 원래 릴레이션보다 차수가 같거나 작다.

- X에 Y가 포함되어있다면 처음부터 R릴레이션에 Y를 프로젝트한것과 같다.

 

조인

 

동일 조인

- 세타 조인의 조건이 ' = ' 인 경우

자연 조인

- 동일 조인의 결과에 중복되는 애트리뷰트를 하나만 만드는 것

세타 조인

- <,>,= 등을 조건으로 하는 조인

세미 조인

- S와 자연 조인이 가능한 R의 튜플의 집합

- R과 S를 자연 조인 후, 앞에 있는 릴레이션의 애트리뷰트들만 나타낸 것

외부 조인

- 상대 릴레이션에 대응되는 투플이 없는경우, 상대를 null투플로 만들어 결과 릴레이션에 포함

- 누락 정보를 처리하기위한 조인의 확장

디비전

- 

개명 연산 (Rename)

-

기본 연산

- 다른 연산으로 대체할 수 없는 하나의 논리적 기능을 수행하는 연산

복합 연산

- 몇개의 기본 연산으로 대체할 수 있는 연산

외부 합집합

- 합병 가능하지 않은 두 릴레이션의 모든 애트리뷰트를 포함하는 확장된 릴레이션으로 만듦

- 외부조인은 일부가 대응되는 투플이 없을때, 이건 전부 대응되지 않을때

집계 연산

- SUM : 집합내 합계

- AVG : 집합내 평균

- MAX : 집합내 최대값

- MIN : 집합내 최소값

- COUNT : 집합속 값들의 갯수

- GROUP : 특별히 지정한 애트리뷰트 값에 따라 투플들을 그룹짓는것.

 

 

예제

2. 관계 해석 (비절차적 질의)

- 관계 해석 : Predicate calculus에 기반

- predicate : 실행 결과가 반드시 참이나 거짓인 함수

- 관계 데이터 모델의 연산 표현 방법

 

종류

1. 튜플 관계 해석

불리언 연산자 (and/or/not)

2. 도메인 관계 해석

3. QBE

 

학년이 3학년인 학생의 학번을 출력하라

_STX : 도메인 변수

P : 명령어

한줄에 도메인 변수를 적으면 AND 여러줄로 나누면 OR

 

저작자표시 비영리 변경금지 (새창열림)

'Study > 데이터베이스' 카테고리의 다른 글

데이터베이스 7. 함수 종속, 1NF, 2NF  (0) 2023.11.04
데이터베이스 6. SQL  (0) 2023.10.22
데이터베이스 4. 관계 데이터베이스  (0) 2023.10.16
데이터베이스 3. 데이터베이스 시스템의 구성  (0) 2023.10.15
데이터베이스 2. 데이터베이스 관리 시스템과 구성  (0) 2023.10.15
    BlueHarmel
    BlueHarmel
    Interested in Mathematics, Foreign Language, and "Programming"

    티스토리툴바