訂單表中的“客戶ID”去重計(jì)數(shù)得到下單用戶數(shù),A錯(cuò)。
如果在訂單表中增加產(chǎn)品信息,當(dāng)一個(gè)訂單有多個(gè)產(chǎn)品的時(shí)候,無法保證單號(hào)在訂單表中的主鍵屬性,C錯(cuò)。
“單號(hào)”在訂單表中為主鍵字段,非空不重復(fù),D錯(cuò)。
根據(jù)題目中的訂單表與訂單詳情表,可以進(jìn)行以下分析:
A: 要計(jì)算下單用戶數(shù),對(duì)訂單表的“客戶ID”用公式count(客戶ID)計(jì)算即可
此說法不完全正確。直接使用count(客戶ID)會(huì)計(jì)算所有訂單的數(shù)量,而不是獨(dú)立用戶的數(shù)量。正確的做法是使用count(distinct 客戶ID),這樣可以計(jì)算出獨(dú)立的下單用戶數(shù)。
B: 針對(duì)同一批單號(hào),對(duì)“單金額”和“產(chǎn)品金額”求和,得到的銷售總額數(shù)值一樣
此說法不完全正確。訂單表中的“單金額”是訂單的總金額,而訂單詳情表中的“產(chǎn)品金額”是每個(gè)產(chǎn)品的金額。對(duì)于同一批單號(hào),訂單表中的“單金額”應(yīng)該等于訂單詳情表中所有“產(chǎn)品金額”之和,但前提是訂單表和訂單詳情表數(shù)據(jù)完全匹配且沒有遺漏。
C: 訂單表中可以增加產(chǎn)品ID字段,這樣更方便的看出來一個(gè)訂單里包含哪些產(chǎn)品
此說法不完全正確。訂單表是用于記錄訂單的整體信息,而訂單詳情表是用于記錄每個(gè)訂單中具體的產(chǎn)品信息。如果在訂單表中增加產(chǎn)品ID字段,會(huì)導(dǎo)致冗余數(shù)據(jù)和數(shù)據(jù)結(jié)構(gòu)不合理。正確的做法是通過訂單號(hào)關(guān)聯(lián)訂單詳情表來查看訂單包含的產(chǎn)品。
D: 兩表中的單號(hào)、客戶ID、產(chǎn)品ID都可能存在重復(fù)值
此說法正確。訂單表中的單號(hào)是唯一的,但客戶ID和訂單詳情表中的產(chǎn)品ID可能會(huì)重復(fù),因?yàn)橐粋€(gè)客戶可能會(huì)有多個(gè)訂單,一個(gè)訂單可能包含多個(gè)產(chǎn)品。訂單詳情表中的單號(hào)和產(chǎn)品ID也可能重復(fù),因?yàn)橐粋€(gè)訂單可能包含多個(gè)產(chǎn)品。
綜上所述,正確的答案是D。