SQL Server Łukasz Łysik 21 października 2008
|
|
- Błażej Kozieł
- 10 lat temu
- Przeglądów:
Transkrypt
1 SQL Server 2005 Łukasz Łysik 21 października 2008
2 Zakres prezentacji SQL Server Management Studio Transakcje Lock, deadlocks Procedury CLR Triggery Service Broker SQL Server Profiler
3 SQL Server Management Studio
4 SQL Server Management Studio Przydatne elementy: Object Explorer zawiera hierarchiczne drzewo z wszystkimi obiektami w bazie danych Query Analizer główne okno edycji Result okno w którym wyświetlane są wyniki zapytań Przydatne skróty klawiszowe: F5 wykonanie kodu (lub zaznaczonego fragmentu) F8 przywołanie okna Object Explorer Zaznaczenie nazwy procedury, tabeli oraz wciśnięcie Alt + F1 wyświetla informacje o procedurze (nazwy i typy parametrów), tabeli (nazwy kolumn, indeksów, kluczy, itp). Ctrl + r zamyka okno Result.
5 SSMS Execution Plan Przy optymalizacji zapytań przydaje się funkcja Execution Plan. Włączenie funkcji nastepuje poprzez wybranie ikony Include Actual Execution Plan. Wyświetlane zostaje plan wykonania podzapytań w postaci drzewa, razem z procentem czasu wykonania całego zapytania (przykład w pliku 01_prez_execution_plan.sql).
6 Transakcje 1 Transakcja jest to zbiór operacji, które stanowią pewną całość i powinny być wykonane wszystkie lub żadna z nich. Oznacza to, że gdy np. mamy 2 operacje zawarte w transakcji i pierwsza zakończy się sukcesem a druga porażką, pierwsza z nich zostaje anulowana. Transakcje można stosować np. w bankach w sytuacji przelania pienidzy z konta na konto. W jednej tabeli zmiejszamy ilość pieniędzy a w drugiej zwiększamy. W przypadku błędu w którejś z tych operacji albo na obu kontach jest mniej pieniędzy, albo na obu za dużo. Zamknięcie obu operacji w transakcji rozwiązuje problem.
7 Transakcje 2 (przykład) Do zaprezentowania transakcji utworzymy przykładową tabelę. Należy zwrócić uwagę, że kolumny liczba_1 oraz liczba_2 nie mogą mieć wartości NULL. -- tworzymy tabele CREATE TABLE sumy ( [id] int PRIMARY KEY IDENTITY(1,1) NOT NULL, [liczba_1] int NOT NULL, [liczba_2] int NOT NULL, [suma] int NULL )
8 Transakcje 3 (przykład c.d.) Rozpoczecie transakcji BEGIN TRAN Sprawdzenie: tabela pusta SELECT * FROM sumy Poprawne wstawienie INSERT INTO sumy(liczba_1,liczba_2) VALUES (12,34) Sprawdzenie: tabela zawiera jeden wiersz SELECT * FROM sumy Niepoprawne wstawienie (kolumna 'liczba_2' nie moze byc NULL) INSERT INTO sumy(liczba_1) VALUES(4) Anulowanie transakcji gdy wystapil blad > 0 ROLLBACK TRAN Sprawdzenie: tabela ponownie pusta SELECT * FROM sumy Zatwierdzenie transakcji gdy nie ma bledu COMMIT TRAN
9 Transakcje 4 (przykład c.d.) Punkt 1 rozpoczęcie transakcji Punkt 2 sprawdzenie: tabela powinna być pusta (nic do niej nie wstawiliśmy po utworzeniu) Punkt 3 wstawiamy poprawny rekord Punkt 4 sprawdzenie: rekord faktycznie znajduje się w tabeli Punkt 5 wstawiamy niepoprawny rekord. Kolumna liczba_2 ma atrynut NOT NULL, dlatego wstawienie wartości tylko do kolumny liczba_1 powoduje błąd. Punkt 6 sprawdzamy, czy wystąpił błąd. Anulowanie transakcji (ROLLBACK) Punkt 7 sprawdzenie: anulowanie transakcji spowodowało cofnięcie wszystkich operacji w jej wnętrzu. Tabela jest pusta. Punkt 8 gdyby błąd nie wystąpił nastąpiłoby zatwierdzenie transakcji.
10 Transakcje 5 (zagnieżdzanie) Transakcje można zagnieżdzać (we wnętrzu jednej transakcji można umieścić kolejne). Pomocna jest zmienna która przyjmuje wartość aktualnego stopnia zagnieżdzenia transakcji. Przykład: -- 0 BEGIN TRAN -- 1 BEGIN TRAN -- 2 BEGIN TRAN -- 3 COMMIT TRAN -- 2 ROLLBACK TRAN -- 0
11 Transakcje 6 (zagnieżdzanie c.d.) Jak widać z przykładu polecenie COMMIT TRAN powoduje przejście wyżej tylko o jeden poziom. Polecenie ROLLBACK TRAN powoduje przejście od razu do poziomu 0.
12 Lock, deadlock Przy pomocy mechanizmu transakcji bardzo łatwo zobaczyć jak powstaje lock oraz deadlock.
13 Lock, deadlock 2 (przykład) Preces 1 rozpoczyna transakcję oraz wykonuje zaytanie na tabeli 1 tabela jest blokowana dla tego procesu. Preces 2 rozpoczyna transakcję oraz wykonuje zaytanie na tabeli 2 tabela jest blokowana dla tego procesu. Proces 1 wykonuje zapytanie na tabeli 2 występuje lock. Proces 1 czeka, aż proces 2 zakończy transakcję. Proces 2 wykonuje zapytanie na tabeli 1. Proces 2 czeka, aż proces 1 zakończy transakcję występuje deadlock. Proces 1 Proces 2 Tabela 1 Tabela 2
14 Lock, deadlock 3 (przykład) Na potrzeby przykłądu utworzone zostną 2 tabele (kod poniżej). Przykład wymaga, aby do tabel miały dostęp 2 osobne procesy. W SQL Server Management Studio każde okno edycji jest osobnym procesem. Dla ułatwienia można otworzyć 2 okna sąsiadujące ze sobą. Uruchamianie wybranego fragmentu kodu z okna edycji można uzyskać przez zaznaczenie tego fragmentu i wciśnięcie klawisza F5 lub przycisku Execute. CREATE TABLE t1 ( col INT ) CREATE TABLE t2 ( col INT ) INSERT INTO t1 VALUES (1) INSERT INTO t2 VALUES (2)
15 Lock, deadlock 4 (przykład) Kod wywołujemy fragmentami według numeracji. -- PROCES Rozpoczęcie transakcji. BEGIN TRAN Operacja na tabeli 1 UPDATE t1 SET col = Operacja na tabeli 2 - lock UPDATE t2 SET col = 3 -- PROCES Rozpoczęcie transakcji. BEGIN TRAN Operacja na tabeli 2 UPDATE t2 SET col = Operacja na tabeli 1 - deadlock UPDATE t1 SET col = 4 Gdy powstaje lock proces czeka, aż inny proces zakończy działanie i zwolni zasób (tabelę). Gdy powstaje deadlock zostaje podniesiony wyjątek, który należy obsłużyć. Można zrezygnować z operacji na zajętej tabeli lub spróbować ponownie później.
16 CLR zewnętrzne procedury CLR Common Language Runtime Są to procedury zewnętrzne, pisane w językach takich jak C# czy Visaul Basic, kompilowane do biblioteki dll, które mogą być wywoływane z poziomu zapytań języka SQL. Kod C#, VB kompilacja Biblioteka dll Assembly Wywołanie procedury Procedura języka SQL
17 CLR przykład Utworzymy przykładową bibliotekę dll w języku C#. Będzie zawierała funkcję zliczającą wystąpienie danego znaku w ciągu znaków. Otwieramy Microsoft Visual C# 2005 Express Edition (darmowa wersja). File -> New Project... -> Class Library. Nadajemy nazwę CountChars. W pliku Class1.cs umieszczamy poniższy fragment kodu, po czym kompilujemy wciskając klawisz F6 (lub menu: Build -> Build solution). namespace CountChars { public class Prezentacja { public static int CountChars(string inputstring, char c) { int result = 0; foreach(char character in inputstring) { if(character == c) result++; } return result; } } }
18 CLR przykład c.d. W wyniku kompilacji powstał plik CountChars.dll. Przechodzimy do Management Studio i uruchamiamy naszą procedurę Tworzymy assembly CREATE ASSEMBLY AssCountChars FROM 'F:\dll\CountChars.dll' GO Tworzymy procedure CREATE FUNCTION dbo.clr_countchars(@inputstring NCHAR ) RETURNS INT AS EXTERNAL NAME AssCountChars.[CountChars.Prezentacja].CountChars GO Test funkcji INT = clr_countchars 'aa.a.bbb.ccc.dd.eee','.' Wynik: 5
19 CLR przykład 2 Za pomocą procedur CLR można wysłać wiadomość SMS z poziomu zapytania SQL. Kod C# znajduje się w pliku PlusSend.cs. Bibliotekę dll oraz procedurę tworzymy analogicznie do poprzedniego przykładu. Wymagane jest ustawienie opcji TRUSTWORTHY na ON, aby nasza funkcja mogła łączyć się z internetem (względy bezpieczeństwa). Wywołanie procedury: ALTER DATABASE prezentacja SET TRUSTWORTHY ON EXEC clr_plussend 'Lukasz',' ','Wiadomosc testowa z SQL Servera'
20 Triggery Trigger (wyzwalacz) jest to fragment kodu (procedura) wywoływany, gdy w systemie wystąpi pewne zdarzenie, np. wstawienie wiersza do tabeli. W systemie SQL Server 2005 występują 2 rodzaje triggerów: DML Data Manipulation Language są to triggery wyzwalane po wystąpieniu akcji INSERT, UPDATE, DELETE. DDL Data Definition Language wyzwalane przez rodzinę poleceń CREATE, ALTER, DROP. Zdarzenie i wyzwolony trigger występują w jednej transakcji błąd, który wystąpi we wnętrzu triggera spowoduje cofnięcie zdarzenia.
21 Triggery DML We wnętrzu triggerów można korzystać z tabel inserted oraz deleted, które zawierają wstawione lub usunięte wiersze. Dla polecenia INSERT tylko tabela inserted. Dla polecenia DELETE tylko tabela deleted. Dla polecenia UPDATE tabela deleted zawiera starą wersję zmienionego rekordu, tabela inserted zawiera nową wersję. Przykład rozpoznający wykonane polecenie na podstawie tabel inserted oraz deleted: CREATE TRIGGER trg_sumy_a_ins_upd_del ON sumy AFTER INSERT, UPDATE, DELETE AS BEGIN IF EXISTS(SELECT * FROM inserted) IF EXISTS(SELECT * FROM deleted) PRINT 'Trigger AFTER UPDATE' ELSE PRINT 'Trigger AFTER INSERT' ELSE PRINT 'Trigger AFTER DELETE' END
22 Triggery DDL Utwórzmy trigger DDL, który zabroni usuwania tabel w bazie. CREATE TRIGGER safety ON DATABASE FOR DROP_TABLE AS BEGIN PRINT 'You must disable Trigger "safety" to drop tables!' ROLLBACK END -- TEST Tworzymy tabele CREATE TABLE tmp_table (col1 int) Próba usunięcia tabeli - porażka DROP table tmp_table Wyłączenie triggera DISABLE TRIGGER safety ON DATABASE Ponowna próba - sukces DROP table tmp_table
23 Triggery - przykład Wykorzystamy utworzoną wcześniej tabele sumy. Zdefiniujemy trigger DML AFTER INSERT, który wstawi do kolumny suma sumę liczb z kolumn liczba_1 oraz liczba_2. CREATE TRIGGER trg_sumy_a_ins ON sumy AFTER INSERT AS BEGIN UPDATE sumy SET suma = liczba_1 + liczba_2 WHERE id IN (SELECT id FROM Inserted) END Test: wstawiamy liczby INSERT INTO sumy(liczba_1, liczba_2) VALUES (4,5) Sprawdzamy: sumy = 9. SELECT * FROM sumy Ponieważ na tabeli sumy będziemy tworzyć kilka triggerów dobrze jest wyłączyć nieużywane w danym momencie triggery poleceniem: DISABLE TRIGGER trg_sumy_a_ins ON sumy
24 Triggery przykład c.d. Zdarzenie i wywołany przez nią trigger występują w jednej transakcji. Co za tym idzie, proces który wykonuje np. polecenie INSERT na tabeli musi poczekać, aż trigger zakończy wykonywanie działań. Przy bardziej skomplikowanych operacjach może być to problemem. Zmodyfikujmy nieco trigger trg_sumy_a_ins, dodając opóźnienie 10 sekund: CREATE TRIGGER trg_sumy_a_ins ON sumy AFTER INSERT AS BEGIN WAITFOR DELAY '000:00:10' UPDATE sumy SET suma = liczba_1 + liczba_2 WHERE id IN (SELECT id FROM Inserted) END Test: wstawiamy liczby operacja jest dłuższa o 10 sekund INSERT INTO sumy(liczba_1, liczba_2) VALUES (4,5) Dopiero po upływie długiego czasu sprawdzamy: sumy = 9. SELECT * FROM sumy
25 Triggery przykład c.d. Dobrym rozwiązaniem byłby mechanizm, który operacje zawarte w triggerze wywołuje asynchronicznie. Proces, który wykonuje polecenie INSERT, natychniast kontynuuje swoje dalsze wykonanie. Trigger zostaje wywołany w osobnym wątku, w późniejszym czasie, a w przypadku wielu poleceń INSERT i skomplikowanych operacji istnieje możliwość wykonania triggerów np. w nocy, gdy obciążenie serwara jest mniejsze. Takie możliwości daje nam Service Broker.
26 Service Broker Jest to mechanizm asynchronicznej komunikacji pomiędzy procesami na jednym lub nawet na osobnych instancjach systemu SQL Server Opiera się na wysyłaniu komunikatów. Do zdefiniowania najprostszego machanizmu potrzebujemy utworzyć: Typ wiadomości. Utworzyć kontrakt, który mówi jakie typu wiadomości są przesyłane i w którym kierunku. Kolejkę do której trafiają wysłane wiadomości. Procedurę, nasłuchuje na kolejce i pobiera z niej wiadomości. Serwis który łączy wszystko. Schemat naszego triggera wyglądałby następująco: trigger wysyła komunikat do service brokera, że nastąpiło polecenie INSERT. Service broker pobiera wiadomość z kolejki i przetwarza tabelę, wstawiając sumę liczb do odpowieniej kolumny. Przykład znajduje się w pliku 11_prez_serv_broker.sql
27 Service Broker - przykład Przykład znajduje się w pliku 11_prez_serv_broker.sql. Test: -- TEST Wstawiamy liczby INSERT INTO Table_1 (Col1, Col2) VALUES (3, 6) Natychmiastowo sprawdzamy: sum = NULL SELECT * FROM Table_ Odczekujemy 10 sekund i sprawdzamy: sum = 9 SELECT * FROM Table_1 Warto zwrócić uwagę, że mimo iż opóźnienie jest ustawione na 10 sekund polecenie INSERT kończy się natychmiastowo.
28 SQL Server Profiler Narzędzie, które pozwala podglądać zapytania wykonywane na bazie danych. Bardzo przydatne przy debugowaniu aplikacji oraz przy optymalizacji zapytań. Dostęp z menu: Tools -> SQL Server Profiler. Komendy języka SQL można skopiować z okna Profilera i analizować w SSMS.
29 Literatura Microsoft SQL Server Implementation and Maintenance. Study Guide. Joseph L. Jorden, Dandy Wayn, Wiley Publishing, Inc., 2006, Indianapolis, Indiana Software Developers Journal nr 10/2008 Software Developers Journal Extra nr 19
30 WEB
Blaski 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
Programowanie 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
BAZY 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
Instrukcja 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
Wyzwalacz - 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
Składowane procedury i funkcje
Składowane procedury i funkcje Procedury i funkcje są zestawem poleceń SQL, które są przechowywane na serwerze (tak jak dane w tablicach). Istnieją sytuacje, kiedy procedury i funkcje są szczególnie przydatne.
DECLARE 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.;
Wykł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
E.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
Literatura: 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
Wyzwalacze (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
3 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)
PRZESTRZENNE 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
LAB 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,
Wprowadzenie 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
Laboratorium 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
Struktura bazy danych
Procedury składowane, funkcje i wyzwalacze Struktura bazy danych Tabela Oddziały ID Nazwa Adres 10 POZNAN Kwiatowa 3 20 WARSZAWA al. Jerozolimskie 22 30 KRAKOW Planty 14 40 WROCLAW Nad Odra 16 50 GDANSK
Przykł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
Sprawdzenie 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
Trigger 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
Projektowanie 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
Obsługa błędów w SQL i transakcje. Obsługa błędów w SQL
Obsługa błędów w SQL i transakcje Zacznijmy od najprostszego przykładu: CREATE PROCEDURE podziel1 Obsługa błędów w SQL Powyższa procedura w większości przypadków zadziała prawidłowo, lecz na przykład poniższe
Bazy 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
Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1
Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych
Rozdział 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
Bazy 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
PODSTAWY 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
Administracja 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''
Uż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
T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15
T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest
Pawel@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ść
SQL 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
strukturalny 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
Instytut 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
Procedury 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
Administracja 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 4 Wsady Procedury składowane Procedury składowane tymczasowe, startowe Zmienne tabelowe Funkcje
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
SQL 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]...
Programowanie 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
Cele. 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
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
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
15. 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
Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze
Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze 2015-12-03 Bazy danych-1 W5 1 Funkcje i procedury pamiętane Następujące polecenie tworzy zestawienie zawierające informację o tym
P 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
SQL :: 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
koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,
Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi
Hurtownia Ś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
Ję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
Wyzwalacze. 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
Obowiązuje od wersji
Obowiązuje od wersji 8.30.0 1. Wstęp czym są gniazda rozszerzeń?... 2 2. Edytor gniazd rozszerzeń - informacje podstawowe... 3 3. Dostępne rodzaje funkcji w gniazdach rozszerzeń... 6 3.1 Procedura SQL...
Wykł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
BAZA 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
Microsoft SQL Server Podstawy T-SQL
Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania
Aspekty 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ć
Wykł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,
Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl
Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych Paweł Paduch paduch@tu.kielce.pl 06-04-2013 Rozdział 1 Wstęp Na dzisiejszych zajęciach zajmiemy się projektem bazy danych.
Odnawialne Ź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
Ćwiczenia 2 IBM DB2 Data Studio
Ćwiczenia 2 IBM DB2 Data Studio Temat: Aplikacje w Data Studio 1. Projekty Tworzenie procedur, UDF, trygerów zaczynamy od utworzenia projektu File -> New -> Project wybieramy Data Development Project.
Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości
Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym
Relacyjne 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.
Bazy danych. Polecenia SQL
Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony
Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r.
Bazy danych dla producenta mebli tapicerowanych Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Założenia Stworzyć system bazodanowy dla małej firmy produkującej meble tapicerowane. Projekt ma umożliwić
Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa
Wprowadzenie do projektowania i wykorzystania baz danych Katarzyna Klessa POWTÓRKA Z PIERWSZYCH ZAJĘĆ Lista słówek - do zapamiętania na początek Z podstaw SQL: CREATE - Tworzenie tabeli, czyli Coś czego
Bazy danych - Materiały do laboratoriów VIII
Bazy danych - Materiały do laboratoriów VIII dr inż. Olga Siedlecka-Lamch Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 23 kwietnia 2011 roku Polecenie COMMIT i ROLLBACK Polecenie
INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X
Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ zajęcia 1: 2. Procedury składowane
CREATE USER
Temat: Administrowanie użytkownikami bazy danych. Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest możliwość
Ję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
D 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ę
CREATE 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
Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:
Systemy baz danych 16.04.2013 1. Plan: 10. Implementacja Bazy Danych - diagram fizyczny 11. Implementacja Bazy Danych - implementacja 2. Zadania: 1. Przygotować model fizyczny dla wybranego projektu bazy
Ć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
Oracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 7 Dynamiczny SQL i PL/SQL Pierwotny dynamiczny SQL Pierwotny dynamiczny DDL Pierwotny dynamiczny DML i SELECT Pakiet DBMS_SQL Transakcje
Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści
Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy
Pakiety podprogramów Dynamiczny SQL
Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL 1 Pakiety Pakiet (ang. package)
Ref. 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ść
Systemowe 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
SQL Server Configuration Manager centrum dowodzenia
Instrukcja do przedmiotu Bazy danych laboratorium (zajęcia 1) 1 Celem pierwszych zajęć laboratoryjnych jest poznanie podstaw obsługi MS SQL Server 2005 za pomocą programu SQL Server Management Studio,
STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA
LABORATORIUM SYSTEMÓW MOBILNYCH STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA DANYCH Z PLIKÓW MIF, SHP I ICH KONWERSJI DO POSTACI RELACYJNEJ I. Temat ćwiczenia Stworzenie biblioteki słuŝącej do wczytywania
Oracle 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 -
Internetowe bazy danych
Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 3 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Typy tabel MySQL domyślny MyISAM inne możliwe:
1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3
cur.executescript(""" DROP TABLE IF EXISTS uczen; CREATE TABLE IF NOT EXISTS uczen ( Uniwersytet Technologiczno-Przyrodniczy im. J.J. Śniadeckich w Bydgoszczy Instrukcja do ćwiczeń laboratoryjnych Przedmiot
Transakcje jednocześnie ACID
Transakcje Transakcja to zbiór operacji (u nas - instrukcji języka SQL), które mogą być wykonane jedynie wszystkie lub żadna. Nazwa takiego ciągu instrukcji pochodzi od operacji bankowych - przelew musi
Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie
Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną
Oracle 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
Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych
Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł
Bloki 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
Relacyjne 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.
Oracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
Systemowe aspekty baz danych
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
Zaawansowane 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
Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania
Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania 1. Zmodyfikuj strukturę relacji PROJEKTY, dodając do niej definicje następujących ograniczeń integralnościowych (użyj kilku poleceń):
050 SQL ELEMENTY ZAAWANSOWANE. Prof. dr hab. Marek Wisła
050 SQL ELEMENTY ZAAWANSOWANE Prof. dr hab. Marek Wisła Deklarowanie zmiennych DECLARE @nazwa-zmiennej typ-danych {, @nazwazmiennej typ-danych}; deklaruje nazwy zmiennych lokalnych (definiowanych przez
Wprowadzenie 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
PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:
PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł mysqli ma dwa interfejsy: proceduralny i obiektowy) PostgreSQL Oracle MS
Bazy 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.
1. 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
Systemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
Bazy 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ść
Wyzwalacze. Bazy danych 201
Wyzwalacze Bazy danych 201 202 Bazy danych Przegląd zagadnień Czym sa wyzwalacze i kiedy je stosujemy Rodzaje wyzwalaczy Podsumowanie Laboratorium Wyzwalacz (ang. trigger) jest specjalnym rodzajem procedury