Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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

Podobné prezentace


Prezentace na téma: "Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice."— Transkript prezentace:

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

2 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 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.

4 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ě.

5 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.

6 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

7 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

8 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

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

10 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

11 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

12 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, email VARCHAR2(25) CONSTRAINT emp_email_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_email_uk UNIQUE (email) ) ; Databázové systémy 1 – cvičení 2 12

13 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

14 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

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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

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

24 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

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


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

Podobné prezentace


Reklamy Google