StudyMates Aplikace pro studenty
102 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Společnost StudyMates s.r.o. se specializuje na vývoj softwaru pro studenty a učitele.

False (B)

Aplikace StudyMates umožňuje uživatelům nahrávat pouze PDF dokumenty.

False (B)

Cílem StudyMates s.r.o. je usnadnit studentům archivaci a třídění studijních materiálů.

True (A)

V současné době má StudyMates s.r.o. přibližně 1000 aktivních uživatelů.

<p>False (B)</p> Signup and view all the answers

Uživatelé mohou svojí aplikaci přizpůsobit změnou systémového nastavení.

<p>True (A)</p> Signup and view all the answers

Databáze aplikace StudyMates slouží pouze pro uchovávání materiálů a uživatelů.

<p>False (B)</p> Signup and view all the answers

Uživatel se registruje do aplikace tím, že vyplní své jméno, příjmení a datum narození.

<p>False (B)</p> Signup and view all the answers

Aplikace StudyMates provádí analýzu obsahu ihned po nahrání materiálu.

<p>True (A)</p> Signup and view all the answers

Každý materiál může mít pouze jedno systémové nastavení.

<p>True (A)</p> Signup and view all the answers

Jeden uživatel může vytvořit více kvízů.

<p>True (A)</p> Signup and view all the answers

Každý kvíz může mít více autorů.

<p>False (B)</p> Signup and view all the answers

Materiál může být přiřazen pouze k jedné kategorii.

<p>True (A)</p> Signup and view all the answers

Uživatelé mohou psát poznámky pouze k otázkám v kvízu.

<p>False (B)</p> Signup and view all the answers

Systémové nastavení může být změněno při každém přihlášení.

<p>True (A)</p> Signup and view all the answers

Každý uživatel může mít více poznámek k jednomu materiálu.

<p>True (A)</p> Signup and view all the answers

Výsledky kvízů jsou nezávislé na uživatelských účtech.

<p>False (B)</p> Signup and view all the answers

Při mazání uživatele mohou být jeho materiály a kvízy odstraněny.

<p>True (A)</p> Signup and view all the answers

Jeden uživatel může mít více výsledků kvízů.

<p>True (A)</p> Signup and view all the answers

Klíčové informace mohou být přiřazeny pouze k jedné otázce v kvízu.

<p>False (B)</p> Signup and view all the answers

Každý dokument musí být přiřazen jednomu uživateli.

<p>True (A)</p> Signup and view all the answers

Uživatel musí mít před registrací platný email.

<p>True (A)</p> Signup and view all the answers

Každý dokument může obsahovat více klíčových informací.

<p>True (A)</p> Signup and view all the answers

Každý kvíz musí obsahovat alespoň jednu otázku.

<p>True (A)</p> Signup and view all the answers

Každá otázka může mít více než jednu odpověď.

<p>True (A)</p> Signup and view all the answers

Poznámka musí být přidělena ke každému dokumentu.

<p>False (B)</p> Signup and view all the answers

Smyčky se v aktuálním konceptuálním schématu nevyskytují.

<p>True (A)</p> Signup and view all the answers

Každá odpověď může existovat bez přiřazené otázky.

<p>False (B)</p> Signup and view all the answers

Každá klíčová informace může být spojena s více dokumenty.

<p>False (B)</p> Signup and view all the answers

Uživatel může mít uloženo více výsledků kvízů.

<p>True (A)</p> Signup and view all the answers

Každá otázka musí mít typ.

<p>True (A)</p> Signup and view all the answers

Kategorie může obsahovat maximálně jeden dokument.

<p>False (B)</p> Signup and view all the answers

Odpovědi mohou být přiřazeny více než jedné otázce.

<p>False (B)</p> Signup and view all the answers

Systémové nastavení může mít vliv na databázové schéma.

<p>False (B)</p> Signup and view all the answers

Existence cyklu v databázovém schématu by mohla vést k datovým nekonzistencím.

<p>True (A)</p> Signup and view all the answers

Každý dokument může mít více poznámek, pokud si je student zadal.

<p>True (A)</p> Signup and view all the answers

Každá poznámka může být přiřazena více dokumentům.

<p>False (B)</p> Signup and view all the answers

Každý uživatel může mít své vlastní systémové nastavení.

<p>True (A)</p> Signup and view all the answers

Každé systémové nastavení může patřit více uživatelům.

<p>False (B)</p> Signup and view all the answers

V tabulce QUESTIONS může být atribut typeQuestion definován jako M nebo T.

<p>True (A)</p> Signup and view all the answers

Primární klíč v tabulce USERS je id_setting.

<p>False (B)</p> Signup and view all the answers

Každý kvíz má jedinečné ID, název a datum vytvoření.

<p>True (A)</p> Signup and view all the answers

Tabulka NOTES uchovává odpovědi patřící k otázkám.

<p>False (B)</p> Signup and view all the answers

Omezení CHECK na sloupci typeQuestion zajišťuje, že hodnoty nemohou být prázdné.

