我有一個系統,用戶發佈數據,他們可以通過選擇性地支付升級來升級他們的帖子。這是我想從磁條存儲在他們的支付響應的信息:何時將付款放入自己的SQL表中?
CREATE TABLE IF NOT EXISTS `db`.`pay` (
`payments_id` int(11) NOT NULL AUTO_INCREMENT
payment, unique index',
`stripe_id`
`card_id`
`brand`
`amount`
`created`
`currency`
`paid`
`refunded`
`exp_month`
`exp_year`
`last4`
`country`
`fingerprint`
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='payments';
如果這是在同一個表含主哨的數據之一,或者它應該是一個獨立的和鏈接表。用什麼邏輯做出這個決定?
一方面它似乎很好地分開它,但是你也有連接表的開銷。只有一次付款會與一個帖子關聯。
在這種情況下,支付是一個弱實體,因爲它可以沒有父母就沒有存在。用非常嚴格的術語來說,它可能應該是你自己已經想出的表格。 *用於做出這一決定的邏輯*取決於百分之多少人最終支付的費用。如果這個數字很低,它應該是它自己的表格,以防止大量記錄具有多個「null」值。只有一個意見。 – Yuck 2014-09-05 12:51:57
謝謝,這很有幫助 – 2014-09-05 12:55:42