[ Relational Design Theory 란 ? ]
-
같은 정보에 대해서 다양한 형태의 관계형 데이터 베이스를 설계 할 수 있다.
-
몇몇 디자인들은 다른 디자인들보다 훨씬 좋다!!
-
즉, 같은 정보에 대한 데이터 베이스더라도 어떻게 설계하느냐에 따라서 Query Performance가 더 좋을 수도 있고, error가 더 적게 발생 할 수도 있는 것이다.
-
-
Relational Design Theory는 위에서 말한 좋은 관계형 베이스 디자인을 찾기 위한 방법에 대해 알려준다.
[ 무식하게 다 뭉치면 Design Anomalies 가 생기고 무식하게 다 쪼개면 Data Loss가 발생 할 수 있다. ]
-
잘 쪼개고 잘 뭉쳐서 데이터베이스를 디자인 해야 하고 그에 대한 방법론이 Relational Design Theroy 이다.
[ Design by decomposition - 일단 다 합쳐 놓고 쪼개 가는 방법을 사용 한다. ]
-
모든 attribute을 포함하는 mega - relation을 만들고
-
그것을 Design Anomaly, Data Loss가 발생하지 않도록 적절히 쪼개간다.
-
이러한 일련의 작업들을 자동화하는 과정이 존재한다. 즉, 알고리즘이 존재한다.
[ Automatic decomposition ]
-
Mega relation 과 데이터들의 특징을 이용한다.
-
데이터의 특성들 ( property )을 기준으로 잘개 쪼갠다.
-
최종 결과물은 normal form을 만족한다. 즉 ,normal form에는 Design Anomaly, Data Loss 가 없다.
- 이러한 일련의 과정을 normalization이라 한다.
'CS fundamentals > DB( 데이터 베이스 )' 카테고리의 다른 글
SQL - NULL 기본 개념 (0) | 2020.10.03 |
---|---|
SQL - GROUP BY / AGGREGATION 기본 개념 (0) | 2020.10.03 |
SQL - JOIN 기본 개념 (0) | 2020.10.02 |
Subqueries in WHERE ( PostgreSQL 기준 ) (0) | 2020.10.02 |