Witaj,
zapewne przyda się jeszcze określanie ról użytkownikom, czyli np. redaktor, moderator itp.:
Odnośnie pisania artykułów sprawa wydaje się prosta:
- Blogs (id, name, createdBy, created)
- Articles (id, blogId, content, publicationDate, createdBy, created)
- Tags (id, tag)
- ArticleTags (articleId, tagId)
- ArtilcePhotos (id, articleId) - zdjęcia do artykułów
- Comments (id, articleId, userIp, comment, createdBy, created)
- Ratings (articleId, rating, createdBy, created) - kluczem może być para: articleId, createdBy
- Abuses (articleId, abuse, isDone, createdBy, created) - zgłoszenia naruszeń regulaminu odnośnie publikacji, kluczem może być para: articleId, createdBy
Tyle na start mogę napisać - wszystko zależy co i jak zamierzasz, np. jak będziesz formatował artykuł na stronie itd. itp. Na początek jakiejś dyskusji wystarczy. PublicationDate to data publikacji i nie zawsze musi być aktualną, można napisać artykuł z wyprzedzeniem, a tą datą określić kiedy ma się pojawić na stronie. Zarządzanie tagami, pewnie jest na to przykładów wiele, ale przydał by się mechanizm autouzupełniania tagów, jeśli user określi jakiś nowy, niebędący jeszcze w tabeli Tags.
Maciej