文章詳情頁
mysql - 數(shù)據(jù)庫建表方面的問題?
瀏覽:156日期:2022-06-12 18:31:00
問題描述
小白一個,設(shè)計了一個社交類的網(wǎng)站,其中例如用戶頭像圖片的表,和用戶相冊圖片的表,這兩個表我是應(yīng)該分開建呢,還是合并成一張表(不同類型的圖片用type字段區(qū)分),各有什么好處呢?
問題解答
回答1:理論上講是要兩張表分開的,首先一個用戶只有一個頭像,所以用戶ID和頭像照片是 1:1的關(guān)系;而對于同一個用戶和他的相冊圖片,是1:n的關(guān)系,頭像的圖片和用戶相冊各有各的表邏輯上比較清晰,方便管理;兩張表都用userId與用戶關(guān)聯(lián)。但實際上,從數(shù)據(jù)庫角度來講,放在一個表和分開放,沒什么區(qū)別,(可能數(shù)據(jù)量大了以后,在查詢效率上有區(qū)別)你建立一個圖片表,圖片表中Type來標(biāo)定他是頭像還是相冊照片,然后依然需要在圖片表中設(shè)置userId來標(biāo)定它屬于誰。
相關(guān)文章:
1. 如何解決docker宿主機(jī)無法訪問容器中的服務(wù)?2. angular.js - 輸入郵箱地址之后, 如何使其自動在末尾添加分號?3. javascript - 如何使用nodejs 將.html 文件轉(zhuǎn)化成canvas4. javascript - html5的data屬性怎么指定一個function函數(shù)呢?5. docker-compose中volumes的問題6. 在mac下出現(xiàn)了兩個docker環(huán)境7. python - Scrapy存在內(nèi)存泄漏的問題。8. javascript - 后臺管理系統(tǒng)左側(cè)折疊導(dǎo)航欄數(shù)據(jù)較多,怎么樣直接通過搜索去定位到具體某一個菜單項位置,并展開當(dāng)前菜單9. java如何生成token?10. mysql - 記得以前在哪里看過一個估算時間的網(wǎng)站
排行榜

熱門標(biāo)簽