mchris Geschrieben 24. Februar 2012 Teilen Geschrieben 24. Februar 2012 Hallo zusammen, komme bei einer Lösung einfach nicht auf die korrekt angegebene Lösung von der IHK... Vllt. könnt ihr mit ja helfen Die Daten der Gemälde sollen in einer Datenbank folgender Struktur abgeleogt werden. Bildname(char40) Maler(char40) Erstellungsjahr(integer) Breite(integer) Höhe(integer) Verkauft(boolean) Preis(Float) - Integer 64 Bit, Float 32 Bit, Char und Boolean 1 Byte - Blockgröße 4 Kilobyte - Jeder Block soll bis zu maximal 80 % belegt werden (also 4/100*80 = 3,2 Kilobyte) - In einem Block sollen nur ganze Datensätze abgelegt werden. Ermitteln Sie die Anzahl Blöcke die für eine Tabelle mit 5.000 Bildern reserviert werden müssen. Ich habe folgendes gerechnet: Pro Bild fallen 248 Bit(3xinteger,2xchar,boolean,float) an Ein Block hat 3,2*1024*8 = 26214,4 Bit zur Verfügung 26214,4/248= 105,7032258 Bilder passen pro Block abgerundet 105 Nun teile ich doch einfach die 5000 Bilder durch Anzahl Bilder/Block (5000/105=47,619...) also wäre mein Ergebnis 48 Blöcke lt. IHK sollte es 167 sein.... Hab ich nen schwerwiegenden Fehler in meiner Rechnung? Ja ich weis... die Schreibweise ist nicht die beste^^ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
socket Geschrieben 24. Februar 2012 Teilen Geschrieben 24. Februar 2012 Hi, du hast die Bildgröße falsch ausgerechnet: Bildname und Maler sind jeweils 40 char => Bildgröße = 40*8+40*8 + 64 + 64 + 64 + 8 + 32 = 872. Aber sonst hasts gepasst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Endian Geschrieben 25. Februar 2012 Teilen Geschrieben 25. Februar 2012 Moin, Du rechnest: 4*0.8*1024 = 3276.8 Dann: 3276.8 / 109Byte = 30,06238532 (Uns intresiert nur die Zahl vor dem Komma!) Dann: 5000 / 30 = 166,6666667 ( hier runden wir nun auf 167 ^^) Du musst natürlich aus den 64Bit Byte machen also 64/8 = 8 Byte.... und das gleiche bei 32Bit / 8 = 4Byte...... Gruß, Moritz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Waschmaschine Geschrieben 26. Februar 2012 Teilen Geschrieben 26. Februar 2012 (bearbeitet) Also ich komme gerundet auf 166 nicht 167...meint ihr das is schlimm? Gibts da wenigstens noch Teilpunkte? Blockgröße 4 kilobyte (max blockgröße 80%: 4/100*80 = 3,2kb) Bildname: 40*1byte = 40 byte Maler: 40*1 byte = 40 byte Erstellungsjahr: 64 bit (64 bit / 8 = 8 byte) Breite 64 bit (64 / 8 = 8 byte) Höhe: 64 bit (64 / 8 = 8 byte) Verkauft (1 byte) preis 32 bit (32 /8 = 4 byte) Ein Datensatz : 40+ 40 + 8 + 8 + 8 + 1 + 4 = 109 byte pro Datensatz ========= 109byte pro datensatz * 5000 = 545000 Byte insgesamt // in Kilobyte: geteilt durch 1024 = 532,226562 kbyte 532,226562kbyte : 3,2kbyte = = 166,32 Bearbeitet 26. Februar 2012 von Waschmaschine Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mchris Geschrieben 28. Februar 2012 Autor Teilen Geschrieben 28. Februar 2012 Soweit ich weis gibt es keine Teilpunkte in der Zwischenprüfung bin mir aber auch nicht sicher. Bei dem Ergebnis bleibt dir aber nichts anderes als aufzurunden da du ja die Anzahl von Blöcken brauchst wo alle Daten unterkommen. Folge mit 166 Blöcken würden dir 0,32 fehlen also musst du 167 Blöcke verwenden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.