所以我正在做一個類似於YahooMess的Instant Messenger類型的應用程序。我需要一個好的數據庫設計。我有一個有pk(id)用戶名和密碼的用戶表,但這些用戶也有一個由其他用戶創建的朋友列表。您可以給我什麼建議?謝謝!請推薦我一個好的數據庫設計
0
A
回答
1
構建用戶(UserId,Name,Password)表,然後是UserHasFriends(UserId,UserId_Friend)M:N表。
確保您存儲的密碼鹽漬hashs,從來沒有以純文本
工作示例:http://sqlfiddle.com/#!2/18aef/3
示例代碼:
create table Users
(
UserId int not null primary key,
Username varchar(255) not null,
Password varchar(64) not null
);
create table UserHasFriends
(
UserHasFriendId int not null primary key ,
UserId int not null,
UserId_Fiend int not null
);
insert into Users
values (1,'UserA','hashA'),
(2, 'UserB', 'HashB'),
(3, 'UserC', 'HashC');
insert into UserHasFriends
values (1, 1,2), -- User B is a Friend of User A
(2,1,3); -- user C is a friend of A
select UserWithFriends.Username as User,
Friends.Username as Friend
from Users as UserWithFriends
join UserHasFriends
on UserWithFriends.UserId = UserHasFriends.UserId
join Users as Friends
on Friends.UserId = UserHasFriends.UserId_Fiend
0
去下面的整個事情方式:
使用一個有(UserID, Username, Password)
的關係。 第二個關係表示爲(UserID, FriendUserID)
其中FriendUserID是具有UserID的人的朋友的ID。
+0
謝謝!我以同樣的方式想到它 –
相關問題
- 1. 推薦一個好的javascript統計庫?
- 2. 推薦引擎數據庫的設計?
- 3. 推薦的C++庫設計
- 4. 請推薦一個好的視頻播放庫爲Android
- 5. 數據庫推薦
- 6. 數據庫設計 - 哪一個更好?
- 7. 我的數據庫設計夠好嗎?
- 8. 向我推薦一本好的JNI書
- 9. 數據庫ERM設計問題 - 需要推薦
- 10. 電影推薦引擎概念數據庫設計
- 11. 哪個更好的數據庫設計?
- 12. 請推薦我一些最好的symfony軟件包
- 13. 數據庫設計不好
- 14. 推薦一個好的db4o查看器
- 15. Rails項目到項目推薦引擎數據庫設計的布爾數據?
- 16. 請推薦一個好的D-Bus教程(Linux C GTK +)
- 17. 請推薦一個好的博客來學習Angular-2 Lifecylce
- 18. 請推薦一個好的JQuery富文本編輯器
- 19. 請幫我設計一個數據庫模式:
- 20. 最好的/推薦的翻譯Django的數據庫路值
- 21. 這個數據庫設計好嗎?
- 22. 設計一個數據庫
- 23. 推薦設計模式
- 24. 推薦系統設計
- 25. 桂設計模式推薦
- 26. 推薦任何好的sybase數據庫表查看器
- 27. 有人可以推薦一個好的U3D庫嗎?
- 28. 什麼是我的數據集的好方法推薦系統?
- 29. 推薦數據結構,同時設計一個像字典的東西?
- 30. 你能推薦一個水平伸縮的數據庫嗎?
你的問題太廣泛和主觀。很少有人對「什麼是X的最佳解決方案?」有一個明確的答案。的問題。 –
只有這些字段需要爲您的應用程序。? – akaHuman