Database
1. Table Structure
- acl[link4]
- auth_token
- cache[link5]
- category[link6]
- category_assignment[link7]
- config[link8]
- external_link
- file[link9]
- file_link[link10]
- log[link11]
- menu[link12]
- page[link13]
- page_link[link14]
- referrer[link15]
- revision[link16]
- user[link17]
- user_setting[link18]
- usergroup[link19]
- usergroup_member
- watch[link20]
- word[link21]
1.1. Access MySQL via command line
mysqlmysql -h 127.0.0.1 -P 3306 -u root -p <database> mysql> DESCRIBE table_name;
mariadb
mariadb -u root -p -h 127.0.0.1 wacko --skip-ssl mariadb> DESCRIBE table_name;
1.2. Database Diagram
3 of 3 Files accessible from this page Dev / Release / R 6.1 / Database[link22]:
| a_schematic_of_wackowiki_r6.1_database_structure.png[link23] | table structure of WackoWiki R6.1 database | 88.0 KiB | 08/17/2023 09:44 | |
| a_schematic_of_wackowiki_r6.1_database_structure.svg[link24] | table structure of WackoWiki R6.1 database | 623.2 KiB | 08/17/2023 09:42 | |
| wackowiki_6.1.mwb[link25] | MySQL Workbench 8.0 file for WackoWiki R6.1 | 27.3 KiB | 08/17/2023 09:42 |
-> MySQL Workbench[link26]
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
- [link1] https://wackowiki.org/doc/Dev/Database
- [link2] https://wackowiki.org/doc/Dev/Database/Layout
- [link3] https://wackowiki.org/doc/Dev/Database/Normalization
- [link4] https://wackowiki.org/doc/Dev/Database/Layout/acl
- [link5] https://wackowiki.org/doc/Dev/Database/Layout/cache
- [link6] https://wackowiki.org/doc/Dev/Database/Layout/category
- [link7] https://wackowiki.org/doc/Dev/Database/Layout/categoryassignment
- [link8] https://wackowiki.org/doc/Dev/Database/Layout/config
- [link9] https://wackowiki.org/doc/Dev/Database/Layout/files
- [link10] https://wackowiki.org/doc/Dev/Database/Layout/filelink
- [link11] https://wackowiki.org/doc/Dev/Database/Layout/log
- [link12] https://wackowiki.org/doc/Dev/Database/Layout/menu
- [link13] https://wackowiki.org/doc/Dev/Database/Layout/page
- [link14] https://wackowiki.org/doc/Dev/Database/Layout/pagelink
- [link15] https://wackowiki.org/doc/Dev/Database/Layout/referrer
- [link16] https://wackowiki.org/doc/Dev/Database/Layout/revision
- [link17] https://wackowiki.org/doc/Dev/Database/Layout/user
- [link18] https://wackowiki.org/doc/Dev/Database/Layout/usersetting
- [link19] https://wackowiki.org/doc/Dev/Database/Layout/usergroup
- [link20] https://wackowiki.org/doc/Dev/Database/Layout/watches
- [link21] https://wackowiki.org/doc/Dev/Database/Layout/word
- [link22] https://wackowiki.org/doc/Dev/Release/R6.1/Database
- [link23] https://wackowiki.org/doc/Dev/Release/R6.1/Database/_file?get=a_schematic_of_wackowiki_r6.1_database_structure.png
- [link24] https://wackowiki.org/doc/Dev/Release/R6.1/Database/_file?get=a_schematic_of_wackowiki_r6.1_database_structure.svg
- [link25] https://wackowiki.org/doc/Dev/Release/R6.1/Database/_file?get=wackowiki_6.1.mwb
- [link26] http://dev.mysql.com/workbench/
- [link27] https://wackowiki.org/doc/Dev/Release/R5.5/Database
- [link28] https://wackowiki.org/doc/Dev/Release/R6.0/Database