2009-05-17 2 views
1

직원 테이블 (PK는 employeeID 임)과 판매 테이블 (sales 테이블에는 employeeID에 대한 FK 열이 있음)이 있다고 가정 해보십시오.내 스토어드 삭제 프로 시저 계정이 FK 테이블로 계단식 연결되어야합니까?

이제 deleteEmployee 저장 프로 시저를 디자인 할 때 Sales 테이블의 행을 먼저 삭제해야합니까? 아니면 각 테이블에서 삭제할 별도의 저장 프로 시저를 만들어야합니까? 그런 다음 비즈니스 로직 계층에서 걱정할 필요가 있습니까?

답변

2

아니요, 아니요, 아니요.

"OutServiceDt"라는 Employee 테이블에 필드를 추가하고 회사를 떠난 날짜를 저장하십시오.

당신이 그들이 만든 판매의 기록을 보관 방법, 자신의 주소 정보와 다른 당신이 무엇에, 서비스 필터가있는 직원들이 만든 찾고 있다면 당신은

:)있어 "OutServiceDt입니다 없는".

+1

우리는 종종 "결코 삭제하지 마십시오"라는 접근 방식을 사용합니다. 데이터베이스에 넣기에 충분하면 가치가있을 것입니다. –

+0

Seconded. 과거 기록을 잃는 것은 일반적으로 좋지 않습니다. 따라서 직원이 활성화되어 있거나 비즈니스 로직 계층에서 해당 정보를 사용할 수 있지만 모든 오래된 정보가 손상되지 않은 경우 추적 방법을 설계 할 것입니다. –

관련 문제