2017-01-12 268 views
0

我創建的應用程序將保存多個頁面,這些頁面將根據用戶輸入保存不同的值。例如1本書將會有10頁,表名將分別爲Book1_p1,Book1_p2,Book1_p3,Book1_p4等。這個數據庫將是相同的結構,只是不同的表名,是這個好習慣還是有一個表叫頁面,我的唯一關注是否會隨着時間的推移收集很多行。請參閱下面的結構示例。具有不同表名的相同表結構的數據庫結構

id | Page ID  | Field Id | Value 
    ------------------------------------ 
    1 | 1   | 5  | hello 
    2 | 1   | 3  | some info 
    3 | 1   | 2  | fdf 
    4 | 1   | 1 
    5 | 1   | 3 
    6 | 1   | 2 
    7 | 1   | 1 
    8 | 1   | 3 
    9 | 1   | 2 
    10 | 1   | 1 
    11 | 1   | 2 
    12 | 1   | 1 

我在Xamarin中使用SQLite。之前和database.CreateTable<BookTable>();

BookTable從類創建表

public class BookTable 
    { 
     public BookTable() 
     { 

     } 

     [PrimaryKey, AutoIncrement] 
     public int ID { get; set; } 
     public int PageId { get; set; } 
     public int FieldId { get; set; } 
     public string Value { get; set; } 

    } 

從研究,不可能使用具有不同表名稱相同的類與類名稱用於我已經使用這個對於表名,你永遠不知道我可能是錯的。這是一個好方法,還是在數據庫增長時遇到問題?

+0

您的數據庫結構取決於數據元素之間的關係。你真的不應該把它放在頁面上。 –

+0

正如Raj所提到的,你希望這是儘可能的關係,而不是依賴於一種類型的對象。選擇一個關係數據庫標準書並通過其中的一些概念可能是一個好主意。 –

+0

@RajMore感謝您的意見,我只是想讓它成爲未來的證明。例如添加更多書籍。所以你認爲有一個頁面表將包含所有的頁面記錄是最好的方法。 – Bish25

回答

1

如果每本書都有相同的表結構,那麼您應該將它們全部放在一個Book表中。

+0

好吧,如果每本書在250-500行之間生成,並且可能有超過1000本書,那麼性能會發生什麼變化。 – Bish25

+2

您必須測試以確定性能是否成問題,但500k行並不真的很大,而且看起來每個行都應該相當小。 – Jason

相關問題