Jeden týden po této konzultaci by jste měli odevzdat zadání semestrální práce. Pokud zadaní odevzdáte v průběhu příštího týdne, můžete jej ještě po prokonzultovat.
Osnova celého předmětu:
Literatura:
Osnova 1. konzultace:
Vážení studenti, níže jsou informace k vaší první konzultaci. Dle pokynů je nezbytné, aby jste si vybrali téma své semestrální práce a popsali co bude váš systém dělat. Téma semestrální práce si můžete vymyslet sami. Celý semestr se budeme v tomto předmětu zabývat databázemi. Konkrétně vás budeme učit pracovat s OpenSource databázovým systémem PostgreSQL. V každém cvičení jsou vám prezentovány ukázky, které by vám měli pomoci zvládat výuku. Věnujte proto prosím pozornost sekci s důležitými odkazy, které budou vždy uvedeny ve spodní části.
Při vypracovávání semestrálních prací dbejte na zabezpečení dat proti zneužití.
Jako první kontrolní bod je po vás vyžadováno vytvoření vašeho zadání či zvolení navrhovaného zadání. Kromě toho, je potřeba, aby jste vypracovali dokument, v kterém několika věty popíšete k čemu bude systém sloužit. Co bude evidovat a jakou jsou jeho nejčastější případy použití. Chceme také, aby jste zmínili úskalí, která by v systému mohla být. Vypracování této části semestrální práce je povinné, nicméně není bodované. Slouží hlavně pro vás, aby jste si ujasnili co za systém vlastně vytváříte.
SQL nebo-li Structured Query Language se používá k ovládání relačních databází. Slouží k vytváření tabulek a práce s nimi. Základní tutoriál je například na stránce w3schools.com. Všechny SQL skripty je nutné pouštět nad funkční relační databází. Funkční relační databázi vám poskytneme, nicméně je vhodné, aby jste si PostgreSQL nainstalovali i na vaše lokální vývojové stanice. Pomůže vám to k tomu, aby jste pochopili jak databáze fungují.
CREATE TABLE osoby ( id serial NOT NULL, jmeno character varying(100), prijmeni character varying(100), CONSTRAINT pk_osoby PRIMARY KEY (id) ); CREATE TABLE adresy ( id serial NOT NULL, osoba_id integer, ulice character varying(200), CONSTRAINT pk_adresy PRIMARY KEY (id), CONSTRAINT fk_adresy_osoby FOREIGN KEY (osoba_id) REFERENCES osoby (id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION ); INSERT INTO osoby(jmeno, prijmeni) VALUES ('jiri', 'novak'), ('petr', 'konecny'); INSERT INTO adresy(osoba_id, ulice) VALUES ((SELECT id FROM osoby WHERE jmeno='jiri'), 'dlouha'), ((SELECT id FROM osoby WHERE jmeno='jiri'), 'kratka'), ((SELECT id FROM osoby WHERE jmeno='petr'), 'u zatacky'); SELECT a.ulice FROM adresy a, osoby o WHERE a.osoba_id=o.id AND o.jmeno='jiri';
Změna hesla:
ALTER USER jmeno WITH PASSWORD 'nove_heslo'
Tutoriál na SQL:
Tutorial na postgreSQL a pgAdmin:
https://www.youtube.com/watch?v=ghTksCsFBcI
https://www.youtube.com/watch?v=1wvDVBjNDys
Návrh databáze:
Pokorný J., Valenta M.: Databázové systémy (kap. 3)
https://www.zdrojak.cz/clanky/navrh-databaze-nosql-vs-sql
http://www.root.cz/clanky/modelovani-databazi/
http://www.embt.cz/cs/novinky/37-7-smrtelnych-hrichu-navrhu-databaze.html
E-R modelování: