Transakcje SQLite

Transakcje SQLite
„Transakcje to logicznie zorganizowane bloki lub sekwencje pracy, które można wykonać ręcznie lub mechanicznie przez DBMS. Jeśli utworzysz, zmienisz lub usuwasz dane z tabeli, przeprowadzasz transakcje w tabeli. Kontrolowanie transakcji ma kluczowe znaczenie dla utrzymania integralności danych i radzenia sobie z problemami z bazą danych.

W SQLite transakcja to grupa poleceń T-SQL, które wykonują jako unikalne polecenie T-SQL. Jeśli wystąpi błąd podczas wykonywania tych poleceń SQLITE, transakcja zostanie wycofana w całości. Ogólnie rzecz biorąc, SQLITE jest w trybie automatycznym, co oznacza, że ​​automatycznie tworzy transakcję z każdym poleceniem, przetwarza ją i popełnia zmiany w bazie danych.

W tym artykule pokażemy, jak wdrożyć transakcję SQLITE, aby zapewnić integralność i niezawodność danych."

Właściwości transakcji SQLITE

SQLITE to transakcyjna baza danych, co oznacza, że ​​wszystkie aktualizacje i wyszukiwania są atomowe, spójne, izolowane i długotrwałe (kwas). Cztery standardowe cechy podane poniżej, które są powszechnie skrócone jako kwas, są obecne w transakcjach.

Atomowość: Pojedynczy etap procesu musi zostać ukończony przez transakcję atomową. Oznacza, że ​​modyfikacji nie można podzielić na mniejsze komponenty. Albo pełna transakcja jest wykonywana, albo nie, gdy transakcja jest w trybie zatwierdzenia.

Konsystencja: Transakcje muszą zagwarantować, że baza danych zostanie zmieniona z jednego uzasadnionego stanu na następny. Baza danych staje się niespójna, gdy transakcja inicjuje i wykonuje polecenie do aktualizacji danych. Jednak baza danych musi pozostać spójna, gdy zatwierdzenie i wycofanie są wykonywane w transakcjach.

Izolacja: Oczekująca transakcja sesji musi być segregowana z innych sesji. Gdy sesja inicjuje transakcję i używa polecenia Wstaw lub aktualizacji do modyfikacji danych, modyfikacje są dostępne tylko dla bieżącej operacji, a nie dla innych. Z drugiej strony zmiany dokonane przez innych użytkowników po rozpoczęciu transakcji nigdy nie powinny być oczywiste dla obecnego użytkownika.

Trwałość: Jeśli transakcja jest odpowiednio popełniona, zmiany w bazie danych muszą być trwałe w przypadku awarii zasilania lub awarii programu. Aktualizacja nie powinna trwać, jeśli program zakończy się najpierw przed zaangażowaniem transakcji.

Jak przeprowadzać transakcje w SQLITE?

Załóżmy, że chcemy uregulować takie transakcje w celu zachowania spójności danych i obsługi awarii bazy danych. Możemy zatrzymać tryb automatycznego komunikacji i zainicjować transakcje jawnie na podstawie naszych potrzeb, używając następujących instrukcji.

  • ZACZYNAĆ: To jest punkt, w którym rozpoczyna się transakcja.
  • POPEŁNIAĆ: Dzięki tej terminologii w SQLite popełnimy transakcję, co oznacza, że ​​zapisujemy wszystkie modyfikacje w bazie danych.
  • Rolback: Transakcja jako całość zostanie odwrócona.

Należy zauważyć, że tylko operacje DML wkładają, aktualizują i usuwają instrukcje sterowania transakcyjnego. Nie można ich użyć do wyodrębnienia tabel, ponieważ baza danych niezwłocznie popełnia te operacje.

Tworzenie tabel SQLite do wykonywania transakcji

Aby przeprowadzić transakcje, najpierw musimy utworzyć tabelę. Na rysunku można zauważyć, że utworzyliśmy tabelę o imieniu „Person_accounts.”Tabela jest określona z czterema kolumnami jako osobis_d.

