Tvorba vlastní databáze s více tabulkami      Tomáš Hrabal                    Navrhujeme vlastní databázi    Datové typy  https://www.sqlite.org/datatype3.html    ­ standard SQL vs SQLite  ­ http://www.tutorialspoint.com/sqlite/sqlite_data_type s.htm          VELIKOST DATOVÉHO TYPU  snažíme se volit ne zbytečně velký datový typ      ­ CHAR vs VARCHAR vs TEXT  ­ INT vs SMALLINT vs TINYINT VS … BIGINT  ­ DATETIME (jaké máme formáty ?)  ­ BOOLEAN vs TINYINT              Tabulka    ­ PRIMARY KEY ­ unikátní klíč tabulky (počet záznamů VS  primární klíč, co je větší ?)  ­ AUTO INCREMENT ­ poslední záznam + 1  ­ NULL ? ­ může, či nemůže být atribut prázdný == NULL  ­ UNIQUE ­ automatická kontrola unikátnosti atributu  ­ DEFAULT VALUE ­ typicky aktuální čas  ­ INDEX ­  http://www.zive.cz/clanky/sql­po­seste­­­pouzivejte­index y/sc­3­a­4886/default.aspx                DATOVÉ MODELOVÁNÍ & RELACE  pojďme si vytvořit databázi knih a mnohem lépe                      JE TAKOVÉ HLEDÁNÍ POKAŽDÉ EFEKTIVNÍ ?  https://aleph.muni.cz/    ­ hledání podle vydavatele  ­ hledání podle jazyka  ­ hledání podle země                  ŘEŠENÍ? ​TÉMĚŘ ​KAŽDÝ DUPLICITNÍ ZÁZNAM MÁ  VLASTNÍ TABULKU      NORMALIZACE DATABÁZE  http://cs.wikipedia.org/wiki/Normalizace_databáze                      ­ vytvoříme tabulku publishers, countries, languages  ­ výhoda?                         ­ v databázi z 2. přednášky můžeme využít pro  language_original i language_traslation jednu tabulku  languages                  TYPY RELACÍ      ­ 1:1 ...  ­ 1:N ...  ­ N:M ...                    TYPY RELACÍ      ­ 1:1 … ne moc časté .. uživatel:heslo  ­ 1:N … vydavatel:knihy / příspěvěk na FB:komentáře  ­ N:M …autor:knihy                  Databáze knih ve studijních materiálech ­ 7. přednáška  books_2  http://tinyurl.com/qzhjpop    Otázka: Počet knih VS primární klíč. Souhlasí ?              INNER JOIN      Vypiš všechny knihy s vydavatelem.    Vypiš všechny knihy s jazykem i vydavatelem.                    Vypiš vydatele a počet jím vydaných knih. Seřaď od  nejčastějšího vydavatele.      Vypiš jazyk a počet knih v něm napsaných. Seřaď od  nejčastějšího jazyka.                      Otázky na příště    Co když kniha nemá v databázi jazyk nebo vydavatel?  Co když má kniha více jazyků?