Database
 sql >> база данни >  >> RDS >> Database

WordPress – Зад кулисите, част 1

Колко често сте се чудили за структурата на съществуваща база данни? Това може да бъде 5-годишна наследена система или чисто нов проект с отворен код. Нека да разгледаме ERD диаграмата на базата данни зад най-известната система за управление на съдържанието:WordPress.

Какво е WordPress и как работи?

WordPress е CMS с отворен код (система за управление на съдържанието), която първоначално беше пусната през 2003 г. Започна като платформа за блогове, но се разви толкова много, че днес може да се използва за почти всичко.

Тъй като WordPress е проект с отворен код, много разработчици са разширили неговите функционалности през годините. Могат да бъдат намерени хиляди джаджи, теми и плъгини, разработени за WordPress. Така че, както заявява WordPress.org, „WordPress е ограничен само от вашето въображение. (И технически пържоли.)” Зад кулисите, PHP скриптовият език от страна на сървъра и базата данни MySQL осигуряват силата.

За целите на тази статия инсталирах WordPress локално, следвайки тези стъпки:

  1. Изтеглих и инсталирах WampServer, среда за уеб разработка на Windows за Apache, PHP и MySQL (Забележка:Първо трябва да се инсталира правилният(ите) вкус(и) на Visual C++ Redistributable). Тази стъпка включваше най-вече щракване върху бутона „Напред“.
  2. След това създадох MySQL база данни, наречена „wordpress_database“, използвайки phpMyAdmin; разбира се, можете да изберете произволно име и по-късно препратка към него.
  3. Приключих, като изтеглих и инсталирах действителната програма WordPress. Отново това беше предимно щракване върху „Напред“.

По време на инсталацията на WordPress ще бъдете помолени да предоставите потребителско име, името на базата данни, която WordPress ще използва, и подробностите за връзката. Трябва да предоставите името на съществуваща MySQL база данни. Също така можете да изберете префикса, който ще се използва за именуване на таблици в базата данни. (Избрах “wp_”.) Започването на имена на таблици с префикс е обичайна практика в MySQL. Ако всичко върви добре, за вашия проект ще бъде генерирана произволна парола и можете да влезете. След като влезете, ще видите таблото за управление на WordPress, което изглежда така:

[

Няма да говорим повече за опциите на WordPress, защото те не са свързани с дизайна на база данни. Има много материали онлайн – и в книги, разбира се; четете книги ☺ – които покриват тези теми доста задълбочено.

Процесът за експортиране/импортиране на WordPress

Следващата ни стъпка е да разгледаме базата данни MySQL, която се намира зад нашата страница в WordPress. За да направите това, трябва да отворим phpMyAdmin . Основният екран е показан по-долу.

От лявата страна на екрана можете да видите базата данни с име “wordpress_database” с разширен списък с таблици. Имайте предвид, че всички таблици имат “wp_” префикс. Следващата стъпка е да експортирате структурата на базата данни от phpMyAdmin и го импортирайте във Vertabelo.

За да направите това, използвайте бутона „Експортиране“, след което изберете метода за експортиране „По избор“. Изберете името на базата данни, което искате да експортирате, и изберете нейната структура под Специфични за формата опции. В този случай SQL файл с DDL изрази ще бъде създаден и записан на диска.

След това влезте в Vertabelo.com и импортирайте своя SQL файл в новия модел на база данни. В таблото за управление щракнете върху бутона „СЪЗДАВАНЕ НА НОВ МОДЕЛ“. Попълнете текстовото поле „Име на модела“ с желаното име на модела на Vertabelo и изберете MySQL 5.5 в списъка „Двигател на базата данни“.

В повечето случаи искаме да започнем с празна база данни, което ще направи щракването върху бутона „СТАРТ МОДЕЛИРАНЕ“. Но в този случай искаме да използваме съществуващ SQL файл. За да постигнем това, трябва:

  1. Изберете „От SQL“ в секцията „Начален модел“.
  2. Щракнете върху бутона „Избор на файл“ и извлечете файла от нашия компютър с помощта на бутона „Преглед“.
  3. Щракнете върху бутона „Импортиране на SQL“.

Ако всичко е минало добре, ще видите „Моделът е импортиран успешно“. Също така, бутонът „СТАРТ МОДЕЛИРАНЕ” ще бъде активиран. Щракнете върху него и започнете да използвате съществуващия си модел.

Вече можем да добавяме нови функции или просто да се гордеем със себе си и нашия вкусно показан дизайн на база данни. Не забравяйте, че тази снимка струва хиляда думи!

В този момент моделът ще се отвори във Vertabelo и накрая ще видим нашите таблици – и не само като SQL код. Ще получим нещо подобно (пренаредих малко таблиците):




Първото нещо, което ще забележим, е липсата на връзки между таблиците. Това е така, защото стандартната инсталация на WordPress не налага референтната цялост. WordPress използва механизма за съхранение MyISAM, който предоставя повече функционалност и по-добра производителност, но не поддържа външни ключове.

За целите на тази статия създадох празен проект на WordPress и единственото нещо, което виждам, е празна страница. Може да звучи глупаво, но това е достатъчно, за да разгледате модела на база данни на WordPress. Колкото и сложен да е един WordPress сайт, той винаги използва едни и същи таблици. Използването на един и същ основен код и мета полета дава на WordPress достатъчно гъвкавост за стартиране на сайтове, без значение колко различна е тяхната функция, дизайн или стил.

Има още какво да видите в WordPress

Направихме WordPress наш пример, защото е широко използван и добре известен със своята простота. Въпреки това, бихме могли да използваме всяка друга CMS или всеки друг проект, който има база данни зад себе си. Обзалагам се, че можете да измислите много ситуации, в които бихте искали да преместите съществуващия си проект за база данни в инструмент за проектиране на база данни. Vertabelo предлага опцията за импортиране на предварително проектирани модели и продължаване на работата по тях в системата. По време на формирането на тази статия използвах Импортиране от файла с DDL операторите.

В следващата ни статия ще установим връзки между таблиците и ще разгледаме по-отблизо дефинициите на таблиците. Междувременно не се колебайте да споделите вашите идеи и обратна връзка в секцията за коментари по-долу.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Пример за оценка на нивата на съвместимост и кардиналността

  2. Изпращане на данни от SentryOne към калкулатора DTU на базата данни на Azure SQL

  3. Трябва ли да използвам NOT IN, OUTER APPLY, LEFT OUTER JOIN, EXCEPT или NOT EXISTS?

  4. Как да филтрираме записи с агрегатна функция AVG

  5. Какво представляват приложенията в реално време?