Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.

Slides:



Advertisements
Podobné prezentace
Databázové systémy 2 Cvičení č. 8
Advertisements

KIV/ZIS Cvičení 6 SQL - SELECT.
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]],...
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
Fakulta elektrotechniky a informatiky
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.
SQL Structured Query Language
Základní obeznámení s jazykem SQL
Informatika pro ekonomy II přednáška 11
Databázové systémy 1 Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy II Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 1 Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy 1 Cvičení č. 4 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy 2 Cvičení č. 6 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Fakulta elektrotechniky a informatiky
Databázové systémy 1 Cvičení č. 3 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
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 II Přednáška č. 8 – Pohledy (Views)
Databázové systémy 2 Cvičení č. 7 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Fakulta elektrotechniky a informatiky
Databázové systémy I Cvičení č. 9 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Fakulta elektrotechniky a informatiky
Databázové systémy teorie a návrh relačních databázových systémů část II.
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.
Databázové systémy 2 Cvičení č. 4 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Databázové systémy Přednáška č. 6.
SQL – základní pojmy Ing. Roman Danel, Ph.D.
SQL PVA Jan Hora. SQL „graficky“ Grafický vs. pravý SQL SELECT ORDED BY WHERE.
Databázové systémy 2 Cvičení č. 6 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Fakulta elektrotechniky a informatiky
Fakulta elektrotechniky a informatiky
Čí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 I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 2 Zkouška – 08:00. Příklad I – Procedura – 5 bodů Vytvořte proceduru P_ZK3(p_oddeleni_id_from NUMBER, p_oddeleni_id_to NUMBER,
Databázové systémy II Cvičení č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy I Cvičení č. 10 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Databázové systémy 2 Zkouška – 12:00. Příklad I - Funkce Vytvořte funkci ZK_TRP_TREND(P_ID_TRPASLIKA IN NUMBER, P_DATUM_OD IN VARCHAR2, P_DATUM_DO.
Databázové systémy I Cvičení č. 7 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Informatika II PAA DOTAZOVACÍ JAZYKY
Databázové systémy 2 Zkouška – 8:00. Příklad I – Procedura – 5 bodů Vytvořte proceduru P_ZK2(p_table_name VARCHAR2, p_min_nuls NUMBER, p_drop.
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.
Architektury a techniky DS Cvičení č. 5 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
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é systémy SQL Výběr dat.
Databázové systémy 2 Cvičení č. 4 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové Aplikace Slidy ke cvičení DBI026, část 3 KSI MFF UK Verze
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B15 Autor Ing. Jiří Kalousek Období vytvoření březen.
Databázové systémy 2 Zkouška – 8:00. Příklad I - Funkce Vytvořte funkci ZK_DIFF_MIN_MAX (P_ZAM_ID NUMBER) RETURN VARCHAR2. Funkce může vracet.
Databázové systémy 1 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2015.
Příkazy jazyka SQL ve VFP a na SQL Serveru
Databázové systémy I Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
SQL – příkaz SELECT Ing. Roman Danel, Ph.D.
Dotazovací jazyk SQL I.
Databázové systémy a SQL
Databázové systémy a SQL
Šablona 32 VY_32_INOVACE_038.ICT.34
Databázové systémy a SQL
Počítačová cvičení z předmětu Datové sklady #1 Relační model dat
Přednáška 9 Triggery.
Databázové jazyky Jaroslav Pokorný FI BVŠP Bratislava
Transkript prezentace:

Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice

Obsah cvičení -Vytváření tabulek. Primární klíče. -Vkládání dat do tabulek. -Výběr záznamů z tabulky, projekce, restrikce záznamů. -Odstranění řádků a tabulek. Databázové systémy 1 – cvičení 2 2

3 Cvičení 2 – Příklady Představte si, že jste získali zakázku na vytvoření aplikace pro vedení agendy školy. Učitelé učí studenty v několika předmětech. Ve škole je knihovna, která eviduje knihy a výpůjčky studentů. Jsou dány a v databázi budou vytvořeny tyto tabulky: STUDENTI ( ID_studenta, jmeno, prijmeni, nastup ) UCITELE ( ID_ucitele, jmeno, prijmeni ) UCI ( ID_studenta, ID_ucitele, predmet ) KNIHY ( ID_knihy, ID_studenta, nazev ) Přičemž datové typy pro ID_studenta použijte jako NetID na univerzitě, ID_ucitele a ID_knihy jsou celá čísla vhodného rozsahu, řetězce mají proměnnou délku v počtech znaků, nastup je datum zápisu.

Databázové systémy 1 – cvičení 2 4 Cvičení 2 – Příklady 1. Vytvořte tyto tabulky STUDENTI, UCITELE, UCI a KNIHY ve Vašem schématu. Nezapomeňte na definici primárních klíčů ve všech vytvářených tabulkách. 2. Zobrazte strukturu vytvořené tabulky UCI. 3. Vypište seznam Vašich vytvořených tabulek. 4. Vložte do každé tabulky minimálně 4 řádky. 5. Vypište si všechny záznamy z tabulky UCI. 6. Vypište všechna jména z tabulky UCITELE, která začínají na písmeno 'M'. 7. Všechna jména ‘Josef’ v tabulce STUDENTI změňte na ‘Jozef’. 8. Z tabulky STUDENTI vypište sloupec prijmeni, záznamy setřiďte vzestupně.

Databázové systémy 1 – cvičení 2 5 Cvičení 2 – Příklady 9. Z tabulky student vypište sloupec jmeno s nadpisem Jmeno, setříděné sestupně. 10. Z tabulky učitel vypište sloupec prijmeni s nadpisem Prijmeni setříděné vzestupně. 11. Z tabulky učitel vypište sloupec jmeno s nadpisem Jmeno setříděné sestupně. 12. Z tabulky STUDENTI vypište všechny studenty, kteří se nejmenují ' Petr '. 13. Odstraňte všechny řádky z tabulky UCI (všech). Ověřte. 14. Odstraňte všechny řádky se jménem ' Jozef ' v tabulce STUDENTI. Ověřte. 15. Odstraňte všechny tabulku KNIHY, kterou jste vytvořili. 16. Pro příští cvičení si vytvořte opět tabulku KNIHY a naplňte daty.

Cvičení 2 – kontrola Všechny databázové objekty z tohoto cvičení vytvořte se svém schématu. Pro splnění cvičení je nutné, aby všechny objekty byly správně vytvořeny a funkční do půlnoci dne před následujícím cvičením. Databázové systémy 1 – cvičení 2 6

Jak pochopit zápisy syntaxí parametr, za který se dosazuje konkrétní hodnota {A|B|C}povinná volba jedné z uvedených možností |oddělení variant [ ]nepovinná část …možnost opakování ’označení konstant typu řetězec znaků Databázové systémy 1 – cvičení 2 7

Syntaxe příkazu CREATE TABLE CREATE TABLE ( [, = [, … ] ]) = { [ ] | } = [CONSTRAINT ] { [NOT] NULL | [NOT NULL] UNIQUE | [NOT NULL] PRIMARY KEY | REFERENCES [( )] | CHECK ( )} Databázové systémy 1 – cvičení 2 8

Syntaxe příkazu CREATE TABLE /2 = [CONSTRAINT ] { UNIQUE ( ) | PRIMARY KEY ( ) | CHECK ( ) | FOREIGN KEY ( ) REFERENCES [( )] | } Databázové systémy 1 – cvičení 2 9

CREATE TABLE Vytvoří tabulku dle popsané struktury. Příklad: CREATE TABLE dodavatele ( dodavatel_id number(4), nazev varchar2(100), zastoupeni varchar2(100) ); Strukturu tabulky lze zobrazit příkazem DESC Databázové systémy 1 – cvičení 2 10

CREATE TABLE Omezující podmínky pro sloupce: NOT NULL – hodnota ve sloupci nesmí být NULL UNIQUE – jedinečnost = zakázány duplicity PRIMARY KEY – primární klíč (zakázány duplicity a NULL hodnoty) FOREIGN KEY – cizí klíč (odkazuje na sloupec jiné tabulky – podpora pro udržení integrity dat) CHECK – podmínka pro hodnoty ve sloupci (např. ID INTEGER CHECK ID BETWEEN 0 AND 100) DEFAULT – předdefinovaná hodnota (např. sloupec_1 INTEGER DEFAULT 50) Databázové systémy 1 – cvičení 2 11

CREATE TABLE Vytvoří tabulku dle popsané struktury. Příklad: CREATE TABLE employees_demo (employee_id NUMBER(6) PRIMARY KEY, first_name VARCHAR2(20), last_name VARCHAR2(25) CONSTRAINT emp_last_name_nn NOT NULL, VARCHAR2(25) CONSTRAINT emp_ _nn NOT NULL, phone VARCHAR2(20), hire_date DATE DEFAULT SYSDATE CONSTRAINT emp_hire_date_nn NOT NULL, job_id VARCHAR2(10) CONSTRAINT emp_job_nn NOT NULL, salary NUMBER(8,2) CONSTRAINT emp_salary_nn NOT NULL, commiss_pct NUMBER(2,2), manager_id NUMBER(6), dept_id NUMBER(4), dn VARCHAR2(300), CONSTRAINT emp_salary_min CHECK (salary > 0), CONSTRAINT emp_ _uk UNIQUE ( ) ) ; Databázové systémy 1 – cvičení 2 12

CREATE TABLE Vytvoří tabulku dle popsané struktury. Příklad: CREATE TABLE dodavatele ( dodavatel_id number(4) not null, nazev varchar2(100) not null, zastoupeni varchar2(100), CONSTRAINT dodavatel_pk PRIMARY KEY (dodavatel_id) ); CREATE TABLE produkty ( produkt_id number(8) not null, oznaceni varchar2(30) not null, dodavatel_id number(4) not null, cena number(6), CONSTRAINT fk_dodavatele FOREIGN KEY (dodavatel_id) REFERENCES dodavatele(dodavatel_id) ); Databázové systémy 1 – cvičení 2 13

Syntaxe příkazu DROP TABLE DROP TABLE Odstraní z databáze tabulku s daným jménem, tj. všechny řádky tabulky, celou strukturu, všechny nad ní definované indexy a všechna případná omezení definovaná nad sloupci či celou tabulkou. Databázové systémy 1 – cvičení 2 14

DROP TABLE Příklad: DROP TABLE dodavatele; Databázové systémy 1 – cvičení 2 15

Syntaxe příkazu ALTER TABLE ALTER TABLE ADD ( ) = { [ ] | } Příkaz se používá pro přidání sloupců či omezení do tabulky. ALTER TABLE dodavatele ADD mesto varchar2(50); ALTER TABLE dodavatele ADD (mesto varchar2(50), telefon varchar2(13) ); Databázové systémy 1 – cvičení 2 16

Syntaxe příkazu ALTER TABLE ALTER TABLE MODIFY ( ) Příkaz se používá pro úpravu specifikace sloupců či omezení do tabulky. ALTER TABLE dodavatele MODIFY zastoupeni varchar2(80) not null; Databázové systémy 1 – cvičení 2 17

Syntaxe příkazu ALTER TABLE ALTER TABLE DROP COLUMN Příkaz se používá pro odstranění sloupce z tabulky. ALTER TABLE dodavatele DROP COLUMN telefon; Databázové systémy 1 – cvičení 2 18

Syntaxe příkazu ALTER TABLE ALTER TABLE RENAME COLUMN Příkaz se používá pro přejmenování sloupce tabulky. ALTER TABLE dodavatele RENAME COLUMN mesto to zastoupeni_mesto; Databázové systémy 1 – cvičení 2 19

Syntaxe příkazu INSERT INSERT INTO [( [, [, … ] ]) ] { | VALUES [( [, [, … ] ]) ] } Nový (jeden) řádek přidáme do tabulky uvedením hodnot pro všechny sloupce v tabulce. Více řádků najednou přidáme do tabulky pomocí vnořeného dotazu SELECT. Databázové systémy 1 – cvičení 2 20

INSERT Příklad: INSERT INTO dodavatele (dodavatel_id, nazev, zastoupeni, mesto) VALUES (1, 'Acer','Acer Czech Republic s.r.o.','Praha 4'); INSERT INTO dodavatele (dodavatel_id, nazev, zastoupeni, mesto) VALUES (2, 'Asus','ASUS Czech s.r.o.','Ostrava'); Databázové systémy 1 – cvičení 2 21

Syntaxe příkazu UPDATE UPDATE [ ] SET = [, = [, … ] ] [WHERE ] Změna hodnot ve sloupcích u těch řádků tabulky, které splňují podmínku uvedenou za klauzulí WHERE. Pokud není klauzule WHERE uvedena, bude provedena změna u VŠECH řádků tabulky. Databázové systémy 1 – cvičení 2 22

UPDATE Příklad: UPDATE dodavatele SET nazev = 'HP' WHERE nazev = 'Compaq'; Databázové systémy 1 – cvičení 2 23

Syntaxe příkazu DELETE DELETE FROM [WHERE ] Vymazání těch řádků tabulky, které splňují podmínku uvedenou za klauzulí WHERE. Pokud není klauzule WHERE uvedena, budou odstraněny VŠECHNY řádky tabulky. Databázové systémy 1 – cvičení 2 24

DELETE Příklad: DELETE FROM produkty WHERE dodavatel_id = 7 or dodavatel_id > 10; Databázové systémy 1 – cvičení 2 25