<p>False (B)</p> Signup and view all the answers

V případě vztahů M:N byla vytvořena vazební tabulka CATEGORIES_DOCUMENTS.

<p>True (A)</p> Signup and view all the answers

V tabulce ANSWERS je cizí klíč QUESTIONS_id_question.

<p>True (A)</p> Signup and view all the answers

Každá informace v tabulce KEY_INFORMATIONS je spojena s více dokumenty.

<p>False (B)</p> Signup and view all the answers

Omezení UNIQUE u sloupce email v tabulce USERS zajišťuje unikátnost e-mailových adres.

<p>True (A)</p> Signup and view all the answers

V tabulce QUIZ_RESULTS se uchovávají pouze výsledky kvízů bez informací o uživateli.

<p>False (B)</p> Signup and view all the answers

Dotaz pro získání uživatelů, kteří nenahráli žádné dokumenty, používá LEFT JOIN.

<p>True (A)</p> Signup and view all the answers

V dotazu na zobrazení dokumentů zařazených do více než jedné kategorie se používá GROUP BY.

<p>False (B)</p> Signup and view all the answers

Dotaz pomocí CROSS JOIN zobrazí pouze uživatele, kteří vyplnili kvízy.

<p>False (B)</p> Signup and view all the answers

Vnořený dotaz v klauzuli WHERE vybere uživatele, kteří nahráli dokument s názvem 'Biology Basics'.

<p>True (A)</p> Signup and view all the answers

Polozpojení (LEFT OUTER JOIN) ukazuje všechny výsledky kvízů pro všechny uživatele, včetně těch bez výsledků.

<p>False (B)</p> Signup and view all the answers

FULL JOIN zaručuje, že zobrazí i nezařazené dokumenty a kategorie bez dokumentů.

<p>True (A)</p> Signup and view all the answers

Spojení pomocí JOIN ON vyžaduje přímo shodné sloupce z obou tabulek.

<p>True (A)</p> Signup and view all the answers

Dotaz pro výběr průměrného skóre za jednotlivé kvízy obsahuje vnořený dotaz v klauzuli FROM.

<p>True (A)</p> Signup and view all the answers

Vztažený vnořený dotaz se používá k vybírání uživatelů, kteří mají alespoň jeden výsledek z kvízů.

<p>False (B)</p> Signup and view all the answers

NATURAL JOIN se používá pro automatické spojení tabulek na základě shodných názvů sloupců.

<p>True (A)</p> Signup and view all the answers

V rámci dotazu na všechny názvy dokumentů a kvízů se používá MINUS.

<p>False (B)</p> Signup and view all the answers

Uživatelé, kteří vyplnili všechny dostupné kvízy, jsou vybráni pomocí EXISTS.

<p>False (B)</p> Signup and view all the answers

Uživatelé a jejich systémová nastavení lze získat použitím JOIN USING.

<p>True (A)</p> Signup and view all the answers

Plemeny uživatelů a dokumentů jsou v šabloně CROSS JOIN zobrazeny ve sloupci s názvem FULL_NAME.

<p>True (A)</p> Signup and view all the answers

UNIQUE omezení zaručuje, že v tabulce mohou být duplicitní e-maily.

<p>False (B)</p> Signup and view all the answers

Primární klíč zajišťuje jednoznačnost a většinou se pojí s indexem.

<p>True (A)</p> Signup and view all the answers

CHECK omezení lze použít pouze na sloupec s jedním datovým typem.

<p>False (B)</p> Signup and view all the answers

Omezení NOT NULL znamená, že sloupec může obsahovat prázdné hodnoty.

<p>False (B)</p> Signup and view all the answers

Cizí klíče mohou způsobit, že se některé záznamy stanou osiřelými.

<p>False (B)</p> Signup and view all the answers

Tabulku USERS je nutné naplnit před tabulkami, které obsahují cizí klíče.

<p>True (A)</p> Signup and view all the answers

Triggery nelze použít k zajištění referenční integrity v databázi.

<p>False (B)</p> Signup and view all the answers

Hodnota v sloupci typeQuestion může být jakákoliv, pokud je definována jako CHAR(1).

<p>False (B)</p> Signup and view all the answers

Před naplněním tabulek je nutné nejprve zkontrolovat vazby mezi nimi.

<p>True (A)</p> Signup and view all the answers

Doplnkové CHECK omezení jsou řešením pro složité obchodní pravidla v databázi.

<p>False (B)</p> Signup and view all the answers

Tabulka DOCUMENTS se naplní před tabulkami NOTES a KEY_INFORMATIONS.

<p>True (A)</p> Signup and view all the answers

Další IO pravidla se vždy implementují pomocí UNIQUE nebo NOT NULL omezení.

<p>False (B)</p> Signup and view all the answers

Při naplňování tabulek je efektivní mít možnost manuálně nastavovat primární klíče.

<p>True (A)</p> Signup and view all the answers

Typ DOCUMENTTYPE může obsahovat hodnoty jako 'PDF', 'DOCX' a 'PPT'.

