![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Załóżmy, że we frontendzie mam moduły "aktualności" i "artykuły".
Czy jeżeli nie różnią się niczym poza faktem, że aktualności są zwykle nieco krótsze to czy powinienem zrobić jedną tabelę "tekst" z polem mówiącym o typie (aktualność/artykuł) i rozdzielać je na poziomie zapytania SQL czy raczej stworzyć osobne dwie tabele? 2. Załóżmy, że mam we frontendzie moduły "regulamin", "polityka prywatności" i "współpraca" - które są tylko podstronami tekstowymi. Czy powinienem stworzyć dla nich osobne tabele z 1 rekordem ( ![]() 3. Załóżmy, że chcę umożliwić userowi konfigurację pewnych elementów strony. Czy powinienem stworzyć tabelę z tyloma polami ile mam parametrów i jednym rekordem czy raczej tabelę z polami "klucz" i "wartość" i z rekordami w ilości równej ilości parametrów, czy może jeszcze coś innego? 4. Skąd czerpiecie tego typu wiedzę na temat prawidłowej architektury aplikacji w sf i nie tylko sf? Ten post edytował Foxx 12.02.2009, 05:05:43 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 274 Pomógł: 54 Dołączył: 2.05.2006 Skąd: Nadarzyn Ostrzeżenie: (0%) ![]() ![]() |
1) zrob 2 osobne "moduły". Nie bedziesz musial kombinowac w modelach itp itd. Poza tym pozwoli ci to na łątwą ewentualną rozbudowę w przyszłości. Od dodatkowej tabeli w bazie jeszcze nikt nie umarł
![]() 2) Zastanów się czy chcesz aby treści na tych stronach były edytowane czy nie. Bo jak ma być to najzwyklejszy tekst to bym wpakował go do szablonu bezpośrednio i nie bawił się z bazami. Natomiast jeżeli chcesz mieć X stron których treść chcesz potem zmieniać to zrób sobie tabele pages i tam trzymaj wszystkie treści. 3) Zapewne możliwości konfiguracyjne są identyczne dla każdego użytkownika i nie zmieniają się wcale lub bardzo rzadko. W takim przypadku możesz zrobić to na 2 sposoby. Albo dodać pola konfiguracyjne bezpośrednio do tabeli użytkowników albo stworzyć osobną tabelę z konfiguracjami gdzie każdy rekord ma user_id. W 1 przypadku nie będziesz musiał klepąć nic nowego bo konfigurację będziesz miał już w formularzu użytkownika ( co może okazać się niepożądane ). W 2 przypadku rozdzielisz użytkownika od konfiguracji co przy większej ilości parametrów konfiguracyjnych moim zdaniem wydaje się lepszym rozwiązaniem. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ad 3) Użyłem złego słowa, pisząc "user" miałem na myśli administratora systemu. Jeżeli chodziłoby o zwykłego usera to oba Twoje rozwiązania można stosować w zależności o jakich danych i jakiej ich ilości jest mowa - tak jak piszesz. Ale moje pytanie jest bardziej przyziemne
![]() Czuję że rozwiązanie z 1 rekordem jest w jakiś sposób nieeleganckie a z drugiej strony klucz+wartość jest takie... niestałe ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
1. Jesli rozchodzi sie tylko o 2 moduly - to jak kolega pisze - zrob osobne tabele, bo chyba nie robisz mega uniwersalnego CMSa jak taki EZ gdzie wszystko jest w ... "jednej tabeli"
2. Info strony - 1 tabela, po rekordzie na strone i po problemie, ew. w templatkach edytujesz - jesli ci to wystarcza. 3. Konfiguracja Cytat Czy tworząc możliwość konfiguracji parametrów systemu (np. możliwość pisania postów przez niezarejestrowanych: off) praktykuje się raczej tabelę klucze -> wartości czy tabelę z 1 rekordem i z polami dla każdej opcji? A chcesz zmieniac format tabeli po kazdym dodaniu nowego klucza/wartosci? I co to jest "takie niestale"? Ja mam u siebie rekordy [nazwa,wartosc] i sie sprawdza (uzywam notacji: 'podsystem.costam.cos' dla nazw, np. 'forum.posting.unregistered_user_may_post' => zalety: czytelne, zapobiega kolizji nazw) -------------------- Nie lubię jednorożców.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 12:30 |