Úvodní díl toho seriálu byl poněkud suchopárný, a proto si rovnou vytvoříme databázi třeba vizitek.
Proč vizitky? Vždyť na to je Outlook! No, protože chceme vizitky uložit na netu, abychom je měli neustále k dispozici třeba na svém P910i .
Pomocí SQL dotazu vytvoříme databázi:
CREATE DATABASE vizitky;První nápad vytvořit tabulku s názvem vizitky a jedním atributem vizitka podrobíme podrobnějšímu zkoumání: Pokud bychom postupovali naznačeným způsobem zřejmě bychom narazily na následující problémy:
Řešením je rozdělit informaci do více sloupců. Například takto:
vizitky (1)
To co jsme takto vytvořili je vlastně popis objektu vizitka pomocí jeho atributů. Jednoduché, že? Ve skutečnosti je tento proces nejsložitější částí při vytváření aplikace. Uvědomme si, že na této činnosti vlastně závisí Integrita (konsistence) dat, to je popis (obraz) reálného objektu v naší databázi. Existují nejrůznější postupy a frameworky, které se snaží více či méně úspěšně problematiku řešit jako například UML , je dobré si tento seriál na intervalu prostudovat. Proces analýzy se nevyplatí podceňovat, protože známým faktem je, že pokud ušetříme při analýze 10 Kč, oprava takto vzniklé chyby v aplikaci bude stát 100× více.
Nicméně, vizitka je tak jednoduchý objekt, že nasazení UML skutečně nepotřebuje.
V předchozím dílu jsme ve výkladu pojmů definovali pojem primární klíč. Nyní se pokusíme určit parametry primárního klíče pro náš příklad:
při pohledu na navrženou strukturu bude možná primárním klíčem kombinace sloupců: jméno+příjmení+titul+pozice+firma.
Když tento primární klíč analyzujeme z hlediska požadavku na jednoznačnost, docházíme k závěru, že za jistých okolností nemusí být takto navržený primární klíč jednoznačným určením řádku tabulky. Můžeme například doplnit číslo mobilního telefonu, ale požadavek na jednoznačnost není opět na 100% splněn. Takže co s tím?
Řešením je přidání nového sloupce nazvaného id do námi navržené tabulky. Obsahem tohoto sloupce bude jednoznačné číslo generované databázovým systémem. Toto číslo je neopakovatelné v rámci jedné tabulky, to znamená, že pokud záznam z tabulky fyzicky vymažeme, nebude už nikdy použito.
Zároveň upravíme názvy sloupců do „strojovějšího“ tvaru – eliminujeme diakritiku, mezery a zkrátíme délky názvů:
vizitky (2)
O příkladu vizitky (1) říkáme že se jedná o logický model (tabulky a atributy jsou zde prezentovány logickými popisy – těmi, které budou použity při vytváření uživatelského rozhraní) a fyzický model (příklad vizitky (2)) s názvy tabulek a sloupců tak, jak jsou uloženy v databázi.
Jako další krok bude určení datových typů jednotlivých atributů tabulky.
Nevíte, co to jsou datové typy? Čtenáři za mnou!
Datovým typem rozumíme typ dat. Každý databázový systém má odlišnou množinu datových typů, nicméně v našem případě se jedná o následující (podle MySQL):
Takže to provedeme:
vizitky (3)
Takže nyní můžeme napsat SQL skript pro vytvoření tabulky vizitky a nechat MySQL v naší databázi „vizitky“ tabulku vytvořit:
CREATE TABLE vizitky (
id int(4) NOT NULL auto_increment,
prijmeni varchar(25) default NULL,
jmeno varchar(25) default NULL,
titul varchar(10) default NULL,
pozice varchar(15) default NULL,
firma varchar(40) default NULL,
obec varchar(30) default NULL,
ulice varchar(40) default NULL,
psc varchar(5) default NULL,
cislo_popisne varchar(5) default NULL,
telefon varchar(13) default NULL,
mobil varchar(13) default NULL,
fax varchar(13) default NULL,
email varchar(25) default NULL,
web varchar(40) default NULL,
poznamky text,
PRIMARY KEY (id),
UNIQUE KEY id (id)
) ENGINE = MyISAM; Do takto vytvořené tabulky si můžete zkusit nějaké vizitky napsat, třeba přitom přijdete na to, co je tam špatně. Ale o tom až příště.
16 říjen 2005, 18:00 Autor:Aleš Dobrovolný
Líbil se vám tento článek? Pošlete odkaz na:
Tweet
Nebo pošlete sponzorskou SMS.