CourseWare Wiki
Switch Term
Summer 2023 / 2024
Summer 2022 / 2023
Summer 2021 / 2022
Summer 2020 / 2021
Summer 2019 / 2020
Summer 2018 / 2019
Summer 2017 / 2018
Older
Search
Log In
b222
courses
b0b36dbs
tutorials
Warning
This page is located in archive. Go to the latest version of this
course pages
. Go the latest version of
this page
.
Table of Contents
Semestrální práce
CP-0 - Sdělení tématu (0 bodů)
CP-1 Konceptuální model (20 bodů)
CP-2 Relační model (10 bodů)
CP-3 SQL - Vytvoření databáze, dotazy na data (30 bodů)
CP-4 Pokročilé databázové technologie (10 bodů)
CP-5 Základ JPA aplikace (20 bodů)
Semestrální práce
CP-0 - Sdělení tématu (0 bodů)
Pomocí několika vět popište téma své práce. V krátkosti popište i motivaci, proč vámi vybrané téma budete zpracovávat.
Uvažujte takové téma, které jednak zahrnuje jak (taxonomický) popis systému, tak provozní data (například měření, periodická realizace, atp).
Vyberte si takové téma, u kterého v rámci svých aktuálních znalostí dokážete zrealizovat tak, aby odpovídalo níže uvedeným požadavkům. V případě nejistoty kontaktujte cvičícího.
Téma v rámci skupiny musí být jedinečné, nesmí být identické s ukázkovými tématy probíranými na cvičeních a přednáškách.
CP-1 Konceptuální model (20 bodů)
Pomocí vhodné aplikace vytvořte konceptuální ER model, který odevzdejte ve formě PDF dokumentu obsahující obrázek a krátký popis modelu/technické zdůvodnění použitého konstruktu.
Konceptuální model musí obsahovat nejméně 5 entitních typů, počet entitních typů by neměl přesahovat 10.
Pro účely konceptuálního modelu nezavádějte žádné umělé identifikátory.
Na základě technických důvodů navrhněte konceptuální model, který obsahuje alespoň jednou:
jednoduchý, strukturovaný a vícečetný atribut
vazbu 1:1, 1:N a N:M s použitím kardinalit 0..1, 1..1, 0..N, 1..N
rekurzivní nebo reflexivní vazbu
dědičnost
slabý entitní typ
V modelu uveďte relevantní identifikátory, alespoň u jednoho entitního typu zaveďte (neuvedení relevantního identifikátoru je považováno za chybu)
složený identifikátor
více identifikátorů
Doporučené nástroje:
Creately.com - Entity Relationship Diagrams
Draw.io - Blank Diagram, Entity Relation Shapes
CP-2 Relační model (10 bodů)
Transformujte konceptuální model (CP-1) na relační model v textové podobě, odevzdejte ve formě PDF dokumentu obsahující obrázek (případně opraveného) konceptuálního modelu a relační model.
Pokud to považujete za vhodné, doplňte předchozí konceptuální model o nové entity/vztahy/charakteristiky.
Využijte textovou notaci
Tabulka (
Klíč
, Atribut1, Atribut2)
, uvádějte cizí klíče. Neuvažujte NULL hodnoty.
CP-3 SQL - Vytvoření databáze, dotazy na data (30 bodů)
Transformujte relační model (CP-2) na ER model a z něho vyplývající SQL dotazy vytvářející databázi, nad touto databází formulujte dotazy na data, odevzdejte ve formě PDF dokumentu obsahující
Obrázek - ER model a relační model
SQL dotazy pro vytvoření databáze včetně adekvátních integritních omezení, zejména pak zavedení
adekvátních typů u jednotlivých atributů
atributového integritního omezení
tabulkového integritního omezení
cizích klíčů včetně (technicky zdůvodněné) direktivy ON UPDATE/DELETE
klíčů a primárních klíčů, popřípadě zaveďte umělé klíče, pokud je to vhodné
SQL dotazy pro získání údajů z databáze pokrývající alespoň jednou
vnější spojení tabulek
vnitřní spojení tabulek
podmínku na data
agregaci a podmínku na hodnotu agregační funkce
řazení a stránkování
množinové operace
vnořený SELECT
U každého dotazu slovy popište jeho činnost, uveďte dotaz a proveďte screenshot výsledku dotazu, který je vrácen klientem.
Pro účely tohoto úkolu je nezbytně nutné
Založit veškeré tabulky ve vaší studentské databázi na serveru slon.felk.cvut.cz
Všechny SQL dotazy musí být (bezchybně) spustitelné na uvedeném serveru.
Naplnit založené tabulky relevantním počtem dat
Naplnit jednu tabulku (s klíčovým významem pro zpracovávané téma) větším množstvím (cca ~32k) “provozních” dat
Cvičícímu předvést volání vybraných netriviálních dotazů.
Doporučené nástroje:
MicroOLAP for Postgresql
DB Designer
CP-4 Pokročilé databázové technologie (10 bodů)
Databázi CP-3 rozšiřte o další pokročilé technologie, do PDF dokumentu uveďte stručný komentář a potřebné SQL dotazy.
V rámci tohoto odevzdání demonstrujte
Zavolání transakce a sady dotazů včetně nastavení vhodné úrovně izolace, uveďte konflikt, který by mohl vzniknout, pokud by nebylo použito transakce
Vytvoření a použití pohledu
Vytvoření a použití triggeru
Vytvoření a použití indexu, přičemž s pomocí relevantní analýzy diskutujte přínos využití takového indexu.
CP-5 Základ JPA aplikace (20 bodů)
Na databází CP-3 vystavte základ javové aplikace využívající JPA, který obsahuje zejména
datový model odpovídající celé databázi zahrnující
Many To Many vazbu
dědičnost
DAO vrstva zajišťující nutný nízkoúrovňový přístup k datům
Servisní vrstva volající DAO vrstvu obsahující 5 vybraných užití vašich dat, specializovaný zejména na zapisovací operace a pokrývající transakci z CP-4.
Odevzdává se formou odevzdání relevantní části JAVA projektu, běh aplikace v rámci odevzdání je nutné předvést cvičícímu.
courses/b0b36dbs/tutorials/start.txt
· Last modified: 2023/04/03 18:54 by
rimnacm