Database

1. Table Structure

  1. acl 
  2. auth_token
  3. cache
  4. category
  5. category_assignment
  6. config
  7. external_link
  8. file
  9. file_link
  10. log 
  11. menu
  12. page
  13. page_link
  14. rating
  15. referrer
  16. revision
  17. poll
  18. user
  19. user_setting
  20. usergroup
  21. usergroup_member
  22. watch

1.1. Access MySQL via command line

 mysql -h 127.0.0.1 -P 3306 -u root -p <database>

 mysql> DESCRIBE table_name;

1.2. Database Diagram

3 of 3 Files accessible from this page /Dev / Release / R 6.0 / Database:

a_schematic_of_wackowiki_r6.0_database_structure.png table structure of WackoWiki R6.0 database 114 KiB  05.06.2021 06:47 
a_schematic_of_wackowiki_r6.0_database_structure.svg table structure of WackoWiki R6.0 database 688 KiB  05.06.2021 08:07 
wackowiki_6.0.mwb MySQL Workbench 8.0 file for WackoWiki R6.0 27 KiB  05.06.2021 06:42 

-> MySQL Workbench

1.3. Database Script


1.4. Performance

Indexes

  • Ensure indexes on columns used in WHERE, ON, GROUP BY clauses
  • Always ensure JOIN conditions are indexed (and have identical data types)
  • Be careful of the column order
  • If you don't pick a primary key (bad idea!), one will be created for you -> And, you have no control over the key

1.5. Naming

Use singular for table names, e.g. “page” not “pages”
A table structure describes a specific entity

1.6. Proposed Database Schema Changes