speicherbedarf einer datenbank

adblue

Well-known member
24 Juli 2009
57
2
hallo

ich habe eine einfache datenbank mit 4 tabellen

id: int(5)
username varchar(100)
passwort varchar(100)
herkunft (100)

wie kann ich den speicherbedaf für ca. 1.000 einträge berechnen?
macht man das noch mit der hand?

danke
 
Neija du müsstest ersteinmal herausfinden wieviel Byte die einzelnen Datentypen in deinem Wunsch-Datenbanksystems benötigen, dann multiplizierst du das mit 1000 und müsstest für einen exakten Wert noch Verwaltungsinfos dazurechnen, die du natürlich aber nicht kennst.
 
VARCHAR is wie der Name schon sagt ein Datentyp mit variablem Speicherbedarf. Eine exakte Speicherplatzberechnung ist damit sowieso nicht möglich, nur eine Worstcase-Berechnung.
 
Denke daran, dass varchar nur soviel Platz braucht, je nachdem wie viele chars im Feld stecken. Somit kannst Du mit varchar einen Maximalwert feststellen, der reale liegt aber mit sicherheit darunter.
 
das mit dem maximalwert ist mir klar. die berechnung erfolgt ja nur theoretisch.

ich einer fachinformatikerprüfungen eines kollegen hab ich mal gesehen, das so etwas in der prüfungen drangekommen ist.

man findet im internet aber kaum literatur dazu ...

was passiert eigentlich wenn ich per post-formular mehr zeichen als vorgesehen speichern will? muss ich das per abfrage überprüfen? oder wie reagiert die datenbank auf die übermenge?

danke
 
was passiert eigentlich wenn ich per post-formular mehr zeichen als vorgesehen speichern will? muss ich das per abfrage überprüfen? oder wie reagiert die datenbank auf die übermenge?
Stell halt keinen solchen allgemeinen Fragen. Es gibt soo viele verschiedene DBMS. Um welches geht es?

MySQL z.B. würde im Strict-Mode die Query gar nicht annehmen.
 
sorry, es geht um mysql.
kommt dann eine fehlermeldung? also muss ich vorher per php abfragen ob die string-länge der variablen jeweils kleiner ist als vorgesehen, oder?
 
also muss ich vorher per php abfragen ob die string-länge der variablen jeweils kleiner ist als vorgesehen, oder?

Genau. Daten sollten immer validiert werden, bevor du diese in der Datenbank abspeicherst. ;)

PHP:
if(strlen($_POST["username"]) > 100)
   $fehler[] = "Username zu lang!";

if(empty($fehler))
{
    // In die Datenbank schreiben
}
else
{
   // Fehlermeldung ausgeben.
}