osobní stránky / internetová prezentace ver.2.0
Panoramatická fotka v záhlaví stránky

Šesté cvičení

Zadání cvičení

Pomocí příkazů SQL vytvořte jednoduchou databázi pro účely ordinace praktického lékaře, a to následujícím způsobem:

  • Databáze bude obsahovat informace o lékařích (ti se v ordinaci střídají) a pacientech, které mají na starosti. Tabulky naplňte daty z tabulek 1 a 2.
  • Dále vytvořte tabulku, do které bude možné zaznamenávat návštěvy jednotlivých pacientů.
  • Zkuste vložit záznam o návštěvě některého z pacientů. Chceme si ukládat tyto informace: Kdo pacienta vyšetřil a s jakou diagnózou, a kdy návštěva proběhla (případně ještě umožněte vložit nějakou poznámku o vyšetření).
  • Na základě vytvořených tabulek proveďte dotaz SELECT, pomocí kterého vypíšete následující údaje o návštěvách pacientů v ordinaci (zároveň budou tyto názvy použity jako názvy sloupců) a seřaďte jej podle data návštěvy u lékaře od nejnovější k nejstarší.
    • Jméno pacienta
    • Jeho rodné číslo
    • Datum návštěvy u lékaře
    • Jméno ošetřujího lékaře
    • Diagnóza
    • Poznámka
  • Zkuste vložit záznam o neexistujícím pacientovi (ten který není uveden v Tab.2).

Poznámka: Při vytváření datové struktury jednotlivých objektů dbejte na správnou(!) volbu datových typů a případných omezení sloupců. Stejně tak pečlivě definujte referenční integritu (správné definování primárních a cizích klíčů).

Tab.1.Seznam lékařů v ordinaci

jméno číslo licence specializace
MUDr.Jan Novák 23412 praktický lékař
MUDr.Evžen Janota 26349 praktický lékař

Tab.2.Seznam pacientů přihlášených do ordinace

jméno rodné číslo bydliště telefon
Stránský Aleš 450228/4767 Pod Hájem 324 , 267 01 Brno 602345967
Krátký František 550614/2247 U Rybníka 5, 466 01 Brno 604587222
Králová Iveta 655407/4522 Nerudova 35, 301 00 Brno 607465197
Novotná Dagmar 675803/0456 Koupelní 19, 695 01 Brno 606222456
Klímová Ivana 776121/2527 Horní náměstí 2 , 746 01 Brno 731382967
Bohdal Jaroslav 780413/1417 28. října 979/19 , 405 01 Brno 777534023
Plašil Milan 790604/4567 Aloise Krále 4, 796 01 Brno 777402396
Sejkora Karel 801231/8375 U Nisy 6a , 460 01 Brno 775609222
Šimůnková Pavla 805619/6567 Bítouchovská 1, 513 01 Brno 776026229
Nováková Lucie 825513/4467 Vodňanská 329 , 383 01 Brno 606396208

Tab.3. Návštěvy pacientů v ordinaci

ID_navstevy lékař pacient diagnóza datum poznámka
1 23412 450228/4767 arachnofobie 12-12-2009 agresivní
2 26349 776121/2527 hysterie 18-12-2009 -
3 26349 780413/1417 spála 11-12-2009 -

Výběry z více něž jedné tabulky

Jedná se o využití příkazu SELECT s rozšířenou syntaxí.

Obecná syntaxe:

SELECT jmeno_sloupce, jmeno_sloupce2...
FROM tabulka1, tabulka2...
WHERE podmínka pro spojení

V případě, že máte v dvou tabulkách stejně pojmenované sloupce, je nutné je zapsat do podmínky SELECT jako „UCO“.tabulka.nazev_sloupce aby došlo k jejich odlišení v jednotlivých tabulkách.

Podmínka pro spojení může být „rovno“ (jméno v jedné tabulce = jméno v druhé tabulce) nebo také „větší, menší apod.“.

Je také možno využívat všech dalších rozšíření příkazu SELECT, jako je ORDER, GROUP, apod.

Pojmenování sloupců na výstupu

Jedná se pouze o pojmenování sloupců při výsledku dotazu. Název je platný pouze pro tento dotaz.

Obecná syntaxe:

SELECT jmeno_sloupce_tak_jak_je_zapsane_v_db 
AS libovolný_unikátní_název_klidně_i_s_diakritikou
databaze/seste_n.txt · Poslední úprava: 10.12.2009 07:57 autor: databaze
Tento web používá technologie Dokuwiki a OATG
© 1997 - 2012, Zbyšek Podhrázský, podhrazsky@zbych.cz