정보처리기사

7. 관계 데이터베이스 모델

nayeonee__ 2023. 4. 7. 08:59

https://www.njobler.net/product/lecture/show/prod/10810

 

1억뷰 N잡

[연장 미포함] 흥나게 합격달성! 정보처리기사 실기

www.njobler.net

본 강의를 듣고 내용을 정리하며 적은 게시글 입니다. 

 

 

 

 

 

  • 관계 데이터 모델
    • 개념
      • 데이터의 논리적 구조가 릴레이션, 즉 테이블 형태의 평면 파일로 표현되는 데이터 모델
    • 구조
      • 속성
        • 릴레이션의 각 열을 속성 또는 attribute 라고 한다.
        • 데이터를 구성하는 가장 작은 논리적인 단위
        • 개체의 특성을 기술
        • 속성의 수 = Degree = 차수
      • 튜플
        • 릴레이션의 행을 튜플이라고 한다.
        • 속성들의 모임으로 구성된다.
        • 튜플의 수 = 카디널리티 = 기수
      • 도메인
        • 하나의 속성이 가질 수 있는 값의 범위
        • 속성 값에 도메인을 정해두면, 정해진 값 외에 다른 값이 삽입될 수 없으므로 무결성이 유지됨
      • 차수(Degree)
        • 하나의 릴레이션에서 속성의 전체 개수
      • 카디널리티(Cardinality) - 튜플들의 모임
        • 하나의 릴레이션에서 튜플의 전체 개수
    • 릴레이션
      • 데이터들을 2차원 테이블의 구조로 저장한 것
      • 릴레이션의 구성
        • 릴레이션 스키마
          • 릴레이션 이름과 릴레이션에 포함된 모든 속성의 이름으로 정의하는 릴레이션의 논리적인 구조
        • 릴레이션 인스턴스
          • 릴레이션 스키마에 실제로 저장된 데이터의 집합
      • 특징
        • 튜플의 유일성
          • 릴레이션 안에는 똑같은 튜플이 존재할 수 없음
        • 튜플의 무순서성
          • 튜플 사이에는 순서가 없음
        • 속성의 무순서성
          • 속성 사이에는 순서가 없음
        • 속성의 원자성
          • 속성은 더 이상 분해할 수 없는 원자값만 가진다.
        • 튜플들의 삽입, 갱신, 삭제 작업이 실시간으로 일어나므로 릴레이션은 수시로 변한다.
  • 관계 데이터 언어 (관계 대수, 관계 해석)
    • 관계대수 개념
      • 원하는 데이터를 얻기 위해 데이터를 어떻게 찾는지에 대한 처리과정을 명시하는 절차적인 언어
      • 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.
      • 릴레이션 조작을 위한 연산의 집합으로 피연산자와 결과가 모두 릴레이션이다.
      • 일반 집합 연산과 순수 관계 연산으로 구분
    • 순수관계 연산자
      • SELECT
        • 릴레이션에서 주어진 조건을 만족하는 튜플을 선택하는 연산자.
        • 기호 : 𝞼 (시그마)
        • 표기법 : 𝞼 <조건>(R)
        • 조건에서는 =, ≠, <, ≤, >, ≥ 등의 기호를 사용한 비교 연산이 허용, AND(∧), OR(∨), NOT(ㄱ) 등의 논리 연산자를 사용
      • PROJECT
        • 주어진 릴레이션에서 속성 리스트에 제시된 속성값 만을 추출하는 연산자
        • 기호 : 𝜋 (파이)
        • 표기법 : 𝜋<리스트>(R)
      • JOIN
        • 두 개의 릴레이션으로부터 연관된 튜플들을 결합하는 연산자
        • 기호 : ⋈(보타이)
        • 표기법 : R⋈<조건>S
      • DIVISION
        • 릴레이션 S의 모든 튜플과 관련이 있는 릴레이션 R의 튜플들을 반환
        • 기호 : ÷(나누기)
        • 표기법 : R ÷ S
    • 일반 집합 연산자
      • 합집합(Union)
        • 두 릴레이션에 존재하는 튜플의 합집합을 구하되, 결과로 생성된 릴레이션에서 중복되는 튜플은 제거
        • 표기법 : ⋃
      • 교집합(Intersection)
        • 두 릴레이션에 존재하는 튜플의 교집합을 구하는 연산
        • 표기법 : ⋂
      • 차집합(Difference)
        • 두 릴레이션에 존재하는 튜플의 차집합을 구하는 연산
        • 표기법 : -
      • 교차곱(Cartesian Product)
        • 두 릴레이션에 있는 튜플들의 순서쌍을 구하는 연산
        • 표기법 : ×
    • 관계 해석
      • 관계 데이터 모델의 제안자인 코드가 수학의 Predicate Calculus(술어 해석)에 기반을 두고 관계 데이터베이스를 위해 제안
      • 관계해석은 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의할 때 계산 수식을 사용
      • 관계해석은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성
      • 튜플 관계 해석과 도메인 관계해석이 있다.
      • 연산자
        • 연산자
          • ∨ : OR 연산
          • ∧ : AND 연산
          • ㄱ : NOT 연산
        • 정량자
          • ∀ : 모든 가능한 튜플 “For All”
          • ∃ : 어떤 튜플 하나라도 존재