내 관계형 데이터베이스에 저장된 개체의 전체 복사본을 만들고 싶다면 건축 학적으로 근본적으로 잘못된 것을해야합니까? 이것은 제가 다른 질문에 대해 다른 질문입니다. (훨씬 자세하게) 질문했지만 Copying Relational Table Data이라는 응답을 많이받지 못했습니다.데이터베이스 및 완전 복사
답변
관계형 테이블이 나타내는 항목과 "비즈니스 오브젝트"를 빌드하기 위해 그룹화 된 엔티티 중 어떤 항목에 따라 다름니다. 예를 들어 모든 게시가 텍스트 행 목록으로 구성된 "게시"테이블과 "텍스트 _ 행"테이블이있는 컨텐트 관리 시스템의 관계형 모델이있는 경우 비즈니스 개체 "게시"의 유효한 복사본이 소속 된 Text_lines 엔티티와 함께 "게시"엔티티의 전체 사본이어야합니다.
반면 "부서"와 "직원"이라는 두 개의 테이블이있는 경우 부서의 올바른 복사본은 전체 복사본이 아닙니다 (적어도 각 직원이 한 번에 정확히 한 부서에 연결되어있는 경우) 제 시간에). 관계형 데이터베이스 체계에서 이러한 종류의 차이는 종종 관계에 할당 된 참조 무결성 검사와 함께 사용됩니다. 관계 "Postings"-> "Text_lines"는 "ON DELETE CASCADE"무결성을 가진 외래 키 제약 조건을 사용하여 모델링 할 수 있습니다 (물론 데이터베이스에서 지원하는 경우). 그러나 "부서"-> "직원"은 이와 같은 "ON DELET CASCADE"점검을해서는 안됩니다.
반드시 그렇지는 않습니다. 나는 버전 관리 체계를 구현하는 데 많은 성공을 거두었 다. 기본적으로 전체 그래프는 버전 키가 될 수 있습니다 (키의 한 부분이 ID이고 버전이 버전 번호 인 compite 키 사용). 그래프 또는 하위 그래프의 모든 이전 버전에 쉽게 액세스 할 수있었습니다.
DB 설계자는이 계획을 권장합니다. 그의 견해는 많은 무게를 지니고 있었고 그 해결책은 제 첫 선택이 아니 었습니다. 그러나 결국 그것은 정말로 잘 돌아갔다.
일반적으로 부모 개체를 복사하는 경우 개체 자체가 아닌 자식 개체에 대한 참조 만 복사 할 수 있습니다. 그러나 특정 시점에서 객체의 상태를 유지하는 것처럼 하위 객체를 복사해야하는 경우가 있습니다. 따라서 귀하의 질문에 답하기 위해이 시나리오를 통해 생각을 멈추고 생각하게해야하지만 반드시 잘못된 행동을 의미하는 것은 아닙니다.
데이터베이스 개체의 탄력성 복제본이 필요한 경우 최선의 방법은 적어도 이후의 어떤 시점에서 변경 될 수있는 모든 항목을 복사하는 것입니다. 어떤 상황에서는 맞을지도 모르는 추가적인 복제 로직을 복잡성으로 도입 할 수있는 '복제'스타일의 복제본을 구현하는 것 외에 다른 대안이 많이 있음을 나는 알지 못한다.
- 1. sysadmin 권한이없는 데이터베이스 복사
- 2. 개체 및 Log4perl의 완전 복제
- 3. Silverlight 및 완전 신뢰 문제
- 4. 전체 데이터베이스 내용 복사 (스키마 및 데이터)
- 5. ms 액세스 데이터베이스 복사
- 6. 데이터베이스 오프라인 모드 복사
- 7. 관계가있는 데이터베이스 레코드 복사
- 8. Monodroid 데이터베이스 복사 방법
- 9. 데이터베이스 테이블 복사
- 10. 직렬화를 사용하지 않고 .NET 클래스 인스턴스를 완전 복사
- 11. 원본 개체의 이벤트를 완전 복사 된 복제본에 첨부하는 방법
- 12. Visual SourceSafe 및 VS2005 완전 통합 없음
- 13. sqlserver express 데이터베이스 복사 옵션
- 14. HTTP를 통해 MySQL 데이터베이스 복사
- 15. 액세스 데이터베이스 간의 테이블 복사
- 16. 원격으로 SQL Server 데이터베이스 복사
- 17. 서버 A에서 서버 B로 MongoDB 데이터베이스 복사
- 18. 서버 간 데이터베이스 복사 - 사용자 로그인이 손상되었습니다.
- 19. Compact Framework의 완전 복제
- 20. 완전 맞춤형 레이아웃?
- 21. Interbase 2009 : 완전 제거?
- 22. django의 완전 외부 조인
- 23. 조건부로 Excel에서 행 복사 및 복사
- 24. 복사 트리거를 사용하면 데이터베이스 작업이 상당히 느려집니다.
- 25. 복사 구조 및 배열
- 26. 임시 및 복사 생성자
- 27. 선택 및 복사 금지
- 28. 복사 및 ID
- 29. 복사 및 GCC
- 30. 파일 찾기 및 복사