<p>True (A)</p> Signup and view all the answers

V projektu jsou primární klíče ve většině tabulek definovány jako typ VARCHAR2.

<p>False (B)</p> Signup and view all the answers

Existuje unikátní omezení na sloupec EMAIL v tabulce USERS, které zakazuje duplicitní e-mailové adresy.

<p>True (A)</p> Signup and view all the answers

Sekvence mohou být použity samostatně, bez triggery, k generování unikátních hodnot pro primární klíče.

<p>False (B)</p> Signup and view all the answers

Typ otázky v tabulce QUESTIONS může být označen pouze jako 'M' pro multiple-choice otázky.

<p>False (B)</p> Signup and view all the answers

Ve vážebních tabulkách pro M:N vztahy by byly použity potenciální cizí klíče (PFK).

<p>True (A)</p> Signup and view all the answers

Dotaz, který zobrazuje emaily uživatelů, převedené na malá písmena, používá funkci UPPER.

<p>False (B)</p> Signup and view all the answers

Pro zobrazení průměrného skóre uživatelů ve všech kvízech se používá funkce SUM.

<p>False (B)</p> Signup and view all the answers

Je možné mít vícero subtypů v tabulce QUESTIONS bez nutnosti synchronizace.

<p>True (A)</p> Signup and view all the answers

Dotaz, který zobrazuje počet dnů od nahrání dokumentu, používá funkci TRUNC.

<p>True (A)</p> Signup and view all the answers

V modelu byly přítomny slabé entity, které nejsou závislé na hlavních tabulkách.

<p>False (B)</p> Signup and view all the answers

Cizí klíče v tabulkách jsou použity pro zajištění integrity dat a referenční integrity.

<p>True (A)</p> Signup and view all the answers

Pohled USER_LAST_DOCUMENT zobrazuje jména uživatelů a všechny dokumenty, které nahráli.

<p>False (B)</p> Signup and view all the answers

Dotaz, který vybírá uživatele, kteří nahráli alespoň jeden dokument, používá klauzuli DELETE.

<p>False (B)</p> Signup and view all the answers

Databáze automaticky vytváří indexy pouze pro sloupce s cizími klíči.

<p>False (B)</p> Signup and view all the answers

Při implementaci M:N vazby se musí vytvořit samostatná vazební tabulka.

<p>True (A)</p> Signup and view all the answers

V dotazu pro vytvoření pohledu USER_LAST_DOCUMENT se používá vnořený SELECT pro zjištění data posledního nahrání dokumentu.

<p>True (A)</p> Signup and view all the answers

Cizí klíče ve vazební tabulce mohou odkazovat na primární klíče více než jedné tabulky.

<p>True (A)</p> Signup and view all the answers

Zobrazení průměrné velikosti dokumentů se provádí pomocí funkce COUNT v klauzuli HAVING.

<p>False (B)</p> Signup and view all the answers

Omezení CHECK se používá k zajištění, že v tabulce QUESTIONS může být sloupec TYPEQUESTION pouze 'M' nebo 'T'.

<p>True (A)</p> Signup and view all the answers

V dotazu, který aktualizuje skóre uživatelů, se používá podmínka WHERE bez vnořeného SELECT.

<p>False (B)</p> Signup and view all the answers

V dotazu na výpis uživatelů, kteří nahráli dokument obsahující 'Biology', se používá klauzule LIKE.

<p>True (A)</p> Signup and view all the answers

Primární klíče v databázi mohou mít duplikátní hodnoty, pokud jsou manuálně plněny.

<p>False (B)</p> Signup and view all the answers

Smazání výsledků kvízů je možné pomocí příkazu UPDATE.

<p>False (B)</p> Signup and view all the answers

Při výběru názvů dokumentů s velikostí větší než 1000 bajtů je možné využít jen jednu metodu SELECT.

<p>False (B)</p> Signup and view all the answers

Funkce ROUND se používá k zaokrouhlení velikosti souborů na celé kilobyty.

<p>True (A)</p> Signup and view all the answers

Smazání výsledků kvízů pro uživatele, kteří nevyplnili žádný dokument, se provádí pomocí klauzule GROUP BY.

<p>False (B)</p> Signup and view all the answers

Flashcards

Co je cílem aplikace StudyMates?

Aplikace "StudyMates" umožňuje studentům nahrávat, organizovat a opakovat studijní materiály.

Co je to uživatelský profil v StudyMates?

Uživatelé aplikace StudyMates si mohou vytvářet osobní profily, do kterých nahrávají studijní materiály.

Jaké materiály je možné nahrát do StudyMates?

Aplikace StudyMates umožňuje uživatelům nahrávat materiály v různých formátech, jako jsou PDF, Word a obrázky. Tyto materiály je možné kategorizovat dle předmětů nebo témat.

Co je to analýza obsahu v StudyMates?

Aplikace pomocí algoritmů analyzuje texty a identifikuje klíčové informace, které se pak dají použít pro tvorbu kvízů.

