Databázové tabulky a klíče

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

Proč je důležité nejprve naplnit tabulky bez cizích klíčů?

  • Aby bylo možné snadněji psát dotazy.
  • Aby bylo možné zadávat údaje bez omezení.
  • Aby se předešlo problémům s referenční integritou. (correct)
  • Aby se snížila velikost databáze.

Jaká je výhoda ručního nastavování primárních klíčů?

  • Možnost automatického generování dat.
  • Zajištění, že UNIQUE omezení nejsou porušena. (correct)
  • Usnadnění vytváření složitých aliasů.
  • Zrychlení výkonu databáze.

Která tabulka byla naplněna jako poslední podle postupu?

  • USERS
  • NOTES (correct)
  • DOCUMENTS
  • QUIZES

Jaký je účel tabulky QUIZ_RESULTS?

<p>Sledovat výsledky uživatelů v kvízech. (A)</p> Signup and view all the answers

Jaké problémy mohou vzniknout při pokusu o naplnění závislých tabulek dříve než nadřazených?

<p>Odkazování na neexistující hodnoty. (D)</p> Signup and view all the answers

Jaký je primární klíč v tabulce DOCUMENTS?

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

Který atribut není součástí tabulky KEY_INFORMATIONS?

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

Co uchovává tabulka QUIZ_RESULTS?

<p>Výsledky kvízů pro jednotlivé uživatele (C)</p> Signup and view all the answers

Jaký typ vztahu je mezi tabulkami DOCUMENTS a CATEGORIES?

<p>M:N (A)</p> Signup and view all the answers

Jaký atribut neexistuje v tabulce SYSTEM_SETTINGS?

<p>uploadDate (D)</p> Signup and view all the answers

Který z následujících atributů je součástí tabulky NOTES?

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

Co je primárním klíčem v tabulce CATEGORIES?

<p>id_category (D)</p> Signup and view all the answers

Jaký typ vztahu existuje mezi uživatelským účtem a systémovými nastaveními?

<p>1:N (B)</p> Signup and view all the answers

Jaký charakter mají vztahy mezi entitami podle popsaného systému?

<p>Hierarchický (D)</p> Signup and view all the answers

Jaké potenciální problémy mohou vzniknout, pokud by došlo k cyklickému odkazu mezi entitami?

<p>Ztráta datové integrity (A)</p> Signup and view all the answers

Co je nezbytné udělat, pokud by se začali propojit entity do kruhu?

<p>Zvážit existující vazby nebo přidat integritní omezení (D)</p> Signup and view all the answers

Jaký proces zajišťuje, že každá entita představuje samostatný logický celek?

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

Co popisují ERDish věty?

<p>Vztahy mezi entitami s volitelností a kardinalitou (B)</p> Signup and view all the answers

Jaký typ vztahu panuje mezi uživateli a výsledky kvízu?

<p>Hierarchický (C)</p> Signup and view all the answers

Jak se vyhnout datovým nekonzistencím při potenciálním propojení entit do kruhu?

<p>Přidat speciální integritní omezení (D)</p> Signup and view all the answers

Jaký je vztah mezi dokumentem a kategorií v rámci kardinálnosti?

<p>Jeden dokument může být přiřazen do více kategorií. (D)</p> Signup and view all the answers

Jaký typ dat se nemá skládat přímo do entity Užívatele podle normalizačních praktik?

<p>Systémové nastavení (A)</p> Signup and view all the answers

Jaká je minimální kardinálnost pro kvíz v otázkách?

<p>Kvíz musí obsahovat alespoň jednu otázku. (D)</p> Signup and view all the answers

Jakým způsobem jsou poznámky spojeny s dokumenty?

<p>Každá poznámka je asociována s jedním dokumentem. (A)</p> Signup and view all the answers

Co platí o klíčových informacích v dokumentech?

<p>Každá informaci je spojena s jedním dokumentem. (D)</p> Signup and view all the answers

Jaká je optionalita pro dokumenty v rámci kategorií?

<p>Dokumenty mohou být zařazeny do více kategorií, nebo žádné. (B)</p> Signup and view all the answers

Jaký je vztah mezi uživatelským nastavením a systémovým nastavením?