Utwórz tabelę person_accounts (
person_id int podstawowy klucz ,
Person_name Char (10) ,
ConcT_number int ,
Conccum_Balance Float
);

Tutaj mamy rekord wprowadzony do polecenia SQLite Insert.

Wstaw wartości person_accounts (1, „Ayat”, 171636460, 5000);
Wstaw wartości person_accounts (2, „Muneeb”, 673201984, 8000);
Wstaw wartości person_accounts (3, „Wahaj”, 112603502, 4000);
Wstaw wartości person_accounts (4, „Maya”, 501738449, 7500);

Tabela jest widoczna w formacie tabeli w następujący sposób:

Przykład 1: Wykonaj transakcję z poleceniem początkowym w sqlite

Rozpocznij transakcję lub polecenie początkowe, może być używane do rozpoczęcia transakcji. Jeśli jednak baza danych zostanie zakończona lub wystąpi błąd, transakcja zostanie wycofana.

Początkowo zawarliśmy terminologię początkową z terminem transakcji. Następnie mamy polecenie aktualizacji, które działa w kolumnie konto_balance, w której osobisa jest równa „2” wraz z osobistą równą „4”. Jak podaliśmy instrukcję zatwierdzenia, transakcja kończy się tutaj.

Rozpocznij transakcję;
Aktualizacja person_accounts
Ustaw konto_balance = konto_balance - 1000
Gdzie person_id = 2;
Aktualizacja person_accounts
Ustaw konto_balance = konto_balance + 500
Gdzie person_id = 4;
POPEŁNIAĆ;

Tłumaczenie odbywa się pomyślnie w tabeli „Person_Accounts”, a pole „Konto_balance” jest aktualizowane na określonej osobistości.

Przykład 2: Wykonaj transakcję na polecenie commit w sqlite

Polecenie zatem jest polecenie transakcyjne, które zapisuje zmiany w bazie danych wywołanej przez transakcję. Polecenie zatwierdzenia zachowuje wszystkie transakcje bazy danych od poprzedniej instrukcji zatwierdzenia lub wycofania.

W poniższym przykładzie mamy pierwszy początek transakcji z terminem rozpocząć transakcję. Następnie mamy polecenie Insert, które wprowadza nowy rekord w tabeli „Person_accounts.„W końcu przekazaliśmy polecenie zatwierdzenia, które kończy tutaj transakcję i zapisuje zmianę w danej tabeli.

Rozpocznij transakcję;
Wstaw do person_accounts (person_id, person_name, konto_number, konto_balance)
Wartości (3, „Wahaj”, 112603502, 4000);
POPEŁNIAĆ;

Widok tabeli pokazuje nowy rekord w poniższej tabeli.

Przykład 3: Wykonaj transakcję w poleceniu wycofania w SQLite

Rolback to polecenie transakcyjne, które służy do relaksu transakcji, które nie zostały jeszcze zaangażowane w bazę danych.

Tutaj przeprowadziliśmy operację usuwania w tabeli „Persons_accounts”, gdzie pasowało ona do warunku w danym polu konta_butów. Następnie podaliśmy instrukcje wycofania, które również zakończą transakcję tutaj, ale nie zapisują zmian, które przeprowadziliśmy na tabeli.

Rozpocznij transakcję;
Usuń z person_accounts gdzie konto_number = 112603502;
Usuń z person_accounts gdzie konto_number = 171636460;
Wycofanie;

Po przeprowadzeniu operacji cofania tabela ma te same wartości i pola istniejące w tabeli jak poprzednio.

Wniosek

Po przeczytaniu tego artykułu mamy nadzieję, że masz wyraźne zrozumienie transakcji SQLite. Rozmawialiśmy o właściwościach transakcyjnych SQLite i kontroli transakcji. Wdrożył także kilka przykładów SQLITE opisujących zachowanie transakcyjne z funkcjami zatwierdzenia i wycofania. To wszystko, co należy wiedzieć o transakcjach SQLite, w tym informacje o transakcji zatwierdzenia i wycofania.