3 回答

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

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