我在ServerFault上发布了这个数据库,并被告知这将是一个更好的选择。简单的SQL Server 2008数据库的数据库模式设计
作为一名开发人员,我有一些经验,但在SQL管理和数据库设计方面,我是一名完全新手。
我将我公司的订购和报价流程从Excel电子表格转换为使用具有SQL后端的ASP.NET应用程序更强大一些的功能。
目前我们的零件数据库只是一个excel电子表格。我们的很多产品都是从路由器,服务器等原始设备制造商那里购买的现成硬件。我们主要是一家软件商店,所以我们在设备上安装我们的应用,配置网络设备并发布我们安装的完整解决方案科技股。
在我的模式我有5个表
- CompanyProducts
- OEMProducts
- SupplierProducts
- 供应商
- OEM厂商
OEMProdcuts包含了从设备manufcaturer像思科这样的信息,进行联网设备或戴尔服务器设备。
SupplierProducts包含有关供应商信息,我们从OEM的东西(因为很多OEM的使用经销商)
companyProducts包含产品ID的具体到我们公司。
下面是从SQL Server Management Studio中的快照:
alt text http://i102.photobucket.com/albums/m108/ArkhamFreak/schema2.jpg
我的问题是:
什么是设置的最佳方式为这个简单的模式的主键?我应该使用自动增量字段作为图中所示的GUID还是使用主键的OEMProductID在所有表中引用?
供应商对供应商的产品和原始设备制造商的原始设备制造商对我来说是显而易见的,但其他的关系我不确定。我有点担心,如果在将数据添加到引用该数据的表中时,我必须通过不明确的自动生成的ID来引用OEM产品。由于我们有许多相同设备的供应商,我不知道如何建立这种关系的模型。
谢谢你的时间。
我有一个supplierProductID和一个OEMProductID,因为供应商和OEM之间的产品ID并不总是匹配。例如,思科7200路由器可能是根据思科的7204VXR,根据供应商可能是ROUT0001。 感谢您的提示。 我想使用名称(供应商和OEM),因为它很容易记住CDW或IngramMicro,但不容易记住Supplier23。由于我们使用少量供应商,除了这样的事实之外,还有其他问题:在理论上,您可能拥有两个完全相同名称的供应商? – Ryan 2010-01-18 20:54:04