Signup and view all the flashcards

Jak se v StudyMates vytváří kvízy?

Na základě klíčových informací z textu aplikace generuje kvízy s otázkami a odpověďmi, které pomáhají studentům opakovat učivo.

Signup and view all the flashcards

Co je to možnost psaní poznámek v StudyMates?

Uživatelé si mohou k materiálům psát poznámky přímo v aplikaci StudyMates.

Signup and view all the flashcards

Jaké jsou možnosti nastavení v StudyMates?

Uživatelé si v aplikaci StudyMates mohou upravit uživatelské rozhraní, například jazyk nebo téma.

Signup and view all the flashcards

K čemu slouží databáze v StudyMates?

Databáze aplikace StudyMates slouží k uchovávání informací o uživatelích, materiálech, kvízech, kategoriích a dalších relevantních datech.

Signup and view all the flashcards

Dokument (DOCUMENT)

Záznam o nahrání dokumentu do systému, obsahuje název, typ, datum nahrání, obsah, velikost a uživatele, který jej nahral.

Signup and view all the flashcards

Uživatel (USER)

Tabulka uchovávající informace o uživatelských profilech, obsahuje id uživatele, jméno, příjmení, email (unikátní), datum registrace a obor studia.

Signup and view all the flashcards

Kategorie (CATEGORY)

Tabulka, která slouží pro uspořádání dokumentů do kategorií, každá kategorie má název a název dokumentu, do kterého patří.

Signup and view all the flashcards

Klíčové informace (KEY_INFORMATION)

Tabulka zachycující klíčové informace extrahované z dokumentů, obsahuje id, text informace, pozici v dokumentu a id dokumentu, ze kterého byla informace extrahována.

Signup and view all the flashcards

Kvíz (QUIZ)

Tabulka pro správu kvízů, obsahuje id kvízu, název, datum vytvoření.

Signup and view all the flashcards

Otázka (QUESTION)

Tabulka uchovávající otázky obsažené v kvízech, zahrnuje id otázky, text otázky, typ otázky a id kvízu, do kterého patří.

Signup and view all the flashcards

Odpověď (ANSWER)

Tabulka sloužící pro správu odpovědí k otázkám, obsahuje id odpovědi, text odpovědi, informace o správnosti a id otázky, ke které se váže.

Signup and view all the flashcards

Výsledek kvízu (QUIZ_RESULT)

Tabulka pro uchovávání výsledků vyplněných kvízů, obsahuje id výsledku, datum dokončení, dosažené skóre, id uživatele a id kvízu, který byl vyplněn.

Signup and view all the flashcards

Poznámka (NOTE)

Tabulka určená pro ukládání poznámek k dokumentům, obsahuje id poznámky, text poznámky a id dokumentu, ke kterému se váže.

Signup and view all the flashcards

Systémové nastavení (SYSTEM_SETTING)

Tabulka pro konfiguraci uživatelského nastavení, obsahuje id nastavení, téma, jazyk, formát data a id uživatele, kterého se konfigurace týká.

Signup and view all the flashcards

Vztah uživatel - dokument (USER - DOCUMENT)

Vztah 1:N mezi uživatelem a dokumentem. Jeden uživatel může nahrát více dokumentů, ale každý dokument je nahrán pouze jedním uživatelem

Signup and view all the flashcards

Vztah uživatel - kategorie (USER - CATEGORIE)

Vztah 1:N mezi uživatelem a kategorií. Jeden uživatel může patřit do více kategorií, ale každá kategorie je spojena s jedním uživatelem.

Signup and view all the flashcards

Vztah uživatel - kvíz (USER - QUIZ)

Vztah 1:N mezi uživatelem a kvízem. Jeden uživatel může vytvořit více kvízů, ale každý kvíz má jednoho autora.

Signup and view all the flashcards

Vztah uživatel - výsledek kvízu (USER - QUIZ_RESULT)

Vztah 1:N mezi uživatelem a výsledky kvízu. Jeden uživatel může mít více výsledků kvízu, ale každý výsledek kvízu je spojen s jedním uživatelem.

Signup and view all the flashcards

Vztah uživatel - systémové nastavení (USER - SYSTEM_SETTING)

Vztah 1:1 mezi uživatelem a systémovým nastavením. Jeden uživatel má jedno systémové nastavení, a jedno systémové nastavení je spojeno s jedním uživatelem.

Signup and view all the flashcards

Tabulka QUIZES

Tabulka v relačním modelu, která uchovává informace o všech kvízech vytvořených uživateli. Každý kvíz má jedinečné ID, název a datum vytvoření.

Signup and view all the flashcards

Tabulka QUESTIONS

Tabulka, která uchovává informace o otázkách v kvízu. Každá otázka je spojena s kvízem a má specifický typ - multiple-choice nebo true/false.

Signup and view all the flashcards

Tabulka ANSWERS

Tabulka obsahující odpovědi na otázky z kvízu. Každá odpověď je spojena s otázkou a má atribut 'isCorrect' - zda je správná.

