🗊Презентация Návrh a programování databází (14NDB)

Нажмите для полного просмотра!
Návrh a programování databází (14NDB), слайд №1Návrh a programování databází (14NDB), слайд №2Návrh a programování databází (14NDB), слайд №3Návrh a programování databází (14NDB), слайд №4Návrh a programování databází (14NDB), слайд №5Návrh a programování databází (14NDB), слайд №6Návrh a programování databází (14NDB), слайд №7Návrh a programování databází (14NDB), слайд №8Návrh a programování databází (14NDB), слайд №9Návrh a programování databází (14NDB), слайд №10Návrh a programování databází (14NDB), слайд №11Návrh a programování databází (14NDB), слайд №12Návrh a programování databází (14NDB), слайд №13Návrh a programování databází (14NDB), слайд №14Návrh a programování databází (14NDB), слайд №15Návrh a programování databází (14NDB), слайд №16Návrh a programování databází (14NDB), слайд №17Návrh a programování databází (14NDB), слайд №18Návrh a programování databází (14NDB), слайд №19Návrh a programování databází (14NDB), слайд №20Návrh a programování databází (14NDB), слайд №21Návrh a programování databází (14NDB), слайд №22Návrh a programování databází (14NDB), слайд №23Návrh a programování databází (14NDB), слайд №24Návrh a programování databází (14NDB), слайд №25Návrh a programování databází (14NDB), слайд №26Návrh a programování databází (14NDB), слайд №27Návrh a programování databází (14NDB), слайд №28

Вы можете ознакомиться и скачать презентацию на тему Návrh a programování databází (14NDB). Доклад-сообщение содержит 28 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Návrh a programování databází
(14NDB)
rozsah: 0+2
zakončení: kl. zápočet
Описание слайда:
Návrh a programování databází (14NDB) rozsah: 0+2 zakončení: kl. zápočet

Слайд 2





Synonyma
Описание слайда:
Synonyma

Слайд 3





Synonyma I.
 alternativní název pro tabulky, pohledy, sekvence, procedury, funkce, package (balík) nebo i jiná synonyma
 synonymum pro tabulku:
INSERT, UPDATE, DELETE, SELECT
 synonymum lze vytvořit i pro neexistující objekt – v době vytvoření synonyma se nekontroluje existence objektu
Описание слайда:
Synonyma I. alternativní název pro tabulky, pohledy, sekvence, procedury, funkce, package (balík) nebo i jiná synonyma synonymum pro tabulku: INSERT, UPDATE, DELETE, SELECT synonymum lze vytvořit i pro neexistující objekt – v době vytvoření synonyma se nekontroluje existence objektu

Слайд 4





Synonyma II.
CREATE [ OR REPLACE ] SYNONYM název_synonyma 
	FOR [schéma.]název_objektu

CREATE SYNONYM zamestnanci FOR hr.employees; 
SELECT * FROM zamestnanci;
Описание слайда:
Synonyma II. CREATE [ OR REPLACE ] SYNONYM název_synonyma FOR [schéma.]název_objektu CREATE SYNONYM zamestnanci FOR hr.employees; SELECT * FROM zamestnanci;

Слайд 5





SEKVENCE
Описание слайда:
SEKVENCE

Слайд 6





Sekvence I.
= databázový "objekt" pro generování unikátních celých čísel
CREATE SEQUNCE název_sekvence 
[INCREMENT BY celé_číslo] 
[START WITH celé_číslo] 
[MINVALUE celé_číslo] 
[MAXVALUE celé_číslo] 
[CYCLE | NOCYCLE] ;
Описание слайда:
Sekvence I. = databázový "objekt" pro generování unikátních celých čísel CREATE SEQUNCE název_sekvence [INCREMENT BY celé_číslo] [START WITH celé_číslo] [MINVALUE celé_číslo] [MAXVALUE celé_číslo] [CYCLE | NOCYCLE] ;

Слайд 7





Sekvence II.
CREATE SEQUENCE seq_pokus 
	START WITH 1 
	MINVALUE -250 
	MAXVALUE 5 
	CYCLE;
pozn.: není zcela zajištěno, že první vygenerované číslo bude mít hodnotu 1, další číslo bude 2, 3, 4 atd.
Описание слайда:
Sekvence II. CREATE SEQUENCE seq_pokus START WITH 1 MINVALUE -250 MAXVALUE 5 CYCLE; pozn.: není zcela zajištěno, že první vygenerované číslo bude mít hodnotu 1, další číslo bude 2, 3, 4 atd.

