Computers/Databases

ch2. intro to relational model

emzei 2012. 10. 21. 19:50

◆ 애드거 커드 (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