컴/폰
개발자 팁 : 데이터를 다룰때 유의할 점 - Update / Delete 편
로이머스탱
2025-05-14 15:00
조회수 : 22
안녕하세요
오늘은 제가 일하고있는 분야인 IT 관련해서
글을 써보고자 합니다.
요즘은 정보력, 즉 데이터가 경쟁력이라는 말이 있는데요.
그렇다면 개발자로서 데이터를다룰 때 무엇을 유의해야 할까?
아마 초보개발자나 개발일을 한지 얼마 안되시는 분들은
궁금해하실겁니다.
제가 조금이라도 더 경험해본 개발자로서 몇가지 팁을 공유드리니
많이들 봐주세요^^
1) 데이터 삭제 시 백업은 필수!
☞ 이것은 개발자들 대부분이 한번쯤 진땀 뺄정도로 식겁해보신적 있을겁니다. 삭제조건을 빼먹었거나, 삭제시 키값
정보를 빼먹어서 데이터를 잘못삭제한 경우를요. 어떤 DBMS든 삭제전 반드시 대상 데이터를 텍스트파일, csv파일, insert 문 등 복구하기 쉬운 형태로 백업하시는 것이 좋습니다. Oracle같은 외산 DBMS는 TimeStamp 기능을 통해 복구가 어느정도 가능하지만 이것 또한 시간이 오래지나면 복구하기가 어려우니 가장 안전한 방법은 다양한 형태로 데이터를 백업해두는 습관을 들이시는게 좋습니다.
2) 데이터 UPDATE/DELETE시 키값은 테이블에 명시된 그대로!
☞ 가끔 PK(Primary Key)값을 잘못 주어져서 지워지지 않아야하거나 수정되지 말아야할 데이터가 삭제되고 수정되는 경우가 많습니다. 쿼리(Query)을 실행하고 바로 알아차렸다면, 그나마도 다행인데 시간이 오래지나서 잘못되었음을 알았을 땐 낭패입니다. 가령 A라는 테이블에 PK 컬럼이 4개가 정의되어있다면 가급적 4개를 모두 Where 조건에 포함시키는 것이 좋습니다.
정 불안하다 싶으면 1) 항목에서 조언드린 것처럼 삭제/수정 대상 데이터들을 원천 백업해두는 것도 아주 좋은 방법입니다.
이래서 백업은 필수라고 하는 것입니다^^
3) 데이터 수정/삭제후 Commit / Rollback 처리여부는 반드시 확인!
☞ DBMS 그리고 사용하시는 DBMS Tool이 무엇인지에 따라 다르겠지만, Update / Delete 수행 후 Commit하지 않으면 테이블에 lock걸려 화면에서 조회도 안되고 무한대기를 타게되는 경우를 자주 경험했습니다. 제 주변 동료 개발자들도 그런 경우가 있는데 처음엔 서버문제 인가 하여 서버재기동도 하고, DB문제인가 해서 SELECT query도 잘나오는데 화면에서만 제대로 뜨지 않는다고 하여 확인해보면 DBMS Tool에서 테이블을 붙들고(?) 있어 발생한 현상이였습니다.
데이터를 수정/삭제하는 쿼리를 수행하고 나서는 반드시 Commit이나 Rollback이 되어있는지 확인하는 습관을 들이시면 좋습니다.
좀 전문적인 내용이라..
제가 개발일을 하면서 느꼈던 부분을 좀 작성해보았습니다.
다음에 다른 팁으로 다시 돌아오겠습니다^^