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.
menu
Funkce: • 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