요즘 테이블 (SQL 서버 내부) 사이에 제약 조건을 구축 해야하는 이유가 있습니까? 그렇다면 언제? 내 영역의 대부분의 응용 프로그램은 개체 원칙을 기반으로하며 필요에 따라 테이블이 결합됩니다. 수요는 응용 프로그램의 요구를 기반으로합니다. 간단한 룩업을 위해 여러 개의 제한된 테이블을로드하지 않을 것이며 (조치 후) 다른 간단한 룩업이 필요합니다.
EntityContext, Linq2Data, NHibernate와 같은 ORM 도구는 또한 제약 조건을 자체적으로 처리하며, 적어도 서로에게 필요한 테이블을 알고 있습니다. 서버 내에서 제약 조건을 수행하는 것은 동일한 변경 사항을 두 번 (강제) 만드는 것입니까?
이것은 일반적으로 결정에 대한 질문이 아니지만이 데이터베이스는 상당히 다르게 설계되었습니다. 디자인은 규칙적으로 좋아 보이며 대부분 응용 프로그램에서 사용하는 객체를 반영합니다. 나를 방해하는 것은 "캐스케이드가 아닌"SQL Server 내부에 구성된 모든 제약 조건입니다. 즉, 새 데이터베이스 쿼리를 코딩 할 때 "검색 및 찾기"를 수행해야합니다. 일부 경우 단일 삭제를 위해 최대 10 단계의 정확한 순서가 필요합니다.
이것은 나를 놀라게하고 그것을 처리하는 방법을 모르겠습니다.
저의 단순한 세계에서, 그 설정은 제약이 대부분의 목적을 잃게 만듭니다. 설계에 대한 지식없이 호스트에서 데이터베이스에 액세스 한 경우에는 OK입니다.
이 시나리오에서 어떻게 행동 하시겠습니까?
db에서 모든 제약 조건을 제거하고 응용 프로그램 수준에서 유지하는 이유는 무엇입니까?