[Oracle] 데이터 모델링
데이터 모델링이란?
데이터 모델링이란 주어진 개념으로부터 논리적인 데이터 모델을 구성하는 작업을 말합니다.
데이터 모델링을 하는 목적
▶ 업무정보를 구성하는 기초가 되는 정보들을 표현함으로써 업무 내용을 정확히 분석하는 것입니다.
▶ 분석된 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터 관리에 사용하기 위함입니다.
데이터 모델링 단계별 수행 과정
1. 요구사항 파악
▶ 요구 사항 분석 단계에서는 조직의 구성원들이 데이터베이스를 사용하는 용도를 파악합니다.
데이터베이스를 사용해 실제 업무를 처리하는 사용자에게 필요한 데이터의 종류와 처리 방법 같은 다양한 요구 사항을 수집하고 이를 분석한 결과를 요구 사항 명세서로 작성하는 것이 요구 사항 분석 단계에서 수행하는 주요 작업입니다.
요구 사항 분석 단계에서 파악한 사용자의 요구 사항은 이후의 설계 단계에서 중요하게 사용되고,
구축된 데이터베이스의 품질을 결정짓는 중요한 기준이 됩니다.
EX)
회원, 주문, 상품 : 3가지를 관리하고자 합니다.
2. 개념적 데이터 모델 설계(E-R다이어그램 작성)
▶ 추상화 수준이 높으며 업무 중심적이고 포괄적인 수준의 모델링을 진행합니다.
EX)
회원 주문 상품
-------------------------------------
ID 주문번호 상품번호
-------------------------------------
PW 주문일 상품명
이름 ID 가격
주소 상품번호 재고량
이메일
생일
3. 논리적 데이터 모델 설계
▶ 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현하는 단계의 모델링이다. 재사용성이 높은 특징을 갖습니다.
EX)
회원 주문 상품 결제정보
----------------------------------------------------------
ID(PK) 주문번호(PK) 상품번호(PK) 계좌번호(PK)
은행명(PK)
----------------------------------------------------------
PW 주문일 상품명 예금주
이름 ID(FK) 가격 CVC
주소 상품번호(FK) 재고량
이메일 계좌번호(FK)
생일
4. 물리적 데이터 모델 설계
▶ 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계하는 단계의 모델링입니다.
데이터가 물리적으로 컴퓨터에 어떻게 저장될 것인가에 대한 정의를 진행하는 단계이며,
이 단계에서 테이블, 칼럼 등으로 표현되는 물리적인 저장구조와 사용될 저장 장치, 자료를 추출하기 위해 사용될 접근 방법 등을 결정합니다.
EX)
PAYMENT
ACCOUNT : VARCHAR2(100)
BANK_NAME : VARCHAR2(1000)
---------------------------
USER_ID : VARCHAR2(1000)
CVC_VALUE : VARCHAR2(10)
ACCOUNT_NAME : VARCHAR2(1000)
USER
USER_ID : VARCHAR2(1000)
------------------------
USER_PW : VARCHAR2(1000)
USER_ADDRESS : VARCHAR2(2000)
USER_EMAIL : VARCHAR2(2000)
USER_BIRTH : DATE
ORDER
ORDER_NUM : NUMBER
------------------------
ORDER_DATE : DATE
USER_ID : VARCHAR2(1000)
PRODUCT_NUM : NUMBER
ACCOUNT : VARCHAR2(100)
PRODUCT
PRODUCT_NUM : NUMBER
------------------------
PRODUCT_NAME : VARCHAR2(2000)
PRODUCT_PRICE : NUMBER
PRODUCT_COUNT : NUMBER
5. 구현
데이터베이스 구현 단계에서는 이전 설계 단계의 결과물을 기반으로 DBMS에서 SQL로 작성한 명령문을 실행하여 데이터베이스를 실제로 생성합니다.
이때 사용되는 SQL 문은 테이블이나 인덱스 등을 생성할 때 사용되는 데이터 정의어(DDL)입니다.
이상으로 DB모델링에 대해 알아보았습니다.
'KoreaIt Academy > Oracle DBMS' 카테고리의 다른 글
[Oracle] DCL(Data Control Language) , TCL(Transaction Control Language) (0) | 2021.08.07 |
---|---|
[Oracle] DML(Data Manipulation Language) - 데이터 조작어 (0) | 2021.08.05 |
[Oracle] DDL(Data Definition Language) - 데이터 정의어, 자료형 (0) | 2021.08.05 |
[Oracle] DMBS(Database Management System), 무결성 (0) | 2021.08.04 |
[Oracle] DBeaver(Oracle DBMS IDE) 설치 및 단축키 (0) | 2021.08.04 |
댓글