Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Projekt płatności
Largo
post
Post #1





Grupa: Zarejestrowani
Postów: 203
Pomógł: 6
Dołączył: 11.09.2005

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


Witam,

Napisałem pewny skrypt dla IP.Board polegający na przelewach ustalonej waluty, popularne Form Gold. Ale w czasie wdrażania SMS'ów zaniepokoił mnie jeden fakt. Otóź, SMS'y OK, bo wypełniają wszystkie pola, ale przelewy zostają z 2 NULL'ami. Nie wydaję mi się, aby to było dobre rozwiązanie, dlatego pytam Was, czy zna ktoś jakiś pewniejszy schemat bazy danych. Możliwe, że się mylę, ale specjalistów od baz danych nie jestem i liczę na Waszą pomoc. Obecna struktura płatności wygląda tak:

id | fg | price | type | sms_number | sms_message

W przypadku sms_number i message zostają NULL'e w DB. Czy podzielić bazę pod tym kątem?

PS. Dojdą mi jeszcze parę innych płatności, np. telefon stacjonarny. Proszę o sugestię.

Pozdrawiam,
Largo
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
AxZx
post
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


po co chcesz dzielić? zostaw jak jest. niektórzy wręcz łączą tabele niepotrzebnie podzielone żeby tylko było mniej złączeń (w dużych systemach oczywiście).
Go to the top of the page
+Quote Post
Largo
post
Post #3





Grupa: Zarejestrowani
Postów: 203
Pomógł: 6
Dołączył: 11.09.2005

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


Witam,

Dziękuję Ci za odpowiedź, ale czy to jest na 100% optymalne?
Go to the top of the page
+Quote Post
AxZx
post
Post #4





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


a co tu ma być nie optymalnego?
jest taka zada żeby nie przesadzać. teraz Ty zachowujesz się tak, że Twój cały projekt jest nie optymalny:) bo tracisz czas na dyskusje, zamiast zapoznać się z systemami obsługi baz danych.

oczywiście, że można to podzielić na kilka tabel:
w głównej trzymasz tylko typ - czyli czy to jest sms, czy przelew, czy cokolwiek tam innego. do każdego typu osobną tabelę z kolumnami, który typ wymaga.
zrób sobie to tak i tak a wtedy dowiesz się co będzie lepsze:)
Go to the top of the page
+Quote Post
Largo
post
Post #5





Grupa: Zarejestrowani
Postów: 203
Pomógł: 6
Dołączył: 11.09.2005

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


Witaj,

Dziękuję Ci bardzo, właśnie o tym pomyślałem, ale nie wiedziałem jak to rozłożyć. Jak będę miał problemy lub gotowy projekt, podeślę do tematu, abyś sprawdził :-)

Pozdrawiam,
Largo

Witam,

Czy taki projekt ma sens?

  1. CREATE TABLE ibb_fg_payment (
  2. id int NOT NULL,
  3. type varchar(255) NOT NULL DEFAULT '',
  4. company_name varchar(255) NOT NULL,
  5. company_desc TEXT DEFAULT NULL,
  6. PRIMARY KEY ( id )
  7. ) ENGINE=MyISAM
  8.  
  9. CREATE TABLE ibb_fg_transfers (
  10. tid int NOT NULL,
  11. fg decimal(10, 2) NOT NULL DEFAULT '0.00',
  12. price decimal(5,2) NOT NULL,
  13. description varchar(255) DEFAULT NULL,
  14. comment TEXT,
  15. STATUS enum( 0, 1, 2, 3 ) DEFAULT '0',
  16. PRIMARY KEY ( tid )
  17. ) ENGINE=MyISAM
  18.  
  19. CREATE TABLE ibb_fg_sms (
  20. sid int NOT NULL,
  21. fg decimal(10, 2) NOT NULL DEFAULT '0.00',
  22. price decimal(5,2) NOT NULL,
  23. sms_number varchar(7) NOT NULL,
  24. sms_message int(8) NOT NULL,,
  25. STATUS enum ( 0, 1 ) DEFAULT '0',
  26. )


Nie znam się na bazach, ale wydaje mi się, że podzieliłem warstwy. Potem via JOIN da się je połączyć w logiczną całość? Czy lepiej dać cenę i fg do głównej tabeli?

Pozdrawiam,
Largo
Go to the top of the page
+Quote Post

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: 23.08.2025 - 13:57