1.RDBMS란
RDBMS란 Relation DataBase Management System의 약자입니다.
직역하자면 관계형 데이터베이스 관리 시스템입니다.
쉽게 말하자면 관계형 데이터베이스란 테이블형태로 저장된 데이터베이스입니다.
2. RDBMS의 특징
1.Tuple의 중복 허용을 하지않는다
2.Attribute의 부분집합을 key로 사용
3.Tuple이나 Attribute의 순서에 영향을 받지 않는다
4.Attribute의 이름은 중복을 허용하지 않는다
5.Attribute는 Atomic해야한다.
여기서 말하는 Tuple이란 Data의 집한을 말합니다.
즉 Table에 Row에 해당합니다. 수학적으로는 Attribute 5개에 각각 5개의 값이 있다고 가정할 때
5개의 Attribute중 값을 1개씩 선택한 것을 Tuple이라고 합니다
Atomic이란 더 이상 분해되지 않는 상태를 말합니다.
즉 Attribute의 값은 반드시 1개만 존재할 수 있습니다.
예를 들어 색깔이라는 Attribute에는 Red,Green과 같은 1개의 값이 들어가야되지만 Blue이면서 Green같은
값은 들어갈 수 없습니다.
3.Key의 종류
운동선수라는 Table을 예로 들겠습니다.
이 Table의 Attribute는 id, name, team_id, back_num, age가 있습니다.
Super Key |
Table에서 Tuple을 식별할 수 있는 Attribute의 집합 |
{team_id,back_num},{id}, {naem,age, team_id,back_num } |
Candidate Key |
어떤 Attribute가 없으면 Tuple을 식별할 수 없는 Super key | {team_id,back_num} |
Primary Key |
Table에서 Tuple을 식별하기 위해 선택된 Candidate Key |
{id}, {team_id,back_num} |
Unique Key |
Primary Key이외의 Candidate Key | |
Foreign Key |
다른 Table의 PK를 참조하는 Attribute 집합 |
{team_id} |
4.Constraints(제약사항)
Relation Data Model(Table)이 항상 언제나 지켜야하는 규칙
1. implicit Constraints - RDB가 자체적으로 가지는 규칙(위의 특징)
2. explicit Constraints - Schema에 개발자가 직접 정의하는 규칙(CHECK(age > 20)과 같은 사용자 정의 제약사항)