Politechnika Gdańska, międzywydziałowy kierunek INŻYNIERIA BIOMEDYCZNA. Instrukcja do laboratorium z przedmiotu: Bazy danych. Laboratorium nr 4.
|
|
- Maria Jankowska
- 5 lat temu
- Przeglądów:
Transkrypt
1 Instrukcja do laboratorium z przedmiotu: Bazy danych Laboratorium nr 4. Funkcje własne, procedury wyzwalane i przetwarzanie transakcyjne Opracował A. Bujnowski Projekt Przygotowanie i realizacja kierunku inżynieria biomedyczna studia międzywydziałowe współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego.
2 1. Cele laboratorium zapoznanie się z metodami tworzenia własnych funkcji, technologią procedur wyzwalanych oraz przetwarzaniem transakcyjnym 2. Przykładowa baza danych: Jako przykład bazy danych posłuży nam przygotowana uprzednio struktura bazy dla wypożyczalni płyt DVD. Dla przypomnienia diagram relacyjny przykładowej bazy danych przedstawia poniższy rysunek. CREATE TABLE klient ( imie varchar(20) not null, nazwisko varchar(40) not null, nr_dowodu char(10), id_klienta serial primary key); CREATE TABLE gatunek( nazwa varchar(30) not null, id_gatunku serial PRIMARY KEY ); CREATE TABLE plyta( tytul varchar(40) not null, numer serial primary key, cena numeric(4,2), gatunek integer REFERENCES gatunek ON DELETE SET NULL ON UPDATE CASCADE); CREATE TABLE wypozyczenie( kto_wypozyczyl int not null REFERENCES klient ON DELETE RESTRICT ON UPDATE RESTRICT, co_wypozyczyl int not null REFERENCES plyta ON DELETE RESTRICT ON UPDATE CASCADE, data_wypozyczenia timestamp default noow(), 2
3 data_zwrotu timestamp, primary key(kto_wypozyczyl, co_wypozyczyl, d_wypozyczenia) ); CREATE TABLE jest_pracownikiem( rabat int, id_klienta int primary key references klient); Cel zajęć: Funkcje własne użytkownika. Funkcje agregacji Dla przypomnienia sprawdźmy działanie poniższych wywołań: SELECT 2+2; SELECT sin(1); SELECT log(numer) FROM plyta; SELECT sin(cena) FROM plyta; Ale istnieją także inne funkcje: SELECT count(*) FROM gatunek; SELECT count(imie) FROM klient; SELECT max(id_klienta) FROM klient; SELECT min(id_klienta) FROM klient; SELECT avg(id_klienta) FROM klient; Te funkcje w odróżnieniu od poprzednich zwracają pojedynczy wynik a operują na grupach krotek. Funkcje takie noszą miano funkcji agregacji, gdyż dokonują analizy na grupie krotek. Gdy wykonamy funkcję sin(id_klienta) to zwróci ona tyle wyników na ilu krotkach się ona wykonała, natomiast funkcje takie jak max(), min(), avg(), variance(), stdev() czy count() zwrócą pojedynczy wynik. Z tymi funkcjami związana jest dodatkowa klauzula zapytania SELECT : GROUP BY. GROUP BY powoduje przestawienie wyników w taki sposób, aby stanowiły one "przegrupowaną tabelę względem kryterium. Na tak przegrupowanej tabeli możliwe jest wykonywanie funkcji agregacji i dalsza analiza wyników. Przykładowo chcemy dokonać statystycznego zestawienia imion występujących w tabeli klient: SELECT imie, count(imie) FROM klient GROUP BY imie; Z klauzulą GOUP BY związana jest klauzula HAVING, która działa tak samo jak WHERE dla "normalnej wersji SELECT: 3
4 SELECT imie, count(imie) FROM klient GROUP BY imie HAVING imie < 'J'; W ramach laboratorium pokazana została już własność polecenia SELECT polegająca na możliwości wywoływania funkcji lub operowania na danych (operacje arytmetyczne itp.). Pokazane zostały również własności agregujące (COUNT, MIN, MAX itp.) pozwalające na wykonywanie operacji zwracających pojedynczy wynik dla grup krotek. Przydatnym jednak może okazać się możliwość tworzenia własnych funkcji dających dodatkowe możliwości twórcy baz danych. Do tworzenia własnych funkcji służy polecenie CREATE FUNCTION. Zostało ono zdefiniowane w normie SQL:1999 i późniejszych. Składnia stosowana w PostgreSQL jest podobna, ale nie w pełni kompatybilna. Atrybuty nie są przenaszalne, jak również odmienne są języki programowania. Składnia polecenia CREATE FUNCTION podana jest poniżej. W celu uzyskania dokładniejszego opisu można skorzystać z materiałów podanych na wykładzie, bądź skorzystać z dokumentacji projektu na stronie CREATE [ OR REPLACE ] FUNCTION name ( [ [ argmode ] [ argname ] argtype [,...] ] ) [ RETURNS rettype ] { LANGUAGE langname IMMUTABLE STABLE VOLATILE CALLED ON NULL INPUT RETURNS NULL ON NULL INPUT STRICT [ EXTERNAL ] SECURITY INVOKER [ EXTERNAL ] SECURITY DEFINER COST execution_cost ROWS result_rows SET configuration_parameter { TO value = value FROM CURRENT } AS 'definition' AS 'obj_file', 'link_symbol' }... [ WITH ( attribute [,...] ) ] W poniższych przykładach będziemy korzystali z funkcji pisanych w dwóch dostępnych językach programowania : SQL oraz plpgsql. Pierwsza funkcja. Napiszmy funkcję, która zwróci nam pole koła: CREATE FUNCTION polekola( float) RETURNS float LANGUAGE 'plpgsql' AS ' BEGIN RETURN *$1*$1; END; '; Gdy zachodzi konieczność poprawienia funkcji, wówczas nie trzeba jej kasować. Możliwe jest użycie polecenia 4
5 CREATE OR REPLACE FUNCTION polekola(float). Ważne jest aby przy takim użyciu polecenia redefiniowana funkcja nie zmieniała typu ani ilości danych wejściowych. Zatem, poprawiamy funkcję korzystając z gotowych funkcji np. zwracających stałe, aby otrzymać dokładniejszy wynik: CREATE OR REPLACE FUNCTION polekola( float) RETURNS float LANGUAGE 'plpgsql' AS ' DECLARE wpi float; BEGIN select pi() into wpi; RETURN wpi*$1*$1; END; '; Wywołanie tej funkcji odbywa się przez: SELECT polekola(5); Możliwe jest również wywołanie takiej funkcji dla całej kolumny w tabeli. Sprawdź jak zadziała wykonanie poniższego wywołania: SELECT polekola(id_klienta) FROM klient; Usuwanie funkcji: Do usunięcia funkcji używa się polecenia DROP FUNCTION podając nazwę funkcji i jej parametry wejściowe: DROP FUNCTION polekola(float); - nie rób tego!! pozwoli na usunięcie funkcji, która za chwilę zostanie utworzona. Paarametry wejściowe są konieczne ze względu na to że w PostgreSQL możliwe jest zdefiniowanie funkcji o tej samej nazwie działającej na róznych typach danych. Przypomina to bardzo przeciążanie operatorów. Zdefiniowaną funkcję można obejrzeć korzystając z zapytania: SELECT * from pg_proc WHERE proname='polekola'; SELECT prosrc FROM pg_proc WHERE proname='polekola'; Listę funkcji zdefiniowanych można obejrzec korzystając z \df Zadanie: 1. Stwórz funkcję o nazwie poletrojkata, która wyznaczy pole trójkąta ze wzoru 0.5*a*h, gdzie 5
6 a jest podstawą a h wysokością trójkąta. 2. Stwórz funkcją, która wyznaczy deltę z równania kwadratowego. Zademonstruj działanie funkcji prowadzącemu zajęcia. Bardziej wartościowe działanie funkcji. Załóżmy, że w bazie danych dotyczących naszej wypożyczalni mamy osobę (klienta), jakiś obiekt wypożyczeń oraz tabelę wypożyczeń. Obiekt posiada cenę. Należy się zastanowić, czy klientowi naszej wypożyczalni przysługuje rabat, w związku z tym sprawdźmy sumę wartości jego wszystkich wypożyczeń, jeśli przekroczyła zadaną kwotę (np. 30pln) to zwróćmy wartość rabatu równą 10, jeśli nie to 0. CREATE FUNCTION retrabat(int) RETURNS int LANGUAGE plpgsql AS ' declare suma float; rabat int; begin select sum(cena) into suma from plyta,wypozyczenie where plyta.numer=wypozyczenie.co_wypozyczyl AND wypozyczenie.kto_wypozyczyl = $1; if suma > 30 then rabat = 10; else rabat = 0; end if; return rabat; end; '; Sprawdź działanie tej funkcji dla konkretnego klienta: SELECT retrabat(1); lub lepiej : SELECT retrabat((select id_klienta from klient WHERE nazwisko like 'Kowalski')); Możesz też sprawdzić działanie tej funkcji dla wszystkich klientów w bazie: SELECT imie,nazwisko,retrabat(id_klienta) from klient; Zastanów się nad podobną funkcją, ale uzależniającą rabat od ilości wypożyczeń np. w ciągu 6
7 ostatnich 3 miesięcy. Zastanów się jak przekazać próg udzielania rabatu i okres sprawdzania wypożyczeń przez parametry wejściowe funkcji. Triggery TRIGGER, po polsku nazywany procedurą wyzwalaną, jest funkcją zdefiniowaną przez użytkownika wywoływaną, gdy pojawi sie jakieś wydarczenie (event) w tabeli. W Postgresie można wywoływać triggery przed/po wstawieniu, modyfikacji lub usunięciu rekordu. Triggery mogą być wykonywane raz dla całej instrukcji (statement level) lub po kolei dla każdego modyfikowanego rekordu (row level). Trigger definiuje się następującą składnią: CREATE TRIGGER nazwa (każdy trigger musi się jakoś nazywać) BEFORE albo AFTER (czy trigger ma być wykonany przed czy po wydarzeniu) INSERT albo UPDATE albo DELETE (których wydarzen trigger dotyczy, można połączyć kilka przez OR) ON tabela (trigger zawsze zakłada się na konkretną tabelę) FOR EACH ROW albo STATEMENT (czy trigger ma być wywołany raz na rekord, czy raz na instrukcję) EXECUTE PROCEDURE procedura(parametry); (co ma być wywołane jako obsługa triggera) Trigger usuwa się następującą składnią: DROP TRIGGER nazwa ON tabela; (usunięce konkretnego triggera z konkretnj tabeli) Tak więc, aby wywołać funkcję skasowano() po każdym skasowaniu rekordu z bazy rejestr należy wydać następujące polecenie: CREATE TRIGGER mojtrigger AFTER DELETE ON rejestr FOR EACH ROW EXECUTE PROCEDURE skasowano() ; Funkcja skasowano() musi zwracać typ TRIGGER. Sprawdź jak to działa: Stwórzmy funkcję skasowano() CREATE FUNCTION skasowano() RETURNS TRIGGER LANGUAGE plpgsql 7
8 AS ' BEGIN RAISE NOTICE ''Skasowano jeden rekord''; RETURN NULL; END; '; teraz stwórzmy trigger: CREATE TRIGGER tr_delkli AFTER DELETE ON klient FOR EACH ROW EXECUTE PROCEDURE skasowano(); i podobny do niego : CREATE FUNCTION skasowano1() RETURNS TRIGGER LANGUAGE plpgsql AS ' BEGIN RAISE NOTICE ''Skasowano rekordy''; RETURN NULL; END; '; CREATE TRIGGER tr_delkli1 AFTER DELETE ON klient FOR EACH statement EXECUTE PROCEDURE skasowano1(); Sprawdźmy jak to działa: delete from klient where id_klienta not in (select kto_wypozyczyl from wypozyczenie) and id_klienta not in (select id_klienta from jest_pracownikiem); Język PL/pgSQL może być używany do tworzenia procedur wyzwalanych. Najpierw należy stworzyć funkcję poleceniem CREATE FUNCTION deklarując ją jako funkcję bez argumentów wejściowych i zwracającą typ trigger. Zauważ, że funkcja musi być zdeklarowana bez argumentów wejściowych nawet jeżeli takowych wymaga. Wówczas argumenty przekazywane są do funkcji przez zmienną systemową o nazwie TG_ARGV. Kiedy wywoływana jest funkcja w PL/pgSQL jako TRIGGER kilka specjalnych zmiennych jest tworzonych. Są to: NEW OLD Dana typu RECORD; zawiera nowy wiersz dla operacji typu INSERT/UPDATE w wyzwalaczach poziomu wierszowego. Przyjmuje NULL w wyzwalaczach typu statement-level. Dana typu RECORD; zawiera stary wiersz dla operacji typu INSERT/UPDATE w wyzwalaczach poziomu wierszowego. Przyjmuje NULL w wyzwalaczach typu statement-level. 8
9 TG_NAME TG_WHEN TG_LEVEL TG_OP TG_RELID Nazwa name; nazwa triggera, który został aktualnie uruchomiony. Zmienna tekstowa przechowująca wiadomość czy trigger został stworzony BEFORE czy AFTER zdarzenia. Zmienna tekstowa przechowująca wiadomość czy trigger został stworzony dla ROW czy STATEMENT. Zmienna tekstowa przechowująca wiadomość czy trigger został stworzony dla INSERT, UPDATE czy DELETE. ID objektu, który wywołał trigger. TG_RELNAME TG_NARGS TG_ARGV[] Nazwa tabeli, która wywołała trigger. Typ danych integer; Liczba argumentów podanych do procedury funkcji triggera. Macierz danych tekstowych; argumenty podawane do procedury funkcji triggera. Funkcja deklarowana na potrzeby wyzwalaczy musi zwrócić NULL albo wartość typu rekord/wiersz mającą dokładnie strukturę tabeli, dla której trigger zadziałał. Triggery wyzwalane dla wierszy działające przed akcją (BEFORE) mogą zwracać null aby odwołać akcję, która została dla danego wiersza odpalona (np. wszystkie następujące wyzwalacze i działania typu INSERT/UPDATE/DELETE nie zostaną wykonane dla tego wiersza. Jeśli trigger zwróci wartość nie-null wszystko co następuje po tej funkcji zostanie dla tego wiersza wykonane. 9
10 Zwracając wartość wiersza różną od wartości oryginalnej dla NEW podmienia wartość tego wiersza w przypadku INSERT lub UPDATE ale nie ma bezpośredniego wpływu na DELETE. Aby podmienić zawartość wiersza możliwa jest podmiana pojedynczych wartości tego wiersza bezpośrednio lub stworzenie kompletnie nowego wiersza (struktury) typu NEW. Wartość zwracana dla wywołania typu STATEMENT, lub AFTER dla wywołania typu ROW jest zawsze ignorowana może być wartością typu NULL. Tym niemniej dla każdego z tych typów triggerów akcja może zostać przerwana poprzez wymuszenie komunikatu błędu (raise error). Efekty uboczne w fazie BEFORE Triggery w fazie BEFORE mogą mieć dwa różne efekty uboczne: W przypadku wszystkich wydarzeń - jeżeli procedura triggera zwróci wartość NULL, to dana czynność ma zostać anulowana i dalsze triggery związane z tą czynnością nie zostaną wywołane. Często mówi się, że taki trigger wetuje jakąś operację. W przypadku wydarzeń UPDATE i INSERT procedura triggera może zwrócić nową zawartość rekordu i wtedy ta właśnie wartość (a nie ta wynikająca z parametrów instrukcji UPDATE lub INSERT INTO) znajdzie się w bazie. Macierz właściwości wydarzenie/f aza INSERT BEFORE Możliwe jest zawetowanie wstawienia. Wstawiane wartości dostępne są w tablicy NEW. Modyfikacja zawartości tablicy NEW powoduje wstawienie zmodyfikowanych danych. W przypadku braku weta funkcja powinna zwrócić NEW. AFTER Dane są już fizycznie wstawione do tabeli. Wstawione dane znajdują się w tablicy NEW. UPDATE Możliwe jest zawetowanie uaktualnienia. Aktualne wartości dostępne są w tablicy OLD a nowe w tablicy NEW. Modyfikacja zawartości tablicy NEW powoduje wstawienie zmodyfikowanych danych. Dane są już fizycznie zmodyfikowane w tabeli. Poprzednie wartości dostępne są w tablicy OLD a aktualne w tablicy NEW. 10
11 W przypadku braku weta funkcja powinna zwrócić NEW. DELETE Możliwe jest jedynie zawetowanie usunięcia. Nie ma możliwości uaktualnienia zamiast skasowania. Pola kasowanego rekordu dostępne są w tablicy OLD Rekord jest już fizycznie skasowany Pola skasowanego rekordu dostępne są w tablicy OLD Transakcje Transakcja pozwala na zgrupowanie pewnego ciągu zdarzeń w bazie danych w jedną nierozerwalną całość. Każda transakcja spełnia podstawowe reguły określane z j. Angielskiego ACID (patrz wykład) niepodzielna, spójna, izolowana, trwała (atomic, consistent,isolated, durable). Oznacza to, że każda transakcja jako blok danych albo zostanie wykonana w całości, albo wcale niezależnie od innych transakcji, system bazodanowy po transakcji będzie spójny i dane po zakończeniu transakcji będą trwałe nawet w przypadku awarii systemu zarządzania bazą danych... Każdą transakcję zaczynamy słowem BEGIN, po czym następuje dowolnie długi ciąg zdarzeń w SQLu i kończymy utrwalając zmiany słowem COMMIT, bądź je odrzucając poprzez ROLLBACK. Sprawdź jak to działa: połącz się z bazą danych w dwóch równoległych oknach (wcześniej stwórz klienta, który nie ma nic wypożyczone i zapamiętaj id) wpisuj co następuje [o1: - w oknie pierwszym; o2: - w oknie drugim] : o1: BEGIN; o1: SELECT * FROM klient ; o2: SELECT * FROM klient ; o1: DELETE FROM klient WHERE id_klienta=12; tu wpisz zapamiętane ID o2: SELECT * FROM klient ; o1: SELECT * FROM klient ; o1: ROLLBACK; o1: SELECT * FROM klient; o2: SELECT * FROM klient ; a teraz spróbuj tego samego z zatwierdzeniem zmian; o1: BEGIN; o1: SELECT * FROM klient ; o2: SELECT * FROM klient ; o1: DELETE FROM klient WHERE id_klienta=12;; 11
12 o2: SELECT * FROM klient ; o1: SELECT * FROM klient ; o1: COMMIT; o1: SELECT * FROM klient; o2: SELECT * FROM klient ; Blokady tabel przy transakcjach: o1: begin; o1: lock table klient; o2: select * from klient; o1: commit; Zakleszczenia Przykład: o1: begin; o2: begin; o1: update klient set imie='jan' where id_klienta=3; o2: update klient set imie = 'Ewa' where id_klienta=4; o1: update klient set imie='jan' where id_klienta=4; o2: update klient set imie = 'Ewa' where id_klienta=3; Komentarze: Komentarze można umieszczać pisząc kod w SQL w dowolnym edytorze tekstowym. Taki komentarz nie zostanie zinterpretowany przez SZBD, - pozostanie jedynie w pliku tekstowym. Komentarze tego typu oznacza się dwoma znakami '-' i taki komentarz trwa do końca linii. np. : -- to jest komentrarz do SQL Istnieje również inna metoda zapisu dodatkowej informacji w projekcie. Dzięki możliwości przechowywania tekstu w bazie można opisać i przechować w ten sposób komentarz do dowolnego obiektu. Tego typu komentarze tworzy się jako: COMMENT ON { TABLE object_name COLUMN table_name.column_name AGGREGATE agg_name (agg_type) 12
13 CONSTRAINT constraint_name ON table_name DATABASE object_name DOMAIN object_name FUNCTION func_name (arg1_type, arg2_type,...) INDEX object_name OPERATOR op (leftoperand_type, rightoperand_type) RULE rule_name ON table_name SCHEMA object_name SEQUENCE object_name TRIGGER trigger_name ON table_name TYPE object_name VIEW object_name } IS 'text' czyli np.: COMMENT ON TABLE klient IS ' To jest tabela przechowująca listę klientów naszego banku'; Sprawdźmy jak to działa: po wpisaniu komentarza spróbuj zrobić backup bazy danych. Załółżmy, że baza nazywa się XXXX psql XXXX COMMENT on... (jak WYŻEJ) \q pg_dump XXXX > mojabazaxxxx.sql dropdb XXXX teraz możesz obejrzeć plik z wynikami twojej bazy. Załóż bazę spowrotem: createdb XXXX psql XXXX -f mojabazaxxxx.sql sprawdź tabele (zwłaszcza klient) Zadania do realizacji: 1. Stwórz funkcję i wyzwalacz, która przy próbie wypożyczenia płyty nie pozwoli wypożyczyć nowej płyty użytkownikowi, który ma 5 lub więcej niezwróconych pozycji. 2. Opisz wszystkie tabele stosownymi komentarzami 3. Stwórz funkcję, która pozwoli sprawdzić i naliczyć karę użytkownikowi za zbyt długie przetrzymywanie płyty. Jeżeli przekracza ono 2 tygodnie to za każdy dzień dolicz 10 pln. 4. Wewnątrz transakcji dodaj nowego użytkownika i informację, że jest on pracownikiem, przewidź rabat 50%. 5. Stwórz w bazie danych nową tabelę o nazwie kary zastanów się jak ją powiązać z istniejącą strukturą i jak przechowywane będą dane. 13
Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,
Mój projekt przedstawia bazę danych noclegów składającą się z 10 tabel. W projekcie wykorzystuje program LibreOffice Base do połączenia psql z graficznym interfejsem ( kilka formularzy przedstawiających
Bardziej szczegółowoBAZA DANYCH SIECI HOTELI
Paulina Gogół s241906 BAZA DANYCH SIECI HOTELI Baza jest częścią systemu zarządzającego pewną siecią hoteli. Składa się z tabeli powiązanych ze sobą różnymi relacjami. Służy ona lepszemu zorganizowaniu
Bardziej szczegółowoPolitechnika Gdańska, międzywydziałowy kierunek INŻYNIERIA BIOMEDYCZNA. Instrukcja do laboratorium z przedmiotu: Bazy danych. Laboratorium nr 3.
Instrukcja do laboratorium z przedmiotu: Bazy danych Laboratorium nr 3. Metody zarządzania i analizy danych Opracował A. Bujnowski 2010-03-08 Projekt Przygotowanie i realizacja kierunku inżynieria biomedyczna
Bardziej szczegółowoPolitechnika Gdańska, międzywydziałowy kierunek INŻYNIERIA BIOMEDYCZNA. Instrukcja do laboratorium z przedmiotu: Bazy danych. Laboratorium nr 3.
Instrukcja do laboratorium z przedmiotu: Bazy danych Laboratorium nr 3. Metody zarządzania i analizy danych Opracował A. Bujnowski 2010-03-08 Projekt Przygotowanie i realizacja kierunku inżynieria biomedyczna
Bardziej szczegółowoE.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze
Funkcje użytkownika Tworzenie funkcji Usuwanie funkcji Procedury składowane Tworzenie procedur składowanych Usuwanie procedur składowanych Wyzwalacze Wyzwalacze a ograniczenia i procedury składowane Tworzenie
Bardziej szczegółowoProgramowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika
Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued
Bardziej szczegółowoWykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze
Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze 1 Funkcje i procedury pamiętane Następujące polecenie tworzy zestawienie zawierające informację o tym ilu jest na naszej hipotetycznej
Bardziej szczegółowoProcedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1
Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane
Bardziej szczegółowoBlaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik
Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie
Bardziej szczegółowoWyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia
Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Składowe wyzwalacza ( ECA ): określenie zdarzenia ( Event ) określenie
Bardziej szczegółowoSQL 4 Structured Query Lenguage
Wykład 5 SQL 4 Structured Query Lenguage Instrukcje sterowania danymi Bazy Danych - A. Dawid 2011 1 CREATE USER Tworzy nowego użytkownika Składnia CREATE USER specyfikacja użytkownika [, specyfikacja użytkownika]...
Bardziej szczegółowoHurtownia Świętego Mikołaja projekt bazy danych
Aleksandra Kobusińska nr indeksu: 218366 Hurtownia Świętego Mikołaja projekt bazy danych Zaprezentowana poniżej baza jest częścią większego projektu bazy danych wykorzystywanej w krajowych oddziałach wiosek
Bardziej szczegółowoPrzykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok;
Temat: Funkcje, procedury i wyzwalacze. Oprócz tabel i widoków w bazach danych możemy tworzyć własne funkcje, procedury i specjalny typ procedur, które będą automatycznie wywoływanie przez MySQL w memencie
Bardziej szczegółowoSQL :: Data Definition Language
SQL :: Data Definition Language 1. Zaproponuj wydajną strukturę danych tabela) do przechowywania macierzy o dowolnych wymiarach w bazie danych. Propozycja struktury powinna zostać zapisana z wykorzystaniem
Bardziej szczegółowoPODSTAWY BAZ DANYCH 13. PL/SQL
PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących
Bardziej szczegółowoDECLARE VARIABLE zmienna1 typ danych; BEGIN
Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;
Bardziej szczegółowo15. Funkcje i procedury składowane PL/SQL
15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp
Bardziej szczegółowoWyzwalacze (triggery) Przykład
Wyzwalacze (triggery) Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie. W poniższym przykładzie definiujemy tablicę, a następnie trigger związany
Bardziej szczegółowoUżywany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu.
Plan wykładu Spis treści 1 Dynamiczny SQL 1 2 Wyzwalacze 2 3 Podsumowanie 9 4 Źródła 9 1 Dynamiczny SQL Dynamiczny SQL Dynamiczny SQL - technika programowania umożliwiająca generowanie instrukcji SQL dynamicznie
Bardziej szczegółowoPolitechnika Gdańska, międzywydziałowy kierunek INŻYNIERIA BIOMEDYCZNA. Instrukcja do laboratorium z przedmiotu: Bazy danych. Laboratorium nr 2.
Instrukcja do laboratorium z przedmiotu: Bazy danych Laboratorium nr 2. Projektowanie relacyjnych struktur w bazach danych Opracował A. Bujnowski 2010-03-08 Projekt Przygotowanie i realizacja kierunku
Bardziej szczegółowoWykład 8. SQL praca z tabelami 5
Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu
Bardziej szczegółowoPaweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,
Bardziej szczegółowoLaboratorium nr 4. Temat: SQL część II. Polecenia DML
Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze
Bardziej szczegółowoCREATE TABLE autorzy ( id_autora SERIAL PRIMARY KEY, imie TEXT, nazwisko TEXT );
Projekt ilustruje przykładową bazę domowej biblioteczki. Baza ma za zadanie ułatwić skatalogowanie posiadanych książek wraz z podstawowymi informacjami na ich temat. Opis bazy: Książka może mieć wielu
Bardziej szczegółowoCele. Definiowanie wyzwalaczy
WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa
Bardziej szczegółowoInformatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro
Informatyka (5) SQL dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl Język zapytań SQL Język deklaratywny (regułowy) - SQL, ProLog,
Bardziej szczegółowoP o d s t a w y j ę z y k a S Q L
P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p
Bardziej szczegółowoLAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL,
Informatyka sem. III studia inżynierskie Transport 2018/19 Lab 6 LAB 6 TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL, UPDATE, INSERT INTO, ALTER TABLE, CREATE VIEW, CREATE TRIGGER, FUNCTION,
Bardziej szczegółowoTrigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie.
Temat: Wyzwalacze (triggery). Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie. W poniższym przykładzie definiujemy tablicę a następnie trigger
Bardziej szczegółowoInstytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Laboratorium 1 Wprowadzenie, podstawowe informacje o obsłudze
Bardziej szczegółowoBAZY DANYCH Cz III. Transakcje, Triggery
BAZY DANYCH Cz III Transakcje, Triggery Transakcje Definicja: Zbiór operacji (modyfikacja danych, usuwanie, wstawianie, tworzenie obiektów bazodanowych), które albo wszystkie kończone są sukcesem, albo
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wprowadzenie Definiowanie wyzwalaczy DML Metadane wyzwalaczy Inne zagadnienia, tabele mutujące Wyzwalacze INSTEAD OF Wyzwalacze
Bardziej szczegółowoProgramowanie po stronie serwera w SZBD. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW
Programowanie po stronie serwera w SZBD Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Programowanie SZBD (DBMS) Procedury serwera Procedury składowane
Bardziej szczegółowoJęzyk SQL, zajęcia nr 1
Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze
Bardziej szczegółowoAspekty aktywne baz danych
Aspekty aktywne baz danych Aktywne aspekty baz danych Baza danych powinna zapewniać pewne własności i niezmienniki; Własności te powinny mogą być zapisane do bazy danych, a baza danych powinna zapewniać
Bardziej szczegółowoBazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)
Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty PL/SQL, c.d. 1 / 37 SQL to za mało SQL brakuje możliwości dostępnych w językach proceduralnych.
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
Bardziej szczegółowoPrzykładowa baza danych BIBLIOTEKA
Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych
Bardziej szczegółowoWykład 5. SQL praca z tabelami 2
Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,
Bardziej szczegółowoInstrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.
Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN
Bardziej szczegółowoWprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.
Bazy Danych i Systemy informacyjne Wykład 2 Piotr Syga 16.10.2017 Dodawanie, usuwanie i zmienianie rekordów Wstawianie rekordu wstawianie do tabeli INSERT INTO A VALUES ( fioletowy, okrągły, słodko-kwaśny
Bardziej szczegółowoPawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl
Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność
Bardziej szczegółowoKowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592. Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami
Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592 Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami Spis treści Założenia Projektowe...1 Schemat Bazy Danych...1
Bardziej szczegółowoWyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz
Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych
Bardziej szczegółowoPL/SQL. Zaawansowane tematy PL/SQL. Piotr Medoń
PL/SQL Zaawansowane tematy PL/SQL Piotr Medoń Cele Omówienie transakcji bazodanowych Omówienie obsługi wyjątków Zarządzanie perspektywami Tworzenie i usuwanie sekwencji Budowa wyzwalaczy 2 Transakcje bazodanowe
Bardziej szczegółowoLAB 3 (część 1 Projektu)
Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 3 (część 1 Projektu) Na zajęciach należy zaprojektować schemat bazy danych oraz przygotować dokument zawierający: Temat: Autor: 1. Opis 2.
Bardziej szczegółowoFunkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u
Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u będziemy używać w taki sam sposób, jak wbudowanych funkcji
Bardziej szczegółowo1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
Grupa A (LATARNIE) Imię i nazwisko: Numer albumu: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Nazwisko prowadzącego: 11: 12: Suma: Ocena: Zad. 1 (10 pkt) Dana jest relacja T. Podaj wynik poniższego zapytania (podaj
Bardziej szczegółowoPrzestrzenne bazy danych Podstawy języka SQL
Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured
Bardziej szczegółowoMonika Sychla 241858 Daniel Smolarek 241875. Projekt bazy danych
Monika Sychla 241858 Daniel Smolarek 241875 Projekt bazy danych Naszym zadaniem było zaprojektowanie przykładowej bazy danych, w oparciu o zagadnienia jakie zostały wprowadzone w trakcie kursu z baz danych.
Bardziej szczegółowoBazy danych. Dr inż. Paweł Kasprowski
Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność
Bardziej szczegółowoWprowadzenie do projektowania i wykorzystania baz danych Relacje
Wprowadzenie do projektowania i wykorzystania baz danych Relacje Katarzyna Klessa Dygresja nt. operatorów SELECT 2^2 SELECT 2^30 SELECT 50^50 2 Dygresja nt. operatorów SELECT 2^30 --Bitwise exclusive OR
Bardziej szczegółowoLiteratura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska
Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion Autor: Joanna Karwowska SQL zapewnia obsługę: zapytań - wyszukiwanie danych w bazie, operowania danymi - wstawianie, modyfikowanie
Bardziej szczegółowoOdnawialne Źródła Energii I rok. Tutorial PostgreSQL
Tutorial PostgreSQL 1. Instalacja na własnym komputerze: a. Zainstaluj program ze strony: https://www.postgresql.org/download/ Wersja odpowiednia dla systemu operacyjnego Linux, Mac, Windows Przy pierwszym
Bardziej szczegółowoĆwiczenia laboratoryjne nr 11 Bazy danych i SQL.
Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie
Bardziej szczegółowoPrzykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.
Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna
Bardziej szczegółowoBartosz Jachnik - Kino
Bartosz Jachnik - Kino I. Opis bazy Prezentowana baza danych stworzona została na potrzeby prowadzenia kina. Zawiera ona 8 tabel, które opisują filmy grane w danym okresie w kinie, wraz ze szczegółowym
Bardziej szczegółowoJęzyk PL/SQL Procedury i funkcje składowane
Język PL/SQL Procedury i funkcje składowane Podprogramy, procedury i funkcje składowane, typy argumentów, wywoływanie procedur i funkcji, poziomy czystości funkcji 1 Podprogramy Procedury (wykonują określone
Bardziej szczegółowoRelacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
Bardziej szczegółowoBloki anonimowe w PL/SQL
Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia
Bardziej szczegółowoW PostgreSQL mamy do dyspozycji nie tylko funkcje wbudowane, ale również możemy tworzyć własne. Są one zapisywane w tabeli systemowej pg_proc.
PROCEDURY W PostgreSQL mamy do dyspozycji nie tylko funkcje wbudowane, ale również możemy tworzyć własne. Są one zapisywane w tabeli systemowej pg_proc. \df Aby wyświetlić wszystkie funkcje z argumentami
Bardziej szczegółowoZaawansowane bazy danych i hurtownie danych semestr I
Podprogramy Wydział Informatyki Politechnika Białostocka Zaawansowane bazy danych i hurtownie danych semestr I Procedury do przeprowadzenia akcji Funkcje do obliczania wartości Pakiety do zbierania logicznie
Bardziej szczegółowoBazy danych 6. Klucze obce. P. F. Góra
Bazy danych 6. Klucze obce P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób ten (żargonowo:
Bardziej szczegółowoSprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu):
Utwórz bazę danych Cw: CREATE DATABASE Cw Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu): DBCC USEROPTIONS Przykład z zapisem do tabeli tymczasowej: --Jeśli istnieje tabela tymczasowa
Bardziej szczegółowoAdministracja i programowanie pod Microsoft SQL Server 2000
Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wyzwalacze Wprowadzenie Tworzenie wyzwalacza Wyzwalacze typu,,po'' Wyzwalacze typu,,zamiast''
Bardziej szczegółowo3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota
Laboratorium nr 3 1 Bazy Danych Instrukcja laboratoryjna Temat: Wprowadzenie do języka SQL, tworzenie, modyfikacja, wypełnianie tabel 3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota 1)
Bardziej szczegółowoDECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];
Braki w SQL obsługi zdarzeń i sytuacji wyjątkowych funkcji i procedur użytkownika definiowania złożonych ograniczeń integralnościowych Proceduralny SQL Transact- SQL używany przez Microsoft SQL Server
Bardziej szczegółowoPRZESTRZENNE BAZY DANYCH WYKŁAD 2
PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie
Bardziej szczegółowoTabele wykorzystywane w przykładach
Tabele wykorzystywane w przykładach create table departamenty( dep_id serial primary key, nazwa_departamentu text ); Tabele używane w wybranych przkładach create table pracownicy ( emp_id serial primary
Bardziej szczegółowoBazy danych programowanie Wykład dla studentów matematyk
Bazy danych programowanie Wykład dla studentów matematyki 23 kwietnia 2017 Funkcje Funkcje definiuje się w Postgresie używajac konstrukcji CREATE FUNCTION nazwa(parametr typ,...) RETURNS typ-wyniku AS
Bardziej szczegółowoRozdział 17. Zarządzanie współbieżnością zadania dodatkowe
Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe -- Definicje relacji i utworzenie stanu początkowego dla ćwiczeń z synchronizacji transakcji DROP TABLE Konta cascade constraints; DROP TABLE
Bardziej szczegółowoCheatsheet PL/SQL Andrzej Klusiewicz 1/9
Declare y integer; z varchar2(50); d date; null; Declare x integer:=10; null; x integer; x:=10; dbms_output.put_line('hello world'); for x in 1..10 loop Deklaracja 4 zmiennych. Jednej typu rzeczywistego,
Bardziej szczegółowoBazy Danych i Usługi Sieciowe
Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z
Bardziej szczegółowoProjekt-bazy danych Poczta
Autorzy: Aleksandra Bąk numer indeksu: 233142 Maksym Leś numer indeksu: 233283 Projekt-bazy danych Poczta 1.Opis Nasz projekt dotyczy poczty. Nasza baza danych zawiera informacje odnośnie: listów przechodzących
Bardziej szczegółowoRef. 7 - Język SQL - polecenia DDL i DML
Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość
Bardziej szczegółowoD D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?
D D L S Q L Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L - p o d s t a w y DDL SQL (Data Definition Language) Jest to zbiór instrukcji i definicji danych, którym posługujemy się
Bardziej szczegółowo1. Wyzwalacze BD (ang. triggers)
1. Wyzwalacze BD (ang. triggers) Wyzwalacz bazy danych jest procedurą składowaną w bazie powiązaną z jedną konkretną tablicą. Z pojedynczą tablicą może być związane wiele wyzwalaczy, natomiast pojedynczy
Bardziej szczegółowoKOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów
KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Kusory Wprowadzenie Kursory użytkownika Kursory domyślne Zmienne kursora Wyrażenia kursora - 2 - Wprowadzenie Co to jest kursor?
Bardziej szczegółowoBazy danych i usługi sieciowe
Bazy danych i usługi sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2014 1 / 16 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z
Bardziej szczegółowoBazy danych wykład szósty Więzy i wyzwalacze. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)
Bazy danych wykład szósty Więzy i wyzwalacze Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa szósty Więzy i wyzwalacze 1 / 35 Wstęp Wiemy jak nakładać pewne ograniczenia (więzy) w
Bardziej szczegółowoRelacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
Bardziej szczegółowoBazy danych 10. SQL Widoki
Bazy danych 10. SQL Widoki P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela
Bardziej szczegółowoSystemowe aspekty baz
Systemowe aspekty baz danych Deklaracja zmiennej Zmienne mogą być wejściowe i wyjściowe Zmienne w T-SQL można deklarować za pomocą @: declare @nazwisko varchar(20) Zapytanie z użyciem zmiennej: select
Bardziej szczegółowoCREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Zestaw ćwiczeń1 Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy
Bardziej szczegółowostrukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych
SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych
Bardziej szczegółowoJęzyk PL/SQL. Rozdział 6. Procedury wyzwalane
Język PL/SQL. Rozdział 6. Procedury wyzwalane Procedury wyzwalane, cele stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie
Bardziej szczegółowoInstrukcje DML INSERT, UPDATE, DELETE. COPY
Wprowadzenie do DML i DDL 1 Bazy Danych Wykład p.t. Instrukcje DML INSERT, UPDATE, DELETE. COPY Antoni Ligęza ligeza@agh.edu.pl http://galaxy.uci.agh.edu.pl/~ligeza Wykorzystano materiały: http: //www.postgresql.org/docs/8.3/interactive/index.html
Bardziej szczegółowoProjektowanie systemów baz danych
Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do
Bardziej szczegółowoJęzyk SQL, zajęcia nr 2
Język SQL, zajęcia nr 2 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Funkcja agregująca
Bardziej szczegółowoImię i Nazwisko Data Ocena. Laboratorium 7
Imię i Nazwisko Data Ocena Laboratorium 7 Celem tego ćwiczenia jest pokazanie, że w MoscowML można pisać aplikacje użytkowe, np. prosty interpreter języka SQL (MLSQL) Listy i krotki Różnica pomiędzy krotkami
Bardziej szczegółowoTworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy];
Widoki/Perspektywy Podstawy Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy]; Usuwanie widoku DROP VIEW [nazwa_widoku]; Przykład 1 Przykład najprostszego
Bardziej szczegółowoWykład 05 Bazy danych
Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o
Bardziej szczegółowoBazy danych. Projekt prostej biblioteki. 26 stycznia Hubert Anisimowicz,
Bazy danych Projekt prostej biblioteki 26 stycznia 2015 Hubert Anisimowicz, 275859 Spis treści Rozdział 1 Schemat bazy danych... 2 Rozdział 2 Opis bazy danych... 2 Rozdział 3 Skrypt generujący bazę danych...
Bardziej szczegółowoSQL (ang. Structured Query Language)
SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze
Bardziej szczegółowoTworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1
Tworzenie tabel Tabela podstawowa struktura, na której zbudowana jest relacyjna baza danych. Jest to zbiór kolumn (atrybutów) o ustalonych właściwościach, w których przechowuje się dane. Dane te są reprezentowane
Bardziej szczegółowoSQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści
SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL
Bardziej szczegółowoPL/SQL. Zaawansowane tematy PL/SQL
PL/SQL Zaawansowane tematy PL/SQL Cele Poznanie złożonych i referencyjnych typów danych Poznanie konstrukcji kursora Poznanie kodu składowanego Poznanie procedur i funkcji 2 Złożone typy danych RECORD
Bardziej szczegółowo