Počítačová cvičení z předmětu Datové sklady #1 Relační model dat

Slides:



Advertisements
Podobné prezentace
Aplikační a programové vybavení
Advertisements

Základní obeznámení s jazykem SQL
Základy jazyka SQL Jan Tichava
A5M33IZS – Informační a znalostní systémy Dotazovací jazyk SQL - I.
SQL: DDL v ORACLE CREATE TABLE jméno_tabulky (atribut datový_typ [DEFAULT][attribut_constraint] [, atribut datový_typ [DEFAULT] [attribut_constraint]],...
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.
Databáze.
 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á.
YDASYS1 Ing. Monika Šimková.
Cvičení 03 SQL Select Ing. Pavel Bednář
Informační systémy Nástroje pro sběr dat, návrh a realizace databáze.
Další dotazy SQL Structured Query Language. Některé SQL příkazy mohou mít v sobě obsaženy další kompletní příkazy SELECT. Využijeme je tam, kde potřebujeme.
Databázové systémy Relační model.
Informatika pro ekonomy II přednáška 11
Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
1 BUMI Úvod do medicínské informatiky Počítačové cvičení č. 3 Ing. Vratislav Čmiel.
Temporální databáze a TSQL
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.
1IT Relační datový model
Databáze Jiří Kalousek.
SQL Přednáška DB1. Literatura CONNOLLY, T.M.-BEGG,C.E.-STRACHAN,A.D.: Database Systems – A Practial Approach to Design, Implementation and Management.
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ázové systémy Štěpán Šípal.
Databáze Úvod.
Databázové systémy II Přednáška č. 8 – Pohledy (Views)
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Databázové systémy teorie a návrh relačních databázových systémů část II.
Relační databáze.
Vypracoval: Ondřej Dvorský Třída: VIII.A
Aplikační a programové vybavení
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 I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Databázové systémy Přednáška č. 6.
SQL PVA Jan Hora. SQL „graficky“ Grafický vs. pravý SQL SELECT ORDED BY WHERE.
Rauer Luboš Kopic Petr Blažek Tomáš. Structured Query Language - dotazovací jazyk -> pracuje s dotazy - neprocedurální jazyk - mocný, ale přitom jednoduchý.
Čí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ý.
Databázové systémy UIN010 N-ticový (řádkový) relační kalkul Hodnoty proměnných n-tice relací (řádky) Konstanty hodnoty atributů Unární funkční.
Databázové modelování
Databázové systémy Relační model.
Informatika II PAA DOTAZOVACÍ JAZYKY
Access Vysvětlení pojmu databáze - 01
Aplikační a programové vybavení
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.
Databázové systémy 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Základní obeznámení s jazykem SQL Databázové systémy.
Databázové Aplikace Slidy ke cvičení DBI026, část 3 KSI MFF UK Verze
SQL Další dotazy a pohledy Databázové systémy. Některé SQL příkazy mohou mít v sobě obsaženy další kompletní příkazy SELECT. Využijeme je tam, kde potřebujeme.
J. Pokorný, I Halaška1 DBS: SQL92 Jaroslav Pokorný MFF UK, Praha
Informační systémy Tvorba databáze, nástroje pro tvorbu tabulek, relací, vazeb.
Základní obeznámení s jazykem SQL Databázové systémy.
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í.
Databázové systémy I Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Úvod do databází zkrácená verze.
Databázové systémy a SQL
Unix a Internet 9. SQL server
Z3104 Geodatabáze úvod.
Dotazovací jazyk SQL I.
Z3104 Geodatabáze úvod.
Databázové systémy a SQL
Databázové systémy a SQL
Informatika pro ekonomy přednáška 8
Šablona 32 VY_32_INOVACE_038.ICT.34
Počítačová cvičení z předmětu Datové sklady
Dotazovací jazyk SQL I.
Relační model databáze
Databázové jazyky Jaroslav Pokorný FI BVŠP Bratislava
Praktický modul - zadání
Transkript prezentace:

Počítačová cvičení z předmětu Datové sklady #1 Relační model dat Vladimír Bartík Jan Kupčík Petr Leixner Vysoké učení technické v Brně, Fakulta informačních technologií Božetěchova 2, 612 66 Brno

Relační struktura dat Počítačová cvičení z předmětu Datové sklady pro FP

Relační model dat: zákl. pojmy Doména - pojmenovaná množina skalárních hodnot téhož typu. Př) Doména názvů měst Skalární hodnota - nejmenší sémantická jednotka dat, atomická (vnitřně nestrukturovaná). Př) Josef Novák – nerozlišujeme-li jméno a příjmení Složená doména – doména složená z několika jednoduchých domén. Př) (Josef, Novák) Relace Relace na doménách D1, D2, ... ,Dn je dvojice R = (R, R*), kde R = R(A1:D1, A2:D2, ... An:Dn ) je schéma relace a R* ⊆ D1 x D2 x ... x Dn je tělo relace. Schéma relace zapisujeme často zjednodušeně ve tvaru R(A1,A2, ... ,An). Počet atributů n relace se označuje stupeň (řád) relace, kardinalita těla relace m = |R*| se označuje kardinalita relace. Vztah pojmu „relace“ v relačním modelu dat a pojmu „tabulka“ relace základní abstraktní pojem relačního modelu tabulka forma znázornění relace Atribut relace ~ sloupec tabulky, n-tice relace ~ řádek tabulky Počítačová cvičení z předmětu Datové sklady pro FP

