Một trang báo thì Databases cần những gì?
Nhóm mình đang làm một project làm một trang báo về giao thông, do cũng lần đầu làm nên chưa biết cần tạo những bảng gì để lưu thông tin. Do vậy mình muốn hỏi những ai có kinh nghiệm làm web về báo rồi, hay ai có lời khuyên chỉ giúp mình database cần những bảng gì và trường gì?
Trang báo của mình ngoài đăng bài ra còn có chức năng đăng nhập và comment, tìm kiếm (cơ bản là như vậy đã )
Đây là các bảng mình có tạo từ trước:
newsheader (do đặt thù project yêu cầu content không quan trọng lắm nên mình để content vào bảng này luôn)
+-----------------+--------------+------+-----+-----------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+-----------------------+-----------------------------+
| newsID | int(11) | NO | PRI | NULL | auto_increment |
| newsTitle | tinytext | YES | | NULL | |
| newsDate | timestamp | YES | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| sourceLink | tinytext | NO | | NULL | |
| newsDescription | mediumtext | YES | | NULL | |
| username | varchar(30) | YES | MUL | NULL | |
| imageUrl | varchar(255) | YES | | https://goo.gl/sBSZWp | |
| content | mediumtext | YES | | NULL | |
+-----------------+--------------+------+-----+-----------------------+-----------------------------+
user:
+--------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+-------------------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| username | varchar(30) | NO | UNI | NULL | |
| password | varchar(30) | NO | | NULL | |
| email | varchar(30) | YES | | NULL | |
| first_name | varchar(30) | YES | | NULL | |
| last_name | varchar(30) | YES | | NULL | |
| sex | varchar(10) | YES | | MALE | |
| birthday | timestamp | YES | | CURRENT_TIMESTAMP | |
| address | varchar(150) | YES | | NULL | |
| phone_number | varchar(15) | YES | | NULL | |
| joined_date | timestamp | YES | | CURRENT_TIMESTAMP | |
| position | varchar(20) | YES | | NULL | |
còn 2 bảng về tóm tắt nội dung của bài viết mình xin không đề cập.
Mình có cần tạo bảng NewsCategories rồi bảng NewsArticleCategories để liên kết bảng NewsCategories với bảng newsheader (Vì mình thường thấy các trang báo hay có các nhãn dán để thuận tiện cho SEO với tìm kiếm), 1 bảng để lưu comment của người dùng nữa không?
content nên tách ra bảng riêng,
Nên có thêm bảng category(tag) để tiện cho SEO là chính xác.
Nếu bạn muốn tự code ra chức năng comment thì phải có 1 bảng để lưu comment người dùng.
Còn ko có thể sử dụng luôn API của facebook cho nhanh.
bạn có thể search trên google, có nhiều mẫu db của người trước để lại rất nhiều, phân chia làm nhiều bảng, làm sao cho nó phù hợp với quy chế SEO, dễ quản lý, dễ vận hành. Và hạn chế gom quá nhiều vào trong 1 bảng, nên tách ra thành nhiều bảng 1 chút, tuy nhiều nhưng “dễ thở” hơn.