Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> "Nieograniczona" ilość atrybutów?
Tiregan
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 25.01.2011

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


Witajcie,
Chciałem się zapytać co bardziej doświadczonych o pewne zjawisko, które spostrzegłem.
Otóż na niektórych serwisach przy dodawaniu różnych "rzeczy" jest możliwość dodania nowego atrybutu, chociażby taki gmail, gdy tworzymy kontakt możemy mu dodawać różne pola, i to bardzo dużo, nie doszedłem do limitu.

Może ktoś z Szanownych Forumowiczów wie, wyobraża sobie jak, to wygląda w bazie MySQL?


Czy mój pomysł jest dobry?
Dodajmy atrybut typu longtext o nazwie opis. Niech będzie, to opis jakiegoś produktu w sklepie internetowym. Tak na prawdę nie będzie, to jedna zakładka na karcie produktu, ale będzie przechowywała ich kilka. Utworzę tak jakby znacznik nowej zakładki/atrybutu np. [bookmark]Nazwa zakładki[/bookmark]. Potem utworzę funkcję "parsującą", która mi podzieli owe pole opis na zakładki po tym właśnie znaczniku.

Przykład:
[bookmark]Opis[/bookmark]
Teks w zakładce.
[bookmark]Dane techniczne[/bookmark]
Teks w zakładce.
[bookmark]Dodatki[/bookmark]
Teks w zakładce.
[bookmark]Coś tam[/bookmark]
Teks w zakładce.

I tak w jednym polu typu longtext mamy teoretycznie ile chcemy zakładek.
Minusem jest, to że operacje na długim tekście wykonują się długo, z tego co wiem przynajmniej. Ktoś może ma lepszy pomysł? W MySQL chyba nie ma jakiegoś "typowego" rozwiązania tego problemu?


Jeżeli Wam także wątek wydaje się ciekawy, to może nie wybrałem najlepszego tytułu? Może go zmienić na inny?

Dziękuję,
T.

Ten post edytował Tiregan 25.01.2011, 23:44:15
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Jeżeli sklepy nie będą duże to EAV nawet się sprawdzi. Z reguły właśnie takie będą ponieważ trudno mi znaleźć sklep internetowy posiadający ponad milion produktów.
Dodatkowo dla atrybutów, które będziesz przeszukiwać możesz utworzyć tabelę właśnie do wyszukiwania.
W przeciwnym wypadku musisz użyć innych technologii. Ale najpierw wypróbuj powyższy pomysł.

Co do ORM-ów. Zend Framework to implementował. Kohana raczej nie. Co do własnego pisania obsługi takiego zachowania to nie jest to trudne. Nie musisz przeciez implementować ścisłych wytycznych co do tego modelu. Chodzi o zrozumienie jego logiki i przetworzenie na własne potrzeby.
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: 7.10.2025 - 17:41