이 내용을 ServerFault에 게시하고 이것이 더 좋은 장소라고 말했습니다.간단한 SQL Server 2008 데이터베이스에 대한 데이터베이스 스키마 디자인
저는 개발자로서의 경험이 있지만 SQL 관리 및 데이터베이스 디자인에 관해서는 완전한 초보자입니다.
SQL 백엔드가있는 ASP.NET 응용 프로그램을 사용하여 회사의 주문 및 견적 과정을 엑셀 스프레드 시트에서 좀 더 강력하게 변환하고 있습니다.
현재 당사의 부품 데이터베이스는 Excel 스프레드 시트 일뿐입니다. 당사의 많은 제품은 라우터, 서버 등과 같은 OEM의 선반 하드웨어에 불과합니다. 우리는 주로 소프트웨어 상점이므로 장비에 응용 프로그램을 설치하고 네트워크 장비를 구성하며 우리가 설치 한 완벽한 솔루션을 선적합니다 기술자. 내 스키마에서
나는, 5 개 테이블
- CompanyProducts
- OEMProducts
- SupplierProducts
- 공급자
- OEM 업체
OEMProdcuts 시스코 같은 장비 manufcaturer 정보가 포함되어 있습니다 네트워킹 용 장비 또는 Dell에 문의하십시오.
SupplierProducts 우리의 OEM 물건을 얻을 공급 업체에 대한 정보가 포함되어 있습니다 (OEM의 사용 리셀러를 많이하기 때문에)
companyProducts 우리 회사에 ID의 특정 제품을 포함한다.
여기에 SQL Server 관리 Studio에서 스냅 샷입니다 :
alt text http://i102.photobucket.com/albums/m108/ArkhamFreak/schema2.jpg
내 질문은 :
이 간단한 스키마에 대한 기본 키를 설정하는 가장 좋은 방법은 무엇입니까? 다이어그램에 표시된대로 자동 증가 필드를 GUID로 사용하거나 모든 테이블에서 참조 할 기본 키의 OEMProductID를 사용해야합니까?
OEMProducts에 대한 Supplier Suppliers 제품 및 OEM 공급 업체는 분명하지만 나머지 관계는 확실하지 않습니다. OEMProducts를 참조하는 테이블에 데이터를 추가 할 때 모호한 자동 생성 ID로 OEMProducts를 참조해야한다면 조금 걱정됩니다. 같은 장비를 여러 대 공급하는 공급 업체가 여러 곳이기 때문에 그러한 관계를 모델링하는 방법을 잘 모릅니다.
감사합니다.
공급 업체와 OEM 간의 제품 ID가 항상 일치하지 않기 때문에 supplierProductID와 OEMProductID가 모두 있습니다. 예를 들어 Cisco 7200 라우터는 Cisco에 따라 7204VXR 일 수 있으며 공급 업체에 따라 ROUT0001 일 수 있습니다. 팁 주셔서 감사합니다. CDW 또는 IngramMicro를 쉽게 기억할 수 있지만 Supplier23을 기억하기가 쉽지 않기 때문에 이름 (공급 업체 및 OEM 용)을 사용하고 싶었습니다. 이론적 인 세계에서 똑같은 이름을 가진 두 공급 업체가 있어야한다는 사실 외에도 소수의 공급 업체를 사용하기 때문에 문제가 발생합니까? – Ryan