1 SBD, L.Banachowski Oprogramowanie strony serwera cz. 1 Powtórzenie wyk ł adu 6.

Slides:



Advertisements
Podobne prezentacje
Bazy danych II Transakcje Piotr Górczyński 25/08/2001.
Advertisements

Procedury wyzwalane Procedura wyzwalana (ang. trigger) - stanowi kod użytkownika przechowywany wewnątrz bazy i uruchamiany w określonych sytuacjach np.
Wykład 3 Prowadzący: dr Paweł Drozda
Skrypty, procedury przechowywane i wyzwalane
SQL – Strukturalny język zapytań
SQL INJECTION Wykorzystanie błędów w językach skryptowych
Język SQL Część II.
typy całkowite (całkowitoliczbowe)
Podejście relacyjne Podejście relacyjne opiera się na wykorzystaniu do przedstawiania danych modelu relacyjnego i zarządzania nimi matematycznego modelu.
Bazy danych 8. SQL podstawy P. F. Góra semestr letni 2004/05.
Relacyjne Bazy Danych wykład XIII
Bazy danych II Instrukcja INSERT Piotr Górczyński 25/08/2001.
25/08/ Bazy danych II Piotr Górczyński MS Access – Action Query.
27/09/ Języki programowania 1 Piotr Górczyński Obsługa błędów.
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 7: Relacje i ograniczenia integralnościowe Język definiowania danych - DDL (Data Definition.
Co to jest studium przypadku?
Bezpieczeństwo Procedury składowane Funkcje i Wyzwalacze
ZSBD PL/SQL CZĘŚĆ 3 Wykład 5 Prowadzący: dr Paweł Drozda.
Język definicji danych (Data Definition Language)
Język definicji danych (Data Definition Language)
WYZWALACZE (TRIGGERY) Wyzwalacz jest specjalnym rodzajem procedury składowanej, która może być wykonana w odpowiedzi na jedną z trzech sytuacji: UPDATE.
ASCII(znak IN VARCHAR2) RETURN INTEGER zwraca wartość numeryczną kod ascii znaku CHAR(n Integer)zwraca znak odpowiadający kodowi n CONCAT(tekst1, tekst2)zwraca.
Instrukcje 1 Definicje wstępne Formalny opis akcji wykonywanej przez komputer nazywamy instrukcją ( statement), Każda instrukcja kończona jest średnikiem.
Wykład 1 Wojciech Pieprzyca
SQL - język relacyjnych i obiektowo-relacyjnych baz danych
Wykład 4 Obiektowość w obiektowo-relacyjnych bazach danych na przykładzie Oracle.
Projektowanie fizycznej bazy danych
WYKONYWANIE ZAPYTAŃ Przygotował Lech Banachowski na podstawie: 1.Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, McGrawHill, 2000 (książka.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Relacyjne Bazy Danych (Oracle) Prezentacja jest współfinansowana.
„Relacyjne Bazy Danych (Oracle)”
Język SQL (Structured Query Language) DDL (Data Definition Language)
Bezpieczeństwo baz danych
Przykład włamania do aplikacji internetowej poprzez modyfikację zapytań SQL Skrypty ASP Serwer bazy danych MS SQL Server Piotr Kuźniacki BDi.
Teoria relacyjnych baz danych
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
AWK Zastosowania Informatyki Wykład 1 Copyright, 2003 © Adam Czajka.
SQL – Structured Query Language (3)
N OWOŚCI W SQL S ERVER 2008 Z PUNKTU WIDZENIA ZESPOŁÓW PROJEKTUJĄCYCH W.NET Oskar Jarczyk.
Delphi i Acad cd.. l_poz := MSpace.Count; Label3.Caption:=IntToStr(l_poz); ent:=Mspace.Item(0); for l_poz := 0 to MSpace.Count-1 do begin; ent:=Mspace.Item(l_poz);
Administracja serwerem bazy danych Oracle 11g Zarządzanie obiekami bazy danych Wykład nr 4 Michał Szkopiński.
Instrukcje: CREATE, INSERT, UPDATE, DELETE, DROP
SQL – Structured Query Language (1)
PL/SQL Zajęcia nr II PL/SQL(2) M. Rakowski - WSISiZ.
SQL - Structured Query Language
Jak zacząć w MS SQL? USE master; GO IF DB_ID (Nbaza') IS NOT NULL DROP DATABASE baza; GO CREATE DATABASE baza; GO USE baza; GO.
Programowanie baz danych
PL/SQL – dalsza wędrówka
Projektowanie bazy danych
1 SBD, L.Banachowski Podstawy SQL - języka relacyjnych i obiektowo-relacyjnych baz danych (SQL2, SQL'1999, Oracle) Powtórzenie wyk ł adu 3.
Wykład II Język SQL – polecenia DQL Powtórzenie wiadomości – cz. 1
Systemy Baz Danych Wykład III
Temat 3: Integralność danych. Integralność danych, określana również mianem spójności danych, jest to funkcja SZBD, która gwarantuje, że dane nie zostaną.
1 SBD, L.Banachowski Zaawansowane cechy SQL Powtórzenie wyk ł adu 5.
Autor: Damian Urbańczyk
Komendy SQL do pracy z danymi
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Bazy Danych Wprowadzenie
Współpraca PHP i MySQL Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z danych zapisanych na serwerze jest współpraca z relacyjna.
Oracle Data Modeler (4.1) Tworzenie modelu danych – specyfikacja wymagań informacyjnych (na dane) Tworzenie modelu procesów – specyfikacja wymagań funkcyjnych.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Prototypowanie w ORACLE DESIGNER Projektowanie Bazy Danych.
Oracle Data Modeler (4.1). Aplikacja Wymagania biznesowe Tworzenie systemu informacyjnego Procesy Informacje Analiza Projektowanie Browser: Hollywood.
Oracle Data Modeler ( ) Wiele opcji dostępnych poprzez prawy przycisk myszy zarówno na elementach nawigatora obiektów (z lewej strony), jak i na.
1 Definicja danych: Do utworzenia tabeli służy instrukcja CREATE TABLE, wymagająca podania nazwy tworzonej tabeli, nazwy każdej kolumny w tej tabeli, typu.
Czym jest PHP? ● Językiem programowania przeznaczonym do tworzenia i generowania dynamicznych stron WWW. Działa po stronie serwera: Klient Żądanie strony.
Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL Układy sekwencyjne.
Teoretyczne założenia
DDL język definiowania danych
Technologie Informacyjne Bazy danych
Własności relacji: Baza danych jest zbiorem relacji, o następujących własnościach: każda relacja w bazie danych jest jednoznacznie określona przez swoją.
Zapis prezentacji:

1 SBD, L.Banachowski Oprogramowanie strony serwera cz. 1 Powtórzenie wyk ł adu 6

2 SBD, L.Banachowski Aplikacja bazodanowa - strona serwera 1.deklaratywne więzy spójności, 2.procedury, funkcje i pakiety, 3.wyzwalacze bazy danych, 4.procedury/klasy (serwlety) hipertekstowe tworzące dynamiczne strony WWW, 5.rozproszone komponenty jak klasy Javy, EJB.

3 SBD, L.Banachowski Więzy spójności encji Ograniczają możliwe wartości w wierszu tabeli: Więzy klucza głównego PRIMARY KEY Więzy klucza jednoznacznego UNIQUE Więzy NOT NULL Więzy CHECK

4 SBD, L.Banachowski Więzy spójności referencyjnej Więzy klucza obcego: REFERENCES tabela FOREIGN KEY kolumna REFERENCES tabela(kolumna) ON DELETE CASCADE ON DELETE SET NULL

5 SBD, L.Banachowski Język PL/SQL Język PL/SQL jest proceduralnym rozszerzeniem języka SQL i stanowi podstawę do pisania aplikacji Oracle – jest mianowicie dostępny w różnych programach narzędziowych ORACLE np. 1.SQL*Plus, 2.Developer 2000 (Oracle*Forms i Oracle*Reports ), 3.prekompilatory, 4.procedury, 5.wyzwalacze, 6.aplikacje na stronach WWW.

6 SBD, L.Banachowski Język PL/SQL DECLARE deklaracje obiektów PL/SQL jak zmienne, stałe, wyjątki, procedury, funkcje BEGIN ciąg instrukcji do wykonania EXCEPTION obsługa wyjątków (błędów) END; Wersja statyczna: SELECT, INSERT, UPDATE, DELETE, COMMIT i ROLLBACK.

7 SBD, L.Banachowski Komunikacja PL/SQL z SQL*Plus ACCEPT rocz_zarob PROMPT 'Podaj roczne zarobki: ' VARIABLE mies NUMBER BEGIN :mies := &rocz_zarob/12; END; / PRINT Mies

8 SBD, L.Banachowski Instrukcja SELECT w PL/SQL DECLARE v_ename Emp.Ename%TYPE; BEGIN SELECT Ename INTO v_ename FROM Emp WHERE Empno = 1030; DBMS_OUTPUT.PUT_LINE('Nazwisko ='||v_ename); ……

9 SBD, L.Banachowski Standardowe, nazwane wyjątki dup_val_on_index (ta sama wartość w indeksie jednoznacznym), no_data_found (instrukcja SELECT nie zwróciła wartości dla zmiennych w klauzuli INTO ), too_many_rows (instrukcja SELECT zwróciła więcej niż jeden wiersz wartości dla zmiennych w klauzuli INTO ).

10 SBD, L.Banachowski Wyjątki ….. SELECT Ename, Job INTO v_ename, v_job ….. EXCEPTION WHEN no_data_found THEN INSERT INTO Dziennik VALUES ('Nikt nie zatrudniony w 1993'); DBMS_OUTPUT.Put_line('Nikt nie zatrudniony w 93'); WHEN too_many_rows THEN INSERT INTO Dziennik VALUES ('Wi ę cej ni ż 1 zatrudniony w 1993'); DBMS_OUTPUT.Put_line( 'Więcej ni ż 1 w 93'); WHEN OTHERS THEN -- Obsługa pozostałych b łę dów komunikat := 'B łą d nr.= ' || SQLCODE|| ', komunikat= ' || Substr(SQLERRM,1,100); -- SQLCODE i SQLERRM nie mog ą wystąpić w instrukcji SQL! INSERT INTO Dziennik VALUES (komunikat); DBMS_OUTPUT.Put_line(‘Wyst ą pi ł inny błąd ' ); END;

11 SBD, L.Banachowski Instrukcje warunkowe IF warunek THEN ciąg_instrukcji END IF ; IF warunek THEN ciąg_instrukcji ELSE ciąg_instrukcji END IF ; IF warunek THEN ciąg_instrukcji ELSIF warunek THEN ciąg_instrukcji END IF ;

12 SBD, L.Banachowski Instrukcje iteracji LOOP ciąg instrukcji (w tym EXIT lub EXIT WHEN warunek) END LOOP ; FOR zmienna IN wartość1.. wartość2 LOOP … END LOOP ; WHILE warunek LOOP … END LOOP ;

13 SBD, L.Banachowski Instrukcja pusta Null

14 SBD, L.Banachowski Zmienne wierszowe DECLARE rek_osoby Emp%ROWTYPE; /* Typ wierszowy */ BEGIN SELECT * INTO rek_osoby FROM Emp WHERE Ename = 'KOWALSKI'; rek_osoby.Sal := 1.1*rek_osoby.Sal;

15 SBD, L.Banachowski Wyjątki definiowane przez programistę DECLARE brak_w_magazynie EXCEPTION; v_liczba NUMBER(5); BEGIN SELECT Liczba INTO v_liczba FROM Magazyn WHERE Marka = 'Fiat'; IF v_liczba < 1 THEN RAISE brak_w_magazynie; END IF; EXCEPTION WHEN brak_w_magazynie THEN INSERT INTO Zamówienia VALUES ('Fiaty'); END;

16 SBD, L.Banachowski Podnoszenie wyjątku za pomocą Raise_Application_Error Przypisanie mu numeru między –20000 a –20999 i tekstu. BEGIN..... Raise_Application_Error(-20100,'Błąd');

17 SBD, L.Banachowski Obsługa błędów przechwytywanych przez serwer bazy danych Obsługa błędu naruszenia więzów klucza obcego - nr -2292: DECLARE bl_klucz_o EXCEPTION; PRAGMA EXCEPTION_INIT (bl_klucz_o, -2292); BEGIN DELETE FROM Dept WHERE Deptno = 10; EXCEPTION WHEN bl_klucz_o THEN Dbms_output.Put_line ('Nie można usunąć działu, w którym są pracownicy. '); END;