Signup and view all the flashcards

Tabulka USERS

Tabulka, která uchovává informace o registrovaných uživatelích. Každý uživatel má unikátní e-mail.

Signup and view all the flashcards

Tabulka DOCUMENTS

Tabulka uchovávající informace o nahraných dokumentech. Každý dokument je spojen s uživatelem a má metadata.

Signup and view all the flashcards

Tabulka CATEGORIES

Tabulka mapující kategorie, do kterých jsou dokumenty zařazeny.

Signup and view all the flashcards

Tabulka KEY_INFORMATIONS

Tabulka obsahující klíčové informace extrahované z dokumentů. Každá informace je spojena s dokumentem.

Signup and view all the flashcards

Tabulka NOTES

Tabulka uchovává poznámky přidávané uživateli k dokumentům.

Signup and view all the flashcards

Tabulka QUIZ_RESULTS

Tabulka uchovává výsledky kvízů pro uživatele. Každý výsledek je spojen s uživatelem a kvízem.

Signup and view all the flashcards

Tabulka SYSTEM_SETTINGS

Tabulka uchovává systémová nastavení specifická pro každého uživatele.

Signup and view all the flashcards

Vztah 1:N

Vztah 1:N (jeden k mnoha) v relačním modelu. Cizí klíč je v tabulce 'N'.

Signup and view all the flashcards

Vztah M:N

Vztah M:N (mnoho k mnoha) v relačním modelu. Vyžaduje vazební tabulku s primárními cizími klíči.

Signup and view all the flashcards

Diskriminační přístup v relační databáze

Použití diskriminačního sloupce v relačním modelu pro rozlišení různých typů objektů.

Signup and view all the flashcards

Referenční integrita

Integritní pravidlo v relační databázi, které zaručuje, že každý cizí klíč je propojen s existujícím záznamem v tabulce s primárním klíčem.

Signup and view all the flashcards

Omezení CHECK

Integritní pravidlo v relační databázi, které omezuje hodnoty atributů v sloupci na definovaný seznam.

Signup and view all the flashcards

Unikátní omezení (UNIQUE)

Integritní pravidlo v relační databáze, které zaručuje, že hodnota v sloupci je unikátní.

Signup and view all the flashcards

Smyčka v relačním modelu

V relačním modelu databází, smyčka (cyklus) je situace, kdy se vztahy mezi entitami uzavírají do kruhu. Například: Uživatel odkazuje na Dokument, Dokument odkazuje na Kvíz, a Kvíz znovu odkazuje na Uživatel.

Signup and view all the flashcards

Dokumenty a klíčové informace

Dokumenty mohou mít více klíčových informací, které se používají pro rychlou orientaci uživatele. Každá klíčová informace je ale spjata s jediným dokumentem.

Signup and view all the flashcards

Dokumenty a poznámky

Dokumenty mohou mít poznámky, které umožňují uživatelům přidávat doplňující informace nebo komentáře. Každá poznámka je specificky spjata s jedním dokumentem.

Signup and view all the flashcards

Kvízy a otázky

Kvízy jsou tvořeny otázkami a každá otázka patří do jednoho konkrétního kvízu. Kvíz musí obsahovat alespoň jednu otázku.

Signup and view all the flashcards

Otázky a typy otázek

Každá otázka má jeden typ, například multiple-choice, true/false. Typ definuje, jak se na otázku odpovídá.

Signup and view all the flashcards

Otázky a odpovědi

Otázky mohou mít více odpovědí, z nichž alespoň jedna je správná. Každá odpověď je spjata s pouze jednou otázkou.

Signup and view all the flashcards

Kvízy a výsledky

Kvízy mohou mít více výsledků, které odrážejí uživatelovu znalost. Každý výsledek je spjat s jedním kvízem.

Signup and view all the flashcards

ERDish

ERDish je způsob popisu vztahů mezi entitami v relačním modelu databáze pomocí výroků v přirozeném jazyce.

Signup and view all the flashcards

Relace 1:N

V reláci 1:N (jeden k mnoha), jeden záznam v jedné entitě může být spojen s více záznamy v jiné entitě. Například, jeden uživatel může mít více dokumentů.

Signup and view all the flashcards

Relace 1:1

V reláci 1:1 (jeden k jednomu), jeden záznam v jedné entitě je spjat s pouze jedním záznamem v jiné entitě. Například, každá otázka má pouze jeden typ.

Signup and view all the flashcards

Cizí klíč

V relačním modelu databáze, cizí klíč je sloupec v tabulce, který odkazuje na primární klíč v jiné tabulce. To vytváří vztah mezi těmito tabulkami.

Signup and view all the flashcards

Primární klíč

V relačním modelu databáze, primární klíč je sloupec v tabulce, který jednoznačně identifikuje každý záznam v tabulce.

Signup and view all the flashcards

Redundance dat

Problémy s redundací nastanou, pokud se vztah mezi entitami vyjadřuje více cestami. To ztěžuje úpravu dat a zvyšuje riziko chyb.

