관계형 데이터베이스(relational database)의 구조
- 릴레이션(relation):
관계형 데이터베이스에서 테이블을 의미하는 단어로 사용된다.
주어진 집합 D1, D2, ..., Dn에 대해서 relation r은 D1 x D2 x ... x Dn의 부분집합이다.
예시)
그림 1에서 주어진 집합은 다음과 같다.
D1: customer-name = {Jones, Smith}
D2: customer-street = {Main, North}
D3: customer-city = {Harrison, Rye}
D1 x D2 x D3 즉, 가능한 모든 튜플 2 * 2 * 2 = 8개 중 부분집합(subset)인 relation r은 아래와 같다.
r = { (Jones, Main, North),
(Smith, North, Rye) }
- 릴레이션 스키마(relation schema):
속성(attribute)과 그 속성이 가지는 도메인(domain)으로 구성된다.
- 릴레이션 인스턴스(relation instance):
행의 특정 집합을 포함하고 있는 릴레이션의 특정 인스턴스를 지칭할 때 사용된다.
- 도메인(domain):
각 속성(attribute)이 가질 수 있는 값의 범위를 가진다.
- 속성(attributes):
테이블의 열을 의미한다.
속성의 값들은 atomic하다. 즉 더 이상 나뉠 수 없는 단위이다.
(multivalued attribute values, composite attribute values는 atomic하지 않다.)
속성들의 순서는 상관없다. (Set Theory)
- 튜플(tuple):
테이블의 행을 의미한다.
모든 튜플은 유일하다. 즉 중복된 튜플이 존재하지 않는다. 또한 튜플의 순서는 상관없다.(Set Theory)
릴레이션 스키마
- A1, A2, ... , An을 속성(attribute)이라고 하면,
relation schema R은 {A1 : D1, A2 : D2, ... , An : Dn}이고, 간략하게 {A1, A2, ..., An}이라고 나타낸다.
예시)
그림 1에서 customer_schema = (customer_name, customer_street, customer_city)이다.
- r(R)은 relation schema R에 대한 relation이다.
예시)
customer (customer_schema)
데이터베이스
- 데이터베이스는 하나 이상의 relation으로 이루어져 있다. 즉, 하나 이상의 table로 이루어져 있다.
예시) 대학교의 데이터베이스 (multiple relation)
student (ID, name, dept_name, tot_cred)
classroom (building, room_number, capacity)
department (dept_name, building, budget)
section (course_id, sec_id, semester, year, building, room_number, time_slot_id)
teaches (ID, course_id, sec_id, semester, year)
.
.
.
'전공 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] SQL - (2) (0) | 2021.10.19 |
---|---|
[데이터베이스] SQL - (1) (0) | 2021.10.18 |
[데이터베이스] 관계형 모델 - (4) (0) | 2021.09.22 |
[데이터베이스] 관계형 모델 - (3) (0) | 2021.09.16 |
[데이터베이스] 관계형 모델 - (2) (0) | 2021.09.15 |