每一個(gè)產(chǎn)品有多張或任意張圖片時(shí)如何設(shè)計(jì)數(shù)據(jù)庫(kù)?深圳網(wǎng)站建設(shè)公司創(chuàng)絡(luò)的答案是:將產(chǎn)品數(shù)據(jù)信息和圖片信息分開到兩張表。然后在調(diào)用數(shù)據(jù)的時(shí)候使用select join來查詢即可輕松實(shí)現(xiàn)類似功能。這樣的功能開發(fā)可能對(duì)于一些專業(yè)的PHP技術(shù)員來說,非常簡(jiǎn)單,但是部分從未接觸過類似功能的讀者,可能連如何設(shè)計(jì)數(shù)據(jù)庫(kù)都不知道。下面我們就專門針對(duì)此來說明一下我們是如何處理的。
首先,通過上圖,我們可以了解到一個(gè)產(chǎn)品有多張圖片(任意張,數(shù)量不限)除了需要程序支持,還需要界面支持,不過這沒有關(guān)系,界面上屬于前端工程師的工作,今天我們就單單了解下數(shù)據(jù)庫(kù)如何設(shè)計(jì)。上圖中的案例是深圳雙鍵公司新網(wǎng)站的截圖(該案例已經(jīng)開發(fā)結(jié)束,正在測(cè)試階段,即將上線),從圖中我們可以知道,本案例中,每一個(gè)產(chǎn)品可以最多有4張圖片(含封面/默認(rèn)顯示的圖片)。
理論思路相當(dāng)于是為每一個(gè)產(chǎn)品新建一個(gè)相冊(cè)。至于圖片的數(shù)量,我們可以通過程序來限制,以防客戶上傳超過4張圖片而影響網(wǎng)站界面。當(dāng)然了,當(dāng)圖片數(shù)量小于4張的時(shí)候,網(wǎng)站界面也要保持美觀,這個(gè)屬于美工的工作了,我們不理先。我們知道,在產(chǎn)品表中,每一個(gè)產(chǎn)品都有一個(gè)獨(dú)一無二的ID值,這個(gè)一般需要在數(shù)據(jù)庫(kù)里單獨(dú)新建一個(gè)字段,而且設(shè)為索引。而在圖片表中,我們需要添加I個(gè)字段,例如product_id來說明當(dāng)前圖片歸屬于哪一個(gè)產(chǎn)品。
同時(shí),還要注意為每一個(gè)產(chǎn)品設(shè)置默認(rèn)顯示的圖片,還應(yīng)該給客戶保留自主設(shè)置封面的功能。最后再查詢的時(shí)候大家可以使用select join語句非常容易的調(diào)用這些數(shù)據(jù)。select join語句示例:
select * from 產(chǎn)品表 left join 圖片表 on 產(chǎn)品表.id=圖片表.product_id
現(xiàn)在您是否已經(jīng)大致了解要如何設(shè)計(jì)每一個(gè)產(chǎn)品有多張或任意張圖片時(shí)的數(shù)據(jù)庫(kù)了呢?感謝您的關(guān)注!