3 回答

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個贊
首先,數(shù)據(jù)庫中的空值沒有錯。并且正是出于此目的而制作的(未知屬性)。在我看來,避免數(shù)據(jù)庫中的空值是毫無意義的建議。
因此,您將具有三個(或四個)值-用于標(biāo)識客戶的名稱(名字/姓氏,電子郵件地址和電話號碼)。您可以將它們放在表中并向其添加約束,以確保始終至少填充這些列中的一個,例如coalesce(name, email, phone) is not null
。這樣可以確保無法完全匿名完成預(yù)訂。
根據(jù)您的解釋,您不清楚是否總是會收到來自客戶的相同信息。那么,發(fā)生客戶預(yù)定一個房間并提供其姓名,然后又預(yù)定另一個房間并提供其電話的情況發(fā)生了嗎?還是會在數(shù)據(jù)庫中查找客戶,找到他們的名字以及分配給他們的兩個預(yù)訂?在后一種情況下,您可以擁有一個客戶表,其中包含您到目前為止所獲得的所有信息,并且預(yù)訂中將包含客戶記錄ID作為對此數(shù)據(jù)的引用。在前一種情況下,您可能不希望有一個clients表,因?yàn)槟鸁o法識別兩個客戶端(Jane Miller和mrsx@gmail.com)是真的是兩個不同的客戶端還是實(shí)際上只是一個客戶端。
我到目前為止看到的表:
房間(room_id,...)
地點(diǎn)(venue_id,...)
客戶(client_id,姓名,電子郵件,電話)
預(yù)訂(venue_id,room_id,client_id等)

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個贊
如上所述,通常不需要這樣做。沒有價(jià)格的產(chǎn)品就是沒有最終確定的產(chǎn)品。我們尚未決定價(jià)格。沒有刪除日期的部門仍處于活動狀態(tài),尚未(從邏輯上)刪除。沒有默認(rèn)增值稅的產(chǎn)品組就沒有默認(rèn)增值稅,每個產(chǎn)品的增值稅必須明確命名。我們創(chuàng)建數(shù)據(jù)庫;我們知道缺少價(jià)值意味著什么。
添加回答
舉報(bào)