Veröffentlicht 24. Februar 201213 j 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^^
24. Februar 201213 j 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.
25. Februar 201213 j 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
26. Februar 201213 j 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 201213 j von Waschmaschine
28. Februar 201213 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.