relation(릴레이션)
: DB에서 행과 열로 이루어진 table을 말함.
relationship(관계)
: 하나 또는 하나 이상의 table의 관계형성을 말함.
table의 열
degree
attribute
colum
이라고 함.
table의 행
cardinality
row
tuple
이라고 함.
릴레이션 이름(속성1 : 도메인1, 속성2 : 도메인2, 속성3 : 도메인3 ...)
형싱으로 표현
◼ 속성(attribute)은 단일 값을 가진다
◼ 속성(attribute)은 서로 다른 이름을 가진다
◼ 한 속성(attribute)의 값은 모두 같은 도메인 값을 가진다
◼ 속성(attribute)의 순서는 상관없다
◼ 릴레이션 내의 중복된 투플(tuple)은 허용하지 않는다
◼ 투플(tuple)의 순서는 상관없다
: 각각의 행을 구분할 때 사용하는 속성 or 속성의 집합
: 키가 될 수 있는 모든 경우의 수의 집합
: super key중에서 최소 속성의 갯수로 이루어진 key
: 두 개 이상의 속성으로 이루어진 키
: 여러가지 후보키 중에서 대표로 선정한 키
*NULL : 속성 값이 없는 상태
- Java) null은 힙메모리에 인스턴스 주소가 없는 상태
: DBMS나 관련 SW에서 임의로 생성하는 키 값
+) 해당 키만을 보고 의미를 예측할 수 없다는 한계가 있음
: 서로 다른 릴레이션의 기본키를 참조한는 키
ex) 도서(도서번호, ...) 고객(고객번호, ...) -> 주문(도서번호, 고객번호, ...)
같은 릴레이션 안에서 외래키를 만들 수 있음.
다른 릴레이션에서 가져온 외래키를 해당 릴레이션에서 키본키로 사용할 수 있음
: 데이터베이스에 저장된 데이터의 일관성, 정확성을 지키는 것
: 릴레이션 내의 튜플들이 각 속성의 도메인에 지정된 값만 가져야함
*도메인 :
: 기본키는 NULL 값을 갖을 수 없고, 릴레이션 내에서 고유한 값을 가져야함.
:릴레이션 간의 참조 관계를 선언하는 제약조건.
자식 릴레이션의 외래키는 부모 릴레이션의 기본키와 도메인이 동일해야 함.
자식 릴레이션의 값이 변경될 때 부모 릴레이션의 제약을 받음.
부모 릴레이션에서 투플을 삭제할 경우 다음 옵션 수행을 고려해야함.
:릴레이션에서 원하는 결과를 얻기 위해 수학의 대수와 같은 연산을 이용하여 질의하는 방법을
기술하는 언어
σ<조건> (R)
∧
(and), ∨
(or), ┑
(not)을 사용해 표현함.:두 릴레이션을 하나로 합칠 때 사용함.
R × S
: 카티전 프로덕트를 연산자를 사용한 조인을 말함. 보통 조인 연산이라고 하면 동등조인을 지칭함
R (r = s) S
ex) 고객 (고객.고객번호 = 주문.주문번호) 주문
-> 고객table
에서 고객번호, 주문table
에서 고객번호가 동등하게 만들어 두 table을 합침.
: 조인에 실패한 투플을 모두 보여주되 값이 없는 대응 속성에는 NULL 값을 채워서 반환
π도서이름, 출판사 (σ가격<=8000 도서)
-> 가격이 8000원 이하인 도서 행을 가져옴 -> 도서이름과 출판사 속성을 가져옴