[Oracle]SQL 물리삭제와 논리삭제
회사 면접을 다니면서 받은 질문이 있었다.
개인 프로젝트에 테이블 간에 외래 키가 맺어져 있는 데이터를 삭제할 때 어떻게 진행을 하는지를
나는 외래키로 연결하고 삭제하게 되면 ON DELETE CASCADE로 하위 데이터도 삭제되게 진행했다.
면접관이 얘기하길 요즘은 직접적으로 물리삭제하는 경우는 드물고 대부분 논리 삭제를 진행을 하는데
이유가 있냐고 물었다.
거기서 논리삭제에 대한 키워드는 처음 들은 거 같다.
키워드를 검색해보니 어느정도 인지는 하고 있던 내용이었다.
삭제요청에 바로 삭제를 하지 않고
칼럼을 하나 두고 Y/N 또는 1/0으로 변경하는 것 SELECT은 조건에 맞춰서 보일 것만 불러오게 하면 된다.
물리 삭제직접 데이터를 삭제하자는 사고방식. 테이블에서 데이터를 삭제.
논리삭제 : UPDATE명령을 이용해 '삭제 플래그'의 값을 유효하게 경신하는 삭제 방식. 데이터가 삭제된 것처럼 보이게 하는 삭제 방법. 실제 테이블 안에 데이터는 남아있음
논리삭제의 장점 : 데이터를 실제 삭제하지 않기 때문에 삭제되기 전의 상태로 쉽게 되돌릴 수 있음.
논리삭제의 단점 : 삭제해도 데이터 베이스의 저장공간이 늘어나지 않음.
다시 보니까 상황에 따라 맞춰서 진행해야 할 거 같다. 삭제요청을 한다고 해도 나중에 필요할 수 있는 데이터가 있을 수 있으니까
'Database > Oracle' 카테고리의 다른 글
[Oracle]Oracle 별칭(AS)를 조건으로 조회하기 (0) | 2021.02.01 |
---|---|
[Oracle]Oracle 포트 변경하는 방법 (0) | 2021.01.13 |
[Oracle] 오라클 유저 테이블 한번에 전부 삭제하기 (0) | 2021.01.12 |
[Oracle]Oracle(오라클) Sql Developer 이용해서 .sql파일 import하는 방법 (0) | 2020.12.31 |
[Oracle] The Network Adapter cloud not establish the connection 해결 방법 (0) | 2020.12.31 |
댓글
이 글 공유하기
다른 글
-
[Oracle]Oracle 포트 변경하는 방법
[Oracle]Oracle 포트 변경하는 방법
2021.01.13 -
[Oracle] 오라클 유저 테이블 한번에 전부 삭제하기
[Oracle] 오라클 유저 테이블 한번에 전부 삭제하기
2021.01.12 -
[Oracle]Oracle(오라클) Sql Developer 이용해서 .sql파일 import하는 방법
[Oracle]Oracle(오라클) Sql Developer 이용해서 .sql파일 import하는 방법
2020.12.31 -
[Oracle] The Network Adapter cloud not establish the connection 해결 방법
[Oracle] The Network Adapter cloud not establish the connection 해결 방법
2020.12.31