shema joomla baze podataka

Upload: sasa-tadic

Post on 07-Apr-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/4/2019 Shema JOOMLA Baze Podataka

    1/5

    1

    Saa Tadi, dipl ing raunarske tehnike

    web site:http://sasatadic.net46.net/Crvanj

    e-mail:[email protected]

    Podgorica

    Shema JOOMLA baze podataka

    Baza podataka JOOMLA sistema inicijalno ima jednu emu - information_schema kojapredstavlja data dictionary baze podataka JOOMLA sistema. U ovoj emi se nalaze podacio svim objektima baze podataka i auriraju se automatski sa kreiranjem i promjenompodataka u svim emama koje se u medjuvremenu kreiraju i odravaju. Tipino, u ovojemi postoji npr tabela pod imenom TABLES a u njoj se nalaze podaci o svim tabelamakoje se nalaze u svim emama MySQL baze podataka. Ako napravimo 5 internet siteova,trebaemo instalirati 5 puta JOOMLA na hostove ali svi oni e koristiti istu MySQL bazupodataka i u tabeli TABLES e se nalaziti 5 puta iste sistemske tabele od JOOMLAinstalacija. Naravno, u tabeli TABLES u svakom entitetu, pored imena svake tabele seupisuje i ime eme kojoj tabela pripada tako da se stvari ne mogu pomjeati. U data

    dictionary-u se nalaze i tabele u kojima se uvaju podaci o kolonama koje su definisane isvim tabelama svih ema, zatim tabele sa podacima o trigerima, pravima baznihkorisnika na tabelama (select, insert, update, delete) itd.

    Prilikom kreiranja sitea i prilikom instalacije JOOMLA sistema je obavezan korak kreiranjekorisnika i foldera u kojem e se nalaziti na budui site. Ovim korakom se u MySQL bazipodataka kreira ema u kojoj e se nalaziti svi podaci potrebni za konkretni site i u kojue se unositi podaci o artiklima i o aktivnostima korisnika sajta. Ukoliko pravimo 10 site-ova, treba formirati 10 ema i svaka od ema treba da ima svog superuser-a. Obzirom dase sve eme nalaze u jednoj istoj MySQL bazi podataka i obzirom da se ovi korisniciformiraju na nivou MySQL-a to 2 site-a ne mogu imati user-e na nivou baze sa istim

    imenom. Ovo ne treba mjeati sa korisnicima JOOMLA sistema koji se kasnije kreirajukroz JOOMLA sistem za konkretni site a za koje vai da u 2 eme mogu postojati korisnicisa istim imenom (tipino - korisnik sa imenom "guest" moemo imati na svim siteovima ina svakom e on imati svoj password i svoja specifina prava pristupa).

    http://sasatadic.net46.net/Crvanjhttp://sasatadic.net46.net/Crvanjhttp://sasatadic.net46.net/Crvanjmailto:[email protected]:[email protected]:[email protected]:[email protected]://sasatadic.net46.net/Crvanj
  • 8/4/2019 Shema JOOMLA Baze Podataka

    2/5

    2

    Sljedea slika prikazuje model podataka JOOMLA 1.6 sistema

    Slika je preuzeta sa sitea:

    http://www.torkiljohnsen.com/wp-content/uploads/2010/07/joomla_1.6_database_schema.png

    Zbog jasnoe prikaza, u prethodnom dijagramu nisu prikazane ba sve veze. Neke sepodrazumjevaju - created_by, modified_by, locked_by, created_user_id,modified_user_id i checked_out referenciraju polje users.id

    Nisu prikazane ni veze koje postoje izmedju view-ova koji su posebno definisani objektisistema ali se to ni ne kontrolie direktno kroz samo bazu tokom rada sistema.

    U Joomla verziji 1.6 prilikom instalacije sistema se formiraju sljedee tabele u MySQLbazi podataka:

    http://www.torkiljohnsen.com/wp-content/uploads/2010/07/joomla_1.6_database_schema.pnghttp://www.torkiljohnsen.com/wp-content/uploads/2010/07/joomla_1.6_database_schema.pnghttp://www.torkiljohnsen.com/wp-content/uploads/2010/07/joomla_1.6_database_schema.pnghttp://www.torkiljohnsen.com/wp-content/uploads/2010/07/joomla_1.6_database_schema.pnghttp://www.torkiljohnsen.com/wp-content/uploads/2010/07/joomla_1.6_database_schema.png
  • 8/4/2019 Shema JOOMLA Baze Podataka

    3/5

    3

    jos_categories - Svaki slog tabele sadri podatak o jednoj kategoriji koja jedefinisana u sistemu, nezavisno od toga da li je uz nju vezan ili ne neki artikal -lanak. Kategorije su uglavnom vezane za lanke - artikle ali kategorije mogu isame da formiraju pod kategoriju (imaju foreign key - FK sami na sebe) kao i daobezbjedjuju kategorije za : web linkove, newsfeeds, kontakte, banere pa svetabele koje vode evidenciju o ovim entitetima imaju FK na kategorije

    jos_weblinks - Svaki slog tabele sadri podatke o jednom web linku koji smodefinisali u sistemu kroz komponentu WebLinks. Kategorija za web linkove se prijedefinicije linka treba kreirati a ona se upisuje u tabelu jos_categories

    jos_languages - Svaki slog tabele sadri podatak o jednom jeziku koji je instalisanu sistemu

    jos_newsfeeds - Svaki slog tabele sadri podatke o jednom newsfeeds-u.Kategorija kojoj newsfeeds pripada je definisana u jos_categories

    MODULES jos_modules - Svaki slog tabele sadri informaciju o jednom modulu - ekstenziji

    sistema jos_modules_menu - Svaki slog tabele sadri informaciju o aktivnom modulu i

    stavci menija kojem je modul dodjeljen

    MENU jos_menu - Svaki slog tabele sadri podatke o jednom menu item-u koji je kreiran

    u sistemu, meni moe imati svoj nadredjeni medi. Svaki meni moe imati specifiantemplate po kojem je realizovan (sadri atribut koji je referenca tabele

    jos_template_styles) jos_menu_types - Tabela sadri popis menija koji su postavljeni u sistemu jos_template_styles - ifarnik svih raspoloivih templatea koji se trenutno nalaze

    na sajtu

    CONTENT

    jos_content - Svaki slog tabele sadri podatke o jednom korisniki definisanomobjektu sistema. To su najee tekstovi - articles, ali tu su i linkovi prema vanjskimkomponentama (prema recimo YouTube sadraju) ili XML fajl kojim se generiesadraj - struktura web sitea. U slogu ove tabele se mogu nalaziti reference prema:

    jos_categories (kategorija kojoj clanak pripada), jos_assets (prava pristupa),jos_languages (jezik kojim je ispisan)

    jos_content_frontpage - Sadri slogove sa id-ovima artikala koje smo odabrali(opcija "feature") da se pojavljuju na prvoj strani prezentacije

    jos_content_rating - Sadri informacije o rejtingu svakog korisniki definisanogobjekta (ukoliko je ta funkcionalnost aktivirana) - koliko puta je pristupljeno objektui kako je ocjenjen kvalitet objekta

    BANNER jos_banners - Svaki slog tabele sadri podatke o jednom baneru koji je povezan

    sa jednim klijentu. Baneri pripadaju nekoj kategoriji banera. Klijent moe imati viebanera. Ima reference prema jos_banner_clients i jos_categories

    jos_banner_clients - Svaki slog tabele sadri podatke o jednom klijentu za kojegse pravi banner

    jos_banner_tracks - Tabela u kojoj se snimaju statistike o aktiviranju banera ikoje se mogu pratiti kroz back_end modul

    SEARCH, REDIRECT jos_core_log_searches - Ukoliko je ukljucena opcija za snimanje statistike o

    upotrebi search modula, u ovoj tabeli se upisuje kriterijum koji je korisnik postavio iukupan broj pogodaka. Kasnije se ovo moe analizirati u back_end modulu iopciono brisati

  • 8/4/2019 Shema JOOMLA Baze Podataka

    4/5

    4

    jos_redirect_links - Svaki slog tabele sadri podatke (kada je sistem setovan daovo prati) ili o jednoj redirekciji koju je JOOMLA sistem izvrio na "Page not found"(a koju je administrator opciono reaurirao na neku korektnu stranicu) ili gdje jeadministrator definisao kako da se vri redirekcija.

    USERS, MESSAGES

    jos_users - Svaki slog tabele sadri podatke o jednom korisniku koji je kreirankroz podsistem za registraciju korisnika JOOMLA sistema ili preko login modula dio

    za registraciju jos_contact_details - Svaki slog tabele sadri podatak o jednoj osobi koja je

    definisana za kontakt a koja pripada nekoj od kategorija za kontakt (FK nakategorije). Osoba nema veze sa korisnikom JOOMLA sistema (user/pasword) alimora imati jedinstven email nalog. Svaki slog moe (ali ne mora) da ima vezuprema tabeli jos_users to znai da kontakt osoba moe da ima svoj nalog zaprijavu na web site.

    jos_messages - Tabela sadri podatke o poruci koja je prosljedjena od jednogkorisnika ka drugom korisniku sistema

    jos_messages_cfg - tabela sadri konfiguracione parametre poruke koje seupuuju od nekog korisnika jos_session - Tabela sadri popis trenutno aktivnih korisnika na bazi podataka za

    konkretnu emu jos_user_profiles - Tabela je povezana sa tabelom jos_users i u njoj se mogu

    definisati neki opti podaci (parametri) za komunikaciju konkretnog user-a sasistzemom: vremenska zona, editor, jezik za front_end i za back_end isl

    ACL

    jos_assets - definie access control list za artikle u sistemu. Tabela seponaa kao ifarnik jer tabele artikala i kategorija imaju u sebi ifruassets-a a slog assets-a se odnosi na komponentu koja kontrolie

    konkretni artikal. Ovo je jedna od novih funkcionalnosti JOOMLA sistemai zahtjeva posebno obrazloenje na nekom drugom mjestu. jos_user_usergroup_map - Tabela agregacija korisnika i korisnikih

    grupa. Svaki korisnik treba da pripada bar jednoj korisniko grupi jos_viewlevels - ifarnik nivoa pristupa (access control liste) - integrie

    nekoliko korisnikih grupa u jedan nivo - jednu access control listu. Istakorisnika grupa moe pripadati veem broju lista

    jos_usergroups - ifarnik svih moguih korisnikih grupa. Sistemski jedefinisano nekoliko grupa a mogue je dodavati i nove

    EXTENSION, UPDATES jos_extensions - Svaki slog tabele sadri podatak o jednoj ekstenziji

    (komponenta, modul, plugin) koja je instalisana u sistemu jos_update_sites - Tabela - ifarnik site-ova sa kojih se vri update extenzija

    sistema. Ukoliko se update vri kroz "update from site" u back end moduluadministracije sistema.

    jos_update_sites_extensions - Tabela agregacija jos_uPdate_sites ijos_extensions. Svaki slog sadri samo primarne kljueve iz ove dvije tabele

    jos_update_categories - Tabela ifarnik trebala bi da sadri vrste - kategorijeupdate-a

    jos_updates - Tabela agregacija izmedju jos_updates_categories i jos_extensions jos_schemas - Tabela kako je postavljena (sadri FK na jos_extension) mogla bi

    se koristiti da uva informacije o brojevima verzija ekstenzije koje su instalisane.

    Unutar eme ne postoje eksplicitni referencijalni integriteti (kontrola se vri krozaplikaciju) tako da ono to u tekstu nazivam FK - foreign key je samo teoretski aspekt jeru bazi to nije realizovano. Aplikacija je mjesto gdje se sve to kontro lie i mjesto gdje ako

  • 8/4/2019 Shema JOOMLA Baze Podataka

    5/5

    5

    neta sa integritetima ne valja moe da "pukne". Stvari bi se svakako mogle definisati ina data dictionary-a nivou. Sada su jedini constraints primarni kljuevi i unique na nivoutabela te opcione vrijednosti null i not null.

    Imajo dosta stvari oko nekih "neloginosti" u internoj organizaciji podataka koje su"jeres" za projektante baza podataka , ali o tome nekom drugom prilikom