테이블 (데이터베이스) 편집하기
최신판 | 당신의 편집 | ||
109번째 줄: | 109번째 줄: | ||
* 관계형 데이터베이스에서 테이블 간의 관계를 정의하기 위해 기본키를 다른 테이블의 외래키로 복사하는 경우 외래키가 생성된다. | * 관계형 데이터베이스에서 테이블 간의 관계를 정의하기 위해 기본키를 다른 테이블의 외래키로 복사하는 경우 외래키가 생성된다. | ||
* 외래키 지정시 참조 무결성 제약 옵션을 선택할 수 있다.<ref name='constraint'></ref> | * 외래키 지정시 참조 무결성 제약 옵션을 선택할 수 있다.<ref name='constraint'></ref> | ||
+ | |||
+ | === 연산 === | ||
+ | ==== 단항연산 ==== | ||
+ | ===== SELECT ===== | ||
+ | * '''SELECT''' : 릴레이션에서 주어진 조건을 만족하는 튜플을 선택하는 연산자 | ||
+ | :결과 릴레이션의 차수 = 입력 릴레이션의 차수 | ||
+ | :결과 릴레이션의 Cardinality <= 원래 릴레이션의 Cardinality | ||
+ | <ref name='db_re'>jhkang-dev, 〈[https://jhkang-tech.tistory.com/51 DB 관계 대수]〉, 2018-10-16</ref> | ||
+ | |||
+ | ===== PROJECT ===== | ||
+ | * '''PROJECT''' : 릴레이션에서 Attribute 리스트에 제시된 Attribute만을 추출하는 연산자 | ||
+ | :한 릴레이션의 Attribute들의 부분집합 | ||
+ | :하나의 입력 릴레이션에 적용되므로 단항 연산자 | ||
+ | :PROJECT 연산을 하면 중복이 제거된다 --> PROJECT 연산의 결과는 중복이 제거된 distinctive한 튜플이다.<ref name='db_re'></ref> | ||
+ | |||
+ | ==== 집합연산 ==== | ||
+ | ===== UNION ===== | ||
+ | * '''합집합(union)''' : 이항 연산으로 관계성이 있는 두개의 릴레이션을 합집합하여 하나의 릴레이션을 만들어내는 연산이다. 즉, 테이블을 합해서 추출한다.<ref name='db_re'></ref> | ||
+ | ===== INTERSECT ===== | ||
+ | * '''교집합(intersect)''' : 이항 연산으로 관계성이 있는 두개의 릴레이션에서 중복되어 있는 내용을 선택하여 새로운 릴레이션을 만들어 내는 연산이다. 즉, 겹치는 부분을 추출한다.<ref name='db_re'></ref> | ||
+ | ===== DIFFERENCE ===== | ||
+ | * '''차집합(difference)''' : 이항 연산으로 관계성이 있는 두개의 릴레이션이 있을 때 그 중 하나의 릴레이션에서 또 다른 릴레이션의 내용과 겹치는 내용을 제거해서 새로운 릴레이션을 생성하는 연산이다. 즉, 중복된 값을 제거하고 결과값을 추출한다.<ref name='db_re'></ref> | ||
+ | ===== CARTESIAN PRODUCT ===== | ||
+ | * '''카디션 프로덕트(cartesian product) : 이항 연산으로 두 릴레이션의 현재 튜플로 구성 가능한 모든 조합을 만든다. | ||
+ | :결과 릴레이션의 차수 = R의 차수 + S의 차수 | ||
+ | :결과 릴레이션의 카디널리티 = R의 카디널리티 * S의 카디널리티<ref name='db_re'></ref> | ||
{{각주}} | {{각주}} |