这不是一项家庭作业,而是由上级分配的新任务。为内部最终用户创建一个系统,根据每条生产线的生产能力自动向不同的生产线建议。用户需要每个月保持每条生产线的生产能力,每条生产线上都有自己的产品组,每条生产线上都有独特的优势。当销售订单到来时,系统将根据下面的生产线计划维护,根据重要性设置对每条生产线进行自动分配。关于数据库设计技巧的问题
例如,产品组XYZ下的产品A将在L1和L2上运行。
样本数据
期间| Line_Number | Product_Subgp | Line_Capacity | Prority
201009 | L1 | XYZ | 2000 | 1
201009 | L1 | ABC | 2000 | 2
201009 | L2 | XYZ | 2000 | 2
201009 | L2 | ZZZ | 2000 | 1
的行标题表结构:LinHdr
Line_Hdr_ID | Int(自动增量)
Line_Number | VarChar(10)[主键]
期间| VarChar(6)[主键]
容量|数字(16)
Special_Capacity |数字(16)
Line_Description |对于行标题VARCHAR(20)
表结构:LinDtl
Line_Dtl_ID | Int(自动增量)
Line_Hdr_ID | Int [主键]
Product_Group | VarChar(10)[主键]
Prority |数字(2)
问题:
表LinHdr:LINE_NUMBER +周期是主键。由于这两个字段将作为唯一性和数据的一个查找键。我是否正确设置为主键?
表LinHdr:是否需要将Lin_Hdr_ID作为主键? (LinHID是通过SQL自动增加的,对用户是不可见的)。
- LinHID的目的是链接到LinDtl,这样就没有必要包括冗余数据(即周期+ LINE_NUMBER)成LinDtl,通过使用Lin_Hdr_ID链接betw 2表。
表LinDtl:Line_Hdr_ID + Product_Group将设置为主键,以实施唯一性。 这是否正确有此Line_Dtl_ID? 这个字段是必需的吗? 如果Line_Hdr_ID + Product_Group已经提供唯一性,可以排除Line_Dtl_ID?
或者,最好将上面的两个表合并到一个表中,而不是创建关系数据库?
希望能从这里获得专业意见。
在此先感谢。
设计技巧1.不要缩写表或列。使用整个词。全长单词。详细。请使用非常长,非常清晰,非常精确,非常完整的名称。我们甚至无法开始猜测你在说什么。请**更新**问题以包含详细信息。如果这是家庭作业,请将其标记为家庭作业。 – 2010-10-12 02:14:51