Azzie [ bonobo ]
Kto sie zna na SQLu?
Czy bylby ktos tak mily ( :* ) i podalby mi przyklady tlumaczace znaczenie w odniesieniu do transakcji okreslen:
ACID (Atomic, Consistent, Isolated, Durable)
SERIALIZABLE
Wygooglowalem sobie znaczenie ale nie bardzo wiem jak to przedstawic w przykladzie praktycznym.
I pytanko dodatkowe:
Ile w koncu bylo postulatow Codda dla relacyjnej bazy danych? Ja znalazlem 12, ale cos mi sie obilo o uszy ze jest ich mniej??
Thanks from the mountain
Azzie [ bonobo ]
Ludziska nie ukrywam ze jest mi to potrzebne jak kani dżdż? Dżedż? Jezu jak sie odmienia ten dżedżecz z przyslowia o kani co go tak pragnie?

Coy2K [ Veteran ]
"(...)nie ukrywam ze jest mi to potrzebne jak kani dżdż? Dżedż? Jezu jak sie odmienia ten dżedżecz z przyslowia o kani co go tak pragnie?"
sory, ale zabawnie to brzmi... :))))
jakby to było najwazniejsze :)))

NewGravedigger [ spokooj grabarza ]
dlaczego przeczytałem Kto się zna na Soulu?

Bajt [ O RLY?! ]
Jezu jak sie odmienia ten dżedżecz z przyslowia o kani co go tak pragnie?
Deszcz, serio :)
specjalista [ Generaďż˝ ]
jest łącznie bodajże 12 a mniejsza liczba to 5 postaci normalnych bazy danych
natomiast czy da sie tak łatwo napisać sql-owo przykład na acid to nie wiem raczej stosuje się większe przykłady z 2-3 uzytkownikami gdzie pokazuje się jak działają transakcje

ronn [ moralizator ]
Azzie, łakniesz tego jak kania dżdżu :)

wysiu [ ]
A w tym powiedzeniu nie bylo czegos o koniu i owsie? Czy to cos innego?
Azzie [ bonobo ]
ze nie ma dżdżu to wiem, ale jak to jest w mianowniku :)
Deszcz? No nie wierze :)
specjalista: ale ja nie potrzebuje polecen, ale opisowo jak to dziala...
Gryffin [ Entil'Zha ]
Acid
Atomicity - czyli wszystko albo nic
przyklad baza danych pesel
poczatek transakcji
1 zmieniasz rekord z tabeli dane osobowe, np imie wspolmalzonka
2 potem zmieniasz dane adresowe, inna tabela
3 potem poprzedni adres zamieszkania
koniec transakcji
jezeli np w pkt3 wystapi blad, to transakcja zostaje przerwana, i zmiany z pkt 1 i pkt 2 zostaja wycofane.
Consistency
jezeli np w pkt2 masz sprawdzanie, na poziomie bazy danych kodu pocztowego (czy 5 cyfr, z jakiegos tam zakresu kazde (np nie przyjmuje kodu 00000))
lub
sa np powiazania pomiedzy tabelami, tzn np nie pozwola na usuniecie osoby z bazy (tabela dane osobowe) bez wczesniejszego usuniecia adresow (dane adresowe),
to przy probie wykonania takiej operacji, transakcja zostanie przerwana i cofniete wszystkie operacje wykonane w jej ramach
Isolation -
nie mozna wykonywac dwoch operacji na tych samych danych, tzn nie moga np dwie osoby jednoczenie zaczac zmieniac danych osobowych, najpierw musi zostac wykonana operacja jednej osoby, potem drugiej
Duralibity - zapisywanie wszystkich zmian, np, kazda zmiana tworzy mi tak naprawde nowy rekord,
1 rekord - wartosci sprzed zmian
2. rekord - wartosci po zmianach
albo, dodatkowe zapisywanie, dzisiaj, 12.00 zmiana pola nazwisko z Kowalski na Nowak, przez uzytkownika X.
albo jeszcze pare innych rozwiazan.
SERIALIZABLE - tutaj chodzi o to, ze jezeli wszystkie pojedyncze transakcje sa poprawne, to ich seryjne wykonanie tez musi byc poprawne. w seryjnym wykonywaniu zadne 2 transakcje nie moga sie wykonywac jednoczesnie, i musza sie wykonywac po kolei (odwolanie do isolation z gory).
przyklad, operacje bankowe, jezeli nie bylyby seryjne, to albo by kasa znikala, albo sie pojawiala znikad, np jednoczesna zmiana stanu konta z 5000 o -500 i +1000 dalalby w wyniku albo 4500 albo 6000, a nie 5500, w zaleznosci ktora operacja by sie wykonala pierwsza.