Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ograniczenia typów liczbowych
Jarod
post
Post #1





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Tak się zastanawiam. Każdy typ liczbowy (czy to int, bigint), niezależnie jaka to baza ma pewną maksymalną wartość. I np mamy tabelę Zleceni gdzie jej jednym z atrybutów jest numer_zlecenia typu int. numer_zlecenia jest AUTO_INCREMENT - unikalny. Przecież wkońcu kiedyś zakres liczbowy się wyczerpie.. I co wtedy? Jak sobie poradzić z takim problemem?


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dać taki typ pola, aby się nie wyczerpał.
Bo np. czy na pewno uda ci się wprowadzić parę miliardów produktów?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
SongoQ
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Jak sie wyczerpie to zatrzymuje sie na koncowej wartosci i wtedy baza rzuca Ci bledami ze w polu wystepuje juz taki ID


--------------------
Go to the top of the page
+Quote Post
Kinool
post
Post #4





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

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


idac tokiem rozumowania ze kiedys cos sie wyczeprpie mozna dojsc do sytuacji ze powiedzmy masz nieograniczony typ liczbowy mozesz walic ile chesz produkot i wiesz ze zakres sie nigdy nie wyczeprie, ok wrzucasz milion produktow, malo wiec walisz 80 miliardow produktow?? malo?? w koncu dochodzisz do sytuacji ze powiezchnia dysku jest za mala zeby przechowywac informacje o samej ilosci produktow!!!! i co wtedy??

nie ma nieograniczonych dyskow tongue.gif

generalnie chodzi mi o "przerost formy nad trescia" co z tego ze w typie int mozesz uzywac liczb z zakresu 0 - 4294967295 (bez znaku) nie slyszalem o sklepie ktory by mial taki asortyment tongue.gif

inny przyklad? Allegro system dzila juz od kilku lat w polsce liczba przeprowadzonych aukcji to ponad 48 000 000 do wyczerpania zakresu int moga jeszcze spokojnie pracowac kilkaset lat smile.gif a jak sie im wyczerpie to co za problem dac wiekszy typ tongue.gif


--------------------
Go to the top of the page
+Quote Post
Jarod
post
Post #5





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Chodziło mi o to, żę pewna firma projektuje bazę dla innej. Nie wiemy ile będzie np zleceń czegoś (możę być bardzo dużo). i np po 3 latach baza zacznie się sypać.. bo braknie zakres danego typu wyczerpie się.. Wiem, że nie ma żeczy nieograniczonych. Ale załóżmy, że firma nie może pozwolić sobie na przestój, a bez bazy nie może działać.. A poprawiać baże jak już jest tyle rekordów.. Czujecie to? Stąd moje pytanie

Pozdrawiam


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Cytat
Nie wiemy ile będzie np zleceń czegoś
No to sie dowiedzcie ile maja miesiecznie, rocznie, jaki planuja przyrost ilosci zlecen, itd. Przelicz ile powinno wystarczyc przez X lat -- do nastepnej modernizacji systemu i dodaj ilestam procent wiecej.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Kinool
post
Post #7





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

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


bigint daje ci zakres bez znaku 18446744073709551615 jezeli co sekunde bedziesz wstawial rekord to zakres wyczerpiesz po okolo 584 942 417 355 latach!!!!

jeszcze sie zastanawiasz nad ograniczeniami?


--------------------
Go to the top of the page
+Quote Post
Jarod
post
Post #8





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(Kinool @ 2005-04-25 11:21:10)
bigint daje ci zakres bez znaku 18446744073709551615 jezeli co sekunde bedziesz wstawial rekord to zakres wyczerpiesz po okolo 584 942 417 355 latach!!!!

jeszcze sie zastanawiasz nad ograniczeniami?

Dzięki za wytłumaczenie. Gdzie mogę znaleźć info o zakresie liczbowym poszczególnych typów?

Spotkałem się z opinią, żeby stosować tylko te typy, któe wchodzą w standard SQL. Czyli w mysqlu nie stosować bigint. Wtedy łatwiej będzie przenieść aplikację na inną bazę danych? Czy warto się tak ograniczać?

Pozdrawiam


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
SongoQ
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Cytat
Spotkałem się z opinią, żeby stosować tylko te typy, któe wchodzą w standard SQL. Czyli w mysqlu nie stosować bigint. Wtedy łatwiej będzie przenieść aplikację na inną bazę danych? Czy warto się tak ograniczać?


I tak i nie. Jesli sie ograniczysz to stracisz duzo typow danych bez ktorych nie bedziesz mogl roszyc. Np Postgres typ INET, mozna bardzo wiele wymieniac. Nieraz jest tak ze te same typy a maja inne wartosci. Musisz sie zastanowic czy to Ci sie oplaca, takie standaryzowanie roznych baz.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 01:38