Databázové systémy Štěpán Šípal.

Slides:



Advertisements
Podobné prezentace
Úvod do databázových systémů
Advertisements

Tabulky v MS ACCESS Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Jiří Novák.
Přednáška č. 1 Úvod, Historie zpracování dat, Základní pojmy
A5M33IZS – Informační a znalostní systémy Dotazovací jazyk SQL - I.
Aplikační a programové vybavení
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
Ing. Monika Šimková. Máme-li data reprezentovat v databázi, jak vybereme jejich strukturu na konceptuální úrovni? Konceptuální modelování analyzuje požadavky.
Databáze.
Microsoft Office Access
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
DB1 – 9. cvičení Optimalizace dotazu Konkurenční přístup a deadlock Indexace Transakce.
Výpočetní technika Akademický rok 2006/2007 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
Databázové systémy Relační model.
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 1 Cvičení č. 4 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
YDASYS Ing. Monika Šimková.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Úvod do databází Databáze.
Databáze Jiří Kalousek.
Relační databáze Databází se myslí uložiště dat. V době začátků využívání databází byly tyto členěny hlavněhierarchicky, případně síťově (rozšíření hierarchického.
MySQL - Vytvoření nové tabulky  create table jméno_tabulky (jméno_položky typ_položky,... ) Přehled nejběžnějších datových typů Přehled nejběžnějších.
Databáze Úvod.
Vyhledávání dat podle určených kritérií Máte za úkol vytvořit databázi klientů v bance s jejich osobními údaji, čísly účtů a konečnými zůstatky na těchto.
Návrh Databází Štěpán Šípal.
Databázové systémy II Přednáška č. 8 – Pohledy (Views)
D ATOVÉ MODELY Ing. Jiří Šilhán. D ATABÁZOVÉ SYSTÉMY Patří vedle textových editorů a tabulkových kalkulátorů k nejrozšířenějším představitelům programového.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Objektové programování
Relační databáze.
Konceptuální návrh databáze
Vypracoval: Ondřej Dvorský Třída: VIII.A
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
Informatika pro ekonomy II přednáška 10
Databázové systémy Přednáška č. 4 Proces návrhu databáze.
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Využití subpohledů. Obsah n 1) Co je to pohled? n 2) Co je to subpohled? n 3) Jak vytvořit subpohled? n 4) Příklad.
Číslo šablony: III/2 VY_32_INOVACE_P4_3.8 Tematická oblast: Aplikační software pro práci s informacemi II. Databáze – základy SQL Typ: DUM - kombinovaný.
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Konceptuální návrh databáze
Databázové modelování
Databázové systémy Relační model.
Access Vysvětlení pojmu databáze - 01
Databáze teorie.
ACCESS – Primární klíče, relace 15. září 2013VY_32_INOVACE_080305_ACCESS_Primarni_klice_relace_DUM Autorem materiálu a všech jeho částí, není-li uvedeno.
Aplikační a programové vybavení
Databázové systémy Informatika pro ekonomy, př. 18.
Databáze velké množství dat pevně dané struktury
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
IKT MS Office Access Relace 07 Ing. Jana Horáková
Jak učit databáze v tabulkovém procesoru. Učit vlastně databáze na ZŠ ??? Pro: Práce s velkými objemy dat je jedním z hlavních z hlavních využití PC.
Databázové systémy Datové modely.
Univerzita třetího věku kurz Znalci Databáze 1.
DATABÁZE.
24 Používání relačních databází (základní pojmy a principy z oblasti relačních databází, struktura databáze,oblasti použití relačních databází, vkládání.
Rozdíl mezi databází a tabulkou Rozdíl mezi Accessem a Excelem
Úvod do databází zkrácená verze.
● Databaze je soubor dat,slouží pro popis reálného světa(např.evidence čkolní knihovny..) ● Relační databaze je databáze založená na relačním modelu.
Import dat Access (16). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická škola pro tělesně.
Význam relací Typy relací Vytvoření relace Nastavení relace Podtypy relace Referenční integrita.
Datové typy MS Access (3). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická škola pro tělesně.
Unix a Internet 9. SQL server
Relační databázová technologie
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Informatika pro ekonomy přednáška 8
Optimalizace SQL dotazů
Počítačová cvičení z předmětu Datové sklady #1 Relační model dat
Relační model databáze
Přednáška 9 Triggery.
Transkript prezentace:

Databázové systémy Štěpán Šípal

Témata hodiny Druhy databází a využití Souborová databáze Relační databáze Objektová databáze Základní principy relačních databází Pojem relace Tabulky v databázi Klíče v tabulkách Vztahy mezi tabulkami

Témata hodiny II. Referenční integrita Programy pro design databází Jazyk SQL Rekapitulace

Druhy databází a využití Souborová databáze Složité prohledávání. Pokud víme, který soubor potřebujeme, je rychlejší I u relační databáze jsou data uložena v souborech, RDBMS navíc nabízí řadu funkcí pro vyhledávání ap. = určité zpomalení. Není možné jednoduše udržovat integritu dat. Není možné používat transakce, zamykání řádků a další pokročilé funkce.

Relační databáze Základy položil E.F. Codd v roce 1970. Většina dnešních databází pracuje na principu klient/server Systém správy dat se nazývá DBMS (DataBase Management System). Veškerá data v relačních databázích jsou uložena v tabulkách (relacích). RDBMS nám nabízí řadu možností na vyhledávání a spojování dat (indexace, vztahy mezi tabulkami, ...).

Relační databáze II. Každá tabulka obsahuje záznamy, které mají shodné atributy (vlastnosti) Nemusí mít shodné jejich hodnoty! Shodné atributy mají určeny shodné domény (rozsah hodnot - například číslo, text, boolean). Jednotlivé tabulky mezi sebou mohou mít také určité vztahy (ty mohou být určovány další tabulkou) Například tabulka učitelé a tabulka předměty bude mít vztah „učitel“ učí „předmět“.

Objektové databáze Společně s přechodem od strukturovaného programování k objektovému jsou snahy přejít od relačních databází k databázím objektovým, případně objektově-relačním. Objektové databáze umožňují použití obdobných možností jako při objektovém programování – dědičnosti, polymorfismu a dalších. Jsou razantně náročnější na návrh a implementaci, nicméně jejich samotné použití je jednodušší a přirozenější oproti relačním databázím.

Základní principy relační DB Relace Tabulka. Řádky označují jednotlivé záznamy (jedince) v tabulce Například v tabulce učitelé Štěpán Šípal, Tomáš Eismann, ... Sloupečky pak jednotlivé atributy (vlastnosti) tabulky (relace) V tabulce učitelé tak bude atribut pohlaví, narozen, email, ... Atribut v tabulce má většinou tzv. doménu – ta určuje rozsah hodnot, které může atribut (vlastnost) nabývat. Například u věku to bude integer (číslo), u jména varchar (text určité délky).

Klíče v tabulkách Každý záznam v tabulce musí být jednoznačně identifikován Každý záznam by měl být unikátní díky souhrnu svých atributů. Tomuto souhrnu všech hodnot atributů se říká tzv. superklíč. Superklíč není vhodný pro jednoznačné adresování záznamu a jeho výběr. Pro uživatele aplikace (nebo pro navázanou tabulku) je třeba vybrat jeden atribut, který bude jednoznačně identifikovat celý záznam. Takovému atributu pak říkáme primární klíč. Všechny atributy, které mohou být použity jako primární označujeme jako kandidátní klíče.

Klíče v tabulkách II. Superklíč Kandidátní klíč Jakékoliv uskupení atributů (sloupců), které jednoznačně identifikuje záznam (řádek) v tabulce Některé jeho prvky mohou být zbytečné Kandidátní klíč Co nejvíce zjednodušený superklíč Unikátně identifikuje záznam v tabulce Neexistuje menší množství atributů, které by jednoznačně identifikovaly záznam (řádek)

Výběr primárního klíče Vybereme kandidátní klíče (atributy, které by mohly jednoznačně identifikovat záznam). U seznamu osob například rodné číslo, jméno+příjmení, telefon. Zvážíme použitelnost a skutečnou jednoznačnost těchto atributů Jméno+příjmení nemusí být jednoznačné, existuje více Janů Nováků. Telefon nemá ustálený formát, není tedy příliš vhodný jako primární klíč.

Výběr primárního klíče II. Rodné číslo bychom mohli použít jako primární klíč, neboť jednoznačně identifikuje každý řádek (záznam) v tabulce a je jasně definována jeho syntaxe. Často však kvůli jednoduššímu použití pro programátory přidáváme do tabulky primární klíč jako zcela samostatný atribut, do kterého se při zápisu záznamu do tabulky píše automaticky se zvyšující číslo.

Vztahy mezi tabulkami U vztahů vždy nejprv řešíme takzvanou multiplicitu, tedy množství záznamů (řádků) jedné tabulky, které se mohou vázat na určitý řádek tabulky druhé. 1:1 Na jeden záznam v každé tabulce se může vázat pouze jediný záznam v druhé tabulce (případně žádný). Je otázka, zda není vhodné tabulky sloučit do jedné. Například tabulka „lidé“ a tabulka „hesla do systému“.

Vztahy mezi tabulkami 1:n m:n Nejběžnější vztah v relačních databázích. Na jeden řádek v jedné z tabulek se může vázat více záznamů v tabulce druhé. Na jeden záznam v druhé tabulce se váže pouze jediný záznam v tabulce první. Například tabulka „člověk“ a tabulka „telefonní čísla“. m:n Na jeden řádek z tabulky se může vázat více záznamů z druhé tabulky, současně na jeden řádek z druhé tabulky se může vázat více záznamů z první tabulky.

Vztahy mezi tabulkami II. m:n Tento vztah není možné přímo reprezentovat v relační databázi, používá se proto „propojovací“ tabulka, která určí které záznamy budou propojeny (případně může obsahovat ještě nějaké vlastnosti tohoto propojení). Například propojení tabulky „učitelé“ a tabulky „třídy“ pro reprezentaci vztahu učitel učí ve třídách.

Propojování tabulek K propojení jednotlivých tabulek ve vztazích se používají primární a tzv. „cizí“ klíče. Cizí klíč (FK) Sloupec, který se shoduje (váže) na primární klíč v jiné tabulce Musí obsahovat hodnotu PK v navázané tabulce, nebo NIC (null) Hodnota v něm se může v tabulce vícekrát opakovat Je důležité nezaměňovat primární a cizí klíč!

Propojování tabulek II. Při zjišťování multiplicity vztahu mezi tabulkami se musíme „dívat z pohledu jednoho záznamu v každé z těchto tabulek“. Vezmeme tedy jeden záznam z tabulky A a řekneme si, kolik záznamů v tabulce B by se k němu mohlo teoreticky vázat. (vezmeme Štěpána Šípala z tabulky učitelů a řekneme si, kolik by mohl mít telefonů v tabulce telefony). Poté vezmeme jeden záznam z tabulky B a provedeme to samé (vezmeme 777691889 a řekneme si, kolik učitelů by mohlo toto číslo vlastnit).

Propojování tabulek III. V tabulce, jejíž více záznamů se bude vázat pouze na jediný záznam v druhé tabulce (tedy v multiplicitě 1:n to bude tabulka s n záznamy) přidáme nový atribut – takzvaný cizí klíč. Pokud narazíme na vztah m:n, vytvoříme novou tabulku, která bude mít jako atributy cizí klíč tabulky A a cizí klíč tabulky B.

Referenční integrita DBMS by měl zajišťovat takzvanou referenční integritu, tedy měl by zajistit, aby z tabulky nebylo možné odstranit záznam, na který odkazuje cizí klíč záznamu v jiné tabulce. Například by nemělo být možné z tabulky „učitelé“ odstranit záznam Štěpán Šípal, pokud bude mít v tabulce „telefony“ nějaké záznamy. Případně by mělo být možné nastavit tzv. vodopád, v případě smazání Štěpána Šípala by tak DBMS automaticky odstranil korespondující telefony.

Práce s DBMS Pro přístup k DBMS se u relačních databází používá jazyk SQL, upravený dle jednotlivých vydavatelů DBMS (MySQL, MSSQL, Oracle, ...). SQL má několik základních příkazů (SELECT, UPDATE, CREATE, INSERT, DELETE) a velmi jednoduchou – intuitivní syntaxi. Dále se mohou používat nejrůznější klienti, například phpMyAdmin, kteří za člověka SQL příkazy vytvoří.

Děkuji za pozornost