Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mauricio Gelves - WordPress Database: What’s behind those 12 tables - WordCamp Athens 2016

Mauricio Gelves - WordPress Database: What’s behind those 12 tables - WordCamp Athens 2016

WordPress Greek Community

November 19, 2016
Tweet

More Decks by WordPress Greek Community

Other Decks in Programming

Transcript

  1. WordPress Database:
    What’s behind those 12 tables?
    Mauricio Gelves | @maugelves

    View Slide

  2. Do you know this
    Masterpiece?

    View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. A love story

    View Slide

  7. View Slide

  8. Set of columns
    Data types
    Indexes
    The table anatomy

    View Slide

  9. Table rows

    View Slide

  10. I’m Rebel!

    View Slide

  11. Normalization

    View Slide

  12. Process to avoid:
    • Data redundancy
    • Unnecessary updates
    • Data integrity problems

    View Slide

  13. View Slide

  14. View Slide

  15. View Slide

  16. View Slide

  17. View Slide

  18. WordPress code of conduct:

    No political jokes are allowed

    View Slide

  19. UPDATE tbl_students
    SET president = ''
    WHERE president = 'Prokopis Pavlopoulos'
    On every change:

    View Slide

  20. Normalized tables:
    FK’s
    (Foreign Keys)

    View Slide

  21. ¿Is WordPress
    Rebel?

    View Slide

  22. • wp-posts
    • wp-term-taxonomy

    View Slide

  23. View Slide

  24. View Slide

  25. View Slide

  26. 33,3333333333333333333333333333333333333
    333333333333333333333333333333333333333
    333333333333333333333333333333333333333
    333333333333333333333333333333333333333
    333333333333333333333333333333333333333
    333333333333333333333333333333333333333
    333333333333333333333333333333333333333
    333333333333333333333333333333333333333
    333333333333333333333333333333333333333
    333333333333333333333333333333333333333
    333333333333333333333333333333333333333
    333333333333333333333333333333333333…%

    View Slide

  27. ¿Why WordPress powers 26%
    of all websites?

    View Slide

  28. ES FLEXIBLE

    View Slide

  29. KEY => VALUE

    View Slide

  30. wp_posts
    WordPress’
    Heart.

    View Slide

  31. wp_posts

    View Slide

  32. ¿Where’s the rest
    of the information?

    View Slide

  33. Meta Tables
    wp_posts => wp_postmeta
    wp_users => wp_usermeta
    wp_comments => wp_commentmeta
    wp_terms => wp_termmeta

    View Slide

  34. KEY VALUE
    =>
    wp_posts

    View Slide

  35. KEY VALUE
    =>
    Usuarios

    View Slide

  36. SHE ’S ORGANIZED

    View Slide

  37. KEY VALUE
    =>
    wp_options

    View Slide

  38. SHE’S ADAPTABLE

    View Slide

  39. Taxonomies

    View Slide

  40. Taxonomías
    Simple terms
    Which taxonomy has?

    View Slide

  41. Es muy fácil comunicarse con ella:
    Diapositiva: una mujer con un teléfono
    It’s easy
    to talk to her

    View Slide

  42. SQL
    Structured Query Language

    View Slide

  43. Estructura de consulta:
    Which column/s?
    Which table/s?
    Should we filter the search?

    View Slide

  44. ¿Do we have to
    know SQL to work
    with WordPress?

    View Slide

  45. WordPress Functions:

    View Slide

  46. What if we need
    Meta values?

    View Slide

  47. WordPress Functions:

    View Slide

  48. and for more complex
    searches?

    View Slide

  49. WP_Query

    View Slide

  50. View Slide

  51. View Slide

  52. View Slide

  53. CUSTOM TABLES
    How and why?

    View Slide

  54. Why Custom Tables?:
    • Efficiency (Inner joins)
    • Efficiency (calculated fields)
    • Space (uncompleted fields)
    • Data security

    View Slide

  55. How to create a Custom Tables?:
    • Create it on plugin/theme activation

    View Slide

  56. View Slide

  57. How to create a Custom Tables?:
    • Create it on plugin/theme activation
    • UI implementation with WP_List class

    View Slide

  58. View Slide

  59. http://wpengineer.com/2426/wp_list_table-a-step-by-step-guide/

    View Slide

  60. Because of this and more
    I’m in love with the
    WordPress database.

    View Slide

  61. Thank you!
    @maugelves

    View Slide