Слайд 8





Sekvence III.
 číslo ze sekvence lze získat prostřednictvím pseudosloupců
NEXTVAL – vrací nově vygenerované číslo
CURRVAL – vrací aktuální (naposledy vygenerované) číslo sekvence pro dané spojení
Описание слайда:
Sekvence III. číslo ze sekvence lze získat prostřednictvím pseudosloupců NEXTVAL – vrací nově vygenerované číslo CURRVAL – vrací aktuální (naposledy vygenerované) číslo sekvence pro dané spojení

Слайд 9





Sekvence IV.
SELECT seq_pokus.NEXTVAL FROM DUAL;
SELECT seq_pokus.CURRVAL FROM DUAL;
INSERT INTO zamestnanci(id,prijmeni,pohlavi) VALUES(seq_pokus.NEXTVAL,'Náhlovský','M');
Описание слайда:
Sekvence IV. SELECT seq_pokus.NEXTVAL FROM DUAL; SELECT seq_pokus.CURRVAL FROM DUAL; INSERT INTO zamestnanci(id,prijmeni,pohlavi) VALUES(seq_pokus.NEXTVAL,'Náhlovský','M');

Слайд 10





Sekvence V.
 změna definice sekvence
ALTER SEQUENCE název_sekvence ……;
 odstranění sekvence
DROP SEQUENCE název_sekvence;
Описание слайда:
Sekvence V. změna definice sekvence ALTER SEQUENCE název_sekvence ……; odstranění sekvence DROP SEQUENCE název_sekvence;

Слайд 11





úkol 1, 2
soubor 14NDB_cviceni_09.docx
Описание слайда:
úkol 1, 2 soubor 14NDB_cviceni_09.docx

Слайд 12





PL/SQL
procedurální rozšíření jazyka SQL
Описание слайда:
PL/SQL procedurální rozšíření jazyka SQL

Слайд 13





Anonymní blok
[ DECLARE
...... deklarační část ]
BEGIN
...... výkonná část
[ EXCEPTION
...... část pro zpracování výjimek ]
END;
Описание слайда:
Anonymní blok [ DECLARE ...... deklarační část ] BEGIN ...... výkonná část [ EXCEPTION ...... část pro zpracování výjimek ] END;

Слайд 14





Výjimky I.
BEGIN
….
EXCEPTION
  WHEN název_výjimky1 THEN příkazy1
  WHEN název_výjimky2 THEN příkazy2
    .
    .
  WHEN OTHERS THEN příkazyN+1
END;
Описание слайда:
Výjimky I. BEGIN …. EXCEPTION   WHEN název_výjimky1 THEN příkazy1   WHEN název_výjimky2 THEN příkazy2     .     .   WHEN OTHERS THEN příkazyN+1 END;

Слайд 15





Výjimky II.
předdefinované výjimky:
NO_DATA_FOUND – nebyla nalezena žádná data
TOO_MANY_ROWS – dotaz vrátil více než jeden záznam
ZERO_DIVIDE – dělení nulou
další viz dokumentace
Описание слайда:
Výjimky II. předdefinované výjimky: NO_DATA_FOUND – nebyla nalezena žádná data TOO_MANY_ROWS – dotaz vrátil více než jeden záznam ZERO_DIVIDE – dělení nulou další viz dokumentace

Слайд 16





Výjimky III.
DECLARE
 jmeno employees.first_name%TYPE;
 prijmeni employees.last_name%TYPE;
 id_zam employees.employee_id%TYPE := 50;
BEGIN
 SELECT last_name, first_name INTO prijmeni, jmeno
  FROM employees WHERE employee_id=id_zam;
EXCEPTION
	WHEN NO_DATA_FOUND THEN
		dbms_output.put_line(id_zam || ' je neplatné id');
END;
Описание слайда:
Výjimky III. DECLARE jmeno employees.first_name%TYPE; prijmeni employees.last_name%TYPE; id_zam employees.employee_id%TYPE := 50; BEGIN SELECT last_name, first_name INTO prijmeni, jmeno FROM employees WHERE employee_id=id_zam; EXCEPTION WHEN NO_DATA_FOUND THEN dbms_output.put_line(id_zam || ' je neplatné id'); END;

Слайд 17





