簡體   English   中英

電子商務 Book 和 Bookstore 表設計邏輯

[英]ecommerce Book and Bookstore table design logic

有一個Book表,其標題、版本和作者始終是唯一的。 我希望所有的bookstores都添加他們的書,但不同的書店可以有不同定價的同一本書。 所以我想出了這個表格設計。

在此處輸入圖像描述

因此,當一家書店嘗試添加一本書而該書已經被另一家書店添加時,當前書店應該只填寫定價詳細信息,不包括書籍詳細信息 這樣做的問題是,如果已經添加的書籍詳細信息有一些缺失或不正確的信息怎么辦? 在這種情況下,當前的書店可以標記,版主或管理員可以修復它。

有沒有更好的方法來實現這一目標? 我根本不適應這種設計邏輯。

你的設計是有道理的。 您希望將“靜態”信息保留在 1 個表中,並像您一樣鏈接“動態”信息。

您的另一個問題與數據完整性有關。 您可以在字段上放置“非空”條件以確保所有字段都已歸檔,但垃圾條目始終是可能的。 這是一個普遍的問題。

緩解這種情況的潛在解決方案:

  • 可以選擇而不是輸入的任何和所有數據都應該通過另一個表鏈接。 前任:

     BookGenre bookgenreid PK genre CHAR Book bookid PK genre FK, BookGenre.bookgenreid...

    因此,您將所有可能的流派存儲在一個單獨的表中,這樣您的用戶就不會發明新的流派或輸入錯誤的值。 同樣適用於作者、國家、......這也使得構建查詢變得更容易,並避免諸如 [SciFi, Science Fiction, Sciance fiction, ... ]

  • 不是每個人都應該能夠在系統中輸入新書。 前任。 當我在一家批發商工作時,只有 select 組員工可以在數據庫中創建新產品,並且他們已經制定了如何創建的約定。 他們與采購和收貨密切合作。 您將需要專門的“數據管理員”。

因此,請嘗試在數據庫和 - 或應用程序中盡可能多地進行控制。 盡可能避免自由文本字段,因為用戶總是會想出新的方法來搞砸它。 前任。 目前在工作中,我們有一個巨大的項目來標准化未鏈接系統之間的地址。 這是一項涉及人工智能的艱巨任務。 這一切只是因為沒有兩個人輸入的地址完全相同。

暫無
暫無

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

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