我正在建立一個小網站,讓用戶將他們最喜歡的書籍推薦給海誓山盟。所以我有兩張桌子,書和小組。用戶可以在他們的圖書館中擁有0本或更多書籍,並且一本書屬於1個或更多組。目前,我的表是這樣的:處理這些MySQL數據庫關係的最佳方法是什麼?
books table
|---------|------------|---------------|
| book_id | book_title | book_owner_id |
|---------|------------|---------------|
| 22 | something | 12 |
|---------|------------|---------------|
| 23 | something2 | 12 |
|---------|------------|---------------|
groups table
|----------|------------|---------------|---------|
| group_id | group_name | book_owner_id | book_id |
|----------|------------|---------------|---------|
| 231 | random | 12 | 22 |
|----------|------------|---------------|---------|
| 231 | random | 12 | 23 |
|----------|------------|---------------|---------|
正如你所看到的,用戶+書籍和書籍+羣體之間的relationsships表中定義。我應該在他們自己的表中定義關係嗎?事情是這樣的:
books table
|---------|------------|
| book_id | book_title |
|---------|------------|
| 22 | something |
|---------|------------|
| 23 | something2 |
|---------|------------|
books_users_relationsship table
|---------|------------|---------|
| rel_id | user_id | book_id |
|---------|------------|---------|
| 1 | 12 | 22 |
|---------|------------|---------|
| 2 | 12 | 23 |
|---------|------------|---------|
groups table
|----------|------------|
| group_id | group_name |
|----------|------------|
| 231 | random |
|----------|------------|
groups_books_relationsship table
|----------|---------|
| group_id | book_id |
|----------|---------|
| 231 | 22 |
|----------|---------|
| 231 | 23 |
|----------|---------|
感謝您的時間。
謝謝你的提問。看,有人在某個地方正在創建一個非規範化的數據庫......這讓上帝哭了。至少現在你知道正確的方式,那將是世界上少一個悲劇。 – ErikE 2011-06-24 20:43:28