- 객체지향 설계 및 구현 연습
- 명명규칙, 데이터 입력과 선택 연습
- 사용자의 관점과 편의를 생각하고 고민.
- CRUD에 대한 이해와 연습
🎿 스키장 회원관리, 로그인, 물품예약, 간식예약 총 4가지 서비스 구현.
- 회원 테이블의
아이디
를PK
값으로 준 뒤,물품 예약
,간식 주문
테이블의회원 아이디
를FK
로 연결해 주었다. 물품 예약
,간식 주문
테이블의주문번호
에는시퀀스
설정.- 각 테이블의
FK
에 제약조건ON DELETE CASCADE
설정.
- 회원 관리 -
MemberVO
,MemberDao
,MemberDaoImpl
,Memberinfo
- 로그인 -
LoginDao
,LoginDaoImpl
- 물품 예약 -
ReservVO
,ReservDao
,ReservDaoImpl
- 간식 예약 -
SnackVO
,SnackDao
,SnackDaoImpl
- 회원탈퇴 시, 회원 테이블 (MEMBER)와 FK로 연결된 (물품, 간식) 테이블에 저장된 데이터가 있으면 회원 탈퇴( 회원 데이터 삭제) 가 불가능했다.
-
테이블 생성 전, 해당 FK 값에 on delete cascade 제약조건 붙여주기.
-
테이블 생성 후에는
-
1) 일단 기존 제약조건 삭제하기.
ALTER TABLE RESERV DROP CONSTRAINT FK_RESERV_MEM_ID_MEMBER_ID;
-
2) on delete cascade 붙여서 제약조건 걸어주기.
ALTER TABLE RESERV ADD CONSTRAINT FK_RESERV_MEM_ID_MEMBER_ID FOREIGN KEY (MEM_ID) REFERENCES MEMBER(ID) on delete cascade;
- 효율적인 전체 구조 및 흐름에 대한 고민
- 중복되는 코드 정리
- 메소드 네이밍에 대한 고민
- 처음 설계시, 보다 명확한 설계를 하지않는다면 완성 후 발생하는 문제점이 치명적일 수 있으니 보다 튼튼하게 할 필요가 있다.