Výjimky IV.
pomocí funkcí SQLCODE a SQLERRM je možné získat číslo chyby a chybový text
DECLARE 
	name employees.last_name%TYPE; 
	v_code NUMBER;
	v_errm VARCHAR2(64);
Описание слайда:
Výjimky IV. pomocí funkcí SQLCODE a SQLERRM je možné získat číslo chyby a chybový text DECLARE name employees.last_name%TYPE; v_code NUMBER; v_errm VARCHAR2(64);

Слайд 18





Výjimky IV.
BEGIN 
	SELECT last_name INTO name FROM employees WHERE employee_id = -1; 
EXCEPTION 
	WHEN OTHERS THEN 
	  v_code := SQLCODE; 
	  v_errm := SUBSTR(SQLERRM, 1 , 64);
	  DBMS_OUTPUT.PUT_LINE('Error code ' || v_code || ': ' || v_errm); 
END;
Описание слайда:
Výjimky IV. BEGIN SELECT last_name INTO name FROM employees WHERE employee_id = -1; EXCEPTION WHEN OTHERS THEN v_code := SQLCODE; v_errm := SUBSTR(SQLERRM, 1 , 64); DBMS_OUTPUT.PUT_LINE('Error code ' || v_code || ': ' || v_errm); END;

Слайд 19





VNOřování bloků
Описание слайда:
VNOřování bloků

Слайд 20





Zachycení Výjimky
Описание слайда:
Zachycení Výjimky

Слайд 21





úkol 3, 4
soubor 14NDB_cviceni_09.docx
Описание слайда:
úkol 3, 4 soubor 14NDB_cviceni_09.docx

Слайд 22





KURZOR
KURZOR
používá se při práci s více řádky vrácenými dotazem
1. deklarace kurzorů (v deklarační sekci)
	CURSOR název_kurzoru IS dotaz_SELECT;
2. otevření kurzoru (ve výkonné sekci)
	OPEN název_kurzoru;
3. výběr dat prostřednictvím kurzoru
	FETCH název_kurzoru 
      INTO seznam_proměnných | proměnná_typu_záznam;
4. uzavření kurzoru
	CLOSE název_kurzoru;
Описание слайда:
KURZOR KURZOR používá se při práci s více řádky vrácenými dotazem 1. deklarace kurzorů (v deklarační sekci) CURSOR název_kurzoru IS dotaz_SELECT; 2. otevření kurzoru (ve výkonné sekci) OPEN název_kurzoru; 3. výběr dat prostřednictvím kurzoru FETCH název_kurzoru INTO seznam_proměnných | proměnná_typu_záznam; 4. uzavření kurzoru CLOSE název_kurzoru;

Слайд 23





Kurzor II.
DECLARE
	CURSOR kurzor_emp IS SELECT * FROM employees;
	record_emp kurzor_emp%ROWTYPE;
BEGIN
	OPEN kurzor_emp;
	FETCH kurzor_emp INTO record_emp;
	WHILE NOT kurzor_emp%NOTFOUND LOOP
		DBMS_OUTPUT.PUT_LINE('Číslo záznamu: ' ||
		kurzor_emp%ROWCOUNT);
		DBMS_OUTPUT.PUT_LINE('Jméno zaměstnance: ' ||
		record_emp.first_name);
		FETCH kurzor_emp INTO record_emp;
	END LOOP;
	CLOSE kurzor_emp;
END;
Описание слайда:
Kurzor II. DECLARE CURSOR kurzor_emp IS SELECT * FROM employees; record_emp kurzor_emp%ROWTYPE; BEGIN OPEN kurzor_emp; FETCH kurzor_emp INTO record_emp; WHILE NOT kurzor_emp%NOTFOUND LOOP DBMS_OUTPUT.PUT_LINE('Číslo záznamu: ' || kurzor_emp%ROWCOUNT); DBMS_OUTPUT.PUT_LINE('Jméno zaměstnance: ' || record_emp.first_name); FETCH kurzor_emp INTO record_emp; END LOOP; CLOSE kurzor_emp; END;

Слайд 24





Kurzor II.a
informace o kurzoru je možné zjistit pomocí jeho atributů:
%FOUND - vrací TRUE, pokud kurzor ukazuje na nějaký záznam
%ISOPEN - vrací TRUE, pokud byl kurzor otevřen a nebyl uzavřen
%NOTFOUND - vrací TRUE, pokud kurzor neukazuje na žádný záznam 
%ROWCOUNT - vrací pořadové číslo aktuálního záznamu, na kterém je kurzor umístěn
						viz dokumentace
