데이터 베이스 설계(2)
-
상품 테이블과 주문 테이블에 중복된 칼럼이 있는데 왜 그런거죠?
이번에는 웹 장바구니 미션을 진행했다. 장바구니에 물건을 담고, 이를 주문하는 프로세스를 개발하는 미션을 진행했다. 이러한 비즈니스 요구사항 속에서 구성했던 데이터베이스 테이블은 다음과 같다. 얼핏 보기에는 정규화가 안되어있는 모습을 볼 수 있다. orders_item 테이블을 살펴보면 total_price라는 컬럼이 존재한다. 해당 컬럼은 사실 orders_item 테이블의 quantity 컬럼과 product 테이블의 price 컬럼의 값을 곱하면 구할 수 있는 정보이다. 따라서 이는 정규화가 올바르게 되지 않은 모습을 알 수 있다. 그럼에도 불구하고 위와 같이 구성했던 이유는 상품의 정보가 언제든지 바뀔 여지가 있기 때문이었다. 만약 order_item에서 단순히 수량 정보만 가지고 있다면 나중에 ..
2023.06.07 -
데이터베이스(8), 데이터베이스 설계와 ER 모델
데이터베이스 설계와 ER 모델 1. 데이터베이스 설계의 개요 1) 데이터 베이스 설계의 종류 (1) 개념적 데이터베이스 설계 실제로 데이터 베이스를 어떻게 구현할 것인가와는 독립적으로 정보 사용의 모델을 개발하는 과정 조직체의 엔티티, 관계, 프로세스, 무결성 제약조건 등을 나타내는 추상화 모델을 구축한다. 엔티티: 서로 구분되면서 조직체에서 데이터베이스에 나타내려는 객체(사람, 장소, 사물 등등) 관계: 두 개 이상의 엔티티들 간의 연관 프로세스: 관련된 활동 무결성 제약조건: 데이터의 정확성과 비즈니스 규칙 특정 데이터 모델과 독립적으로 응용 세계를 모델링할 수 있도록 한다. 데이터베이스 구조나 스키마를 하향식으로 개발할 수 있기 위한 틀(framework)을 제공 엔티티 관계 데이터 모델이 가장 인..
2022.12.13