본문 바로가기
반응형
Database

DB 개념적 설계 - 1

by brightGarden02 2022. 7. 29.

비대면 반려동물 웹프로젝트를 시작하게 되었다.

이와 관련해서 DB 설계를 해보려고 한다. 정규화를 이용해보자.

테이블은 일단 3개로 시작한다. 고객, 수의사, 진료 테이블이다.

 

 

일단 고객테이블부터 1차 정규화를 한다.

 

1차 정규화:

1. 반복되는 그룹을 파악한다.

2. 반복되는 부분과 반복되지 않는 부분을 분리한다.(단, primary key는 그대로 가져간다)

3. 테이블을 나눈후 반복되는 행은 삭제한다.

 

 

1차 정규화를 통해 고객 테이블을 고객정보, 동물정보 테이블로 나누었다.

그런데 의문이 생겼다.

 

1. SSO 구글, 카카오, 네이버로 로그인하게 만들면 DB에는 회원정보를 어떻게 저장해야하지?

이메일, 고객이름, 동물등록번호, 동물이름, 동물종류, 동물나이를 저장하면 될까?

->해결: 어차피 SSO는 이메일과 비밀번호를 입력하기 때문에 DB테이블 구상에는 별차이가 없다. 일단 SSO 구현 방법에 대해 알아보자.

 

2. SSO로 만들면 고객 주소를 입력하지 않아도 되는걸까?

현재위치만 알게되면 가장 가까운 병원을 고를 수 있다. 그러면 DB에는 주소 or 현재위치를 저장하지 않아도 되는걸까.

그러면 DB 설계할때 주소 or 현재위치를 없에고 만들어도 될까?

-> 해결: SSO를 적용하되 추가로 고객 주소를 넣는 것을 만든다. 고객의 주소를 넣는 이유는 약배달 기능이 있기 때문이다.

 

 

 

 

정규화 내용 참조

https://mr-dan.tistory.com/10

 

정규화 (제1 정규화 ~ 제3 정규화)

DB를 공부하다 보면 가장 이해하기 어려웠던 부분이 정규화 였습니다. - 도메인 원자값 (1NF) - 부분적 함수 종속 제거 (2NF) - 이행적 함수 종속 제거 (3NF) - 결정자이면서 후보키가 아닌 것 제거 (BCNF

mr-dan.tistory.com

 

DB 설계 참조

https://slidesplayer.org/slide/14144601/

 

데이터베이스 설계 및 구축 동물병원 데이터베이스 설계 작성자 : 송영민 - ppt download

동물병원 데이터베이스 구축 목차 소개 요구 조건 분석 개념적 설계 논리적 설계 오라클 설계 JSP 설계

slidesplayer.org

 

'Database' 카테고리의 다른 글

h2 데이터베이스 모든 테이블 삭제  (0) 2022.10.18
CRUD에서 Update, Delete: where절에 id를 사용  (0) 2022.08.20
DB 개념적 설계 - 4  (0) 2022.07.29
DB 개념적 설계 - 3  (0) 2022.07.29
DB 개념적 설계 - 2  (0) 2022.07.29

댓글


반응형
반응형