<p>Systémové nastavení je spojeno s jednotlivými uživateli. (C)</p> Signup and view all the answers

Co znamená kardinálnost 1:N v kontextu dokumentů a klíčových informací?

<p>Jeden dokument může obsahovat více klíčových informací. (A)</p> Signup and view all the answers

Jaké jsou možné situace okolo kategorie dokumentů?

<p>Kategorie mohou existovat bez přiřazených dokumentů. (A)</p> Signup and view all the answers

Které omezení zajišťuje, že žádné dva uživatelé nemohou mít stejný e-mail v tabulce USERS?

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

Jaký je účel cizího klíče v databázových tabulkách?

<p>Zajištění, že hodnota existuje v jiné tabulce. (B)</p> Signup and view all the answers

Které z následujících omezení zajistí, že sloupec vždy musí mít hodnotu?

<p>NOT NULL (C)</p> Signup and view all the answers

Jaké hodnoty může nabývat sloupec typeQuestion v tabulce QUESTIONS?

<p>'M' a 'T' (B)</p> Signup and view all the answers

Co se stane při pokusu o vložení záznamu s neexistující cizí hodnotou?

<p>Vložení záznamu bude zamítnuto. (A)</p> Signup and view all the answers

Jak může být zajištěno, že datum vypracování kvízu nesmí být před datem vytvoření kvízu?

<p>Pomocí triggery. (A)</p> Signup and view all the answers

Jaký je hlavní důvod pro použití omezení CHECK?

<p>Ověření logických podmínek hodnoty ve sloupci. (B)</p> Signup and view all the answers

Jaké je hlavní funkce primárního klíče (PK) v databázi?

<p>Zajištění jednoznačnosti záznamů. (C)</p> Signup and view all the answers

Jaký je hlavní cíl implementace integritních omezení?

<p>Zaručit soulad mezi vloženými či mazanými daty a dalšími tabulkami. (C)</p> Signup and view all the answers

Které tabulky by měly být naplněny jako první?

<p>Tabulky bez cizích klíčů. (D)</p> Signup and view all the answers

Jaký je příklad tabulky, která obsahuje cizí klíče?

<p>Tabulka DOCUMENTS. (C)</p> Signup and view all the answers

Jaký postup bylo třeba dodržovat při naplňování tabulek?

<p>Stanovit postup a pořadí naplňování tabulek. (C)</p> Signup and view all the answers

Jaká hodnoty mohou být povoleny v cizím klíči tabulky QUIZ_RESULTS?

<p>Hodnoty, které již existují v tabulce USERS. (A)</p> Signup and view all the answers

Co zajišťuje UNIQUE omezení v tabulkách?

<p>Unikátnost hodnot ve sloupci. (A)</p> Signup and view all the answers

Jakým způsobem byl nastaven primární klíč v tabulce USERS?

<p>Nastaven ručně s posloupností čísel. (D)</p> Signup and view all the answers

Jaký problém může nastat, pokud se pokusíme vložit duplicitní hodnoty do sloupce s UNIQUE omezením?

<p>Dojde k chybě a operace se neprovede. (D)</p> Signup and view all the answers

Flashcards

Nastavení uživatele

Každý uživatel má nastavení a tato nastavení jsou s uživatelem svázána. Nastavení může zahrnovat například jazyk, téma a další preference.

Relace dokument - kategorie

Jeden dokument může být zařazen do více kategorií a každá kategorie je spojena s jedním dokumentem. Kategorie pomáhají s organizací a hledáním dokumentů.

Relace dokument - klíčové informace

Jeden dokument obsahuje více klíčových informací a každá klíčová informace je specifická pro daný dokument. Klíčové informace usnadňují rychlou orientaci v dokumentu.

Relace dokument - poznámka

Jeden dokument může mít více poznámek a každá poznámka je svázána s konkrétním dokumentem. Poznámky slouží k přidávání komentářů, dodatečných informací a osobních poznámek.

Signup and view all the flashcards

Relace kvíz - otázka

Jeden kvíz obsahuje více otázek a každá otázka je přiřazena jednomu kvízu. Kvízy slouží k testování a procvičování znalostí.

Signup and view all the flashcards

