MariaDB

데이터 베이스 모델링

Yonggyu 2023. 10. 10. 10:30
반응형

 

 

데이터베이스 모델링이란 현 세계에서 사용되는 작업이나 사물들을 DBMS의 데이터베이스 개체로 옮기기 위한 과정이라고 말할 수 있다. 더 쉽게 얘기하자면 현실에서 쓰이는 것을 테이블로 변경하기 위한 작업이다.

 

데이터 모델링에는 확실한 답이 정해져있지않고, 모델링을 하는 사람에 따라 각각 다른 결과가 나온다. 그렇지만

중요한 점은 좋은 모델링나쁜 모델링이 존재한다.

 

 

개념적, 논리적, 물리적 모델링으로 3가지로 나뉜다.

개념적 모델링은 주로 업무 분석단계이다.

논리적 모델링은 업무 분석의 후반부아 시스템 설계의 전반부에 걸쳐서 진행된다.

물리적 모델링은 시스템 설계의 후반부에 주로 진행된다.

 

 

데이터베이스 모델링 단계

고객 이름 출생연도 주소 연락처 구매한 물건 단가(만원) 수량
이승기 1987 서울 010-1111-1111      
김범수 1989 경기 010-1111-1112 운동화 3 1
김경호 1979 서울 010-1111-1113      
김경호 1979 서울 010-1111-1113 노트북 10 2
박효신 1979 서울 010-1111-1115 모니터 100 1

위의 쇼핑몰 테이블이 있다고 가정하자.

손님이 물건을 샀을 수도있고, 안샀을 수도있다. 위 테이블처럼 데이터베이스를 두면 구매를 하지않는 부분이 낭비가 생길 수있다. 그래서 테이블을 분리하여 고객테이블과 구매테이블로 분리한다.

 

 

고객 테이블

고객 이름 출생연도 주소 연락처
이승기 1987 서울 010-1111-1111
김범수 1989 경기 010-1111-1112
김경호 1979 서울 010-1111-1113
김경호 1979 서울 010-1111-1113
박효신 1979 서울 010-1111-1115

 

구매 테이블

구매한 물건 단가(만원) 수량
운동화 3 1
노트북 10 2
모니터 100 1

 

위 처럼 빈 부분이 없어 공간을 절약할 수 있다. 근데 물건을 두번 구매한 고객이 있어 중복이 생기고, 누가 어떤 물건을 구매한지 알 수가 없다. 그래서 고객테이블은 중복을 없애고 구매 테이블에 고객 이름을 추가한다.

 

 

고객 테이블

고객 이름 출생연도 주소 연락처
이승기 1987 서울 010-1111-1111
김범수 1989 경기 010-1111-1112
김경호 1979 서울 010-1111-1113
박효신 1979 서울 010-1111-1115

 

 

구매 테이블

고객 이름 구매한 물건   단가(만원) 수량
김범수 운동화   3 1
김경호 노트북   10 2
박효신 모니터   100 1

 

두 테이블은 밀접한 관계의 테이블이다. 각각 독립적인 테이블로만으로는 정보가 부족하다. 그래서 이 두 테이블의 연관성을 맺어줘야한다 이를 '관계' 라고 한다. 

그리고 기본키와 외래 키를 설정하고 이러한 제약조건과 데이터 타입 등 테이블의 구조를 정의하며 데이터베이스를 완성해 나아가는것이 데이터베이스 모델링이다. 

 

 

 

 

728x90
반응형