SQL 도전기 - 33

김치전사·2022년 7월 26일
0

SQL 도전기

목록 보기
33/36

오늘은 관계형 모델에 대해 공부한다

SQL은 관계형 모델에 의해 구축된 데이터베이스를 조작하는 체계적인 명령의 집합이다

관계형 모델

관계형 모델(Relational Model)의 기본적인 요소는 릴레이션(Relation)이다
관계형 모델의 릴레이션은 SQL에서 말하는 테이블에 해당된다

릴레이션은 테이블을 말한다!

관계형 모델의 릴레이션에는 몇 가지 속성(attribute)가 있다
속성은 SQL에서 말하는 열에 해당된다
릴레이션은 튜플의 집합이며, 릴레이션에 대한 연산이 잡합의 대한 연산에 대응된다는 이론을 '관계대수'라고 한다

  • 하나 이상의 관계를 바탕으로 연산한다
  • 연산한 결과, 반환되는 것 또한 관계이다
  • 연산을 중첩 구조로 실행해도 상관없다

관계형 모델과 SQL

  • 합집합
    합집합(union)은 릴레이션끼리의 덧셈을 말한다. SQL에서는 UNION에 해당한다
SELECT * FROM A UNION SELECT * FROM B
  • 차집합
    차집합(difference)은 릴레이션끼리의 뺄셈을 말한다. SQL에서는 EXCEPT에 해당한다
SELECT * FROM A EXCEPT SELECT * FROM B
  • 교집합
    교집합(intersection)은 릴레이션끼리의 공통부분(교집합)을 말한다. SQL에서는 INTERSECT에 해당된다
SELECT * FROM A INTERSECT SELECT * FROM B
  • 곱집합
    곱집합(cartesian product)는 릴레이션끼리의 대전표를 조합하는 연산을 말한다
    SQL에서는 FROM 구에 복수의 테이블을 지정한 경우 곱집합으로 계산된다.
    CROSS JOIN으로 교차결합을 하면 곱집합을 구할 수 있따
SELECT * FROM A, B 
SELECT * FROM A CROSS JOIN B
  • 선택
    선택(selection)은 튜플의 추출을 말한다. 선택은 제한이라 불리기도 한다
    튜플은 SQL에서 행을 말하기 때문에 WHERE 구에 조건을 지정해 데이터를 검색하는 것에 해당된다
SELECT * FROM A WHERE no < 3
  • 투영
    투영(projection)은 속성의 추출을 말한다. SQL에서 속성은 열을 말하기 때문에 SELECT 구에 결과로 반환할 열을 지정하는 것에 해당된다
SELECT a FROM A
  • 결합
    결합(join)은 릴레이션끼리 교차결합해 계산된 곱집합에서 결합조건을 만족하는 튜플을 추출하는 연산이다
    SQL에서는 내부결합에 해당된다
    관계대수에도 내부결합과 외부결합이 있다
SELECT a FROM A INNER JOIN B ON A.no = B.no
profile
개인공부 블로그입니다. 상업적 용도 X

0개의 댓글