Optionalita dokumentu v kategorii

Dokument nemusí být zařazen do žádné kategorie. Kategorie je volitelné a umožňuje flexibilní organizaci dokumentů.

Signup and view all the flashcards

Optionalita kategorie

Kategorie může být prázdná, tj. bez přiřazených dokumentů. Kategorie není závislá na existenci dokumentů.

Signup and view all the flashcards

Optionalita klíčových informací v dokumentu

Dokument nemusí obsahovat klíčové informace. Extrahování klíčových informací je volitelné.

Signup and view all the flashcards

Stromová struktura vztahů

Vztahy mezi entitami v databázi mají stromovou strukturu. Každá entita má jeden směr vazby k jiné entitě, čímž zabraňuje vzniku kruhových závislostí.

Signup and view all the flashcards

Nebezpečí kruhových vazeb

Kruhové vazby mezi entitami vytváří riziko vzniku paradoxních situací, protože by se informace mohly vázat do nekonečné smyčky.

Signup and view all the flashcards

Řešení problému kruhových vazeb

Většinou se dá kruhovou vazbu nahradit použitím existujících vazeb, případně zavedením speciálních omezení pro zachování integritry dat.

Signup and view all the flashcards

ERDish věty

Způsob popisu vztahů mezi entitami v databázi pomocí přirozeného jazyka. Uvádí se typ vazby, volitelnost a kardinalita z obou stran.

Signup and view all the flashcards

Normalizace databáze

Rozdělení databáze na logické celky (entity), čímž se udržuje přehlednost a spravitelnost.

Signup and view all the flashcards

Třetí normální forma (3NF)

Třetí normální forma (3NF) databáze znamená, že se v každém sloupci nachází pouze informace závislá na klíči dané entity.

Signup and view all the flashcards

Logický celek entity

Rozhodněte, zda daná entita má sloužit jako samostatný celek nebo je součástí větší entity.

Signup and view all the flashcards

Konceptuální fáze a normalizace

V konceptuální fázi návrhu se snažíme brát v úvahu normalizaci, aby databáze byla co nejvíce optimalizovaná a spravovatelná.

Signup and view all the flashcards

Tabulka Dokumenty

Tabulka uchovává informace o dokumentech, včetně jejich obsahu a metadat. Každý dokument je spojen s jedním uživatelem.

Signup and view all the flashcards

Tabulka Kategorie

Každá kategorie slouží k zařazení dokumentů do kategorií. Dokumenty mohou být zařazeny do více kategorií.

Signup and view all the flashcards

Tabulka Klíčové Informace

Uchovává klíčové informace extrahované z dokumentů. Každá informace je spojena s daným dokumentem.

Signup and view all the flashcards

Tabulka Poznámky

Uchovává poznámky, které uživatelé přidávají k dokumentům.

Signup and view all the flashcards

Tabulka Výsledky Kvízů

Zaznamenává výsledky kvízů pro každého uživatele. Každý výsledek je spojen s uživatelem a kvízem.

Signup and view all the flashcards

Tabulka Systémová Nastavení

Uchovává systémová nastavení pro každého uživatele, např. téma, jazyk a formát data.

Signup and view all the flashcards

Vztahy 1:N

Vztahy 1:N, například jeden uživatel může mít více dokumentů, byly řešeny přidáním cizího klíče do "N" tabulky.

Signup and view all the flashcards

Vztahy M:N

Vztahy M:N, například jeden dokument může mít více kategorií, byly vyřešeny vazební tabulkou.

Signup and view all the flashcards

Primární klíč (PK)

Primární klíč je sloupec v tabulce, který jednoznačně identifikuje každý záznam. Je to jakýsi „osobní doklad

Signup and view all the flashcards

Cizí klíč (FK)

Cizí klíč je sloupec v tabulce, který odkazuje na primární klíč v jiné tabulce. Udržuje si „vazbu

Signup and view all the flashcards

UNIQUE omezení

UNIQUE omezení zajišťuje, že se v daném sloupci nemůžou opakovat stejné hodnoty. Zabraňuje duplicitě.

Signup and view all the flashcards

NOT NULL omezení

NOT NULL slouží k zamezení „prázdných

