Oracle을 사용하고 있습니다. 때로는 하나 개의 쿼리 결과에 모든 애완 동물을 얻을 필요가여러 테이블에 대한 시퀀스 개체를 사용하여 조인시 쿼리 가능성 확인
고양이 (CAT_ID, cat_name, cat_age, cat_strength)
개 (dog_ID, dog_name, dog_age)
: 나는 두 개의 테이블이있다. Cat과 Dog 테이블 모두에서 사용할 수있는 animal_seq 시퀀스를 만들려고했는데 테이블에 중복 ID가 없도록 한 다음 가입시 쉽게 검색/쿼리 할 수있었습니다.
이것은 나쁜 습관입니까? 그렇다면 왜? 테이블을 디자인하는 더 좋은 방법이 있습니까 (예 : 단 하나의 동물 테이블 또는 다중 상속). 개인적으로 조인의 성능 문제로 인해 상속을 피하려고합니다.
고양이는 스크래치 극 테이블에 외래 키를 가지고 있습니다. (나는이 모든 것을 btw로 만들고 무고한 사람을 보호하기 위해 이름을 대체합니다). 개들은 개 사육장 테이블에 외래 키를 가지고 있습니다. 애완 동물의 소유자는 사육장을 구입하거나 기둥을 긁을 수 있습니다. 등등. – BobTurbo
흠 ... 주어진이, 당신은 ANIMAL 테이블, PRODUCT 테이블 및 ANIMAL_PRODUCT_XREF 테이블을 가지고 고려해야 할 수도 있습니다. ANIMAL_PRODUCT_XREF는 ANIMAL_ID를 PRODUCT_ID에 조인하는 상호 참조 테이블입니다. 이렇게하면 여러 동물에게 여러 제품을 제공 할 수 있습니다. –