各位大侠:有这样一个问题,我有一个OEM(厂商信息表),还有一个stock表(库存表)2个表的结构如下:
__________________________________
OEM表字段
ID   记录标识号
OEMName  厂商名称
__________________________________
Stock表字段
ID 记录标识号
PartNo 物品型号
PartName 物品名称
PartCode 物品编号
EquOEM 厂商名称
EquType 厂商类型
EquNo 设备型号
__________________________________
C#中的入库窗体的厂商名称获取自OEM表中的OEMName字段;是个下拉的ComboBox,然后我点击入库的按钮添加一条记录到Stock表中...这其中包含了厂商名称...我已经将厂商名称从OEM表中将OEMName全部提取出来放到ComboBox里面,我这2个表要怎么设计呢?
stock表中的EquOEM作为主键??OEM的OEMName作为键???还是怎么???
如果把OEM的ID作为从键...我不知道我的这个插入的语句怎么写,因为我已经将OEM表中的OEMName取出来了...是通过选择厂商的方式来插入到另外一张表中...请教了!!!!

解决方案 »

  1.   

    厂商表中应该有个厂商代码的吧,一般管理水平还可以的公司都有厂商代码的。另外仓库表我觉得不需要与OEM进行主外键关联,因为入库的类型有很多,例如还有:工单退料,超领退料等等。
      

  2.   

    你从OEMName提取名称的时候,不是也可以把主键提取出来啊,然后把主键也绑定到ComboBox不就行了:comboBox1.DataSource = 数据源;
                comboBox1.DisplayMember = "厂商名称的字段";
                comboBox1.ValueMember = "主键的字段";
      

  3.   

    按你说的来看:stock表应该是业务表,OEM表应该是基础数据表.一般来讲都是将基础信息放在基础表中,业务表中外键来关联基础表.这样才符合那几个范式(具体是什么我也记不得了.呵呵)总之要保证信息的完整和不冗余.
    建议把
    EquOEM 厂商名称
    EquType 厂商类型
    两个字段加到OEM表中去.
    在stock表中加入OEMID来关联OEM表