Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ocena] Baza mysql (wstępna), sklep
thomson89
post
Post #1





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Proszę o ocenę bazy danych, czy jest wystarczająca jeżeli chodzi o funkcjonalność sklepową i czy nie ma żadnych błędów logicznych. Czy takie założenie bazy danych sklepu jest poprawne?

Proszę o wstępne oceny, bo i tak nie wiecie zbyt dużo...

LINK
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
askone
post
Post #2





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

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


Hej

Kilka uwag:
  • po co dwie tabele dla danych klientów?? Moja propozycja:
      1. TABLE klienci (
      2. id int(10) NOT NULL AUTO_INCREMENT,
      3. -- podstawowe dane konta --
      4. login char(25) collate utf8_polish_ci NOT NULL,
      5. haslo char(50) collate utf8_polish_ci NOT NULL,
      6. email char(25) collate utf8_polish_ci NOT NULL,
      7. pytanie char(50) collate utf8_polish_ci NOT NULL,
      8. odpowiedz char(50) collate utf8_polish_ci NOT NULL,
      9. ustawienia int(10) NOT NULL, -- id --
      10. typklientaid int(10) NOT NULL,
      11. -- dane statystyczne --
      12. ostatnie_logowanie char(50) collate utf8_polish_ci NOT NULL,
      13. ostatnie_ip char(50) collate utf8_polish_ci NOT NULL,
      14. ile_kupil int(10) collate utf8_polish_ci NOT NULL,
      15. ile_zamowil int(10) collate utf8_polish_ci NOT NULL,
      16. -- dane o kliencie jako osoba --
      17. imie char(25) collate utf8_polish_ci NOT NULL,
      18. nazwisko char(25) collate utf8_polish_ci NOT NULL,
      19. -- kontakt --
      20. numer_tel char(15) collate utf8_polish_ci NOT NULL,
      21. numer_gg char(15) collate utf8_polish_ci NOT NULL,
      22. skype char(20) collate utf8_polish_ci NOT NULL,
      23. PRIMARY KEY (`id`),
      24. UNIQUE KEY (`login`)
      25. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=1;
      26.  
      27. TABLE typklienta
      28. id
      29. typklienta
      30.  
      31. TABLE adresy
      32. id int(10) NOT NULL
      33. klientid int(10) NOT NULL
      34. typadresuid int(10) NOT NULL
      35. krajid int(10) NOT NULL collate utf8_polish_ci,
      36. województwoid char(25) collate utf8_polish_ci NOT NULL,
      37. miasto char(25) collate utf8_polish_ci NOT NULL,
      38. kod_pocztowy char(10) collate utf8_polish_ci NOT NULL,
      39. ulica char(25) collate utf8_polish_ci NOT NULL,
      40. numer_m_d char(10) collate utf8_polish_ci NOT NULL,
      41.  
      42. TABLE typadresu
      43. id
      44. typadresu
      45.  
      46. TABLE kraj
      47. id
      48. kraj
Wydaje mi się, iż takie atomowe wydzielenie danych pozwoli zachować łatwą możliwość rozbudowy systemu. Ponadto łatwiej będzie zbudować interfejs użytkownika w postaci selektów...

Idąc dalej tą drogą można jeszcze wydzielić tabele: typtelefonu(id, typ), telefon(id, typid, nr, klientid), komunikator(id, typid, nr, klientid), typkomunikatora (id, typ).

ps. pisałem pseudo kod, ale wierzę iż będziesz w stanie zrobić z tego pełnoprawny mysql...

Pozdrawiam (IMG:style_emoticons/default/smile.gif)
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: 6.10.2025 - 18:00