2015-07-14 21 views
5

Có lẽ tôi chưa bao giờ tìm kiếm ở đúng nơi nhưng tôi thường tự hỏi thực hành tốt nhất để lưu trữ nhiều dữ liệu trong một trường là gì và tôi chưa bao giờ tìm thấy câu trả lời có thể sử dụng.MySQL DB nhiều dữ liệu cho trường

Hãy để tôi làm rõ hơn bằng ví dụ.

Hãy nói rằng tôi có một "hobbys" trường trong một user_table

Khi đăng ký sử dụng ông muốn thêm tennis, video game, và piano vào hồ sơ của mình.

Là nó tốt hơn:

  1. Để tạo các lĩnh vực khác nhau cho mỗi sở thích như: hobby_id_1, hobby_id_2, hobby_id_3

  2. Hoặc tạo một trường duy nhất gọi là hobbys và chèn dữ liệu tách bằng dấu phẩy? hobbys_id => 1,4,5 (là giải pháp này là thực sự có thể?)

Và sau đó khi chúng ta muốn cập nhật những dữ liệu và thêm một sở thích mới ví dụ, làm thế nào để chúng tôi làm điều đó?

Bất kỳ trợ giúp nhỏ nào cũng sẽ được đánh giá cao.

Cảm ơn bạn trước :)

Trả lời

6

này thuộc nhiều nhiều mối quan hệ.

Để lưu trữ nhiều mối quan hệ, một bảng trung gian chủ yếu chứa các khóa chính (ID) của từng mối quan hệ là bắt buộc. Trong trường hợp của bạn,

users_table (user_id, firstname, ...)

hobbies_table (hobby_id, tên, ...)

users_hobbies_table (id, user_id, hobby_id)

Here là giải thích phức tạp hơn.

+1

Âm thanh hợp lý và dễ hiểu – Valentincognito

Các vấn đề liên quan