Pomysł na transakcję

0

Sprawa wygląda tak, mam sobie bazę danych:
http://imgur.com/BlHhw

Nie jest to ERD, ale myślę, że da się odczytać. Mam do niej dorobić transakcję, potrzebuje pomysłów jak ich użyć w obecnym modelu bądź jak zmodyfikować ten model, co dodać, aby móc ich użyć... Jedyne co przychodzi mi do głowy to podniesienie wynagrodzenia pracownikom, a w tym czasie np. księgowa nie może sprawdzić zarobków pracowników, póki transakcja się nie wykona. Ale brzmi to słabo, jest tu ktoś kreatywny i chętny rzucić pomysłem?

0

Trochę nie do końca czytelny diagram, poprawiony:
http://imgur.com/gAV55

0

Masz na myśli transakcje bazodanowe czy transakcje biznesowe. W tym drugim przypadku można np. ograniczyć usuwanie atrakcji jeżeli istnieją niewykorzystane bilety na daną atrakcję.

0

Transakcje bazodanowe, strzelam, słyszę o tym podziale pierwszy raz, ogólnie chodzi o to, aby w bazie nie doszło do hazardów i tym podobnych nieścisłośći.

0

Transakcje biznesowe mogą składać się z wielu elementów w tym wielu transakcji bazodanowych. Przykład to zakup biletu. Najpierw masz utworzenie rezerwacji, potem wybór formy płatności, a na koniec samą płatność. To jest transakcja biznesowa. Na poziomie bazy będziesz miał kilka transakcji bazodanowych - tworzenie rezerwacji, jej aktualizacja, oznaczenie jako zapłacona itp.

Wracając do tematu. Skoro są to transakcje bazodanowe to jak pisałem usuwanie atrakcji jest niezłym przykładem. Atrakcji nie można usunąć jeżeli są jeszcze niewykorzystane bilety. Można też ograniczyć sytuację gdzie jeden klient dubluje zakup, czyli kupuje dwa bilety na tą samą atrakcję w tym samym dniu (pomocna może być dodatkowa tabela).

0

Nie ma u mnie w bazie czegoś takiego, jak niewykorzystane bilety. Każdy bilet w bazie jest już zakupiony (powiązany z klientem), a atrakcje, są przypisane do już istniejącego biletu ( tj. encja wybrane atrakcje).

0

Mówię o encji Atrakcje. Co w sytuacji jak taką encję chcesz usunąć, a istnieje odwołanie w Wybrane_Atrakcje?

0

Hm, kernel panic? Nie, po prostu taka akcja nie wykona się bo będzie błąd związany z referencją w Wybrane Atrakcje. Krótko mówiąc masz na myśli sytuację: miś Koralgol zachorował, trzeba odwołać wszystkie wybrane_atrakcje dla niego i usunąć go ze zbioru atrakcje? I cała ta transakcja czyt. 2 zapytania składałyby się na transakcję?

0

Rozumiem miałeś inny pomysł, ale dzięki Tobie wpadłem na taki, dzięki :).

1 użytkowników online, w tym zalogowanych: 0, gości: 1