záhlaví

Autor: Jan Dohnal
Škola: ČVUT FEL
Semestr: 5. (2004/2005)
Předmět: 36DBS - Databázové systémy (cvičení ve čtvrtek 16:15)

Zde předkládanou práci jsem vytvořil samostatně s využitím těchto informačních zdrojů:

obsah

  • analytická část
  • SQL script pro vytvoření DB
  • SQL script pro počáteční naplnění databáze testovacími daty
  • script s 10 SQL "ad hoc" dotazy nad databází semestrálky
  • implementace několika funkcí vybraných z analýzy ve formě GUI databázové aplikace

    analytická část

    popis aplikace

    Program Česká hudba 2004 slouží pro evidenci kulturních akcí okolo české hudby a tím spojených dat. Program je funkční a je v provozu na stránkách http://www.czechmusic.org. Databáze byla navržena v programu IBExpert od firmy HK Software a program byl vyvinut za spolupráce s Divadelním ústavem.


    Popis tabulek databáze:

    E-R schéma úložiště dat

    Toto schéma bylo vytvořeno programem CASE Studio 2.15 od firmy CHARONWare.


    vytypování uživatelských rolí

    Všechny uživatelské role jsou již implementovány.

    dotazy nad databází

    1. "fulltextové" vyhledání $SearchStr v rámcových akcích

      select ra.IDRA,cistra.TEXT,ra.RAMNAZEV,ra.RAMISTO,ra.RAMOD,ra.RAMDO,ra.RAMDOPLNEK,ra.RAMLOGO from RAMEC ra,CISTRA cistra 
      where ra.IDRA>0 and cistra.CISTRA=ra.RAMTYP and (ra.RAMNAZEV like '%$SearchStr%' or ra.RAMISTO like '%$SearchStr%' or ra.RAMDOPLNEK like '%$SearchStr%') 
      order by ra.RAMNAZEV;
      Odevzvu na vyhledávání "Dvořák" si lze prohlédnout zde. Což samozřejmě vyhovuje zadání.
    2. zobrazení kalendáře akcí na srpen 2004

      select distinct ak.IDAK,ak.AKNAZEV,cispta.TEXT,ak.AKMESTO,ak.AKMISTO,ak.AKDATOD,ak.AKMESOD,ak.AKTERMIN,ak.AKDATDO,ak.AKMESDO,ak.AKPUBL from AKCE ak,CISPTA 
      where ak.IDAK>0 and cispta.CISPTA=ak.AKTYP and ((ak.AKDATUM>='1.8.2004' and ak.AKDATUM<='31.8.2004' or (ak.AKDATOD<='1.8.2004' and ak.AKDATDO>='31.8.2004'))
      order by ak.AKDATUM;
      Odevzvu na zobrazení kalendáře na srpen si lze prohlédnout zde. Což samozřejmě vyhovuje zadání.
    3. zobrazení poctu smazaných akcí

      select count(*) from AKCE where ak.IDAK<0;
      Odevzvou je 99 což odpovídá zadání.
    4. zobrazení počtu nepoužitých rámců

      select count(*) from RAMEC where not IDRA in (select IDRA from AKCE where IDAK>0);
      Odevzvou je 150 což odpovídá zadání.

    implementace několika funkcí vybraných z analýzy ve formě GUI databázové aplikace

    Systém byl napsán pomocí jazyků HTML, PHP a Javascript. Umístěn je na serveru Nipax.Cz s OS Linux (Debian) a programem Apache se zaimplementovaným PHP4 a další spoustou komponent (podpora Firebird, etc.). Pro programování byl použit textový editor NoteTab (tzn. zdrojový text nebyl generován).