◆ 애드거 커드 (E.F Codd) - 관계형 데이터베이스!
◆ relation (table)
* columns - attributes
* rows - tuples
◆ attribute type
- domain(정의역) : attribute 에 허용될 수 있는 값들의 집합
- atomic ... attribute 값은 대개 atomic해야함 - 1칸에 1값
- special value null : member of every domain
◆ relation schema and instance
R = (A1, A2, ..., An) : relation schema
- current values (relation instance(=tuple)) of relation ~ table 이라 한다
- r의 원소 t는 튜플로서, 테이블의 한 행(row)을 나타낸다.
◆ relations are unordered
- 튜플 순서가 없다! relation을 집합(set)으로 보기 때문에~
◆ database
- consists of multiple relations
◆ keys
- Key ⊆ R (R:relation schema)
- super key : 키의 값들이 각각의 유니크한 튜플을 구분하기에 충분
- candidate key : super key 중에 최소 size
- primary key : candidate key 중 하나
- foreign key constraint : 한 릴레이션에 있는 값은 반드시 다른 릴레이션에서도 나와야함
~ primary key가 다른 릴레이션에서 사용될 때
◆ relational query language
- procedural : 원하는 결과를 얻기 위해 어떤 연산 수행할지 사용자가 시스템에게 알려줘야
- non-procedural (declarative) : 원하는 정보만 알려주면 됨
- pure language : relational algebra
/ tuple relational caculus / domain relational caculus
- relational operators
◆ relational algebra -- 수학적 관계로 표현
σ select : selection of tuples
∏ project : selection of columns(attributes)
∪ union : 합집합 (참고). ∩ intersection 교집합
- set difference : 차집합
* 집합연산 - same arity(scheme)
* attribute domain ~ compatible(호환)
x cartesian product :두 집합을 곱해서 합침! (참고). join ⊂ cartesian
* cartesian product을 하는 두 릴레이션은 disjoint라고 가정
* disjoint 하지 않은 경우에는 rename 필수
ρ rename
▷◁ natural join : 릴레이션 R과 S가 있을때, 만약 r의 튜플과, s의 튜플이 같은 attribute에
같은 값이 있으면(intersection) join 결과에 추가.
: join 의 근거 ~ key 값이 맞물려야 함
: 중복된 값을 합친다.
'Computers > Databases' 카테고리의 다른 글
seoul accord - day1 (0) | 2012.10.21 |
---|---|
ch5. advanced SQL (0) | 2012.10.21 |
ch4. intermediate SQL (0) | 2012.10.21 |
ch3. introduction to SQL (0) | 2012.10.21 |
ch1. introduction (0) | 2012.10.21 |