관계형 (sqlite) 데이터베이스에서 상속을 모방하는 테이블을 구현하려고합니다. 내 목표는 일반 필드가있는 하나의 마스터 테이블과 특수 필드가있는 자식 테이블을 가지는 것입니다. 마스터 테이블의 모든 레코드는 정확하게 특정 테이블 중 하나에 정확하게 하나의 대응을 갖습니다.Web2py : 외래 키로 ID
마스터 테이블 :
id (PK) #Your average web2py unique auto-incrementing int field
#Some general fields
아이 테이블 :는 내가 원하는 다음과 같습니다
id (PK, FK referencing the PK of the master table)
#Some specialized fields
각 자식 테이블에 대한 기본 "ID"PK를 갖는 나에게 아무 소용이 없습니다. 마스터 테이블에 대한 FK 참조 만 있으면됩니다.이 참조는 하위 테이블에 대한 PK 역할을 할 수 있습니다. 즉, 하위 테이블의 PK는 고유하지만 갭을 포함합니다. 이는 하위 테이블이 마스터 테이블의 레코드 중 일부만 참조하기 때문입니다.
나는 (아이 테이블에 정규 "id"PK를주지 않는) 이것을하는 것이 Web2py 방식에 위배된다고 생각한다. 그래서 내 질문은 다음과 같습니다 :
- 이것은 잘못된 아이디어입니까? 그렇다면 왜?
- 어떻게 구현하나요? Web2py가 자동 증가 int를 PK가 아닌 테이블을 처리 할 수 있습니까?
코드 작성시 올바른 스타일과 연습을 적용하는 것이 중요합니다. 나는 대안적인 접근법에 대해 열려있다.
도움 주셔서 감사합니다.