Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu):
|
|
- Elżbieta Marcinkowska
- 9 lat temu
- Przeglądów:
Transkrypt
1 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 #traceoptions to ją skasuj: IF EXISTS (SELECT name from tempdb.sys.objects WHERE name like N'#traceoptions%') BEGIN varchar(255) (SELECT name from tempdb.sys.objects WHERE name like N'#traceoptions%') EXEC ('DROP TABLE ' ) END --Stwórz tabelę tymczasową o nazwie #traceoptions: CREATE TABLE #traceoptions ( OptionName varchar(50), Value varchar(50) ) INSERT INTO #traceoptions EXEC ('DBCC useroptions') -- Wyświetl wynik z tabeli (jeden wiersz). SELECT * FROM #traceoptions where OptionName='isolation level' Przykład z zapisem do zmiennej tabelowej: TABLE ( OptionName varchar(50), Value varchar(50) ) INSERT EXEC ('DBCC useroptions') SELECT * WHERE OptionName='isolation level' Przykład ustawienia poziomu izolacji, jeśli obecnie jest inny niż SERIALIZABLE: TABLE ( OptionName varchar(50), Value varchar(50) ) INSERT EXEC ('DBCC useroptions') IF NOT EXISTS (SELECT * WHERE OptionName='isolation level' AND Value = 'serializable')
2 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE lub równoważnie: TABLE ( OptionName varchar(50), Value varchar(50) ) INSERT EXEC ('DBCC useroptions') IF (SELECT Value WHERE OptionName='isolation level') <> 'serializable' SET TRANSACTION ISOLATION LEVEL SERIALIZABLE Zadanie 1. Sprawdź różnicę między poziomem izolacji transakcji READ UNTED oraz READ TED. W programie Management Studio należy otworzyd dwa okna (połączenia) do używanej bazy danych (Cw). Proszę utworzyd tabelę T1(p1 INT PRIMARY KEY, p2 INT): CREATE TABLE T1(p1 INT PRIMARY KEY, p2 INT) i wpisad do niej trzy wiersze (1,100), (2,200), (3,300): INSERT INTO t1 VALUES(1,100) INSERT INTO t1 VALUES(2,200) INSERT INTO t1 VALUES(3,300) Proszę utworzyd tabelę T2(p1 INT, p2 INT) i pozostawid ją pustą. CREATE TABLE T2(p1 INT PRIMARY KEY, p2 INT) -- Domyślnie poziom jest READ TED USE cw DELETE FROM T2 UPDATE T1 SET p2='111' WHERE p1=1 SELECT * FROM T1 USE Cw SET TRANSACTION ISOLATION LEVEL READ UNTED
3 INT FROM T1 WHERE p1=1 INSERT INTO -- W ten sposób tymczasowe dane z T1 zostały trwale wpisane do tabeli T2. ROLLBACK SELECT * FROM T2 SELECT * FROM T1 W powyższym przykładzie w pierwszym połączeniu modyfikowany jest wiersz 1 w tabeli T1, w drugim połączeniu wiersz ten jest odczytywany i (poprzez zmienne) zapisywany do tabeli T2. Następnie w połączeniu 1 transakcje jest wycofywana, ale jej przejściowe wyniki będą już trwałe w tabeli T2 poprzez transakcję 2, która odczytała niezatwierdzone dane. Te same instrukcje wykonane w takie samej kolejności, przy ustawieniu w połączeniu 2 (Connection 2) poziomu izolacji transakcji na READ TED spowodują, że proces w połączeniu 2 zostanie zawieszony (instrukcja SELECT) w oczekiwaniu na zakooczenie transakcji z połączenia 1. Proszę powtórzyd powyższe polecenia, ale z ustawionym poziomem izolacji transakcji READ TED (SET TRANSACTION ISOLATION LEVEL READ TED). Zadanie 2. Sprawdź zjawisko Fuzzy Read w poziomie izolacji READ TED (jest to poziom domyślny w systemie Microsoft SQL Server). Przykład pokaże zjawisko niespójnej analizy. W bazie danych Cw utwórz tabelę Konta( nr_konta INT PRIMARY KEY, nr_klienta INT, stan MONEY). Wstaw tam trzy wiersze: 123, 1, , 2, , 1, CREATE TABLE Konta( nr_konta INT PRIMARY KEY, nr_klienta INT, stan MONEY) INSERT INTO Konta VALUES (123,1,1000) INSERT INTO Konta VALUES (124,2,1000) INSERT INTO Konta VALUES (125,1,1000) Klient o numerze 1 ma na dwóch kontach łącznie Osoba A będzie odczytywała wartośd na kontach klienta 1, osoba B będzie wykonywała przelew 100 z konta 123 na konto 125. Osoba A będzie pracowała przez połączenie 1, osoba B przez połączenie 2. Otwórz dwa połączenia, będą one oznaczane Connection 1 i Connection 2.
4 Na początek należy zapewnid poziom izolacji transakcji READ TED w obydwu połączeniach. SET TRANSACTION ISOLATION LEVEL READ TED CREATE TABLE #tmp(suma MONEY) INSERT INTO #tmp SELECT stan FROM Konta WHERE nr_konta=123 SET TRANSACTION ISOLATION LEVEL READ TED UPDATE Konta SET Stan = Stan WHERE nr_konta=123 UPDATE Konta SET Stan = Stan WHERE nr_konta=125 UPDATE #tmp SET suma = suma + (SELECT Stan FROM Konta WHERE nr_konta=125) SELECT * FROM #tmp Suma na kontach zapisana w tabeli tymczasowej #tmp wynosi 2100 zamiast Sposób rozwiązania problem: ustawid poziom izolacji transakcji REPEATABLE READ albo SERIALIZABLE. Uwaga! Problem niespójnej analizy, który się tutaj pojawił można by czasem uznad za mniej istotny, ponieważ w tabeli Konta po wykonaniu obydwu transakcji żadne kwoty nie przepadły ani nie pojawiły się znikąd. Transakcja, która otrzymała niepoprawne (niespójne) dane tylko te dane odczytywała (chociaż oczywiście to może również byd źródłem poważnych kłopotów) Poniższe zadanie pokaże byd może poważniejszy problem utraconej aktualizacji. Zadanie 3. Problem utraconej aktualizacji. Tym razem osoba A poprzez połączenie 1 wybierze 100 z konta 123. W tym samym czasie osoba B wykona taką samą operację. -- Doprowadzenie tabeli do sytuacji jak na początku poprzedniego zadania UPDATE Konta SET Stan = 1000 SET TRANSACTION ISOLATION LEVEL READ TED DROP TABLE #tmp1
5 CREATE TABLE #tmp1(suma MONEY) SET TRANSACTION ISOLATION LEVEL READ TED DROP TABLE #tmp2 CREATE TABLE #tmp2(suma MONEY) INSERT INTO #tmp1 SELECT stan FROM Konta WHERE nr_konta=123 INSERT INTO #tmp2 SELECT stan FROM Konta WHERE nr_konta=123 UPDATE Konta SET Stan = (SELECT suma FROM #tmp2) WHERE nr_konta=123 UPDATE Konta SET Stan = (SELECT suma FROM #tmp1) WHERE nr_konta=123 SELECT * FROM Konta Pomimo, że dwie osoby poprawnie wybrały po 100 z konta nr 123, na koncie zostało 900 (przy stanie początkowym 1000). Sposób rozwiązania problem: ustawid poziom izolacji transakcji REPEATABLE READ albo SERIALIZABLE. Zadanie 4. Wykonaj zadania 2 i 3 z poziomem izolacji transakcji SERIALIZABLE. Powyższe problemy nie wystąpią, ale w pewnych momentach jedna z transakcji zostanie wstrzymana aż do zakooczenia drugiej. Jest to spowodowane przez zakładanie blokad. Zadanie 5. Przy wielu współbieżnych transakcjach działających na wspólnych danych blokady mogą byd przyczyną niskiej wydajności systemu. Radą może byd zastosowanie poziomu izolacji transakcji SNAPSHOT. Wykonaj zadanie 2 z poziomem izolacji transakcji SNAPSHOT. -- Doprowadzenie tabeli do sytuacji jak na początku poprzedniego zadania UPDATE Konta SET Stan = 1000 USE MASTER
6 USE MASTER ALTER DATABASE Cw SET ALLOW_SNAPSHOT_ISOLATION ON USE Cw DROP TABLE #tmp CREATE TABLE #tmp(suma MONEY) SET TRANSACTION ISOLATION LEVEL SNAPSHOT USE Cw DROP TABLE #tmp CREATE TABLE #tmp(suma MONEY) SET TRANSACTION ISOLATION LEVEL SNAPSHOT INSERT INTO #tmp SELECT stan FROM Konta WHERE nr_konta=123 UPDATE Konta SET Stan = Stan WHERE nr_konta=123 UPDATE Konta SET Stan = Stan WHERE nr_konta=125 UPDATE #tmp SET suma = suma + (SELECT Stan FROM Konta WHERE nr_konta=125) SELECT * FROM #tmp Tym razem suma na kontach zapisana w tabeli tymczasowej #tmp jest poprawna, wynosi Zadanie 6. Wykonaj zadanie 3 z poziomem izolacji transakcji SNAPSHOT. Osoba A poprzez połączenie 1 wybierze 100 z konta 123. W tym samym czasie osoba B wykona taką samą operację. -- Doprowadzenie tabeli do sytuacji jak na początku poprzedniego zadania
7 UPDATE Konta SET Stan = 1000 DROP TABLE #tmp1 CREATE TABLE #tmp1(suma MONEY) DROP TABLE #tmp2 CREATE TABLE #tmp2(suma MONEY) INSERT INTO #tmp1 SELECT stan FROM Konta WHERE nr_konta=123 INSERT INTO #tmp2 SELECT stan FROM Konta WHERE nr_konta=123 UPDATE Konta SET Stan = (SELECT suma FROM #tmp2) WHERE nr_konta=123 UPDATE Konta SET Stan = (SELECT suma FROM #tmp1) WHERE nr_konta=123 W tym momencie transakcja zostanie przerwana i wycofana, zatem problem niespójności danych w tabeli Konta nie pojawi się. Zadanie 7. Sprawdź sposób sterowania współbieżnością przy użyciu kursorów. W bazie danych Cw utwórz tabelę T1 i wstaw do niej wiersze: CREATE TABLE T1(P1 INT, P2 INT) INSERT INTO T1 VALUES(1,100) INSERT INTO T1 VALUES(2,200) INSERT INTO T1 VALUES(3,300) Otwórz drugie połączenie w programie Management Studio. W obydwu połączeniach ustaw poziom izolacji transakcji READ TED. Poniższe instrukcje ilustrują problem utraconej modyfikacji (występował przy poziomie izolacji transakcji READ TED). Wykonaj następujące instrukcje: INT DECLARE C CURSOR DYNAMIC OPTIMISTIC FOR SELECT * FROM T1 OPEN C FETCH NEXT FROM C
8 SELECT Następnie przejdź do drugiego połączenia i wykonaj: UPDATE T1 SET P2=111 WHERE P1=1 Potem przejdź znowu do połączenia 1 i kontynuuj transakcję: UPDATE T1 SET P2=1000 WHERE CURRENT OF C (to polecenie powoduje aktualizacją bieżącego wiersza) Czy udało się wykonad? Nie pojawia się komunikat: Optimistic concurrency check failed. The row was modified outside of this cursor. Msg 16947, Level 16, State 1, Line 1 No rows were updated or deleted. The statement has been terminated. Zamknij kursor, zwolnij pamięd i zakoocz transakcję: CLOSE C DEALLOCATE C UWAGA! Taki sam efekt uzyskalibyśmy, gdyby operacje były wykonane nie w transakcjach. Wykorzystany tu poziom izolacji transakcji ma tylko nie przeszkadzad w rozpoznaniu mechanizmów sterowania współbieżnością poprzez kursory. Doprowadź tabelę T1 o poprzedniej postaci: UPDATE T1 SET P2=P1*100 Powtórz całe dwiczenie (od deklaracji kursora), ale tym razem w drugim połączeniu wstaw nieco zmienioną aktualizację: UPDATE T1 SET P2=100 WHERE P1=1 Tym razem aktualizacja przez kursor powiedzie się. Nie zapomnij zamknąd kursor, zwolnid pamięd i zakooczyd transakcję: CLOSE C DEALLOCATE C
9 Słowo OPTIMISTIC w deklaracji kursora oznacza, że będzie działało optymistyczne sterowanie współbieżnością ze sprawdzaniem wartości (OPTIMISTIC WITH VALUES). W takim przypadku przy próbie aktualizacji wiersza z wykorzystaniem kursora, przed wykonaniem aktualizacji system sprawdza, czy wiersz ma taką samą postad, jak w momencie pobrania wiersza (tj. wykonania instrukcji FETCH). Zadanie 8 Dodaj do tabeli T1 kolumnę typu timestamp: ALTER TABLE T1 ADD P3 TIMESTAMP Wykonaj całe dwiczenie 1 jeszcze raz, tym razem ze zmienioną tabelą T1. Teraz w obu przypadkach aktualizacja przez kursor nie powiedzie się. Objaśnienie: w przypadku, gdy w tabeli istnieje kolumna typu timestamp, jej wartośd jest wypełniana automatycznie przy dowolnej zmianie wiersza. Optymistyczne sterowanie współbieżnością w kursorach działa wtedy inaczej: zamiast sprawdzania wartości w kolumnach wiersza, sprawdzana jest wartośd w kolumnie timestamp. Zadanie 9 Usuo kolumnę p3 z tabeli T1: ALTER TABLE T1 DROP COLUMN P3 Wykonaj całe dwiczenie 1 z dwiema różnicami: inaczej zdefiniuj kursor, oraz wykonaj operacje nie w transakcjach: INT DECLARE C CURSOR DYNAMIC SCROLL_LOCKS FOR SELECT * FROM T1 OPEN C FETCH NEXT FROM C Tym razem aktualizacja w drugim połączeniu będzie wstrzymana. Na wiersz pobrany do kursora w połączeniu 1 zakładana jest blokada U. Blokada zostaje zwolniona w momencie przejścia do innego wiersza lub w momencie zamknięcia kursora. W przypadku, gdyby operacje były wykonane w transakcjach, to na wiersz byłyby zakładane blokady U (długie, czyli do kooca transakcji).
Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia).
POZIOMY IZOLACJI TRANSAKCJI 1. Microsoft SQL Server 2012 (od SQL Server 2005) W systemie SQL Server można wybrać sposób sterowania współbieżnością. Podstawowy sposób to stosowanie blokad. Wykorzystywane
W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP).
Procedury składowane c.d. Parametry tablicowe w Transact-SQL. W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP). Zadanie 1. Proszę napisad procedurę składowaną, która
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
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
SQL Server. Odtwarzanie baz danych.
SQL Server. Odtwarzanie baz danych. Utwórz bazę danych CW. Utwórz w niej tabelę T1(p1 INT PRIMARY KEY, p2 INT) i wpisz wiersz (1,100). Sprawdź ścieżkę dostępu do plików bazy (np. we właściwościach bazy
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
Kursory. A. Pankowska 1
Kursory 1 Kursory Kursor jest mechanizmem pozwalającym obsłużyć zbiór zawierający wiele wierszy danych (generowany np. poleceniem SELECT). Jak wskaźnik przebiega on po kolejnych krotkach ze zbioru danych,
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
Właściwości transakcji
Transakcje Właściwości transakcji Transakcja jednostka operowania na bazie danych podlegająca kontroli i sterowaniu System zarządzania transakcjami ma za zadanie takie sterowanie operacjami na bazie danych,
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
przykłady problemów; realizacja dostaw części od producenta do klienta:
Przetwarzanie transakcyjne Transakcja zestaw operacji pod szczególną kontrolą transakcja to sekwencja operacji, która musi zakończyć się sukcesem w całości - w przeciwnym wypadku musi powrócić stan początkowy
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...
BAZY DANYCH. Transakcje. opracowanie: Michał Lech
BAZY DANYCH Transakcje opracowanie: Michał Lech Plan wykładu 1. Transakcje - co to jest? 2. Mechanizmy transakcji 3. Reguły ACID 4. Niekorzystne zjawiska 5. Poziomy izolacji 6. Polecenia PostgreSQL transakcji
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 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
Ć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.
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 5 Kursory w SQL Serverze Wprowadzenie Modele kursorów Używanie kursorów Rodzaje kursorów Praca
1 Przetwarzanie transakcyjne Cechy transakcji Rozpoczęcie i zakończenie Punkty bezpieczeństwa... 3
Plan wykładu Spis treści 1 Przetwarzanie transakcyjne 1 1.1 Cechy transakcji................................. 2 1.2 Rozpoczęcie i zakończenie........................... 3 1.3 Punkty bezpieczeństwa.............................
Paweł Rajba
Paweł Rajba pawel@cs.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Używanie kursorów Rodzaje kursorów Praca z kursorami Co to jest kursor? Cykl życia kursora utworzenie pobieranie wartości ewentualnie
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
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
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ą
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
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
Oracle 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?
Bazy danych wykład dziewiaty Transakcje. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)
Bazy danych wykład dziewiaty Transakcje Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dziewiaty Transakcje 1 / 42 Outline 1 Transakcje Problemy interakcji 2 Metody usuwania konfliktów
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
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
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]...
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ć
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
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
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
Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z
Tworzenie tabeli Np. create table nazwa_tab( \\stworzenie tabeli Id numer(4) constraint PRAC_PK primary key, \\ustawiamy klucz podst. Nazwisko varchar2(30), \\typ tekstowy 30 znaków Kwota number(10,2)
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
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
DECLARE <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
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ł
Programowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE,
Programowanie w SQL definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE, kontynuacja działania od instrukcji za podaną etykietą GOTO etykieta, wyjście bezwarunkowe
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)
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
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.;
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''
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 8 Transakcje i blokady Wprowadzenie do transakcji, rodzaje transakcji Punkty zapisu, odzyskiwanie
Bazy 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
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
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
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
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
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
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
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
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
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
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 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
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
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,
Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
Transakcje i ich właściwości Transakcje Tadeusz Pankowski wwwputpoznanpl/~tadeuszpankowski W SZBD stosuje się pojęcie transakcji jako jednostki operowania na bazie danych podlegającej sterowaniu i kontroli
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
SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek
SELECT SELECT kolumna1, kolumna2,, kolumnan FROM tabela wybrane kolumny SELECT * FROM tabela wszystkie kolumny select * from Orders select CustomerID, CompanyName, Country from Customers WHERE SELECT *
Bazy danych 9. SQL Klucze obce Transakcje
Bazy danych 9. SQL Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Klucze obce Klucze obce powiazanie indeksowanej kolumny jakiejś tabeli z indeksowana kolumna
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
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
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
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
Plan ćwiczenia. Rozdział 17. zarządzania współbieżnością. Dostęp współbieżny a dostęp spójny. Spójność bazy danych
Plan ćwiczenia Rozdział 17 Zarządzanie współbieżnością Definicja i własności transakcji, zatwierdzanie i wycofywanie, punkty bezpieczeństwa, spójność, anomalie współbieżnego dostępu do danych, poziomy
Wykł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
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.
Comarch ERP XL Business Intelligence Start. Migracja do wersji 2018
Business Intelligence Start Copyright 2018 COMARCH Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie
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
Założenia do ćwiczeń: SQL Server UWM Express Edition: 213.184.8.192\SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.
Cel: polecenia T-SQL Założenia do ćwiczeń: SQL Server UWM Express Edition: 213.184.8.192\SQLEXPRESS Authentication: SQL Server Authentication Username: student01,, student21 Password: student01,., student21
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
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
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ść
I. Techniki wielowersyjne sterowania współbieżnością
I. Techniki wielowersyjne sterowania współbieżnością Techniki wielowersyjne multiversion concurrency control. Technika wielowersyjna oparta na znacznikach czasu Dla każdej wersji X i elementu X przechowywane
Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach
Indeksy dodatkowe struktury służące przyśpieszeniu dostępu do danych o użyciu indeksu podczas realizacji poleceń decyduje SZBD niektóre systemy bazodanowe automatycznie tworzą indeksy dla kolumn o wartościach
Bazy 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:
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
Bazy danych. dr inż. Arkadiusz Mirakowski
Bazy danych dr inż. Arkadiusz Mirakowski Początek pracy z Transact SQL (T-SQL) 153.19.7.13,1401 jkowalski nr indeksu 2 Perspektywa - tabela tymczasowa - grupowanie Perspektywa (widok) Perspektywa (widok)
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
na MS SQLServer 2005 i 2008
Wprowadzenie do programowania na MS SQLServer 2005 i 2008 Kalen Delaney, Inside MS SQL Server 2000, Wydawnictwo RM, 2001 Kalen Delaney, Inside MS SQL Server 2005, The storage engine, Microsoft Press, 2007
Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8
Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazowy skrypt PHP do ćwiczeń z bazą MySQL: Utwórz skrypt o nazwie cw7.php zawierający następującą treść (uzupełniając go o właściwą nazwę uŝytkownika
Informatyka (7-8) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro
Informatyka (7-8) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl Powtórzenie Tabela, rekord, krotka, wiersz Atrybut, kolumna,
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
SQL Server 2005. Łukasz Łysik llysik@gmail.com. 21 października 2008
SQL Server 2005 Łukasz Łysik llysik@gmail.com 21 października 2008 Zakres prezentacji SQL Server Management Studio Transakcje Lock, deadlocks Procedury CLR Triggery Service Broker SQL Server Profiler SQL
Plan ćwiczenia. Rozdział 17 Zarządzanie współbieżnością. Dostęp współbieżny a dostęp spójny. Spójność bazy danych
Plan ćwiczenia Rozdział 17 Zarządzanie współbieżnością Definicja i własności transakcji, zatwierdzanie i wycofywanie, punkty bezpieczeństwa, spójność, anomalie współbieżnego dostępu do danych, poziomy
Bazy danych 9. Klucze obce Transakcje
Bazy danych 9. Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka
Bazy danych 9. Klucze obce Transakcje. P. F. Góra
Bazy danych 9. Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2009 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób
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,
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:
41. Zmienne lokalne muszą mieć nazwę, którą poprzedza (maksymalnie 128 znaków) oraz typ (każdy z wyjątkiem: text, ntext oraz image)
Elementy języka T-SQL 40. Polecenie PRINT jest wykorzystywane do przekazania wiadomości tekstowej (maksymalna długość 8000 znaków) Przykład PRINT 'Aktualna data: '+convert(char(8),getdate()) PRINT 'Aktualny
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
Bazy 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
Tworzenie 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
I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE
Wykład 9 Implementacja języka SQL w systemach baz danych Oracle manipulowanie danymi (DML), tworzenie, modyfikowanie i usuwanie obiektów bazy danych: tabel i perspektyw, więzów integralności, komentarzy
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
Microsoft SQL Server. Tradycyjna architektura klientserwer. Przeniesienie części logiki na serwer. Programowanie Transact SQL
Microsoft SQL Server Programowanie Transact SQL Tradycyjna architektura klientserwer Klient: cała logika aplikacji wysyła do serwera zapytania SQL odbiera i przetwarza rezultaty Serwer oczekuje na zapytania
Imię 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