[데이터베이스개론] - Relational Models, Relational Algebra

조재현·2023년 4월 2일
0
post-thumbnail

📢 데이터베이스들의 기본 용어들

기본 용어 #1

  • Database : Relation의 집합
  • Relation : 순서 없는 tuple의 집합, table과 동일.
    • Relation Schema: attribute의 집합
    • 📜 해당 table의 relation schema는 {ID, name, dept_name, salary}
  • Attribute(속성, column) : table의 열에 해당, 대체로 atomic함(속성 값은 고유)
    • Domain : 각 속성에 해당하는 값들의 집합(+null은 모든 domain의 원소)
      📜 예를 들어, dept_name 속성의 domain은 {Comp, Finance, Music, Phycics, Biology....}
  • Tuples (튜플, row): table의 행에 해당

기본 용어 #2

  • Super key: 만일 Relation R의 특정 attribute들의 집합 K가 특정 tuple을 구분 할 수 있는 기준이 될 때, K를 R의 Super key라고 한다.
    • 📜 (ID), (ID, Name)은 모두 instructor table의 super key이다.
  • Candidate key: super key 중 집합의 크기가 가장 작은 super key
    • 📜 (ID), (ID, Name)중 (ID)가 instructor table의 candidate key이다.
  • Primary key: 여러개의 candidate key중 특별히 선택한 key
  • Foreign key: 한 테이블의 속성 중 다른 테이블의 행을 식별할 수 있는 키
    • 📜 주문 정보 테이블에 물건 이름과 ID를, 회원 정보 테이블에 ID가 있을 때, ID는 회원을 식별할 수 있는 foreign key가 된다.

📢 Relational Algebras & Operators

📜 Relational Algebras

  • Selection(σ) : 조건에 맞는 튜플들을 가져온다.
  • Projection(Π) : 원하는 속성들만 보이도록 한다.
  • Cartesian Product(X) : Relation끼리의 곱연산 수행
  • Union(U), set difference(-), set intersection : Relation끼리의 합, 차, 교집합 연산 수행
  • Natural Join(리본모양) : Relation끼리의 겹치는 속성의 값이 서로 동일할 때 그 tuple을 결합
    e.g) 아래의 사례를 보면, BD가 서로 겹치는 속성이고, s에서 r의 맨 첫 번째 튜플과 B, D 값이 같은 튜플은 첫 번째, 세 번째 튜플이므로 이 튜플을 결합해준다.
  • Natural Join은 Cartesian product와 Selection으로 구현이 가능하기 때문에 기본 연산자는 아니며, Relational algebra의 기본 연산자는 Selection, Projection, Set difference, Cartesian Product, Union이다.
profile
꿈이 많은 개발자 지망생

0개의 댓글

관련 채용 정보