![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 17.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Mniej więcej wiem jak zrobić historię zmian w bazie, ale do końca nie rozumiem, jak to wykorzystać.
Powiedzmy, że mam w bazie tabelę klienci i umowy. Klient robi update na swoich danych. W tabeli history_klient lądują dane sprzed zmiany - tu mam dwie dodatkowe kolumny - change_type i change_date. Załóżmy, że można robić zmiany tylko w tabeli klienci. Jak teraz poprawnie wyświetlić umowę z odpowiednimi danymi klienta? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 17.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
tak, w tabeli historia trzymam cały rekord z tabeli klient + te dwie kolumny z change_type(czy był insert, czy delete) i change_date - data tej modyfikacji.
Chodzi, o , że np. klient chce podejrzeć umowę sprzed dwóch lat, a do tej pory dokonał już jakieś zmiany w swoich danych. Jak w tym momencie wybrać z bazy odpowiednie dane do tej umowy. Nie wiem właśnie na podstawie czego, bo change_data jest jakaś dla mnie nie wystarczająca, bo nie mam do czego jej porównać. Bo oczywiście w tym momencie musiałabym najpierw sprawdzić, czy są jakieś zapisy w tabeli historia z danymi tego klienta i teraz właśnie, które będą dotyczyć tej sytuacji , brakuje mi jakiejś danej na podstawie której mogłabym wybrać te dane. Oczywiście sytuacja jest trywialna, jak klient nie dokonywał żadnych zmian. Pewnie jakimś wyjściem byłoby przepisanie danych klienta do tabeli umowa, ale to już oczywiście trzymanie danych nadmiarowych w bazie, choć może się mylę. Ten post edytował newmala 5.10.2012, 13:48:23 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 03:46 |