По договоренности
1.Указать на ошибки/недочеты бд,дать рекомендации.
2.Требование третьей нормальной формы (3NF).
Представим сайт, на котором будут выкладываться новости.
Есть пользователи:
0 уровень: незарегистрированные пользователи.
1 уровень: зарегистрированные пользователи (вводят имя, фамилию, email и придумывают пароль, никнейм дается случайным образом).
2 уровень: пользователи, которые оформили подписку (могут редактировать профиль: никнейм, описание,добавлять теги на новости,подписываться на источники новостей).
Функционал сайта следующий (уровни, необходимые для определенных функций, указаны в скобках):
1.Пользователи могут просматривать исключительно "ограниченное количество новостей" (у каждого источника будет уровень [article_lvl] для фильтрации) (уровни 0, 1).
2.Пользователь может просматривать все новости, которые вносятся в базу данных (уровень 2).
3.Каждая новость имеет индекс доверия (рассчитывается в зависимости от того, поставил пользователь "лайки/дизлайк" на новость) (уровни 1, 2).
4.Можно переходить на новость и оставлять под ней комментарий (2 уровень).
5.Пользователи могут добавлять тег(2 уровень) на каждой новости.Другие пользователи(2 уровня) могут нажать на этот тег => тег получит "лайк" и на теги отобразиться счетчик сколько было поставлено"лайков".
6.Пользователь может добавить источник в "избранное", нажав на условную "+" на новости в ленте. Тогда он сможет видеть новости с источников, которые он добавил (фильтр)(2 уровень)
7.На сайте будут отображаться экономические индексы (таблица в целом готова и не должна быть как-то связана с остальными).
Прикладываю файл art.drawio , где содержится проектирование БД.
Если возникают вопросы я Вам отвечу.