簡體   English   中英

在 MySQL 中構建和存儲部分數據的最佳方法是什么?

[英]What's the best way to structure and store part of data in MySQL?

我對如何提出數據庫的結構有一些疑問,困境是我必須存儲序列化數據還是最好制作帶有關系字段的表。

一個例子是假設該應用程序:

  • 客戶需要支付費用
  • 這些費用是根據第一次付款的日期和付款截止日期產生的
  • 想象一下 600 歐元的在線課程,您將第一次付款的日期定義為 2022-01-01 和付款截止日期 2022-03-01,那么我們將分 3 期支付 200 歐元

我目前提出了一個結構,其中我們有:

  • 一個表“客戶”
  • 一桌“課程”
  • 表“course_has_inscriptions”

好吧,在“course_has_inscriptions”表中,我們有以下字段:

  • ID
  • course_id
  • 客戶編號
  • 發行日期
  • 截止日期
  • 下一筆付款
  • 報價 [我想在此處保存一系列序列化配額]

該數組如下所示:

$quotas = [];
$quotas ['2022-01'] ['value'] = 200
$quotas ['2022-02'] ['value'] = 200
$quotas ['2022-03'] ['value'] = 200

如果我不是這樣做,而是在我存儲的另一個“引用”類型的關系表中執行此操作,是否有任何優勢:

  • ID
  • inscription_id
  • 引用
  • 價值

謝謝

始終選擇更簡單的選項,即另一張桌子。 這更容易,因為數據更容易訪問。 如果序列化數據,則必須先檢索它並反序列化才能使用它,如果使用另一個表,則可以簡單地檢索和使用它。 您實際上可以使用 MySQL 查詢的強大功能。

想想看。 例如,稍后您將制作一個包含付款的表格,並且您想檢查人們是否支付了他們需要支付的費用。 如果您對數據進行序列化,而使用 MySQL 則無法做到這一點,那么您將被迫在 PHP 中進行,這不是您想要的。

多次遇到此問題的人將他們的經驗總結為幾條規則。 他們稱之為數據標准化

暫無
暫無

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

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