== Релациско мапирање === Ознаки * Примарните клучеви се означени со __**задебелени и подвлечени букви**__ * Задолжителните атрибути се означени со **задебелени букви** * Надворешните клучеви се означени со # проследено од името на референцираната табела, обвиени со (). - ''attb#(tabela)'' * Наследување се означува со наследениот примарен клуч обвиен со "*" **''само при првото појавување на табелата, потоа во следни појавувања се референцира примарниот клуч од основната класа.''** === Табели 1. **users** (__**id**__, **username**, email, name, is_activate, password, description, registered_at, sex) 2. **moderator** (*id#(users)*) 3. **developer** (*id#(users)*) 4. **project_manager** (*id#(users)*) 5. **thread** (__**id**__, content, **user_id#(users)**, created_at) 6. **topic_thread** (**title**, parent_id#(thread), *id#(thread)*) 7. **topic_guidelines** (id, topic_id, description) 8. **discussion_thread** (**parent_id**, *id#(thread)*) 9. **project_thread** (**title**, repo_url, *id#(thread)*) 10. **likes** (user_id#(users), thread_id#(thread)) 11. **topic_threads_moderators** (thread_id#(thread), user_id#(users)) 12. **tag** (__**name**__) 13. **tag_threads** (thread_id#(thread), tag_name#(tag)) 14. **topic_belongs_to_project** (topic_id#(thread), project_id#(thread)) 15. **blacklisted_user** (topic_id#(thread), user_id#(users), moderator_id#(users), start_date, end_date, reason) 16. **developer_associated_with_project** (project_id#(thread), developer_id#(users), started_at, ended_at) 17. **permissions** (__**name**__) 18. **project_roles** (name, project_id#(thread), description) 19. **users_project_roles** (user_id#(users), project_id, role_name) 20. **project_roles_permissions** (permission_name#(permissions), role_name, project_id) 21. **submission** (id) 22. **project_request** (__**id**__, description, **status**, **user_id#(users)**, **project_id#(thread)**, created_at, submission_id) 23. **feedback** (description, submission_type, created_by, created_at, __**submission_id**__) 24. **report** (id, created_at, **description**, status, thread_id#(thread), for_user_id#(users), by_user_id#(users), submission_id) 25. **channel** (name, description, project_id#(thread), developer_id#(users)) 26. **messages** (sent_at, **content**, sent_by#(users), project_id, channel_name) == DDL скрипта за бришење и креирање на табелите [attachment:V1__init_ddl.sql] == DML скрипта за полнење на табелите за податоци [attachment:V2__add_test_data.sql] == Релационен дијаграм [[Image(ddl-diagram-v2.png)]]