![]() |
![]() |
![]()
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 -------------------- Sklep
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
|
![]() |
![]()
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:
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 ![]() -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
forum oceny sluzy innym ocenom. TEmat przenoszę.
a co ty wszędzie walisz char? Czy adres email ma zawsze dlugość 25 znaków? Poczytaj o typie varchar a nastepnie zastanow sie jaka jest roznica miedzy char a varchar. "ostatnie_logowanie char(50)" a od kiedy to data ostatniego logowania to tekst? Data to data. typ DATETIME "ostatnie_ip char(50)" Widziales kiedys IP skladające sie z 50 znaków? "ile_kupil int" Widziales kiedys klienta co kupił kilka miliardów sztuk czegos? i na dodatek kupi liczbę ujemną? poczytaj o unsigned "kod_pocztowy char(10)" Wiesz jak wyglada kod pocztowy? "na_ktorya_adres_przes char(20) collate utf8_polish_ci NOT NULL, -- wartosc: firmowy, konataktowy --" poczytaj o typie ENUM "CREATE TABLE obserwowane_produkty ( id int(10) NOT NULL auto_increment, produkt int(10) NOT NULL, klient int(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=1; " Zainteresuj się typem InnoDB i relacjami w bazie danych "cena char(10)" cena to naprawde tekst? DAlej mi się już nie chce podawać bo wszystko na jedno kopyto. ocena: 2- -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 178 Pomógł: 51 Dołączył: 7.01.2009 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Czyli lepiej w niektórych miejscach dawać varchar?
-------------------- Sklep
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
CHAR służy do przechowywania danych o stałej długości (np. hasło zakodowane MD5), natomiast w VARCHAR pakujesz dane, których długości nie znasz (imię, nazwisko).
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 178 Pomógł: 51 Dołączył: 7.01.2009 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
To klientów tak załatwiłem
-------------------- Sklep
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Kod ostatnie_logowanie char(50) collate utf8_polish_ci NOT NULL, To chyba DATETIME powinno być raczej Kod województwo varchar collate utf8_polish_ci NOT NULL, Nie chcesz mieć polskich liter w nazwach tabel/pól. Uwierz mi. Kod ostatnie_ip char(50) collate utf8_polish_ci NOT NULL, Poczytaj o funkcjach INET_ATON i INET_NTOA i zmień to pole na INTEGER UNSIGNED Kod idadresy char(25) collate utf8_polish_ci NOT NULL, -- id adrsów -- A nie INT przypadkiem? Kod nip varchar collate utf8_polish_ci NOT NULL, regon varchar collate utf8_polish_ci NOT NULL, Akurat te numery mają stałą ilość znaków, więc CHAR w odpowiednim rozmiarze. Kod idfirma int(10) NOT NULL, -- 0 gdy nie firma! -- Może lepiej NULL gdy nie firma? Ogólnie: VARCHAR wymaga podania maksymalnego rozmiaru pola. Ten post edytował Mchl 27.11.2009, 16:34:03 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:02 |