본문 바로가기
DB/DBMS

DBMS 모델링

by 코딩하는 랄로 2023. 8. 13.
728x90

Modeling

개발자는 Client(사용자)의 요구에 따라 프로그램을 만드는데, 사용자의 요구만 듣고 기획 및 설계를 하지 않고 코딩을 바로 시작하게 된다면 데이터의 무결성을 해체는 등 많은 난관에 부딪히게 된다.

 

코딩 과정에서 보다 효율적이고 정확하게 프로그램을 만들기 위해서는 추상적인 사용자의 요구를 보다 구체화 시키고 나아가 전체적인 흐름을 설계하고 기획하는 단계가 필요한 것이다. 이러한 단계를 Modeling, 즉 설계라고 한다.

 

DB를 담당하는 DBMS에서도 추상적인 주제를 DB에 맞게 무결성을 고려하며 설계하는 과정이 필요하다. DBMS에서의 모델링은 여러 단계에 걸쳐 진행하게 된다.

 

1. 요구사항 분석

요구 사항에 따른 데이터가 어떤 형태, 목적으로 사용될지 고려하는 단계이다. 예를 들어 상품 주문 시스템이 있다고 생각해보자.

 

상품 주문 시스템에 필요한 데이터로는 구매자(Customer), 상품(Product), 결제(Pay) 정보가 있다. 이러한 정보를 토대로 데이터 모델이 데이터를 저장하고 조회 등을 효율화 하여 요구 조건 등을 충족할 수 있도록 설계되어야 한다.

 

 

2. 개념적 설계 - 개념 모델링

개념적 설계는 사용자가 특정 시스템을 통해서 달성하고자 하는 목표에 어떠한 개념들이 존재하고 그 개념들 사이의 상호작용을 판단하는 과정이다. 

 

상품 주문 시스템의 경우, 사용자가 구매자가 되어 상품 결제라는 목표에 도달하기 까지 어떠한 개념이 존재하는지 분석하여야 되는 것이다.

보통은 E-R 다이어그램을 통해 개념적 모델링을 가시적으로 표현하지만 이번 글에서는 간단하게 표현해보았다.

 

 

 

3. 논리적 설계 - 논리 모델링

DB 설계 프로세스의  Input으로 비즈니스 정보의 논리적 구조와 규칙을 명확하게 표현하는 과정이다. 간단히 말해서, TABLE간의 관계도와 각 TABLE의 칼럼과 PK, FK를 정의하는 과정이다.

 

 

 

 

4. 물리적 설계 - 물리 모델링

논리적 설계에서 설계한 테이블에서 더 구체적인 설계를 하는 단계이다. 각각의 칼럼이 어떠한 타입을 가지고 크기가 무엇이며 어떠한 제약 조건을 가지는지를 구체화한다.

 

이 때, 각각의 관계도를 생각하면서 제약 조건을 통해 데이터의 무결성을 지키도록 설계하여야 한다.

 

 

 

5. 구현 : DDL

물리적 설계를 토대로 실제로 DDL을 사용하여 TABLE을 만드는 구현하는 단계이다. 앞서 설계 단계대로 설계를 하였다면 이 단계에서는 다시 한번 점검을 하면서 TABLE을 생성하면 된다.

 

 

2023.08.13 - [Programming 공부/DBMS] - DML-SELECT, INSERT, UPDATE, DELETE

 

DML-SELECT, INSERT, UPDATE, DELETE

DML이란 DML = Data Manipulation Language DML은 이름 그대로 데이터 조작어이다. 저번 시간까지 배운 DDL로 테이블을 정의해 주었으면 이번 시간에 배울 DML로 데이터를 다루고 조적한다. DDL에도 테이블 추

codingralro.tistory.com

 

728x90

'DB > DBMS' 카테고리의 다른 글

DML - WHERE조건식  (0) 2023.08.13
DML-SELECT, INSERT, UPDATE, DELETE  (0) 2023.08.13
제약조건과 무결성  (0) 2023.08.12
DDL과 제약조건2  (0) 2023.08.12
DDL과 제약조건1  (0) 2023.08.12