Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 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?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
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?
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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) a jak sie im wyczerpie to co za problem dac wiekszy typ (IMG:http://forum.php.pl/style_emoticons/default/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
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.
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
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 08:57