string XML'owy zamiast nowej tabeli

0

Witam,

Mam tabelę naprawy , a w niej informacje dotyczące naprawy, czyli jakieś ID naprawy, data, itd. oraz listę wymienionych części. Lista części dotyczy tej konkretniej naprawy i dla każdej jest inna. I teraz pytanie, czy taką listę powinno się zrobić w formie nowej tabeli, która będzie miała np takie pola:

  • ID części
  • ID naprawy
  • Cena
    itd. czy może jako np pole TEXT i tam dane zapamiętywane byłyby w np formacie XML ?
    <czesc>
    <id_czesci>23</id_czesci>
    <id_naprawy>101</id_naprawy>
    <cena>210.55</cena>
    </czesc>

Jak wspomniałem, lista części może być długa. Czy zapisanie takiej listy w ciągu tekstowym do pola typu TEXT jako ciągi XML'owe może wpłynąć na wydajność negatywnie ?

pzdr nj

0

a po co zapisywać jako xml? po to są pola... a przy odczycie można w prosty sposób (jeśli jest taka potrzeba) wyświetlić wynik jako xml.

0

niekoniecznie musi być xml, może być np po przecinku, czy średniku:
22;101;250.55, chodzi oto, że mam wówczas wszstkie dane, opisujące jeden rekord w jednym wierszu, nie musze robić joinów i szukać tego po innych tabelach.
Dlatego pytam się, czy ktoś tak próbował, czy to ma jakieś konsekwencje, np spadek wydajności ?

0

ale po co? na rekord składają się pola... gdzie ty chcesz szukać w innych tabelach?

0

Bo mam dwie klasy obiektów: Naprawy, która zawiera jakieś dane napraw i w wiekszości przypadku te dane są opisane za pomocaą typów prostych, np string, int ,itd, ale jest też pole złożone, a mianowicie Lista części. To pole złożone składa się z Nazwy części i np z ceny

0

twoje podejście przeczy idei tworzenia relacyjnych baz danych. w tabeli lista_czesci robisz dodatkowe pole id_naprawy które będzie odpowiadało identyfikatorowi konkretnej naprawy. co do pola typu TEXT sprawdź: http://stackoverflow.com/questions/2883867/mysql-text-field-performance i sam zadecyduj w twoim konkretnym przypadku warto...

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