Transakcyj ność. danych. Iselect k.1 trom t I I sełect k.1 trom t I. I update t Software 2 O 12/2001.
|
|
- Maciej Sosnowski
- 8 lat temu
- Przeglądów:
Transkrypt
1 Transakcyj ność danych Michał Kwiatek W spółczesny programista oczekuje od bazy danych szeregu cech funkcjonalnych. ie cechy to, na przykład, możliwość definiowania widoków danych (views), kontrola dostępu albo wewnętrzny język programowania. Można wymienić wiele innych, ale bez wątpienia jedną z naj istotniejszych z nich jest obsługa transakcji. Co kryje się za tym pojęciem? Skojarzenie z operacjami finansowymi jest trafne - transakcje bankowe to sztandarowy przykład wykorzystania transakcji w bazach danych. Model ACO Rozważmy następujący scenariusz. W pierwszym kroku obsługi przelewu, od salda konta A ode jmowana jest kwota przelewu, która w drugim kroku ma zostać dodana do salda konta B. Do drugiego kroku jednak nie dochodzi, na przykład z powodu awarii. Konsekwencje byłyby straszne - w chwili przelewu giną pieniądze! Dlatego transakcje muszą być atomowe (ang. atomie), czyli niepodzielne. Jeżeli wszystkie elementy transakcji zostaną poprawnie przeprowadzone, transakcja jest zatwierdzana (ang. eommit), jeżeli choć jeden z jej elementów się nie uda, wówczas cała transakcja musi zostać odwołana (ang. ro/tbaek). Po zatwierdzeniu transakcji baza nie może zawierać błędnych danych, stąd mowa o spójności (ang. eonsisteney). Transakcje są również izolowane (ang. isolated) i trwałe (ang. durable). Pierwszy z tych terminów oznacza, że zmiany danych dokonane w obrębie transakcji są widoczne na zewnątrz dopiero po jej zatwierdzeniu. Drugi termin oznacza pewność, że wynik zatwierdzonej transakcji jest na dobre zapisywany w systemie i nie zginie nawet w przypadku awarii. Q W kolumnie k1 rekordu o id=n jest liczba 3 PoZOm izolacj: leac commltted ProceS 1 Proces 2 select k.1 trom t sełect k.1 trom t w/lere d:n where d:n zwraca 3 zwraca 3 update t set ki~ki+.1 where d=n; selct ki trem l t where idc" selct k1.from t where d=n zwraca 4 zwraca 3 commit; update t set 1<1=k.1+4 wbele id=n; Proces 2 Jest zablokowany do chwili gdy proces 1 wykona commit lub rollback commlł: select k1 trem t select ki from t where d=' where d=' zwraca 8 zwraca 8 RYSUNEK (1) - dea działania transakcji dla poziomu izolacji read committed. Te cztery zapewniane przez każdy system Autor jest programistą i projektantem w zespole portalu Kontakt z autorem pod adresem: michal.kwiatek@biznespartner.pl transakcyjny cechy, w języku angielskim tworzą akronim aeid. Poziomy izolacji Standard języka SQL definiuje 4 poziomy izolacji transakcji (ang. isolation levels) - patrz Tabela CD. Kolejne poziomy oznaczają ochronę 18 Software 2 O 12/2001
2 Transakcyjność w bazach danych wymagające zastosowania TABELA (l) Możliwość zaistnienia niepożądanych zjawisk na poszczególnych poziomach wyższych poziomów izolacji izolacji. są zupełnie naturalne i wcale nie należą do Poziom izolacji Odczyt niezatwierdzonych rekordów Odczyt niepowtarzalny Odczyt widm rzadkości. frasobliwe Read uncommitted Możliwy Możliwy Możliwy ich potraktowanie zaowocuje usterkami, których Read committed możliwy Możliwy Możliwy przyczyny będą niezwykle Repeatable read możliwy możliwy MOŻliwy trudne do ustalenia. Co Serializable możliwy możliwy możliwy gorsza, usterki te ujawnią się dopiero przy dużym przed trzema niepożądanymi zjawiskami: odczytem nieza dopiertwierdzonych rekordów (ang. dirty read), odczytem niepo mieć zagrożenia wynikające ze stosowania niskiego poziomu w środowisku produkcyjnym. Dlatego warto rozuwtarzalnym (ang. nonrepeatable read) oraz odczytem widm izolacji i zawczasu się przed nimi zabezpieczyć. (ang. phantom read). Odczyt niezatwierdzonych rekordów, to sytuacja, w której w obrębie jednej transakcji widać niezatwierdzone zmiany na przykład, przeprowadzane w innej transakcji. Jeżeli, użytkownik zapyta o stan konta w chwili dokonywania przelewu, a przelew z pewnych przyczyn zostanie odwołany, to może się okazać, że użytkownik zobaczył saldo konta pomniejszone o kwotę przelewu. Jeżeli następnie użytkownik oprze na tej informacji inne obliczenia, to będą one bez sensu, gdyż przelew nigdy nie doszedł do skutku. Ochrona przed tym zjawiskiem jest stosunkowo prosta i opiera się na wykorzystaniu mechanizmu blokad (ang. locks). Prześledźmy sytuację na Rysunku (1). Jeżeli proces 1 zmienia rekord n, to na ten rekord zakładana jest blokada. nny użytkownik (proces 2) widzi zmieniony rekord w postaci sprzed rozpoczęcia transakcji procesu 1. Gdy proces 2 spróbuje zmienić ten sam rekord, wówczas zostanie zablokowany do momentu zatwierdzenia (lub odwołania) zmiany tego rekordu, czyli do chwili zakończenia transakcji procesu 1. Proszę również zauważyć, że zmiana dokonana w procesie 1 jest uwzględniana w obliczeniach procesu 2. Przed odczytem niezatwierdzonych rekordów chroni standardowy poziom izolacji: read committed. Odczyt niepowtarzalny polega na tym, że wyniki wykonania tego samego zapytania w jednej transakcji, ale w pewnym odstępie czasowym różnią się: rekordy z wyniku pierwszego wykonania zapytania nie występują w wyniku powtórnego wykonania, lub wartości rekordów zmieniły się. Aby uniknąć tego zjawiska, należy korzystać z poziomu izolacji repeatable read. Z odczytem widm mamy do czynienia, gdy w wyniku drugiego wykonania tego samego zapytania pojawiły się rekordy, których poprzednio nie było - rekordy widma. Zjawisko to nie występuje, o ile aktualnym poziomem izolacji jest serializable. W praktyce stosuje się głównie zapewniający podstawową update labie U Proces 1 jest setk1;k1~ poprawność poziom read committed. Co prawda, w stan blokowandardzie języka SQL za domyślny uznawany jest serializable, gdy proces2 wykona do momentu, where d=n; commit lub rollback ale żaden producent baz danych nie traktuje tego poważnie. Każdy z kolejnych poziomów izolacji zwiększa obciążenie systemu i ryzyko wystąpienia zakleszczeń (ang. deadlocks). zmniejsza możliwość równoległego dostępu do danych i, co za tym idzie, wydajność systemu. Zazwyczaj poziom read committed rzeczywiście wystarcza, jednakże sytuacje Zakleszczenia w naj prostszym, przedstawionym na Rysunku" 2) scenariuszu dochodzi do zakleszczenia, gdyż jeden proces jest zablokowany w oczekiwaniu na zasób zajmowany przez drugi proces, i vice versa. Proces 1 modyfikuje rekord w tabeli tl i tym samym blokowana jest możliwość zapisu w tym rekordzie dla procesu 2. Analogicznie blokowany jest zapis w dla procesu l, gdyż proces 2 wykonał update. W kolejnym kroku proces 1 próbuje pisać w tym rekordzie i oczywiście jest blokowany. Ostatnim, prowadzącym do zakleszczenia krokiem jest próba modyfikacji rekordu w Tabeli (l) przez proces 2. Teraz proces 2 czeka na zasób, który może zwolnić proces 1, a proces 1 czeka na zasób zajmowany przez proces 2. Kółko się zamyka. Różne systemy z różną skutecznością radzą sobie z zakleszczeniami. System Oracle, postawiony przed sytuacją z Rysunku...2), przerywa proces 1 z błędem: ORA-00060: deadlock detected while waiting for resource. Z pewnością nie jest to jednak sytuacja pożądana - należy tak programować, żeby wykluczyć możliwość zakleszczeń. POZom lzoll:jl: read commłtlecl RYSUNEK l]) Zakleszczenie transakcji. obciążeniu systemu, często Proces 2 update table t2 set k2ak2+3 where id=m; Proces 2 jest blokowany do momentu gdy.proces 1 wykona commit lub rollback. Dochodzi do zakleszczenia.
3 TABELA CD Poziomy izolacji dostępne w popularnych bazach danych Poziom izolacji Oracle 91 Microsoft SQL Server 2000 P08tgreSQL 7.1 MySQL 3.23 Read uncommitted Read commltted Repeatable read serializable Uwagi Dodatkowy poziom Read only Tylko dla tabel typu BerkleyDB lub nnodb Prostą, lecz skuteczną radą jest stosowanie jak najkrótszych zatwierdzenie transakcji. Z kolei, aby odwołać transakcję, transakcji, o możliwie niskim poziomie izolacji. Do poszcze należgólnych tabel należy się też odwoływać w tej samej kolejności, użyć polecenia roll back. Można też odwołać część o ile tylko jest to możliwe. Warto zauważyć, że do opisanego wyżej zakleszczenia nie doszłoby, gdyby procesy odwoływały się do Tabel 0 i 0w tej samej kolejności. Gdy zapytanie SQL, które powinno zadziałać natychmiast, a nie odpowiada przez dłuższy czas, wskazuje, że inna transakcja zajęła pewien pożądany zasób i jeszcze się nie skończyła. Zazwyczaj przyczyną takiej usterki jest po prostu niepotrzebne przeciąganie transakcji, która wykonała już wszystkie kluczowe operacje i z powodzeniem mogła zostać zatwierdzona. Warto o tym pamiętać, bo zapomniana transakcja zablokuje możliwość modyfikacji danych wszystkim innym użytkownikom. W praktyce... Transakcje są częścią standardu SQL, dlatego w większości popularnych systemów zarządzania relacyjną bazą danych ich obsługa jest dość podobna. W praktyce okazuje się, że poszczególne systemy mają różne możliwości (patrz Tabela 0). Dlatego wiedza o tym, co i w jaki sposób w konkretnej bazie danych można osiągnąć, jest niezwykle użyteczna. Poniżej opisuję cztery systemy, naj popularniejsze w zastosowaniach internetowych. Dwa z nich, MySQL i PostgreSQL, są darmowe, dostępne jako Open Source. Produkt Microsoftu posiada szerokie grono zwolenników, a Oracle oferuje bazy danych o uznanej marce. Wybór tych systemów, choć arbitralny, jest przekrojowy. Ponadto, informacje o innych produktach łatwiej zdobyć wiedząc, co oferuje konkurencja. transakcji przy pomocy rollback to, o ile wcześniej użyto instrukcji savepoi nt. Na Listingu CD przedstawiony jest mechanizm sel ect for update, szczególnie wygodny, gdy dane w rekordzie musimy zmodyfikować w sposób wykluczający użycie pojedynczej operacji update. W tej sytuacji należy uniemożliwić modyfikację tego rekordu z innej transakcji. Jeżeli tego nie zrobimy, ktoś inny może zmodyfikować wartość, którą my następnie zamażemy wynikiem obliczeń, uzyskanym bez uwzględnienia tej zmiany. W systemie bankowym doprowadziłoby to do wycieków gotówki. nną ciekawą cechą Oracle 'a jest możliwość definiowania transakcji autonomicznych, czyli takich, których działanie jest zatwierdzane (lub odwoływane) niezależnie od transakcji, z której zostały one wywołane. Nadaje się to szczególnie do logowania błędów w tabelach bazy danych. Przykład spełniającej to zadanie funkcji przestawiono na Listingu 2. Aby zaznaczyć, że dany blok programu ma stanowić transakcję autonomiczną, należy użyć dyrektywy (pragma) autonomous_transaction. Microsoft SQL Server 2000 W bazie danych Microsoftu poziom izolacji dla wszystkich transakcji w sesji ustala się poleceniem set t ransact i on i so l at i on l eve l. Wszystkie cztery poziomy izolacji są obsługiwane. Transakcję rozpoczynamy używając komendy begi n transaction, a zatwierdzamy i odwołujemy odpowiednio instrukcjami commit i rollback. Gracie Si aracie obsługuje poziomy izolacji read commited, seria izable, oraz dodatkowo transakcje tylko do odczytu, widzące jedynie te zmiany, które były zatwierdzone w chwili rozpoczęcia transakcji. W obrębie tego typu transakcji nie można dodawać, usuwać ani modyfikować wierszy. Do zmiany poziomu izolacji służą polecenia: set transaction isolation level (należy je wykonać jako pierwsze polecenie w transakcji) lub alter session set isolation level, które modyfikuje wszystkie późniejsze transakcje w obrębie danej sesji, czyli połączenia z bazą danych. Transakcje zatwierdza się poleceniem commi t, które jednocześnie rozpoczyna następną transakcję. Warto pamiętać, że każde polecenie języka definicji danych (DOL), np. create table, alter table etc. powoduje implicite LSTNG 1 Prezentacja mechanizmu select for upejste. Declare CURSOR c [S SELECT " FROM konto FOR UPDATE OF saldo; Saldo_teMP: KONTO.SALDO%TYPE: Begi n Set transaction isolation leve] read committed; FOr rekord: KONTO%ROWTYPE n C LOOP Sa ldo_temp: -ob l uga_kon t. dodalodsetki (record. onto; /"inne operacje na saldo_temp"/ UPDATe konto SEt saldo - saldo_temp WHERE CO E Of C; End loop: Commit ; End; 20 Software 2 O 12/2001
4 Transakcyjność w bazach danych LSTNG 2 Definicja transakcji autonomicznej. PROCEDURE loguj (wi adomosc VARCHAR) pragma autonomous_transacti on; Beg; n N5ERT NTO logi(tresc) VALUE5 (wiadomosc); Comm; t; End; W tym systemie istnieje możliwość zagnieżdżania transakcji. Otwarcie nowej transakcji w obrębie transakcji już działającej powoduje zwiększenie Zysk jest pozorny, gdyż realnie i tak nie można odwołać ani zatwierdzić wewnętrznej transakcji. Jedynym efektem instrukcji commi t, wywołanej w transakcji wewnętrznej, jest Dopiero gdy osiągnie wartość O, wszystkie zmiany zostaną zatwierdzone. Jeżeli zależy nam na odwołaniu jedynie części transakcji, należy skorzystać z mechanizmu savepointów (patrz część o OracJe 'u). Warto wiedzieć, że połączeni'e z SQL Serverem może działać w trybie niejawnych transakcji (ang. impjicit transactions). W tym przypadku polecenia takie jak se l ect, create etc. powodują otwarcie nowej transakcji, którą użytkownik musi potem zamknąć już Transakcja nie zostanie zatwierdzona do momentu, gdy sami tego nie zrolbimy. Domyślnie dla połączeń zupełnie jawnie. korzystających z OLE DB (w tym również Query AnaJyzera) niejawne transakcje są wyłączone, ale czasami możemy tę opcję nieświadomie włączyć, na przykład wykonując instrukcję set ans i_defaults on, Oprócz zwykłych kursorów for update, opisanych w części o OracJe'u, w SQL Serverze dostępne są optymistyczne kursory (ang. optimistic curso!'). Przy ich wykorzystaniu możliwe są pozycyjne modyfikacje rekordów poprzez kursor, analogicznie do sytuacji pokazanej na Listingu [), ale żadne rekordy nie są blokowane. Powoduje to wzrost wydajności. Bezpośrednio przed modyfikacją rekordu system sprawdza, czy ten rekord nie został przypadkiem wcześniej zmieniony przez kogoś innego. Jeżeli tak się stało, zgłaszany jest błąd, który może zostać przechwycony w aplikacji i odpowiednio tam zinterpretowany. Z optymistycznych kursorów warto korzystać, gdy prawdopodobieństwo zmiany danych jest niewielkie, a zależy nam na wydajności. PostrgreSGL 7.1 PostgreSQL obsługuje poziomy read committed i seriajibje. Transakcję rozpoczyna się poleceniem begi n, zatwierdza używając commi t, a odwołuje przy pomocy poleceń ro 11 ba ck i abort, które są synonimami. Do zmiany poziomu izolacji pojedynczej transakcji służy instrukcja set transaction isolat;on level, a dla wszystkich transakcji w sesji stosuje się komendę set session characteristics. Do obsługi równoczesnego dostępu do danych wykorzystywany jest model wielu wersji (mujti-version concurrency controd, co odróżnia PostgreSQLa od większości systemów opierających się na mechanizmie blokad. W PostgreSQLu blokady wykorzystywane są w mniejszym stopniu. O modelu wielu wersji najlepiej myśleć w następujący sposób: każda transakcja widzi dane w stanie, który był aktualny w pewnym momencie, ale od tamtej pory mógł zostać zmieniony. Daje to pewność, że nawet w przypadku modyfikacji widzimy spójne dane. Dodatkowo procesy modyfikujące dane nigdy nie blokują procesów czytających, ani na odwrót. Zwiększa to poziom równoległości systemu. Kosztem takiego rozwiązania jest dopisywanie nowych węzłów do indeksów przy każdej zmianie wartości. ndeksy są czyszczone dopiero w momencie wykonania operacji VACUUM. W rezultacie tablice, na których wykonuje się dużo zmian działają coraz wolniej. W wersji 7.1 do obsługi operacji zmieniających dane wykorzystywany jest dodatkowo specjalny dziennik WAL (Write-Ahead Lam. Każda zmiana rekordu zapisywana jest najpierw w dzienniku, a dopiero w chwili mniejszego obciążenia systemu (lub gdy użytkownik poprosi o to poleceniem checkpoi nt) zmiany są zapisywane w poszczególnych plikach danych. Dzięki temu nowa wersja PostgreSQLajest wydajniejsza i dużo bardziej odporna na awarie. MySGL 3.23 Wśród programistów aplikacji internetowych panuje pfzeświadczenie,że MySQLjest szybszy od PostgreSQLa, ale za to dużo uboższy w zakresie oferowanej funkcjonalności. Jedną z najczęściej wymienianych wad MySQLajest brak transakcji. Jest to prawda, ale nie do końca, gdyż począwszy od wersji 3.23 w MYSQL można wkompilować obsługę dwóch nowych typów tabel, które umożliwiają transakcyjny dostęp do rekordów. Należy jasno zauważyć, że te wspomniane tabele (chodzi o BerkJeyOB oraz JnnoOB) nie są zawarte w standardowych dystrybucjach binarnych. Oczywiste jest też, że korzystanie z transakcyjnych tabel pociągnie za sobą zauważalny spadek wydajności bazy. MySQL obsługuje wszystkie cztery poziomy izolacji. Do ich zmiany służy polecenie set transaction isolation l evel, które wydaje się przed rozpoczęciem nowej transakcji. Do rozpoczęcia transakcji służy begi n, ale trzeba pamiętać, aby uprzednio poleceniem set autocommi t - O zmienić domyślny tryb automatycznego zatwierdzania zmian. Transakcje zatwierdza się i odwołuje odpowiednio poleceniami commi t i roll back. Fakt współistnienia różnych typów tabel może łatwo doprowadzić do wystąpienia błędów. Dwa najczęściej spotykane scenariusze to próba obsługi transakcji w odniesieniu do tabel, które tego nie umożliwiają, oraz próba tworzenia tabel obsługujących transakcje bez uprzedniego wkompilowania ich obsługi w jądro MySQLa. W pierwszym przypadku MySQL automatycznie zatwierdzi wszystkie zmiany, w drugim bez ostrzeżenia utworzy tabele domyślnego typu MyjSAM, które nie obsługują transakcji. Autorzy MySQLa tłumaczą, że ma to służyć łatwej migracji danych pomiędzy systemami obsługującymi różne typy tabel, ale na pewno należy zachować ostrożność. dokończenie artykułu na stronie www software com pl
5 W linii 8 zawarte jest odczytanie właściwości o nazwie name, zrzutowanie tej wartości na typ 5tri ng i wypisanie jej do klienta (w systemie LeftHand przyjęliśmy, że nie używamy domyślnych konwersji typów i wszystkie konwersje trzeba wykonywać explicite). 8. <%- it.get()->get("name")->to5tring().c_str() %>(BR> Dla znającego C++ programisty, kod taki jest z pewnoś bardzo czytelny. Manipulowanie poszczególnymi cią wartościami w węzłach odbywa się za pośrednictwem kilku prostych metod: get, put, remove. Oczywiście klasa może mieć dowolną ilość swoich własnych metod, jak również z łatwością może przeciążyć i zmienić działanie metod podstawowych. Dla porównania, na Ustingu :2 przedstawiono podobny kod, napisany w JavaScript. Jak widać, w JavaScript nie trzeba rzutować typów Uest to język z typami dynamicznymi). Widać też, że konstruktor dla L_root bez parametrów wskazuje na węzeł aktualnej aplikacji. wiem jak Wam, ale nam się bardziej podoba C++. LSTNG 2 Wypisanie wszystkich klas w aplikacji w JavaScript. <% var oroot- new L_root(); var oclasses - oroot.get("classes"); var it - new L_iterator_props(oclasses); while (!it.end(» ( %> <%- it.get().get("name")%><br> <% it.next() ; ) %> Podsumowanie Połączenie serwera aplikacyjnego z drzewiastą bazą danych daje bardzo dużo korzyści. Po pierwsze, kod powstaje w jednym języku i jest pisany w jednej metodologii - obiektowej. Systemy powstają w bardzo uporządkowany sposób - żeby nie powiedzieć, że podręcznikowy. Możemy w sposób obiektowy planować przechowywane klasy, ich metody, a nawet całe aplikacje (włącznie ze stroną klienta, co nie było w tym artykule poruszane). Czysta przyjemność programowania w C++....dokończenle artykułu z strony 21 Podsumowanie Jak widać, podstawowa funkcjonalność, jaką Jest obsługa transakcji, bywa w różnych systemach mniej lub bardziej wyrafinowana. W każdym przypadku jest ona jednak wystarczająca, by zabezpieczyć się przed ewentualnym konfliktem w dostępie do danych. Pozostaje tylko korzystać z niej w umiejętny, świadomy sposób. 26
Podstawy języka SQL - dokończenie TRANSAKCJE 1
Podstawy języka SQL - dokończenie TRANSAKCJE 1 Czasami zachodzi potrzeba, aby pewna grupa operacji była nierozłączna tzn. albo wykonane powinny zostać wszystkie albo żadna z nich. Najprostszym przykładem
Bardziej szczegółowoBAZY 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
Bardziej szczegółowoUstawienie 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
Bardziej szczegółowo1 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.............................
Bardziej szczegółowoprzykł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
Bardziej szczegółowoOracle 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
Bardziej szczegółowoBazy 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
Bardziej szczegółowoBazy 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
Bardziej szczegółowoWł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,
Bardziej szczegółowoWprowadzenie 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
Bardziej szczegółowoTransakcje. (c) Instytut Informatyki Politechniki Poznańskiej
ransakcje Definicja i własności transakcji, zatwierdzanie i wycofywanie, punkty bezpieczeństwa, spójność, anomalie współbieżnego dostępu do danych, poziomy izolacji transakcji, blokady, zakleszczenie Definicja
Bardziej szczegółowoIzolacje transakcji oraz anomalie. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW
Izolacje transakcji oraz anomalie Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW SZBD (DBMS) a transakcji Przetwarzanie transakcyjne wymaga znaczącego
Bardziej szczegółowoBazy danych 2. Wykład 6 Transakcje
Bazy danych 2 Wykład 6 Transakcje Transakcje Def. Transakcjami nazywamy logiczne jednostki pracy które wprowadzają zmiany do bazy danych lub które wyszukują dane O transakcjach mówimy w kontekście: aktualizacji
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ółowoTransakcje 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
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ółowoRozdział 17. Zarządzanie współbieżnością zadania
Rozdział 17. Zarządzanie współbieżnością zadania Transakcja DML 1. Uruchom narzędzie Oracle SQL Developer i przyłącz się do bazy danych. Następnie rozpocznij nową transakcję, zmieniając pracownikowi o
Bardziej szczegółowoPlan ć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
Bardziej szczegółowoBazy danych. Andrzej Łachwa, UJ, /15
Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 12/15 WSPÓŁBIEŻNOŚĆ Serwer bazodanowy nie może obsługiwać klientów sekwencyjnie: wszyscy musieli by czekać
Bardziej szczegółowoI. 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
Bardziej szczegółowoWykł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
Bardziej szczegółowoBazy danych. Dr inż. Paweł Kasprowski
Plan wykładu Bazy danych Architektura systemów zarządzania bazami danych Realizacja zapytań algebra relacji Wielodostęp do danych - transakcje Dr inż. Paweł Kasprowski pawel@kasprowski.pl Aplkacja przechowująca
Bardziej szczegółowoPlan ć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
Bardziej szczegółowoOracle11g: 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
Bardziej szczegółowoObsł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
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ółowoInternetowe 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:
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ół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ółowoTadeusz 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
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ół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ół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ół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ółowoPHP: bazy danych, SQL, AJAX i JSON
1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji
Bardziej szczegółowoIwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań, 30.09.2015
Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski Poznań, 30.09.2015 Plan Geneza Architektura Cechy Instalacja Standard SQL Transakcje i współbieżność Indeksy Administracja Splice Machince vs.
Bardziej szczegółowoMySQL. Æwiczenia praktyczne
IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG MySQL. Æwiczenia praktyczne Autor: Marek Nowakowski ISBN: 83-7197-884-7 Format: B5, stron: 114 TWÓJ KOSZYK DODAJ
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 8 Transakcje i blokady Wprowadzenie do transakcji, rodzaje transakcji Punkty zapisu, odzyskiwanie
Bardziej szczegółowoZarządzanie transakcjami
Zarządzanie transakcjami Właściwości ACID Przyjmuje się, że transakcje i protokoły zarządzania transakcjami powinny posiadać właściwości ACID: Atomowość (atomicity) każda transakcja stanowi pojedynczą
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha
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 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ół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ół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ół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ółowoZarządzanie bazą danych. Bazy Danych i Systemy informacyjne Wykład 4. Piotr Syga
Bazy Danych i Systemy informacyjne Wykład 4 Piotr Syga 26.10.2018 Procedury review Przypomnienie składni procedur Tworzenie DELIMITER $$ CREATE PROCEDURE zliczacz (OUT wynik INT) BEGIN operacje... END
Bardziej szczegółowoPHP 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
Bardziej szczegółowoMicrosoft 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
Bardziej szczegółowoT-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
Bardziej szczegółowoBazy 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
Bardziej szczegółowoOLTP Przetwarzanie Transakcyjne
ZTB: OLTP Przetwarzanie Transakcyjne 1 Zaawansowane Technologie Bazodanowe Wykład p.t. OLTP Przetwarzanie Transakcyjne ZTB: OLTP Przetwarzanie Transakcyjne 2 Pojęcie transakcji w bazach danych Transakcje
Bardziej szczegółowoBazy 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
Bardziej szczegółowo070 TRANSAKCJE. Prof. dr hab. Marek Wisła
070 TRANSAKCJE Prof. dr hab. Marek Wisła Transakcja - definicja Transakcja jest sekwencją logicznie powiązanych operacji na bazie danych, przeprowadzających bazę danych z jednego stanu spójnego w inny
Bardziej szczegółowoCREATE 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ść
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ółowoKopie bezpieczeństwa NAPRAWA BAZ DANYCH
Kopie bezpieczeństwa NAPRAWA BAZ DANYCH Sprawdzanie spójności bazy danych Jednym z podstawowych działań administratora jest zapewnienie bezpieczeństwa danych przez tworzenie ich kopii. Przed wykonaniem
Bardziej szczegółowoBazy danych 6a. Transakcje. P. F. Góra
Bazy danych 6a. Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018 Transakcje Pojedynczy użytkownik ochrona szczególnie wrażliwych fragmentów. Transakcja wykonuje się albo w całości, albo
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ół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ółowoAlgorytmy zarządzania współbieżnym wykonywaniem transakcji część II
Algorytmy zarządzania współbieżnym wykonywaniem transakcji część II Wykład przygotował: Tadeusz Morzy BD wykład 9 Kontynuujemy prezentację i omówienie algorytmów zarządzania współbieżnym wykonywaniem transakcji.
Bardziej szczegółowoWykład 5: PHP: praca z bazą danych MySQL
Wykład 5: PHP: praca z bazą danych MySQL Architektura WWW Podstawowa: dwuwarstwowa - klient (przeglądarka) i serwer WWW Rozszerzona: trzywarstwowa - klient (przeglądarka), serwer WWW, serwer bazy danych
Bardziej szczegółowoBazy 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
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ółowoProcedury składowane. Funkcje vs. procedury Funkcja. Procedura. zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu
Procedury składowane Kolejnym typem programu języka PL/SQL są procedury składowane. Procedury mogą posiadać parametry typu IN, OUT lub IN OUT. Umożliwiają wykonanie operacji na danych w bazie, mogą też
Bardziej szczegółowoPojęcie systemu baz danych
Pojęcie systemu baz danych System baz danych- skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki. Składa się z zasadniczych elementów: 1) Danych 2) Sprzętu 3) Programów 4)
Bardziej szczegółowoZarządzanie obiektami bazy danych Oracle11g
Zarządzanie obiektami bazy danych Oracle11g Wstęp Obiekty to struktury przechowujące, porządkujące lub operujące na danych takie jak: Tabele Więzy integralności Indeksy Widoki Sekwencje Procedury Linki
Bardziej szczegółowoPakiety 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)
Bardziej szczegółowoSystem Oracle podstawowe czynności administracyjne
6 System Oracle podstawowe czynności administracyjne Stany bazy danych IDLE nieczynna, pliki zamknięte, procesy tła niedziałaja NOMOUNT stan po odczytaniu pfile-a, zainicjowaniu SGA i uruchomieniu procesów
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ółowoProjektowanie baz danych za pomocą narzędzi CASE
Projektowanie baz danych za pomocą narzędzi CASE Metody tworzenia systemów informatycznych w tym, także rozbudowanych baz danych są komputerowo wspomagane przez narzędzia CASE (ang. Computer Aided Software
Bardziej szczegółowoRok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. ADMINISTROWANIE BAZAMI DANYCH kl. 4c
Wymagania edukacyjne w technikum ADMINISTROWANIE BAZAMI DANYCH kl. 4c Lp. 1 2 4 5 Temat Zasady dotyczące zarządzania projektem podczas prac związanych z tworzeniem bazy oraz cykl życiowy bazy Modele tworzenia
Bardziej szczegółowoSkł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.
Bardziej szczegółowoTworzenie zapytań do Microsoft SQL Server
MS 20461 Tworzenie zapytań do Microsoft SQL Server Czas trwania: 5 dni (40 h) Poziom trudności: Średnio Zaawansowany Autoryzacja: Microsoft Opis: Szkolenie administratorów baz danych oraz programistów
Bardziej szczegółowoPaweł 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
Bardziej szczegółowoSQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści
SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15
Bardziej szczegółowoObiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody
Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,
Bardziej szczegółowoUprawnienia, role, synonimy
Uprawnienia, role, synonimy Schemat, użytkownicy, autoryzacja użytkowników, uprawnienia systemowe i obiektowe, nadawanie i odbieranie uprawnień, tworzenie ról, przywileje, synonimy Schematy i użytkownicy
Bardziej szczegółowo5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel
5.3. Tabele Tabela jest podstawowym elementem bazy danych. To właśnie w tabelach gromadzone są w bazie rekordy danych. Projektując tabelę, definiujemy, jakie pola będzie zawierał pojedynczy rekord informacji.
Bardziej szczegółowoJę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ł
Bardziej szczegółowoPlan wykładu. Przykład. Wprowadzenie BAZY DANYCH. Transakcje Hurtownie danych
Plan wykładu 2 BAZY DANYCH Wykład 5: Transakcje. Hurtownie danych. Transakcje Hurtownie danych Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Wprowadzenie Przykład Zmiany zachodzące
Bardziej szczegółowoTabela wewnętrzna - definicja
ABAP/4 Tabela wewnętrzna - definicja Temporalna tabela przechowywana w pamięci operacyjnej serwera aplikacji Tworzona, wypełniana i modyfikowana jest przez program podczas jego wykonywania i usuwana, gdy
Bardziej szczegółowoBazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych
Plan wykładu Bazy danych Cechy rozproszonej bazy danych Implementacja rozproszonej bazy Wykład 15: Rozproszone bazy danych Małgorzata Krętowska, Agnieszka Oniśko Wydział Informatyki PB Bazy danych (studia
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ółowoAutor: Joanna Karwowska
Autor: Joanna Karwowska Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z dużej ilości danych zapisanych na serwerze jest współpraca z relacyjną bazą danych. 2 1. Utworzyć bazę danych.
Bardziej szczegółowoSystemy 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
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ółowokoledzy, 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
Bardziej szczegółowoPTI S1 Tabele. Tabele. Tabele
Tabele Tabele 43 1.3. Tabele Jako że bazy danych składają się z tabel, musimy nauczyć się jak je zaprojektować, a następnie stworzyć i zarządzać nimi w programie Microsoft Access 2013. Zajmiemy się również
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ółowoPodstawy 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
Bardziej szczegółowoDatabase Connectivity
Oprogramowanie Systemów Pomiarowych 15.01.2009 Database Connectivity Dr inŝ. Sebastian Budzan Zakład Pomiarów i Systemów Sterowania Tematyka Podstawy baz danych, Komunikacja, pojęcia: API, ODBC, DSN, Połączenie
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 5 Kursory w SQL Serverze Wprowadzenie Modele kursorów Używanie kursorów Rodzaje kursorów Praca
Bardziej szczegółowoZbiór pytań nr 5. 2 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu
Zbiór pytań nr 5 1 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu connect athos/musketeer grant select,insert,update,delete on athos.services to porthos with grant option; grant
Bardziej szczegółowoINTERNETOWE 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
Bardziej szczegółowoSIECI KOMPUTEROWE I BAZY DANYCH
KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB2: TEMAT: Relacyjne bazy danych Cz. I, II Cel laboratorium
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ółowoProgramowanie 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
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ółowoAKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie. Wydział Geologii, Geofizyki i Ochrony Środowiska. Bazy danych 2
AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie Wydział Geologii, Geofizyki i Ochrony Środowiska Wydajnośd w bazach danych Grzegorz Surdyka Informatyka Stosowana Kraków, 9 Spis treści. Wstęp...
Bardziej szczegółowo