저는 MySQL에 큰 데이터베이스를 구축하고 SQLYog가있는 테이블 사이의 모든 관계를 만들었습니다. 그게 다 좋지만 좋긴하지만 PHP 사이트에서는 데이터베이스에서 행을 삭제할 때 종종 문제가 발생합니다. 종종 참조 무결성 제약 조건에 부딪칩니다. 그럼 나는 데이터를 삭제하거나 먼저 연결 테이블에서 NULL로 필드를 설정하려고합니다. 나는 보통 이것을 시행 착오로 작동시킬 수는 있지만 이것을해야만하는 방법이나 적절한 과정이없는 것으로 보인다. 내가 '삭제 집합에 NULL 또는 계단식 삭제 설정'을 사용해야합니까? 사용할 테이블을 모르거나 다른 테이블의 중요한 데이터를 삭제할 수 있다고 걱정됩니다.MySQL 관계 및 제약 조건을 사용해야합니까?
사람들은 데이터베이스의 관계 제약 조건을 설정하는 것을 방해합니까? PHP 코드에서 링크 된 다른 테이블을 업데이트하기 위해 삭제를 수행하는 것이 훨씬 쉬워 보일 것이라고 생각합니다.
도움을 주시면 감사하겠습니다.
데이터베이스에 제한을 추가하는 경향이 있습니다. 깨진 코드는 일시적이며 깨진 데이터는 영원합니다. 예, 제약 조건을 관리하는 것은 어려울 수 있지만 제약 조건이 없기 때문에 깨진 데이터베이스를 정리하는 것은 불가능합니다. –
사실, 무결성 검사의 중요성을 인식하기 위해 가증하고 깨진 데이터베이스 디자인을 포함하는 한 번의 죽음 행진에 대해서만 작업하면됩니다. 데이터베이스는 중간 계층을 신뢰하지 않아야하며 중간 계층은 표현 계층을 신뢰해서는 안됩니다. – Thomas