80 likes | 234 Views
Ing. Jan Mittner. 4IT445 – DB. Osnova. MySQL Workbench Základy práce s databází Subversion. MySQL Workbench. nástroj MySQL Workbench pochází přímo z dílny MySQL a slouží pro modelování MySQL databází http://wb.mysql.com/ stručné shrnutí hlavních funkcí:
E N D
Ing. Jan Mittner 4IT445 – DB
Osnova • MySQL Workbench • Základy práce s databází • Subversion
MySQLWorkbench • nástroj MySQL Workbench pochází přímo z dílny MySQL a slouží pro modelování MySQL databází • http://wb.mysql.com/ • stručné shrnutí hlavních funkcí: • kompletní tvorba DB diagramů – tabulky, sloupce, relace, indexy atd. • generování SQL pro zakládání diagramů v DB • možnost napojení přímo na DB • reverse engineering • nástroj umí pracovat i s diagramy svého předchůdce nástroje DBDesigner
Zend_Db • komponenta Zend_Db Zend Frameworku slouží pro práci a komunikaci s databází • http://framework.zend.com/manual/en/zend.db.html • objektově relační mapování v podobě vzorů Table Data Gateway a Row Data Gateway umožňuje snadné navázání programových objektů na tabulky v databázi a jejich relace • Zend_Db_Table • abstraktní objekt zaobalující vybranou tabulku v DB, její atributy a vazby na další tabulky, resp. objekty • umožňuje základní CRUD operace • Zend_Db_Table_Row • abstraktní objekt zaobalující záznam v DB tabulce, resp. konkrétní instanci doménového objektu • obohacením objektu o další doménovou logiku dochází k aplikaci vzoru Active Record
Připojení k DB • připojení k DB Zend Framework realizuje automaticky na základě přístupových údajů v konfiguraci • konfigurační soubor - /application/configs/application.ini • položky v rámci balíčku resources.db • v inicializačním objektu Bootstrap spouštíme SQL příkaz pro nastavení správného kódování připojení k DB • metoda _initDatabase()
Produkty • Modely (v adresáři /application/models) • Product • konkrétní produkt, potomek třídy Zend_Db_Table_Row_Abstract • implementuje dodatečnou doménovou logiku v podobě metody printPrice() • Products • kontejner produktů, potomek třídy Zend_Db_Table_Abstract • definuje vazbu na tabulku v DB a objekt reprezentující konkrétní produkt • ProductController • zrevidujeme použití objektů modelu • šablony • zrevidujeme použití objektů modelu
Subversion • systém Subversion určený pro verzování souborů je vhodné v projektových týmech silně využívat pro zpřehlednění vývoje a sdílení kódu aplikace • je možné využít různé SVN klienty – doporučujeme TortoiseSVN a modul Subclipse v rámci Eclipse PDT • každý tým disponuje vlastním úložištěm • každý člen má přístup k týmovému úložišti • každý tým má FTP úložiště a databázi • po commitu do Subversion se změny automaticky projeví na FTP, tudíž je zde dostupná poslední funkční verze aplikace • do Subversion není vhodné commitovatdočasné soubory a Zend knihovnu – raději na tyto adresáře / soubory použít příkaz svn:ignore a nahrát je na FTP ručně • osobní i týmové přístupové údaje jsou dle vzoru viz http://4it445.vse.cz/
Úkoly • vytvořte postupně komponentu článků dle vzoru komponenty produktů • vytvořte DB tabulku – tabulka articles s patřičnými sloupci • vytvořte modely – objekty Article a Articles • vytvořte controller – objekt ArticleController • vytvořte view – šablony index.phtml a preview.phtml v podadresáři article • přidejte přepisovací pravidla do objektu Bootstrap • přidejte položku do menu (šablona layoutu layout.phtml)