我有两个表jewelry(j_id,j_name,Description)
和style(style_id,style_name,image)
每个表与另一个表有多对多的关系,因为一个珠宝产品可以有多种样式,并且有更多相同风格的产品,所以关系很多很多。
现在我的问题是如何将这些表格联系起来,即我想在珠宝表中插入一条记录,并且一个珠宝产品应该有多种样式。
在珠宝html页面上,我想将样式放在多个选择下拉列表中,该列表从样式表中动态填充,如果用户想为同一产品选择两种样式,他们可以。
答案 0 :(得分:0)
我会推荐4张桌子,其中3张用于珠宝和款式,第四张用于订购。
珠宝:jid(PKEY),jname,描述
样式:sid(PKEY),sname,description
产品:pid(PKEY),sid(FKEY),jid(FKEY) - One Product定义了风格和kewellery的独特组合
订单:oid(PKEY),pid(FKEY),其他详细信息(姓名,地址等)
对于每件首饰,使用产品表恢复相关样式并填充html页面上的字段。 对于每个订单,存储产品ID,唯一标识珠宝和款式。
答案 1 :(得分:0)
不确定这是一个数据库设计问题。对我而言,它看起来更像是一个编程问题,在这种情况下,了解您正在使用的编程语言和数据库会很有帮助。
无论如何,这里有一些伪代码可以执行我认为你正在询问的内容。
Add one row in table jewelry
Store the new jewelry.j_id to a variable @jid
for each @StyleID in SelectedStyleList
begin
Add one row to table jewelry_style
set jewelry_style.j_id=@jid, jewelry_style.style_id = @StyleID
end
答案 2 :(得分:0)
你的问题不是关于为这种多对多关系设计你的数据库,而是关于在创建新的珠宝/风格对象时的插入策略以及它们之间的关系?
在这种情况下,您的策略必须是插入主数据的事务,然后相互关联。在堕胎的情况下,您可以回滚事务,并删除您创建的所有内容。只要您处于事务中且隔离级别正确,就没有人会看到临时创建的数据