관계형 데이터베이스 설계하기

Huey·2023년 11월 6일
0

DBMS

목록 보기
8/9

⚡관계형 데이터 베이스 설계하기


  1. 관계형 데이터베이스에 필요한 정보 범주를 결정한다. 예를 들어 판매 데이터베이스를 만든다고 볼 때 다음과 같은 정보들이 필요할 수 있다.

ex) 고객 정보, 송장 정보, 주문 정보, 제품 정보


2. 테이블이 정해지면 테이블이 어떻게 서로 관련되어 있는지 결정한다. 간단한 문장으로 나타낼 수도 있다.

ex)고객은 제품을 주문한다 >>> 송장은 고객의 주문을 추적한다.


3. 테이블이 다른 테이블과 관계가 없으면 불필요한 테이블이다.

ex) 고객 송장 제품 테이블과 직원 테이블은 서로 연결할 것이 없으므로 직원 테이블은 여기서 빠져야 한다.


4. 관계정보를 생각한다. 관계에는 일대일, 일대다, 다대다가 있다.

ex) 일반적으로 고객은 여러개의 송장을 가질 수 있고, 하나의 제품이 여러가지 송장에 나타날 수 있다. 그리고 송장이 여러 제품을 보유할 수도 있으니 고객과 송장은 일대다관계가 되며 송장과 제품은 다대다 관계가 된다.

근데 여기서 다대다 관계를 나타내려면 중간에 테이블이 하나 있어야 한다. (데이터 중복 방지)
그래서 중간테이블로 품목명 테이블을 만들어서 송장 하나가 여러 품목명을 보유할 수 있고, 제품을 여러 품목명에 나타낼 수 있다.


5. 각 테이블에 필요한 필드를 정하기.

각 테이블에는 무슨 필드가 필요한지를 정한다. 각 테이블은 하나의 대상만을 가지고 테이블에 있는 모든 필드는 그 대상만을 기술한다. 예를 들어 고객 테이블의 필드는 한 고객에 대한 모든 정보를 저장한다. 그래서 각 고객에게는 식별번호를 할당해야 하는데, 데이터베이스에는 이것을 주요키 프라이머리 키라고 부른다. 제품 테이블에는 제품 식별번호와 각 제품에 대한 필드를 가져야 하고 송장 테이블에는 송장식별 번호와 주문날짜같은 필드를 가질 수 있다.


6. 각 테이블에 주요키를 정하고 외부 키 필드도 표시해야 한다.

앞서서 송장 테이블에 고객 데이터를 표시하려면 관계를 생성할 수 있도록 두 테이블 간에 공통 필드가 있어야 한다. 그래서 고객 아이디가 공통 필드로 들어가는데 이를 외래 키, 외부 키라고 부른다. 고객 테이블에서는 고객 아이디는 주요 키이고 송장 테이블에서는 외부 키가 된다.


7. 테이블에 모든 필드는 오직 데이터베이스에 한 번만 나타나게 한다.

테이블의 필드는 관계를 통해 서로가 연결되기 때문에 두개의 테이블에 일치되는 정보들은 제거하는게 맞다.


8. 각 주요키를 관련 테이블의 해당 외부 키에 연결한다.

테이블 간에 관계를 설정하면 해당 키 필드가 관계의 조건과 일치하는 데이터를 포함하게 된다.

<대충 계획에 맞춰서 짜본 테이블 연관관계>

0개의 댓글