Integritní omezení omezení plynoucí z reality reprezentované daty v databázi Typy integritních omezení: specifická – pro konkrétní aplikaci obecná – musí platit v každé databázi daného typu obecná omezení v relačním modelu se týkají primárních a cizích klíčů Primární klíč atribut, který jednoznačně identifikuje n-tici v relaci Kandidátní klíč Atribut k relace R se nazývá kandidátním klíčem, když má tyto dvě časově nezávislé vlastnosti: 1. jednoznačnost 2. minimalita (neredukovatelnost). Počítačová cvičení z předmětu Datové sklady pro FP

Integritní omezení - pokračování Cizí klíč Př) Zaměstnanci.oddělení - je hodnota ‘Vývoj’ legální? Atribut FK bázové relace R2 se nazývá cizí klíč, právě když splňuje tyto časově nezávislé vlastnosti: 1. Každá hodnota FK je buď plně zadaná nebo plně nezadaná. 2. Existuje relace R1 s kandidátním klíčem CK takovým, že každá zadaná hodnota FK je identická s hodnotou CK nějaké n-tice relace R1. - soulad hodnot cizích a primárních klíčů představuje vztahy mezi řádky tabulek ("drží databázi pohromadě") Počítačová cvičení z předmětu Datové sklady pro FP

SQL je standardizovaný dotazovací jazyk používaný pro práci s daty v relačních databázích. SQL je zkratka anglických slov Structured Query Language (strukturovaný dotazovací jazyk). Dělení příkazů: Příkazy pro manipulaci s daty (SELECT, INSERT, UPDATE, DELETE, …) Příkazy pro definici dat (CREATE, ALTER, DROP, …) Příkazy pro řízení přístupových práv (GRANT, REVOKE) Příkazy pro řízení transakcí (START TRANSACTION, COMMIT, ROLLBACK) Ostatní nebo speciální příkazy Počítačová cvičení z předmětu Datové sklady pro FP

SQL: Příkazy pro definici dat Základní příkazy: CREATE - vytvoření DROP - zrušení databázového objektu ALTER - změna vlastností databázového objektu Vytvoření bázové (skutečně existující v databázi) tabulky CREATE TABLE jm_bázové_tabulky (def_sloupce, … [definice_integritních_omezení_tabulky] ) → vytvoří novou, prázdnou tabulka + popis uloží do katalogu Definice sloupce jméno_sloupce typ [impl_hodnota] [seznam_io_sloupce] Definice integritních omezení (io) Integritní omezení jsou omezení kladená na hodnoty ve sloupcích tabulky, aby nedošlo k porušení integrity dat. Počítačová cvičení z předmětu Datové sklady pro FP

