簡體   English   中英

多對多關系中的問題

[英]problem in many to many relationship

我有兩張桌子的jewelry(j_id,j_name,Description)style(style_id,style_name,image)每張桌子與另一張桌子有很多關系,因為一個珠寶產品可以有多種款式,並且有更多款式相同的產品,因此這種關系是多對多的。

現在,我的問題是如何關聯這些表,即我想在珠寶表中插入一條記錄,並且一個珠寶產品應該有多種樣式。

在珠寶html頁面上,我想將樣式放入從樣式表中動態填充的多個選擇下拉列表中,如果用戶想為同一產品選擇兩個樣式,則可以。

我會推薦4張桌子,其中3張用於珠寶和款式,第四張用於訂購。

珠寶:吉德(PKEY),名字,描述

樣式:sid(PKEY),sname,描述

產品:pid(PKEY),sid(FKEY),jid(FKEY)-一種產品定義了樣式和編織的獨特組合

順序:oid(PKEY),pid(FKEY),其他詳細信息(名稱,地址等)

對於每個珠寶,使用產品表恢復關聯的樣式,然后在html頁面上填充字段。 對於每個訂單,請存儲​​產品ID,該ID可以唯一標識珠寶和款式。

不確定這是數據庫設計問題。 對我來說,它更像是一個編程問題,在這種情況下,了解您使用的是哪種編程語言和數據庫將很有幫助。

無論如何,這里有一些偽代碼可以滿足您的要求。

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

您的問題不是關於為這種多對多關系設計數據庫,而是關於在創建新的珠寶/樣式對象及其之間的關系時的插入策略?

在這種情況下,您的策略必須是插入您的主數據並在此之后相互關聯的事務。 萬一中止,您可以回滾事務,並且刪除創建的所有內容。 只要您正在進行交易並且隔離級別正確,沒人會看到臨時創建的數據

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM