2014-12-26 19 views
0

我正在爲物業管理製作一個網絡應用程序。 我們有3種租金(行動)的租金。有什麼可以做得更好:更多的桌子是否爲空或更多的桌子?

移動插件

 
-------------------------- 
id 
id_room 
colect_date 
rent 
late_fee 
other_fee 
bookind_fee 
Deposit 
Hold Deposit 
------------------------- 

租金Colections

 
-------------------------- 
id 
id_room 
colect_date 
rent 
late_fee 
other_fee 
------------------------- 

移動出局

 
-------------------------- 
id 
id_room 
colect_date 
move_out_date 
rent 
late_fee 
other_fee 
maintenance_fee 
break_fee 
------------------------- 

天色用戶可以分別檢查他們,但他們也可以看出的一次。

  1. 所以,如果我把它們都在1個表,然後用1個查詢我可以選擇所有的人,這是獲得更好的性能,但問題是,在移動宏表中我們有一些列不在另外兩張桌子。移出表格同樣如此。

對於每個房間我們有,我們做1入住,3-12租金收藏和1搬出。 所以我們將有很多NULL值,如果我把所有的數據放在一個表中。例如:以下全部包含在1個表格中。對於每一個房間,我們將有3-12租金Colections,這意味着我們將有12行與空值(move_out_date,bookind_fee,存款,持有存款,維修費,違約費)

 
-------------------------- 
id 
id_room 
colect_date 
move_out_date 
rent 
late_fee 
other_fee 
bookind_fee 
Deposit 
Hold Deposit 
maintenance_fee 
break_fee 
type_of_colection 
------------------------- 
  • 如果我將它們分成不同的表格,然後選擇它們,我需要3個查詢,或加入它們,這是較慢的。
  • 所以我的問題是,有什麼更好的辦法,將它們拆分到不同的表中,或者有1個表中有很多NULL字段,至少5-6列字段將是空值。

    P.S:每個月都會有:

     
    600-700 Rent Colections 
    10-100 Move ins 
    10-100 Move outs 
    
    +1

    我可能會做2個表格,移動輸入/輸出和租金收藏,並防止表格之間的重複數據。 – Sean

    +0

    設計方面的最佳選擇是許多表格。 – teeyo

    回答

    0

    至於你提到「在1個移動和3-12租金Colections,一個1搬出」似乎是獨立的表會更好。這樣你可以消除重複的數據,防止空值,並且一般來說你的表格會更好的結構化。您可以在一張表中移入和移出兩個表格,因爲這兩個表格都是單一條目和每月租賃收藏。

    +0

    &@Sean thnx爲您的答案,在設計方面,我同意它的結構更好,我們可以避免NULL,但是您認爲在性能方面表現不錯,因爲有時非規範化在性能上會更好。他們在同一時間2桌..和表會說有100K行每個,它需要2個表中的2個循環來檢查數據,而不是1大表..這就是我即使conconn會有性能問題..(或高達1M - 2M行的表不會成爲問題) – Mendi

    相關問題