Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nietypowe zapytanie typu DELETE
splatch
post
Post #1





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam serdecznie, mam problem z zapytaniem, ktore ma usuwac wiersze, ktore sa zbyteczne. Chodzi o usunięcie zbytecznych rekordów. Struktura:

Kod
   1[__user_parameter_values___]               [___user_parameter___]
+--|user_parameter_values_id  |*     +--------|user_parameter_id   |
|  |user_parameter_id         |<-----+       1|user_parameter_name |
|  |user_id                   |               |user_parameter_array|
|  +--------------------------+               |user_parameter_size |
|                                             +--------------------+
|   [__user_parameter_value__]
|   |user_parameter_value_id |
+-->|user_parameter_values_id|
1..n|user_parameter_value    |
     +------------------------+


Struktura ta ma umożliwić zapis wielu wartości. Każdy parametr może być tablicą - określa to kolumna user_parameter.user_parameter_array. Jeśli parametr jest tablicą to wtedy w tabeli pośredniczącej user_parameter_values wciąż jest jeden wiersz, ponieważ pojedyńcza wartość jest zapisywana w user_parameter_value.

Mój problem jest następujący - przy zmianie rozmiaru tablicy na mniejszy chcę usunąć zbędne rekordy z user_parameter_value. Na załączonym obrazku jest zaznaczone, że pomiędzy relacją user_parameter_values a user_parameter_value zachodzi związek 1..n. W rzeczywistości związek ten to 1..user_parameter.user_parameter_size.
Jeżeli mam w takiej strukturze dane, powiedzmy.. numer telefonu określony jako tablicę o rozmiarze 3 i nagle decyduję się na zmniejszenie liczby numerów do 2 to pozostaje jeden zbyteczny wiersz. Utrudnieniem jest to, że całość jest realizowana przez tabelkę pośredniczącą.
Czy ktoś wie jak rozwiązać mój problem?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


To troche odchodzi od zalozen baz danych. Jesli masz tablice i dodatkowo stosujedz 2 tabele aby to zobrazowac relacyjnie to w tym momencie dane sie duplikuja (powstaje nadmiarowosc) ktora moze prowadzic do bledow.

Mozesz zrezygnowac z tej tablicy i upychac w rekordy ktore podales i wtedy usuniecie jest banalna sprawa.
2 pomysl to np PG umozliwia zapisanie tablicy w DB i wtedy musislbys miec taki schemat aby wartosc / index z tego pola odpowiadalo rekordowi z user_parameter_value. Z tego co wiem to chyba zadna baza takich relacji nie oferuje. Przedstaw wiecej szczegolow zastosowania, moze wtedy bedzie jasniej.
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: 26.12.2025 - 06:05