최근 하나의 테이블과 여러 테이블에 관련된 문제가 발생했습니다.
예: 이제 응용 프로그램 테이블 app_table이 있고 많은 재료 테이블 Material_table1, Material_table2...
각 재료 테이블에 대해 하나의 재료가 여러 응용 프로그램에서 사용될 수 있고 하나의 응용 프로그램이 여러 재료를 사용할 수도 있습니다. 각 재료 테이블과 적용 테이블은 이러한 관계를 가지며, 각 재료 테이블 사이에는 연관성이 없습니다.
분명히 다대다 방식이지만 문제는 다대다 방식으로 테이블을 생성할 경우 소재 테이블마다 중간 테이블을 생성해야 한다는 점이다.
이제 응용 프로그램 테이블에 필드를 추가하고 각 자료에 대한 필드를 추가하는 아이디어가 생겼습니다. 필드는 이 앱이 소유한 자료
의 ID를 쉼표로 구분하여 저장합니다. 하지만 문제는 이 경우 두 번 쿼리해야 한다는 것입니다. 먼저 애플리케이션 테이블의 필드를 통해 필터링한 다음 조건에 따라 쿼리된 데이터를 필터링해야 합니다.
더 좋은 계획이나 아이디어가 있으신지 모르겠네요 다들 감사합니다
설명이 좀 불분명합니다. 각 재료 카테고리(재료 테이블)에는 인터페이스가 있지만 재료를 반환할 때 응용 프로그램에 따라 필터링해야 하며 여러 재료(a)를 사용하는 응용 프로그램이 있습니다. 재료 표) 여러 재료), 하나의 재료를 여러 응용 프로그램에서 사용할 수 있습니다. 현재는 각 자재테이블에 구분을 위한 적용분야가 추가되어 있는 상태인데, 이를 위해서는 많은 항목 추가가 필요합니다. 그래서 적용 테이블을 만들까 고민하다가, 소재별 연관 테이블을 만들게 되었습니다. 이런 방식으로 요청을 할 때 먼저 요청 매개변수의 애플리케이션 이름을 기반으로 애플리케이션 테이블에서 데이터를 조회한 다음 연관을 기반으로 관련 재료 테이블에서 적합한 데이터를 조회할 수 있습니다.
더 좋은 방법이 있는지 모르겠습니다.
우선 테이블 구조 디자인에 뭔가 문제가 있습니다. 여러 자료, 이력서에 여러 자료 목록이 필요한 이유는 무엇입니까? 재료 유형을 사용하여 구별할 수 있습니다.
재료를 왜 테이블로 나누려고 하는지 모르겠네요. 그렇다면 테이블은 종류가 달라서 그런 것 같아요
app
적용 테이블app
应用表material
素材表material_type
素材类型app_material
material
소재 테이블material_type
소재 유형🎜app_material
소재 적용 관계 테이블🎜연결 테이블이 하나만 필요한 것 같아요:
Association table
Application ID 재료 테이블 ID Material ID
01 07 08
애플리케이션에서 어떤 재료가 사용되는지 확인할 수 있습니다
불평: 다대다의 출처는 어디입니까? 각 재료 테이블의 필드는 다릅니다. 응용 테이블은 특정 유형의 재료 테이블(재료 테이블의 요소)과 다대다 관계를 가지고 있지만 응용프로그램 테이블은 모든 재료 테이블과 다대다 관계가 아닌, 포함과 비포함의 관계입니다.
먼저, 귀하의 아이디어에 따르면 데이터 테이블이 매우 크고 향후 유지 관리가 어려울 것입니다. 자료의 속성을 json으로 변환하거나 저장을 위해 직렬화하는 것이 좋습니다.
일대다 관계의 경우 일반적으로 중간 테이블을 사용하며, 일대일 관계의 경우에만 관계를 나타내는 열이 추가됩니다
A A_ID A_OTHER
으아악B B_ID B_OTHER
C C_ID C_OTHER
REF REF_ID(序列) A B C D E …
앱_ID | 재료_테이블_이름 |
키워드, 다형성 연관