10/10/2018, 00:17
Cấu trúc dữ liệu như thế nào hợp lý nhất ?
Nhờ các bác góp ý một chút về cách xây dựng cơ sở dữ liệu cho 1 hộp thư điện tử , sao cho :
- 1 email có thể được gán nhiều label như Gmail ()
- có nhiều email thuộc 1 label
Mình hình dung đây là quan hệ N-N và đang tổ chức như sau :
tblLabel :
ID (auto_increment, PK)
LabelName (varchar)
Messages (text) *
* Trường Messages chứa 1 chuỗi các MessageID phân cách bởi dấu ","
tblEmail :
MessageID (varchar, PK)
Labels (text) *
Subject (varchar)
Sender (varchar)
Recipients (text)
Contents (text)
Status (boolean)
* Trường Labels chứa 1 chuỗi tên các label, phân cách bởi dấu ","
Làm như vậy có gì không ổn ? Cách tổ chức sao cho khi lấy mẩu tin và thiết lập, di chuyển giữa các label được linh hoạt nhất là gì ? Mong các bác cho những lời khuyên
- 1 email có thể được gán nhiều label như Gmail ()
- có nhiều email thuộc 1 label
Mình hình dung đây là quan hệ N-N và đang tổ chức như sau :
tblLabel :
ID (auto_increment, PK)
LabelName (varchar)
Messages (text) *
* Trường Messages chứa 1 chuỗi các MessageID phân cách bởi dấu ","
tblEmail :
MessageID (varchar, PK)
Labels (text) *
Subject (varchar)
Sender (varchar)
Recipients (text)
Contents (text)
Status (boolean)
* Trường Labels chứa 1 chuỗi tên các label, phân cách bởi dấu ","
Làm như vậy có gì không ổn ? Cách tổ chức sao cho khi lấy mẩu tin và thiết lập, di chuyển giữa các label được linh hoạt nhất là gì ? Mong các bác cho những lời khuyên
Bài liên quan
Ý tưởng của tớ là bỏ bớt 1 bảng để giảm truy vấn database. Lưu theo chuỗi cũng giảm số trường phải truy vấn. Mỗi khi thay đổi thì thường là chỉ cần xử lý trên chuỗi sau đó update lại, việc này cũng đơn giản. Tên 1 label khoảng 30 ký tự, 1 message được gán 20 label thì chuỗi cũng chỉ đến 600 ký tự
Hiện tớ đang làm thế nhưng không chắc chắn nó có lợi hơn cách truyền thống không
========================
www.becivn.net
www.nguyenlan.com
www.nguyenlan.net
YH Lanit_itec
Thế cậu không cho tớ ý kiến về kiểu cấu trúc dữ liệu kia à
Tớ còn 1 bảng tblBookmarks chơi kiểu này :
tblBokmarks
UserID (varchar)
Link(text)
Dữ liệu trong trường Link có dạng :
title1,link1,no1|title2,link2,no2|title3,link3,no3 |....
Theo các bác có khả thi không
Mô hình N-N dạy trong trường học bài vở quá nên thành ra khi triển khai thực tế có vẻ chưa ổn lắm.
Theo mình thì sẽ có 3 bảng:
Cách của bác nêu ra tôi vẫn áp dụng từ trước đến giờ đấy chứ.