2017-07-25 66 views
-1

我沒有一個編碼問題,但更多的是一個相關的結構。MYSQLI數據庫設計/結構

如果我有一個網站,例如說允許用戶註冊,登錄和管理財務,或家人寫真集或其他任何(前端正在執行的工作是無關緊要的)如果我有多個用戶註冊並創建自己的賬戶,那麼存儲該數據的正確方法是什麼? 我假設你不會有一張含有不同用戶數據的表格,所以爲用戶登錄創建一個表格是適當的,然後自動創建一個新表格,這個表格是每個新用戶獨佔的,然後這個表格將保存與那裏的個人登錄相關的數據?

以網上支票簿爲例,我將有一張管理用戶登錄表的表,然後在註冊過程中它會自動爲該用戶創建一張表,以保存其自己支票簿的所有數據條目。那是對的嗎?如果數據需要多個表來管理一個特定的用戶數據會怎麼樣?

也有沒有人有正確的數據庫結構,我可以檢查出什麼好的鏈接?不知道正確的術語會阻礙我的搜索。

在此先感謝!

+0

'「爲每個新用戶創建一個新的表格」 - - 不可以。在任何方面沒有。不要在另一個表中創建每個記錄的新表*。按照您正在建模的實體來組織表格。 – David

+0

謝謝大衛!因此,用戶表,交易表等,得到它。 – Jimistrator

回答

0

創建一個表中的每個用戶,創建用戶的唯一標識符鍵入一個表,並把所有用戶的數據進去。但是,您可以爲每個邏輯信息集創建一個此類表。例如,帶有用戶信息的users表,帶有由用戶製作的博客帖子的posts表,將用戶鏈接在一起的friends表。

記住這一點 - 一天到一天,你的應用程序應該從未要求(如CREATE TABLE),僅排處理操作First Normal Form是更改數據庫模式的操作(如INSERT和UPDATE)。一個開始閱讀這個主題的好地方。

+0

啊,好的謝謝。所以我會在用戶表中說出一個用戶名,它可以與位於交易表中的單元格中具有匹配用戶名的所有交易相匹配。也感謝您的鏈接。 – Jimistrator

+0

是的,這是基本的概念。特別是,您通常希望通過用戶id(分配給每個用戶的唯一整數)來引用,而不是實際的用戶名(字符串),因爲它更小,並且如果用戶更改用戶名,則不太容易出現問題。 –