SEMESTRÁLNÍ PRÁCE z předmětu KIV/DB1 Téma: Databáze MP3 souborů na CD Autor: Markéta Šmejkalová Osobní číslo: K05738 Akademický rok: 2007/2008
Stručný popis úlohy Abych vyhověla zadání semestrální práce z Databázových systémů 1, zvolila jsem jednoduchou databázi hudebních MP3 souborů na kompaktních discích. Předpokládám, že na každém CD je několik adresářů a v těchto adresářích jsou uložené jednotlivé soubory. Jeden MP3 soubor může být obsažen ve více adresářích zároveň (např. pokud je skladba na běžném albu i na výběrové desce), ale adresář se nemůže vyskytovat na více CD. Dále myslím, že je praktické vést evidenci míst, kde tato CD budou uložena, a to i v případě, že v daný okamžik CD fyzicky na tom místě nebude bude například používáno ale bude k němu jen náležet. Stejně tak mohou být CD půjčena, a proto do databáze patří i seznam potenciálních vypůjčitelů. Tuto databázi lze použít především pro účely většího přehledu hudebních nosičů v domácnostech, jejich rozmístění (např. v jaké jsou skříni a na jaké polici) a půjčování ostatním lidem (např. příbuzným). Datová analýza Datovou analýzu vyjadřuje ERA-model databáze, ve kterém jsou zobrazeny jednotlivé entity a vazby mezi nimi. era-model file (MP3 soubor) - primární klíč: ID file - další atributy: name (jméno souboru), interpreter (interpret), size MB (velikost v MB), length (doba trvání skladby) folder (adresář) - primární klíč: ID folder - další atributy: name (jméno adresáře), size MB (velikost v MB), date (datum vytvoření), CD (cizí klíč pro vazbu na CD) 2
CD - primární klíč: ID cd - další atributy: size busy MB (zaplněné místo na CD v MB), code (popisek na CD), location (cizí klíč pro vazbu na umístění), action (cizí klíč pro vazbu na výpůjčku), action date (datum výpůjčky) person (vypůjčitel) - primární klíč: ID person - další atributy: first name (jméno), surname (příjmení), address (adresa), phone (telefon), e-mail (e-mailová adresa) container (místo) - primární klíč: ID container - další atribut: place (název místa) is in (vazba patří) - tato tabulka slouží pouze jako pomocná tabulka při realizaci vazby mezi souborem a adresářem (z důvodu, že soubor se může vyskytovat na více adresářích M:N) Popis funkcí Jednoduché menu slouží k rychlejší orientaci a snazšímu přístupu k formulářům a vytvořeným dotazům. Přes toto menu lze vstoupit do všech tabulek databáze, za účelem jak prohlížení dat, tak i k jejich zadávání či modifikaci. Funkce: menu tlačítko end zavření celé databáze Přístup k formulářům tlačítko CD otevření formuláře CD prohlížení, přidání a změna záznamu, půjčení CD 3
tlačítko osoba otevření formuláře person prohlížení, přidání a změna záznamu, přehled o půjčených CD umístění otevření formuláře container prohlížení, přidání a změna záznamu, přehled o všech CD v tomto umístění uložených adresář otevření formuláře folder prohlížení, přidání a změna záznamu soubor otevření formuláře file prohlížení, přidání a změna záznamu, v podformuláři is in se zadává vazba mezi MP3 souborem a adresářem: formulář file s podformulářem is in Přístup k dotazům obsazené MB z CD zobrazí tiskovou sestavu všech CD, která mají zaplněno méně místa než... (zadaný parametr při spuštění dotazu) v praktickém použití je tento dotaz vhodný při hledání CD s volným místem, za účelem přidání dalšího adresáře (tzn. nemít zbytečně velké množství CD s plně nevyužitou kapacitou) půjčená CD zobrazí tiskovou sestavu osob, které mají půjčené CD a výpis všech těchto CD výpis všech MP3 souborů v adresářích na CD zobrazí tiskovou sestavu s přehledem všech skladeb (v jakém jsou adresáři a na jakém CD) 4
Závěr Během realizace celé databáze jsem musela změnit svůj původní záměr požadavek na zaznamenávání historie u umístění i u výpůjček. Z praktického hlediska je často potřeba zjistit, kde bylo CD v danou dobu nebo kdo ho měl v tu dobu půjčené, proto jsem tuto možnost chtěla evidovat i ve své databázi. Ovšem vzhledem k problémům s duplicitou CD a hlavně dat při půjčování jsem od toho upustila, a tak lze v databázi nalézt v daném momentě pouze aktuální stav. V atributu umístění je pouze záznam o tom, kde se aktuálně CD nachází a pokud není prázdný atribut výpůjčka, tak obsahuje osobu, která má CD půjčené. Pro zvýšení přehlednosti je alespoň u půjčování evidován datum, kdy k výpůjčce došlo. Kromě tohoto malého nedostatku splňuje aplikace moje očekávání a mohu ji snad bez větších úprav prakticky použít k evidenci domácích hudebních MP3 souborů, tedy k účelu, pro který i vznikla :). 5