Signup and view all the flashcards

Cascading DELETE

Když se data maží z databáze, může se stát, že se smazají i závislá data. To je známo jako cascading delete.

Signup and view all the flashcards

Triggery v databázích

Triggery jsou malé programy, které se automaticky spustí při určité události v databázi. Pomáhají udržovat integritu dat.

Signup and view all the flashcards

Číselník typu dokumentu

Číselník v databázi, který definuje typ dokumentu (např. PDF, DOCX, PPT).

Signup and view all the flashcards

Číselník jazyka

Číselník v databázi, který definuje jazyk (např. CZ, EN, SK).

Signup and view all the flashcards

Sekvence v databázi

Automaticky se generují čísla pro unikátní identifikaci záznamů v databázi.

Signup and view all the flashcards

CREATE SEQUENCE

Příkaz v databázi pro automatické generování unikátních identifikačních čísel.

Signup and view all the flashcards

Integritní omezení (IO) v databázi

Zabezpečení data v databázi tak, aby byla v souladu s pravidly systému.

Signup and view all the flashcards

Primární klíč (PK) v databázi

Jednoznačný identifikátor, který definuje každý záznam v databázi.

Signup and view all the flashcards

1:1 vztah v databázi

Vztahy mezi tabulkami, kdy jeden záznam v jedné tabulce odpovídá jednomu záznamu v jiné tabulce.

Signup and view all the flashcards

1:N vztah v databázi

Vztahy mezi tabulkami, kdy jeden záznam v jedné tabulce může odpovídat více záznamům v jiné tabulce.

Signup and view all the flashcards

N:N vztah v databázi

Vztahy mezi tabulkami, kdy jeden záznam v jedné tabulce může odpovídat více záznamům v druhé tabulce a obráceně.

Signup and view all the flashcards

UNIQUE omezení v databázi

Určuje, že sloupec nemůže obsahovat žádné duplicitní hodnoty.

Signup and view all the flashcards

NOT NULL omezení v databázi

Určuje, že sloupec musí obsahovat nějakou hodnotu, nemůže být prázdný.

Signup and view all the flashcards

CHECK omezení v databázi

Určuje, že sloupec může obsahovat pouze specifické hodnoty.

Signup and view all the flashcards

Supertyp v databázi

Jedna větší tabulka, která obsahuje různé typy záznamů (subtypy).

Signup and view all the flashcards

Subtypy v databázi

Menší tabulky, které dědí atributy od supertypu a představují specifické typy záznamů.

Signup and view all the flashcards

MINUS

Pomocí příkazu MINUS se z množiny výsledků prvního dotazu odeberou výsledky druhého dotazu.

Signup and view all the flashcards

INTERSECT

Výsledek dotazu s INTERSECT obsahuje jen záznamy, které se vyskytují v obou dotazech.

Signup and view all the flashcards

LOWER()

Funkce pro převod řetězců na malá písmena.

Signup and view all the flashcards

ROUND()

Funkce pro zaokrouhlení čísel.

Signup and view all the flashcards

SYSDATE - UPLOADDATE

Funkce pro výpočet rozdílu mezi daty.

Signup and view all the flashcards

AVG()

Funkce pro výpočet průměru.

Signup and view all the flashcards

GROUP BY

Funkce pro seskupení řádků podle dané kolony.

Signup and view all the flashcards

HAVING

Podmínka pro filtrování seskupených výsledků.

Signup and view all the flashcards

SELECT

Načte data z tabulky a zobrazí je podle zadaných kritérií.

Signup and view all the flashcards

FROM

Určuje, ze které tabulky se budou data načítat.

Signup and view all the flashcards

WHERE

Filtruje data z tabulky podle zadaných podmínek.

Signup and view all the flashcards

ORDER BY

Seřadí výsledky dotazu podle zadaného sloupce.

Signup and view all the flashcards

CREATE OR REPLACE VIEW

Vytvoření pohledu s vlastním jménem.

Signup and view all the flashcards

UPDATE

Změna dat v existujících řádcích tabulky.

Signup and view all the flashcards

DELETE

Smazání dat z existujících řádků tabulky.

Signup and view all the flashcards

Omezení UNIQUE

Zabraňuje duplicitě hodnot v daném sloupci. Například v tabulce USERS zabraňuje tomu, aby se dva uživatelé registrovali se stejným e-mailem.

Signup and view all the flashcards

Omezení NOT NULL

Vynucuje vyplnění daného sloupce. Dbá na to, aby sloupce s důležitými informacemi, například jméno, e-mail nebo název, nebyly prázdné.

Signup and view all the flashcards

Cizí klíč (FK)

Propojuje tabulky a zajišťuje integritu dat mezi nimi. Pokud je v jedné tabulce vymazán záznam, vymažou se automaticky i všechny záznamy v závislých tabulkách, které na něj odkazují.

Signup and view all the flashcards

Integritní omezení (IO)

