2016-04-27 37 views
0

下午好。我負責爲建議的公司構建,維護和分配MySQL數據庫,以啓動框架(針對Final組項目)。這家公司有很多建築,可能他們有多層樓和很多房間。數據庫應該存儲所有建築物,他們的GPS位置,他們的樓層數量,相應的平面圖像,他們的所有房間以及他們在建築物內的位置。關於建築物和平面圖的數據庫設計查詢

目前,我有一個表「建築物」的數據庫。在「建築物」中,我有以下行:ID,名稱,緯度,經度,樓層數,平面圖(x4)。我假設最多有四層樓。 [可能是一個壞主意]

enter image description here

我現在堅持了我要如何存儲所有的房間,樓層平面圖和平面圖內的房間位置。

我最初的想法是爲每個建築物創建一個新表格,並且具有房間號,相應樓層平面圖和位置(緯/長)的行。然而,如果公司擁有超過100座建築物,而每座建築物可能只有一層樓和一對夫婦房間,那麼我認爲這樣做會過度。另外我認爲處理100個表是不好的做法。

處理大量建築物是否有更簡單的方法,但是房間數量和樓層數量會有所不同?

任何建議將不勝感激!

回答

3

每個實體都應該有自己的表。這些表格將使用Primary KeysForeign Keys鏈接。樓層數不應硬編碼,您應該使用COUNT函數檢索樓層數。

Normalize您的數據庫高達3NF

這裏是你的數據庫應該是什麼樣子:

Buildings: 
BuildingID(PK) 
LongName 
ShortName 
Latitude 
Longitude 
etc 

Floors: 
FloorID(PK) 
BuildingID(FK) 
FloorName 
etc 

FloorPlans: 
FloorPlanID(PK) 
FloorID(FK) 
FloorPlanName 
FloorPlanImage 

Rooms: 
RoomID(PK) 
FloorID(FK) 
RoomNumber 
Latitude 
Longitude 
RoomSize 
etc 
+0

就像一個快速的問題,是有一個最佳方法/類型來存儲圖像? –

+0

另外,說我只是給了一個房間號碼和一棟建築物,我似乎無法看到我將如何擺脫平面圖... –

+0

@DoveDevic您不應將整個圖像存儲在數據庫中,但如果您必須使用BLOB。 http://stackoverflow.com/questions/6472233/can-i-store-images-in-mysql –