SQL: Příkazy pro definici dat – integritní omezení Kandidátní klíč - sloupec, resp. sloupce tabulky (pro složený kandidátní klíč), jehož hodnota, resp. kombinace hodnot je v rámci tabulky unikátní. Primární klíč – jeden z kandidátních klíčů, který bude sloužit k „adresaci“ řádků tabulky. Musí splňovat vlastnosti kandidátního klíče, navíc nesmí být hodnota prázdná. Alternativní klíč – kandidátní klíč, který není primárním klíčem. Cizí klíč – sloupec, resp. sloupce tabulky (pro složený cizí klíč), jehož hodnota, resp. kombinace hodnot se musí rovnat hodnotě kandidátního klíče v nějaké tabulce. Slouží k vytváření vazeb mezi tabulkami. Soulad hodnot cizího klíče a odkazovaného kandidátního klíče se nazývá referenční integrita. Počítačová cvičení z předmětu Datové sklady pro FP

SQL: Příkazy pro definici dat – integritní omezení Integritní omezení (deklarativní) pro sloupce NULL, resp NOT NULL CHECK (podmíněný_výraz) PRIMARY KEY UNIQUE FOREIGN KEY REFERENCES tabulka [(jm_sloupce)] [událost ref_akce] Integritní omezení (deklarativní) celé tabulky PRIMARY KEY (jm_sloupce, …) UNIQUE (jm_sloupce, …) FOREIGN KEY (jm_sloupce, …) REFERENCES tabulka [(jm_sloupce, …)] [událost ref_akce] CHECK (podmíněný_výraz) Počítačová cvičení z předmětu Datové sklady pro FP

Datové typy Typy dat řetězcové: CHARACTER(n), CHARACTER VARYING(n), BIT(n), BIT VARYING(n) numerické přesné - NUMERIC(p, q), DECIMAL(p, q), přibližné - INTEGER, SMALLINT, FLOAT(p), REAL, DOUBLE PRECISION datum a čas: DATE, TIME, TIMESTAMP intervalové: INTERVAL SQL/99 zavádí další předdefinované datové typy, např.: NATIONAL CHARACTER(n), NATIONAL CHARACTER VARYING(n), CHARACTER LARGE OBJECT, BINARY LARGE OBJECT booleovský: BOOLEAN Počítačová cvičení z předmětu Datové sklady pro FP

příkazy: SELECT, UPDATE, DELETE, INSERT SQL: Manipulace s daty příkazy: SELECT, UPDATE, DELETE, INSERT - operandem jsou bázové tabulky nebo pohledy, výsledkem tabulka Příkaz SELECT SELECT [ALL|DISTINCT] položka [[AS] alias_sl], … FROM tabulkový_výraz [[AS] [alias_tab]], … [WHERE podmínka] [GROUP BY jm_sloupce_z_FROM|číslo, …] [HAVING podmínka] [ORDER BY jm_sloupce_z_SELECT|číslo [ASC|DESC]], … Počítačová cvičení z předmětu Datové sklady pro FP

SQL: vkládání dat Příkaz INSERT Zdroje pro vkládání: INSERT INTO jm_tabulky [(jm_sloupce, …)] zdroj → Vloží jeden nebo více řádků tabulky Zdroje pro vkládání: Řádek implicitních hodnot (z příkazu CREATE TABLE) Řádek zadaných hodnot VALUES(skalární_výraz|NULL|DEFAULT, …) INSERT INTO Klient VALUES('440726/0672','Jan Novák','Cejl 8','Brno') Výsledek poddotazu tabulkový_výraz „Vlož do tabulky ZJ informace o klientech s účtem na Jánské.“ INSERT INTO ZJ SELECT DISTINCT K.* FROM Klient K, Ucet U WHERE K.r_cislo=U.r_cislo AND U.pobocka='Jánská' Počítačová cvičení z předmětu Datové sklady pro FP

SQL:manipulace s daty Příkaz DELETE (prohledávací) DELETE FROM jm_tabulky [WHERE podmínka] → zruší jeden nebo několik řádků tabulky splňující podmínku „Zruš informace o klientech bez účtu." DELETE FROM Klient WHERE r_cislo NOT IN (SELECT r_cislo FROM Ucet) • Příkaz UPDATE (prohledávací) UPDATE jm_tabulky SET jm_sloupce = výraz|NULL|DEFAULT, … [WHERE podmínka] → změní hodnoty specifikovaných sloupců v řádcích splňujících podmínku „Poznač vklad 1000 Kč na účet číslo 100.“ UPDATE Ucet SET stav=stav+1000 WHERE c_uctu=100 Počítačová cvičení z předmětu Datové sklady pro FP

