나는 건물중인 학생 정보 시스템과 관련된 엔티티 작성에 대해 질문이 있습니다. 나는 Person 테이블 (id ..)을 만들었고, 나는 나의 학생, 부모 참조를 어떻게 처리 할 수 있는지 알아 내려고 노력 중이다. FK 관계로 Person 테이블을 참조하는 두 개의 별도 테이블 (Student, Parent)을 만드는 것이 좋습니다. Person (성, 성, SSN ...)에 대한 모든 세부 사항이 Person 테이블에 설정되어 있지만 부모와 학생간에 차이가 있습니다. 데이터베이스에서 어떻게 처리합니까?데이터베이스 구조 : 다른 테이블에서 참조 할 Person 테이블 생성
0
A
답변
0
부모와 학생간에 근본적인 차이가 있기 때문에 두 개의 테이블이 선호되는 솔루션입니다. 이렇게하면 학생과 부모를 연결하는 관계를 쉽게 만들 수 있습니다.
다른 옵션은 제공된 레코드에 적용되지 않는 열에 null 값을 사용하는 것입니다. 그러나 관계가 항상 학생과 학부모를 연결하는 지 확인하는 것이 더 어려울 것입니다.
0
저는 Casey Robinson이 그 깨끗한 해결책에 동의합니다.
테이블을 생성 (studentParent을 :
는하지만 이미 여기에 Person 테이블을 변경할 수 없습니다 한마디로 다른 코드에서 사용중인 인구 Person 테이블을 ...있는 경우에하는 것은 내가 제안 것입니다)에는 두 개의 열 (student_id 및 parent_id) 모두 외래 키가 있습니다. studentParent.student_id = 학생의 Person.id 및 studentParent.parent_id = 부모의 Person.id.
이렇게하면 사용자 테이블을 변경할 필요가 없습니다. 그리고 부모, 학생 관계를 만들 수있을 것입니다.
0
자세한 내용을 알지 못하면 Person 테이블과 Student 테이블이 충분해야합니다. student_id 및 Parent_id와 같은 Student 테이블에 두 개의 열이 있으며 Person 테이블의 person_id에 대한 FK입니다. 이것은 모든 학생이 아니라 부모 인 학생에게만 알 필요가 있다고 가정합니다. 또한 학생과 부모 모두 사람이라고 가정합니다.
관련 문제
- 1. 데이터베이스 테이블에서 참조 번호 생성
- 2. 데이터 테이블 또는 데이터베이스 테이블에서 클래스 생성
- 3. 가격표를위한 데이터베이스 테이블 구조
- 4. 데이터베이스 테이블 구조
- 5. 형식 테이블에서 기호 테이블 참조
- 6. 데이터베이스, 테이블 구조, 관계형 디자인하기
- 7. 데이터베이스 테이블에서 런타임에 뷰 생성
- 8. 사용자 설정을위한 데이터베이스 테이블 구조
- 9. Django, 1 대 다수 테이블 자동 생성 및 데이터베이스 구조
- 10. EAV에서 객체 직렬화로드하기 데이터베이스 구조
- 11. Oracle 데이터베이스 테이블 생성
- 12. 데이터베이스 테이블에서 생성 된 테이블 - £ 기호를 추가하는 방법?
- 13. 데이터베이스 테이블에서 자바 도메인 개체를 생성
- 14. 로컬 데이터베이스 테이블에서 원격 데이터베이스 테이블 업데이트
- 15. Django로 데이터베이스 구조 설계하기
- 16. 데이터베이스 구조
- 17. 자체 참조 Oracle 테이블에서 XML 생성
- 18. MySQL 데이터베이스 테이블에서 SQL 스크립트 생성
- 19. 한 테이블에서 다른 테이블 (데이터베이스)에 데이터를 삽입하는 방법
- 20. 애플리케이션의 클래스 구조 및 데이터베이스 구조
- 21. 다른 테이블에서 SUM으로 테이블 업데이트
- 22. MYSQL의 다른 테이블에서 테이블 업데이트
- 23. 테이블 구조
- 24. Flash Builder - 데이터베이스 테이블에서 양식 생성
- 25. 다른 테이블에서 DISTINCT 함수를 사용하여 테이블 업데이트
- 26. 한 데이터베이스 테이블에서 다른 데이터베이스 테이블로 기존 행을 복사하지 않습니까?
- 27. Django : 데이터베이스 코드 테이블 (일명 참조 테이블, 도메인 테이블) 설정?
- 28. 데이터베이스 구조 및 관계
- 29. 데이터베이스 구조 - 두 개의 테이블 또는 하나의 테이블?
- 30. 데이터베이스 구조, 많은 행이있는 테이블 최적화
두 개의 분리 된 테이블 (Parent, Student)을 생성하면 총 3 개의 테이블 (Person 테이블 포함)이 있습니다. 이 두 테이블 각각에 중복 레코드가 생성되는 것을 피하려면 어떻게합니까? 내 신청서는 학생을 만들고 학부모에게 연결해야하지만 내 질문에 대해 분명히해야합니다. 나는 Person 테이블이 필요한지 묻고 있었다. – Warz
person 테이블은 필요하지 않습니다. 기술적으로 부모와 학생은 사람의 하위 클래스가 될 수 있습니다. 그러나 이것은이 예제에서 거의 도움이되지 않는 추가 작업입니다. 필자는 person 테이블의 항목을 올바른 (학생 또는 부모) 테이블로 마이그레이션하고 person 테이블을 삭제할 것입니다. –
응용 프로그램에서 증가하는 역할의 수 때문에 Person 테이블을 사용했습니다. 그러나 나는 말했듯이 쉬운 관계와 연결을위한 (학생 & 부모) 테이블을 만드는 것을 끝내었다. 당신의 도움을 주셔서 감사합니다. – Warz