ERD 그리기 전에 여러 테이블들을 구성하고 속성은 어떻게 되는지 적어보려 한다.
한 번에 다 하기 귀찮고, 완벽하려다가 실패한 경험을 많이 해봤기 때문에
easy 하게...
1. 회원 테이블(USER)
- user_id : 사용자 아이디
- user_pw : 사용자 비밀번호
- user_nm : 사용자 이름
- auth : 권한(사용자는 MBER, 관리자는 MNGR)
- phone : 휴대폰 번호
이 정도면 되지 않을까?
어차피 네이버 예약 시스템도 개인정보 보호의 의미로 이름과 휴대폰 번호만 수집하지 않을까 싶어서
실제로 사용자/관리자가 확인해야 하는 정보는 예약자 이름+휴대폰 번호 조합일 것이라 생각해서 이정도로 정리.
pk는 아이디 중복검사를 할 것이기 때문에 아이디로 하는 게 좋을까 싶다.
그런데 아이디를 pk로 하는 건 또 안 들어봐서...
아니면 pass 인증을 추가할까?
이게 내 문제다. 하다 보면 욕심이 생겨서 화려해지고 싶어진다.
추가한다는 가정하에(결국 하기로 결심...ㅎ)
pass의 DI값이 pk로 아주 적절할 것 같다.
2. 예약 테이블(RESERVATION)
- reservation_id : 예약 고유 ID
- user_id : 예약한 사용자 ID
- date : 예약 날짜
- time_slot : 예약 시간대
- status : 예약 상태(예약 대기, 예약 확정, 예약 취소)
3. 시간대 테이블 (TIMESLOT)
- time_slot_id: 시간대 ID
- slot: 시간대 (09:00-10:00, 10:00-11:00 등)
- availability: 사용 가능 여부
관리자가 시간대를 설정하고 오픈할 수 있게끔 시간대 테이블도 만들어준다.
다만, 당일 예약만 할 것인지 한 달을 열어놓을 것인지도 고민이 필요해졌다.
datepicker를 사용하고... 그러면, 예약날짜를 예약 테이블에 각각 저장할 수 있지 않을까.
시간대 테이블에 date도 필요할 것 같다.
그래서
3번 테이블에
- date : 날짜
추가해서, 다음은 ERD를 실제 그려봐야겠다.
다행히, 3개 테이블 밖에 없어서 금방 끝날 것 같다.
ERD를 그리고 ---> 그다음은 ---> 모르겠다...
'06. 온라인 예약 시스템 만들기' 카테고리의 다른 글
[20241121] 온라인 예약 시스템_테이블 생성하기 & DBeaver 연결 (0) | 2024.11.21 |
---|---|
[20241109] 온라인 예약 시스템_개발 환경 셋팅 (1) | 2024.11.09 |
[20241105] 온라인 예약 시스템_사용기술정리 (0) | 2024.11.05 |
[20241104] 온라인 예약 시스템_ERD 그리기(2) (0) | 2024.11.04 |
[20241031] 프로젝트1_온라인 예약 시스템 만들기 (9) | 2024.11.01 |