Signup and view all the flashcards

CHECK omezení

CHECK omezení kontroluje, jestli hodnoty ve sloupci splňují zadanou podmínku (např. přípustné hodnoty, rozsahy, vztahy).

Signup and view all the flashcards

Integritní omezení (IO)

Integritní omezení pomáhají udržovat data konzistentní a správná. Posilují strukturu a integritu databáze.

Signup and view all the flashcards

Triggery

Triggery jsou automatizované procedury, které se spustí „na pozadí

Signup and view all the flashcards

Procedury

Procedury jsou součásti aplikační logiky, které se dá použít na kontrolu dat (ale i

Signup and view all the flashcards

Integritní omezení

Pravidla, která zajišťují, že data vložená do databáze jsou v souladu s logickými pravidly systému a neodporují si.

Signup and view all the flashcards

Referenční integrita

Zajišťuje, že cizí klíč odkazuje na existující záznam v rodičovské tabulce.

Signup and view all the flashcards

Unikátní omezení

Zajišťuje, že se v sloupcích s UNIQUE omezením neopakují stejné hodnoty.

Signup and view all the flashcards

Tabulky bez cizích klíčů

Tabulky, které neobsahují cizí klíče, se naplní jako první, protože na ně žádné jiné tabulky neodkazují. Jsou to ‚rodičovské‘ tabulky.

Signup and view all the flashcards

Tabulky s cizími klíči

Tabulky s cizími klíči se naplní po naplnění rodičovských tabulek, protože cizí klíč musí odkazovat na existující záznam v rodiči.

Signup and view all the flashcards

Dodržování UNIQUE omezení

Při plnění tabulek je potřeba dbát na to, aby se ve sloupcích s UNIQUE omezením neopakovaly stejné hodnoty.

Signup and view all the flashcards

Postup plnění závislých tabulek

Při plnění závislých tabulek je důležité nejprve naplnit tabulky bez cizích klíčů a poté tabulky s vazbami na již existující záznamy.

Signup and view all the flashcards

Plnění tabulek s vazbami

Plňte tabulky s cizími klíči s použitím již existujících hodnot z nadřazených tabulek. Tím se zjednoduší proces plnění dat a zabrání se chybám.

Signup and view all the flashcards

Strukturovaný přístup k plnění dat

Systematický postup při plnění závislých tabulek, kdy se nejprve naplní nadřazené tabulky bez cizích klíčů, a poté se plní závislé tabulky s ohledem na referenční integritu a UNIQUE omezení.

Signup and view all the flashcards

Study Notes

Projekt

  • Název projektu: Seminární práce z předmětu Databázové systémy
  • Program: B0613P140007 - Webové technologie
  • Jméno a příjmení: Lucie Vítová
  • Datum: 13.12.2024

Obsah projektu

  • Analýza
    • Scénář
      • Strukturální a procedurální pravidla
      • Jednoduchá analýza
  • Návrh relační databáze
    • Konceptuální schéma - ERD
      • Diskuze smyček
      • ERDish věty
    • Relační model dat
    • Normalizace a 3. NF
  • Implementace databáze
    • Fyzický model dat
      • Naplnění fyzického modelu dat - postup
      • Číselníky
      • Sekvence a jejich použití
      • UNIQUE, indexy a další integritní omezení
      • Implementace supertypu/subtypu
      • Slabé entity
      • PFK u vazebních tabulek
      • Závěr k fyzickému modelu
      • Integritní omezení
        • Tabulky bez cizích klíčů jako první
        • Tabulky s cizími klíči až poté
        • Dodržení UNIQUE omezení
        • Postup pro závislé tabulky
        • Výhody tohoto postupu
        • Souhrn postupu
  • Výčet SQL dotazů
  • Závěr
  • Přílohy

Studying That Suits You

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

Quiz Team

More Like This

[04/Kollidam/21]
9 questions

[04/Kollidam/21]

InestimableRhodolite avatar
InestimableRhodolite
Database Tables and Keys Quiz
30 questions

Database Tables and Keys Quiz

EnergyEfficientCoconutTree avatar
EnergyEfficientCoconutTree
Use Quizgecko on...
Browser
Browser