2013-10-23 129 views
1

在這一刻我有包括以下字段」 ID,姓名,電子郵件,性別,密碼和頭像的用戶表。如何組織的SQLite數據庫在我的應用程序

現在,這些用戶將有這些行爲(和相應的統計數據)應該存儲引用,並將這些行爲本身存儲在其他表中,並且將這些行爲存儲在其他表中,或者我應該只添加更多的字段到這個表?

例如, checkins,跟隨,朋友 - 這些應該在另一個表中嗎?

事件如何?

有人是另一個人的朋友。 有人跟着另一個人。 有人現在有一些東西的狀態。

如果這些被存儲在與它們的時間戳,以及與它們相關的對應動作表(有人喜歡這篇文章,評論等)

+0

您可以創建另一個表並使用連接前。 –

+0

但哪個更好?我應該堅持使用更小的桌子還是堅持與用戶有關的所有內容?事件表怎麼樣 - 我應該把事件放在表格中嗎? –

+0

我認爲RDBMS的概念很好,很清楚,所以我們應該使用它! –

回答

0

一些閱讀後,並要求在這裏是我的結論是:

爲每種類型的對象表: 用戶 項目 地方

每個對象的附加d表ATA: 用戶信息,行動 項目信息 地方信息

每種類型的動作或事件的表 喜好 以下 友誼

事件

事項標識的表,event_type,parameter1,parameter2,parameter3,parameter4 *(* check note below *

事件表喜歡 事項標識,PERSON_ID

事件表評論 事項標識,爲person_id,COMMENT_TEXT

如果用戶在他們的郵箱和8月13日消息他們已被閱讀,在消息表中這將是一個布爾「讀」。

目前看起來確定嗎?

如果我想統計,我不會把它們存儲在一個記錄,我將計算結果的數量對於一些查詢,如:

用戶凱莉有14名追隨者,因爲這是後返回的行數爲此用戶詢問表

說明:困擾我的唯一事情是事件表,因爲不同類型的事件需要不同的參數,例如

事件類型友情需要兩個用戶的ID。 事件類型購買需要用戶和產品ID。

因此,我可以將所有事件存儲在一張表中,還是應爲每種事件類型製作多個表?

PS:使用im umlet爲了佈局設計與表之間的關係,我去實現它們

+1

答案並不是提問的恰當地方。至於事件,這些通常會以面嚮對象語言的繼承來實現。有關如何在數據庫中對此進行建模,請參閱[本答案](http://stackoverflow.com/a/386683/11654)。 –

相關問題