Zaručuje, že data v databázi jsou konzistentní a správná. Pomáhají řešit problémy s duplicitou, chybějícími daty a porušením logických pravidel.

Signup and view all the flashcards

Primární klíč (PK)

Jedinečný identifikátor záznamu v tabulce. V tabulce USERS může být například sloupec ID_USER definován jako primární klíč.

Signup and view all the flashcards

Plnění tabulek s cizími klíči

Začínáme tabulkami, které neobsahují cizí klíče. Například tabulka USERS může být naplněna jako první, protože nezávisí na jiných tabulkách.

Signup and view all the flashcards

Kontrola cizích klíčů

Při plnění tabulek s cizími klíči je důležité zkontrolovat, zda hodnoty v cizích klíčích již existují v odpovídajících rodičovských tabulkách. Zamezíme tak chybám referenční integrity.

Signup and view all the flashcards

Plnění závislých tabulek

Tabulky, které obsahují cizí klíče, se plní až po vyplnění rodičovských tabulek. Pokud je v tabulce USERS definován uživatel 'John Doe', můžeme do tabulky QUIZ_RESULTS vložit záznamy, které odkazují na uživatele 'John Doe'.

Signup and view all the flashcards

Obchodní/kontextová pravidla

Zajišťuje, že data v tabulkách budou konzistentní a budou splňovat logická pravidla. Například v tabulce QUIZ_RESULTS může být definováno omezení, které zamezuje tomu, aby se datum vypracování kvízu nacházelo před datem jeho vytvoření.

Signup and view all the flashcards

Triggery

Zajišťují, že data v databázi zůstanou konzistentní a nebudou narušena. Například triggery mohou automaticky aktualizovat data v závislých tabulkách, když se změní data v rodičovské tabulce.

Signup and view all the flashcards

Procedury

Umožňují provádět komplexní operace s daty. Můžeme je použít pro kontrolu obchodních pravidel, která nelze snadno implementovat pomocí DDL (Data Definition Language).

Signup and view all the flashcards

Dodržení UNIQUE omezení

Zajišťuje, že vložená data neporuší UNIQUE omezení. Například v tabulce USERS je potřeba kontrolovat, zda každý uživatel má unikátní e-mailovou adresu.

Signup and view all the flashcards

Výhody systematického plnění tabulek

Pomáhá zamezit chybám s validací dat a referenční integritou. Zvyšuje spolehlivost databáze a usnadňuje údržbu aplikací.

Signup and view all the flashcards

Spojení tabulek

Dotaz na data z alespoň dvou tabulek, kde jsou řádky z obou tabulek propojeny na základě shody v klíčových sloupcích. Používá se klíčové slovo JOIN.

Signup and view all the flashcards

Vnější (levé) spojení (LEFT JOIN)

Typ spojení tabulek, kde jsou vybrány všechny řádky z první tabulky a odpovídající řádky z druhé tabulky, pokud existují. Pokud v druhé tabulce žádná shoda nenalezena, jsou v LEFT JOIN vyplněny hodnoty NULL.

Signup and view all the flashcards

Vnější (pravé) spojení (RIGHT JOIN)

Typ spojení tabulek, kde jsou vybrány všechny řádky z druhé tabulky a odpovídající řádky z první tabulky, pokud existují. Pokud v první tabulce žádná shoda nenalezena, jsou v RIGHT JOIN vyplněny hodnoty NULL.

Signup and view all the flashcards

Plné spojení (FULL JOIN)

Typ spojení tabulek, kde jsou vybrány všechny řádky z obou tabulek a odpovídající řádky z druhé tabulky, pokud existují. Pokud v jedné tabulce žádná shoda nenalezena, jsou ve výsledku vyplněny hodnoty NULL.

Signup and view all the flashcards

Křížové spojení (CROSS JOIN)

Typ spojení tabulek, kde jsou vybrány všechny kombinace řádků z obou tabulek, bez ohledu na shodu.

Signup and view all the flashcards

Vnořený dotaz

Dotaz, který se nachází uvnitř jiného dotazu. Umožňuje vnořit podmínky nebo filtrovat data.

Signup and view all the flashcards

Vztažený vnořený dotaz

Použití EXISTS nebo NOT EXISTS v dotazu, kde se kontroluje, zda v jiné tabulce existuje alespoň jeden řádek splňující specifické podmínky.

Signup and view all the flashcards

Množinové sjednocení (UNION)

Operace, která sloučí výsledky dvou dotazů do jedné tabulky. Výsledek je množina unikátních řádků z obou dotazů.

Signup and view all the flashcards

Množinový rozdíl (MINUS)

Operace, která vrátí řádky z prvního dotazu, které nejsou přítomny ve druhém dotazu.

Signup and view all the flashcards

Filtrování dat

Typ dotazu, který umožňuje selektovat data z tabulky, ale s omezením na data, která splňují specifické podmínky.

Signup and view all the flashcards

Klauze SELECT

Pokyny pro databázový systém, které definují, jaká data se budou v dotazu vybírat.

