Podle toho, co jsi psal, to vypadalo spíš na nějaký školní projekt.
nene, to už je dáávno pryč :-), ani jsem nic kolem IT nestudoval, to akorát příležitostně se dostanu před úkol něco naprogramovat a jelikož to není moje denní hobby tak mi chvilku trvá, než se rozjedu ...
Pokud je to produkční aplikace, tím spíš bych pořádný návrh databáze nepodceňoval. Časem můžeš zjistit, že jsou některé dotazy, které potřebuješ, pomalé (na malém množství dat se to nemusí projevit + ta databáze může časem narůst i co do počtu tabulek atd) nebo tam budeš mít některá data 2x (anebo u ne-normalizovaných databází se můžou i ztrácet). To, že máš chybu v aplikaci snadno opravíš - sice přesvědčit uživatele, aby si nainstalovali update občas není sranda, ale lze to řešit. Nicméně když se Ti podrbou data, tak to často spravit nelze.
souhlasím s tím, že věci se mají dělat pořádně od začátku, ale v tomto případě se jedná o aplikaci, která fungovala 3 roky a plně postačovala potřebám pracoviště. A hlavní důvod přechodu k DB byl v tom, že při ukládání dat do sady textových souborů jsem nebyl schopen najít jediného člověka, který by dokázal zkopírovat soubor(y) z disku (např. c:\adresar\soubor.dat) na záložní paměťové médium, a tak jsem těch iks strojů obcházel pravidelně sám, což se projevilo v patřičné ztátě času. Předpokládám, že pokud to bude teď fungovat spolehlivě, tak na to nebudu muset dalších několik let šáhnout.
Co se týče rychlosti, tak při běžném provozu je odezva bleskurychlá, drobné prodlevy se objevují při zpracování statistik za delší období, což je ale výjimečná situace. Ale zajímalo by mě teda následující:
V hlavní tabulce, která primárně roste je cca 30000 záznamů. Pro statistiky za celou historii se dotážu takto
SELECT u.*, p.* FROM ukony u, vysetreni v, pacienti p WHERE u.VysetreniID=v.ID AND u.PacID=p.ID ORDER BY v.Nazev
tab u má cca 30000 řádků x 15 sloupců
tab v má cca 100 řádků x 2 sloupce
tab p má cca 20000 řádků x 7 sloupců
odezva na dotaz trvá cca 1s (při opakování) na localhostu Core2Duo 2.66GHz, 8 GB RAM, MySQL 5.5, Ubuntu 12.04 amd64
Je to odpovídající čas, nebo by to mělo jít významně urychlit změnou struktury databáze apod ? Jestli jsem se ale zeptal pitomě, tak na mě nic nehažte :-)