Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dodanie wiersza do widoku w bazie danych, nie pogardzę rozwiązaniem alternatywnym ;)
batman
post
Post #1





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Mam pewien nietypowy problem. W bazie danych znajdują się dwie tabele: tabuser i tabprofile. W tabeli tabprofile znajduje się pole iduser, które jest kluczem obcym. Używając join-a stworzyłem widok, który ułatwi mi pobieranie danych o użytkowniku. I rzeczywiście, jest to wygodne rozwiązanie w przypadku pobierania danych. Jednak w przypadku usuwania lub dodawania danych nie jest już tak różowo - niepoprawne zapytanie i błąd.
Rozwiązałem ten problem w taki sposób, że klasa Account agreguje klasy User i Profile, które są odpowiedzialne za operacje na danych w odpowiednich tabelach. Rozwiązanie to sprawdza się w praktyce, jednak moim zdaniem jest nieco przekombinowane.
Macie jakieś pomysły na rozwiązanie tego problemu? Połączenie tabel w jedną nie wchodzi w grę, podobnie jak funkcje trigger.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




@nevt
Nie zrozumiałeś mojego problemu.
1. Mam dwie tabele: tabuser i tabprofile.
2. Na ich podstawie utworzyłem widok. Ma on za zadanie usprawnić pobieranie danych o konkretnym koncie (czyli złączeniu tabuser i tabprofile).
3. Klasa Account zawiera instancje klas User i Profile do edycji danych w odpowiadających im tabelach.

Moim problemem jest to, że nie mogę wykonywać operacji bezpośrednio na widoku. Muszę je dokonać osobno dla każdej tabeli. Szukam rozwiązania, które mi to umożliwi. Nie jest to aż tak duży problem, jednak im dłużej nad tym siedzę, tym większy mam w głowie chaos (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

A teraz założenia:
1. Rozwiązanie musi być w pełni przenaszalne - dlatego odpadają triggery, itp.
2. Nie można połączyć tych tabel w jedną tabelę, ponieważ tabuser jest identyczne dla kilku różniących się od siebie serwisów, dzięki czemu można bez problemu synchronizować "bazę użytkowników". tabprofile odpowiada za specyficzne dla danego systemu wariacje konta użytkownika (nr telefonu, imię, nazwisko, adres, itd)
3. Nie upieram się na widok. Jeśli masz jakiś inny pomysł, to z chęcią go wysłucham.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 18:05