![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 17:41 |