0
저는 데이터베이스 세계에 처음 왔으며 많은 서비스 제공 업체가 포함 된 데이터베이스를 설계하려고합니다. 일부는 전 세계에 서비스를 제공하며 일부는 몇 개 주에서만 서비스를 제공합니다. 또한 고객을 지원할 수있는 언어를 저장해야합니다.해외 공급 업체를위한 데이터베이스 설계 및 지원 언어
효율적인 질의를 원합니다 :
1) 특정 주를 서비스하는 모든 공급 업체.
2) 특정 언어를 지원하는 모든 공급 업체.
- Country_Table :
나는 다음과 같은 설계의 생각 언어 ID : PK, ....}
- Supplier_Table {supplierID : PK, supplierName, 공급자 주소 ...}
- Supplier_Lang uage_Table {공급 업체 ID : PK, FK,의 LanguageID : PK, FK}
- Supplier_State_Table {공급 업체 ID : PK, FK, stateID : PK, FK}
내가이 디자인에 몇 가지 문제가 있습니다
- 주 (예 : 이집트)가없는 국가의 경우 어떻게해야합니까? 이 경우에는 countryID = 0을 사용하려고 생각했습니다. 그래서 Country_Table에서 텍사스는 주이며 미국은 나라입니다. 그러나 이집트는 countryID가 0 인 주입니다. 이것이 유효한 해결책입니까?
- 공급 업체가 지원하는 각 언어에 대해 행을 삽입해야합니다. 나중에 언어별로 공급 업체를 쿼리하는 것이 효율적입니까 아니면 더 나은 솔루션입니까?
- Supplier_State_Table 공급자가 제공하는 각 상태에 대한 행을 삽입해야합니다. 이것은 비효율적 인 것처럼 보인다. stateID 0을 사용하여 전 세계를 나타낼 것을 생각했습니다. 그러나 공급자가 미국에만 서비스를 제공하는 경우에도 각 미국 주마다 데이터 행을 갖는 것이 미친 것처럼 보입니다.
어떤 도움을 주시면 감사하겠습니다.