Описание слайда:
Kurzor II.a informace o kurzoru je možné zjistit pomocí jeho atributů: %FOUND - vrací TRUE, pokud kurzor ukazuje na nějaký záznam %ISOPEN - vrací TRUE, pokud byl kurzor otevřen a nebyl uzavřen %NOTFOUND - vrací TRUE, pokud kurzor neukazuje na žádný záznam %ROWCOUNT - vrací pořadové číslo aktuálního záznamu, na kterém je kurzor umístěn viz dokumentace

Слайд 25





Práce s kurzorem při použití cyklu FOR
Práce s kurzorem při použití cyklu FOR

DECLARE
	CURSOR kurzor_emp IS SELECT * FROM employees;
	record_emp kurzor_emp%ROWTYPE;
BEGIN
	FOR record_emp IN kurzor_emp LOOP
		DBMS_OUTPUT.PUT_LINE('Číslo záznamu: ' ||
		kurzor_emp%ROWCOUNT);
		DBMS_OUTPUT.PUT_LINE('Jméno zaměstnance: ' ||
		 record_emp.first_name);
	END LOOP;
END;
Описание слайда:
Práce s kurzorem při použití cyklu FOR Práce s kurzorem při použití cyklu FOR DECLARE CURSOR kurzor_emp IS SELECT * FROM employees; record_emp kurzor_emp%ROWTYPE; BEGIN FOR record_emp IN kurzor_emp LOOP DBMS_OUTPUT.PUT_LINE('Číslo záznamu: ' || kurzor_emp%ROWCOUNT); DBMS_OUTPUT.PUT_LINE('Jméno zaměstnance: ' || record_emp.first_name); END LOOP; END;

Слайд 26





DECLARE
DECLARE
CURSOR kurzor_emp (emp_deptno employees.department_id%TYPE)
IS SELECT * FROM employees 
	WHERE department_id=emp_deptno;
record_emp kurzor_emp%ROWTYPE;
BEGIN
	FOR record_emp IN kurzor_emp(10) LOOP
		DBMS_OUTPUT.PUT_LINE('Číslo záznamu: ' ||
		kurzor_emp%ROWCOUNT);
		DBMS_OUTPUT.PUT_LINE('Jméno zaměstnance: ' ||
		 record_emp.first_name);
	END LOOP;
END;
Описание слайда:
DECLARE DECLARE CURSOR kurzor_emp (emp_deptno employees.department_id%TYPE) IS SELECT * FROM employees WHERE department_id=emp_deptno; record_emp kurzor_emp%ROWTYPE; BEGIN FOR record_emp IN kurzor_emp(10) LOOP DBMS_OUTPUT.PUT_LINE('Číslo záznamu: ' || kurzor_emp%ROWCOUNT); DBMS_OUTPUT.PUT_LINE('Jméno zaměstnance: ' || record_emp.first_name); END LOOP; END;

Слайд 27





DECLARE
DECLARE
CURSOR kurzor_emp (emp_deptno employees.department_id%TYPE)
IS SELECT * FROM employees 
	WHERE department_id=emp_deptno;
record_emp kurzor_emp%ROWTYPE;
BEGIN
	FOR record_emp IN kurzor_emp(&id_oddeleni) LOOP
		DBMS_OUTPUT.PUT_LINE('Číslo záznamu: ' ||
		kurzor_emp%ROWCOUNT);
		DBMS_OUTPUT.PUT_LINE('Jméno zaměstnance: ' ||
		 record_emp.first_name);
	END LOOP;
END;
Описание слайда:
DECLARE DECLARE CURSOR kurzor_emp (emp_deptno employees.department_id%TYPE) IS SELECT * FROM employees WHERE department_id=emp_deptno; record_emp kurzor_emp%ROWTYPE; BEGIN FOR record_emp IN kurzor_emp(&id_oddeleni) LOOP DBMS_OUTPUT.PUT_LINE('Číslo záznamu: ' || kurzor_emp%ROWCOUNT); DBMS_OUTPUT.PUT_LINE('Jméno zaměstnance: ' || record_emp.first_name); END LOOP; END;

Слайд 28





úkol 5, 6
soubor 14NDB_cviceni_09.docx
Описание слайда:
úkol 5, 6 soubor 14NDB_cviceni_09.docx



Похожие презентации
Mypresentation.ru
Загрузить презентацию