MS SQL Server 2005 – práce s databází Spusťte si Microsoft SQL Server Management studio Programy -> Microsoft SQL Server 2005 -> Microsoft SQL Server Management studio Přihlašte se loginem a heslem pro SQL Server (u1-u20) Použijte databázi – dle vašeho loginu (u1 – db1,.., u20 – db20) Pomocí připravených skriptů vytvořte tabulky Samostatný úkol: vytvořte tabulku Transakce a vložte jeden řádek Počítačová cvičení z předmětu Datové sklady pro FP

MS SQL Server 2005 - Přihlašování do systému Programy -> Microsoft SQL Server 2005 -> Microsoft SQL Server Management studio Adresa serveru je winsql, resp. winsql.fit.vutbr.cz Počítačová cvičení z předmětu Datové sklady pro FP

MS SQL Server 2005 – použití databáze Každý účet má přiřazenu vlastní databázi: U1 = db1,…, u20 = db20 Počítačová cvičení z předmětu Datové sklady pro FP

MS SQL Server 2005 – spouštění SQL dotazů Pro spouštění SQL skriptů je potřeba se přepnout do dotazovacího okna Počítačová cvičení z předmětu Datové sklady pro FP

MS SQL Server 2005 – spouštění skriptů Nový skript se spouští přes kontextové menu – „Execute“ Počítačová cvičení z předmětu Datové sklady pro FP

MS SQL Server 2005 – refresh seznamu tabulek Aktualizovaný seznam tabulek získáte přes kontextové menu – „Refrresh“ Počítačová cvičení z předmětu Datové sklady pro FP

MS SQL Server 2005 - Vytvoření tabulek Počítačová cvičení z předmětu Datové sklady pro FP

MS SQL Server 2005 - Tabulka klient CREATE TABLE Klient ( r_cislo CHAR(11) NOT NULL, jmeno VARCHAR(20) NOT NULL, ulice VARCHAR(20), mesto VARCHAR(20), PRIMARY KEY (r_cislo) ); CREATE UNIQUE INDEX Iklient ON Klient (r_cislo); INSERT INTO Klient VALUES('440726/0672','Jan Novák','Cejl 8','Brno'); VALUES('530610/4532','Petr Veselý','Podzimní 28','Brno'); VALUES('601001/2218','Ivan Zeman ','Cejl 8','Brno'); Počítačová cvičení z předmětu Datové sklady pro FP

MS SQL Server 2005 - Tabulka pobočka CREATE TABLE Pobocka ( nazev VARCHAR(20) NOT NULL, jmeni INTEGER, PRIMARY KEY (nazev) ); CREATE UNIQUE INDEX Ipobocka ON Pobocka (nazev); INSERT INTO Pobocka VALUES('Jánská',10000000); VALUES('Palackého',5000000); SELECT * FROM Pobocka; Počítačová cvičení z předmětu Datové sklady pro FP

MS SQL Server 2005 - Tabulka účet CREATE TABLE UCET ( c_uctu INTEGER NOT NULL, stav DECIMAL(10,2), r_cislo CHAR(11) NOT NULL, pobocka VARCHAR(20), PRIMARY KEY (c_uctu), FOREIGN KEY (r_cislo) REFERENCES Klient ON DELETE CASCADE, FOREIGN KEY (pobocka) REFERENCES Pobocka ); CREATE UNIQUE INDEX Iucet ON Ucet (c_uctu); INSERT INTO Ucet VALUES(4320286,52000,'440726/0672','Jánská'); VALUES(2348531,10000,'530610/4532','Jánská'); VALUES(1182648,10853,'530610/4532','Palackého'); Počítačová cvičení z předmětu Datové sklady pro FP

MS SQL Server 2005 - Tabulka transakce Úkol: Vytvořte tabulku transakce a vložte do ní řádek s daty Počítačová cvičení z předmětu Datové sklady pro FP

MS SQL Server 2005 – Ukončení práce Drop table transakce; Drop table ucet; Drop table klient; Drop table pobocka; Počítačová cvičení z předmětu Datové sklady pro FP

Toť vše… Počítačová cvičení z předmětu Datové sklady pro FP