Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> relacje i nakładające się identyfikatory
Cysiaczek
post 7.10.2007, 09:58:30
Post #1





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Witam.

Szukam jakiegoś dobrego sposobu na rozwiązanie problemu nakładających się identyfikatorów.

Mam w pierwszym systemie dwie tabele, których odpowiednikiem w drugim systemie jest jedna tabela. Problem w tym, że identyfikatory w pierwszego systemu sa przekazywane do mnie poprzez XML i każda z tych tabel daje swoje własne nie patrząc na drugą tabelę. Te niekiedy się nakładają i teraz nie wiem, jak najsensowniej (i najwydajniej) zniwelować te różnice.

Przykład:

Dostaję:
  1. <category id="1">nazwa</category>
  2. <kind id="1">jakaś inna nazwa</kind>

i chcę to umieścić w jednej tabeli u siebie i zachowac możliwość odtworzenia relacji. Gdyby id były tu unikalne, to nie byłoby problemu, bo wystarczyłaby zwykła tabela z relacjami.

Jeśli ktoś ma jakiś pomysł, to będę wdzięczny za pomoc.

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Nattfarinn
post 7.10.2007, 15:48:11
Post #2





Grupa: Zarejestrowani
Postów: 136
Pomógł: 22
Dołączył: 19.09.2007
Skąd: Sosnowiec

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


Nie jestem dobry w przykładach, więc przedstawię to łopatologicznie.

Importujesz kategorie (w sensie, jednocześnie category i kind). Chcesz dodać produkt posiadający jedną kolumnę category_id. Niewiele zmieni to, że w tabeli kategorii ID kind i category są w oddzielnych unikatowych kolumnach tabeli. Produkt dalej odnosi się do tylko i wyłącznie jednej wartości, a ta może występować podwójnie. I tutaj leży właśnie (tak mi się wydaje) problem.

Dodanie do produktu pola odpowiadającego za identyfikowanie kategorii (zawierające czysto przykładowo wartości: kind lub category) i takiego samego w tabeli odpowiadającej za kategorię rozwiązałoby to częściowo ten problem, ale jakoś nie widzi mi się to rozwiązanie jako wyjątkowo optymalne.


Edit:
Cytat(sf @ 7.10.2007, 16:32:18 ) *
Wprowadzane produkty będą powiązanie relacją z nowymi kategoriami, a te stare kategorie/typy są tylko używane przy imporcie.

Właśnie chodzi mi o sposób powiązania produktu z kategorią. Bo wg. czego przypiszesz produkt posiadając w bazie powtarzające się identyfikatory? Potrzebne jest coś co rozgraniczy powtarzające się wartości. Nawet coś takiego jak zapisywanie identyfikatorów kategorii w sposób: c40, c42, c47, c80, k39, k40, k41 (w zależności od kind / category )

Ten post edytował Nattfarinn 7.10.2007, 15:54:13


--------------------
Code should run as fast as necessary, but no faster; something important is always traded away to increase speed.
-- R. Pattis
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 4.07.2025 - 03:27