Komplexní datové modelování      Tomáš Hrabal                          Domácí procvičování  dotazy ?              JOIN opakování    databáze:    IS ­ Studijní materiály, 7. přednáška  http://is.muni.cz/el/1421/jaro2016/VIKBB68/um/62667691/books_2.sqlite          Vypiš počet knih.    Vypiš všechny knihy. Název knihy a jméno  vydavatele knihy.                      INNER JOIN vs  LEFT / RIGHT JOIN    NULL a NOT NULL při návrhu                  NOT NULL ­ CONSTRAINTS  https://www.sqlite.org/foreignkeys.html    ­ při vytváření tabulek pojmenujeme vzájemné závislosti  ­ mazání záznamů z tabulky pak musí mít logickou  návaznost                    Vypiš všechny knihy. Vypiš jejich vydavatele a jazyk v němž  jsou napsány. (název knihy, jméno jazyka, jméno vydavatele)    Porovnej variantu s INNER JOIN a LEFT JOIN                  Rozdíl mezi těmito 3 dotazy:    Použij INNER JOIN  Vypiš jazyk knihy a počet knih napsaných v tomto jazyce.     Použij LEFT JOIN  Vypiš jazyk knihy a počet knih napsaných v tomto jazyce.       Použij LEFT JOIN a obrať pořadí tabulek. (RIGHT JOIN)              Opakování WHERE a HAVING dohromady      Vypiš všechny vydavatele knihy obsahující “ a ” a počet knih  vydaných tímto vydavatelstvím. Vydaných knih od tohoto  vydavatelství musí být mezi 100 ­ 300.                      VAZBA MEZI TABULKAMI M:N    ● knihu může napsat více autorů (kniha : autor == 1 : N )  ● autor může napsat více knih (kniha : autor == N : 1)    ● vztah předmět a učitel  ● vztah diskuze pod předmětem a diskuzní příspěvek  ● vztah student a předmět        VAZEBNÍ TABULKA ODKAZUJÍCÍ SE NA PRIMÁRNÍ KLÍČE SPOJOVANÝCH  TABULEK                Nová databáze        http://is.muni.cz/el/1421/jaro2016/VIKBB68/um/62778286/ books_complex.sqlite                    GROUP a GROUP_CONCAT         Vypiš knihu a autory knihy.    Vypiš knihy, autory knihy a počet autorů knihy.  Seřaď podle počtu autorů sestupně.          DISTINCT ­ “spojí” duplicitní záznamy    Vypiš počet unikátních autorů pomocí tabulky  books_authors.               Vypiš autory s nejvíce napsanými knihami a počet jejich  knih. Seřaď podle počtu knih sestupně.        Pokud používáme agregační funkce, je třeba se  zamyslet nad čím používáme GROUP. Název knihy  nemusí být to samé jako id knihy. V optimální databázi  bychom např. unikátní knihy našli pomocí ISBN. V naší  se musíme spolehnout na název knihy, který ale  unikátnost nezajišťuje.        Vypiš knihy autora s id 3563.      Vypiš knihy autora se jménem “Jaroslav Peprník”.      Vypiš autory s nejvíce napsanými knihami a počet jejich  knih. Seřaď podle počtu knih sestupně. Vyřaď duplicity podle  názvu! (můžete vyzkoušet i podle id knihy)