Signup and view all the flashcards

Klauze FROM

Pokyny pro databázový systém, které definují, ze které tabulky se budou data v dotazu vybírat.

Signup and view all the flashcards

Klauze ORDER BY

Pokyny pro databázový systém, které definují, jak se budou data v dotazu řadit.

Signup and view all the flashcards

Klauze WHERE

Pokyny pro databázový systém, které definují, jak se budou data v dotazu filtrovat.

Signup and view all the flashcards

Klauze GROUP BY

Pokyny pro databázový systém, které definují, jak se budou data v dotazu seskupit.

Signup and view all the flashcards

Klauze HAVING

Pokyny pro databázový systém, které definují, jak se budou data v dotazu agregovat.

Signup and view all the flashcards

Study Notes

Analýza projektu StudyMates

  • Aplikace StudyMates je navržena pro studenty, aby nahrávali, organizovali a opakovali studijní materiály.
  • Aplikace je dostupná na webu i na mobilních zařízeních.
  • Má databázové řešení pro ukládání informací o uživatelích, materiálech, kvízech, kategoriích apod.
  • Aplikace analyzuje nahrané materiály (PDF, Word, obrázky), z nichž automaticky generuje klíčové informace a otázky pro kvízy.
  • Student si může vytvářet poznámky k materiálům a upravovat systémová nastavení.
  • Systém sleduje interakce studentů (registrace, nahrávání materiálů, tvorba kvízů, psaní poznámek).
  • Cílem je zvýšit počet aktivních uživatelů na nejméně dvojnásobek (zhruba 500).

Scénář a strukturální pravidla

  • Uživatelé se registrují vyplněním e-mailu, jména a příjmení.
  • Nahrané materiály jsou klasifikovány automaticky nebo manuálně do kategorií.
  • Pro každý materiál jsou extrahovány klíčové informace pro generování kvízů.
  • Po vyplnění kvízu se ukládá výsledek s dosaženým skóre.
  • Systém umožňuje psaní poznámek k dokumentům a nastavení jazyka a vzhledu.
  • Pravidlo 1:1 (jediný uživatel, jedno nastavení), 1:N (uživatel - dokumenty, kategorie - dokumenty)
  • Pravidlo N:M (uživatel - kvíz, kvíz - výsledky odkazují na tabulku se záznamy N:M)

Relační model dat

  • Entita USER (id_user, jméno, příjmení, e-mail, datum registrace, obor studia)
  • Entita DOCUMENT (id_document, název, typ, datum nahrání, obsah, velikost, id_user)
  • Entita CATEGORY (id_category, název, id_document)
  • Entita KEY_INFORMATION (id_info, text informace, pozice v dokumentu, id_document)
  • Entita QUIZ (id_quiz, název, datum vytvoření, id_user)
  • Entita QUESTION (id_question, text, typ, id_quiz)
  • Entita ANSWER (id_answer, text, správnost, id_question)
  • Entita QUIZ_RESULT (id_result, datum dokončení, skóre, id_user, id_quiz)
  • Entita NOTE (id_note, text, id_document)
  • Entita SYSTEM_SETTING (id_setting, téma, jazyk, formát data, id_user)

Implementace databáze

  • Použití sekvencí pro automatické generování primárních klíčů (ID).
  • Omezení unique na e-mailovou adresu pro uživatele.
  • Indexy pro optimalizované vyhledávání (např ID_USER, ID_DOCUMENT).
  • Omezení NOT NULL pro povinné atributy.
  • Omezení CHECK pro omezení tipo otázek (např. True/False nebo Multiple choice).
  • Implementace vazební tabulky kategorie-dokument pro vztah M:N.
  • Implementace vazebních tabulek kvízů a výsledků.

SQL dotazy

  • D1-D22 poskytují příklady různých typů SQL dotazů:
    • Vyhledávání informací z více tabulek (joins, inner joins, left joins, right joins, full outer joins).
    • Agregační funkce (AVG, COUNT).
    • Sub-dotazy.
    • Vnější spojení v klauzuli WHERE (EXISTS, NOT EXISTS).

Pohled VIEW

  • Tabulka USER_LAST_DOCUMENT ukazuje poslední nahraný dokument uživatele.
  • Vybrané dotazů ilustrují práci s pohledem

Obecné závěry

  • Návrh databáze StudyMates je robustní a umožňuje efektivní správu dat.
  • V textu se diskutovala témata normalizace, omezení, indexů a optimalizace SQL dotazů.
  • Studenti mohou zlepšit své dovednosti v práci s daty pomocí SQL dotazů a databázového návrhu.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Description

Kvíz o aplikaci StudyMates, která slouží studentům a učitelům k archivaci studijních materiálů. Zjistěte, jak aplikace funguje, jaké systemové nastavení nabízí a jak mohou uživatelé spolupracovat na kvízech. Testujte svoje znalosti o klíčových funkcích této užitečné aplikace.

Use Quizgecko on...
Browser
Browser