![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Pewnie już było wielokrotnie, ale nie umiem tego opisać i tym samym znaleźć. Jaka jest najprostsza i właściwa metoda zaimplementowania czegoś takiego: są sobie artykuły i mogą dotyczyć wielu państw (które piszący wybierze z listy) - chodzi o strukturę tabel w bazie danych. Pierwsze co mi przychodzi na myśl to: Tabela artykuly : id, tytul, etc... Tabela panstwa: id, nazwaPanstwa Tabela panstwaArtykuly: id, idPanstwa, idArtykulu No i teraz kupa roboty, bo "zaznaczenie" przez użytkownika listy państw dla artykułu o id = 1 będzie wymagało dodania do tabeli "panstwaArtykuly" wielu rekordów - dla każdego to samo idArtykulu i różne idPanstwa. Wyszukiwanie artykułów z danego państwa (a taki jest cel) też pewnie nie da się zrealizować jedną linijką kodu. A w tym mini CMS'ie do każdego artykułu będzie można dodawać jeszcze wiele "multipól" (tak to nazwałem (IMG:style_emoticons/default/smile.gif) ) takich jak tagi, kategorie (sport/muzyka etc.) i z tym moim pomysłem to będę musiał chyba z 10 tabel utworzyć i kupę kodu. Wolałbym coś w rodzaju: państwa zdefiniowane w pliku php (więc łatwiejsza edycja i znika jedna niepotrzebna tabela) w stylu prostego arraya, zaś w tabeli artykuły pole typu varchar z numerami państw oddzielonymi przecinkami, ale jak później prosto wyszukać artykuły z wybranego państwa? Coś pewnie w stylu "SELECT .... where panstwa like poszukiwanePaństwo", czy dobrze myślę? Czy to nie byłoby prostsze i też "właściwe"? Ten post edytował konrados 27.02.2011, 12:12:40 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 75 Dołączył: 19.08.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Wyszukiwanie artykułów z danego państwa (a taki jest cel) też pewnie nie da się zrealizować jedną linijką kodu.
w tabeli artykuły pole typu varchar z numerami państw oddzielonymi przecinkami, ale jak później prosto wyszukać artykuły z wybranego państwa? Coś pewnie w stylu "SELECT .... where panstwa like poszukiwanePaństwo", czy dobrze myślę? Czy to nie byłoby prostsze i też "właściwe"? Pogwałcenie podstawowych reguł relacyjnego modelu baz danych:)Rozwiązane z dodatkową tabelą jest standardowym, dobrym rozwiązaniem relacji wiele do wielu. Nie zmieniałbym nic. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
OK, dzięki!
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 17:19 |