* Primary key (기본키)
- 후보키들 중에서 하나를 선택한 키로 최소성과 유일성을 만족하는 속성
- ex) 네이버 아이디, 핸드폰 번호, 주민번호
- 테이블에서 기본키는 오직 1개만 지정 가능
- 기본키는 테이블 안에서 유일하게 각 행들을 구별할 수 있도록 함
- 기본키는 NULL 값을 절대 가질수 없고, 중복된 값을 가질 수 없음
* Foreign Key (외래키)
- 한쪽 테이블에서 쓰는 PK를 다른 테이블에서도 사용하는 것
- 테이블끼리 연동할 때 사용 (hr 계정 -> job_history & employees 테이블)
- 테이블을 나누어서 관리하는 것이 효과적일 때, PK로 연결해서 분리시키면 관리하기 편리함
1. IEmpDAO 인터페이스 / EmpDAO 클래스 작성
void deleteEmp(int empid, String email); // 해당 인터페이스 내용 구현
- empid와 email을 받아서 쿼리문을 실행하고, 그 결과값을 update() 메서드를 통해 날려줘
2. IEmpService 인터페이스 / EmpService 클래스 작성
void deleteEmp(int empid, String email); // 해당 인터페이스 내용 구현
- 리턴값이 없으므로 다른 메서드와 다르게 return 키워드 제외하고 작성
3. Controller 작성 및 jsp 파일
- redirect는 URL 변경이라고 할 수 있음
4. 브라우저 출력 확인
4-1) 주소창에 직접 입력하여 확인하는 방법
4-2) 직원의 상세 정보를 확인하여(view.jsp) 삭제하기 버튼을 클릭하여 확인
+ HR 계정에서 직원을 삭제할 때 나타나는 에러 사항
job history 테이블의 수정 이력을 다 삭제해야 비로소 employees 테이블의 직원 삭제가 가능하다는 뜻
왜냐하면, 두 테이블이 FK로 연결되어 있기 때문에, FK가 포함된 테이블을 먼저 정리해야 PK가 있는 직원의 정보를 삭제할 수 있다
이러한 오류가 뜨는 이유는 이 직원은 일전에 수정된 적이 있기 때문에
즉, history 기록에 남아있기 때문에 삭제가 불가능해서 오류가 뜨는거임
'SPRING' 카테고리의 다른 글
mybatis 실습 - SELECT (0) | 2020.09.04 |
---|---|
JDBC 실습 - UPDATE (0) | 2020.09.02 |
JDBC 실습 - INSERT (0) | 2020.09.01 |
JDBC 실습 - SELECT [조건(WHERE)이 있는 출력2] (0) | 2020.08.31 |
JDBC 실습 - SELECT [직원 전체 목록 출력] (0) | 2020.08.30 |