1 / 8

4IT445 – DB

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í:

penney
Download Presentation

4IT445 – DB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ing. Jan Mittner 4IT445 – DB

  2. Osnova • MySQL Workbench • Základy práce s databází • Subversion

  3. 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

  4. 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

  5. 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()

  6. 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

  7. 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/

  8. Ú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)

More Related