2016-12-21 15 views
-3

Für die folgende Beziehung:Wie berechnet man die Dateigröße?

Kauf (purchaseID string (20), Benutzer-ID-String (20), softwareID string (30), user_name string (30), sofware_title string (100), purchase_details string (100))

Jedes Zeichen in einer Zeichenfolge ist 1 Byte lang (dh die Kauf-ID ist 20 Byte).

Angenommen, es gibt 80.000 Datensätze in der Kaufbeziehung und die Blockgröße beträgt 3.000 Byte.

ich brauche die folgenden Informationen:

a) Berechnen Sie die Dateigröße in Anzahl von Blöcken fester Länge Satzstruktur unter der Annahme für die Datei verwendet wird.

Bei Fragen b und c, übernehmen die folgende Abfrage gegeben:

„select * from Kauf wo purchaseID = 1923“.

1.b. Wenn die Datei von software_title bestellt wird, wie viele Blöcke müssen im Durchschnitt für die gegebene Abfrage durchsucht werden?

1.c. Wenn die Datei nach purchaseID sortiert ist, wie viele Blöcke müssen im schlimmsten Fall nach der angegebenen Abfrage durchsucht werden?

+2

Willkommen bei Stackoverflow! Wir sind kein Hausaufgabenservice. Bitte lesen [fragen]. Wenn Sie hier einfach eine Hausaufgabe kopieren und einfügen, erhalten Sie nicht die Antworten, nach denen Sie suchen. Arbeite nach besten Kräften an deiner Aufgabe und wenn du ein * spezifisches * Problem hast, zögere nicht zu fragen. –

Antwort

0

Basierend auf Ihrem Tabellenschema benötigt ein Datensatz in Ihrem Purchase table 300 Byte. Nehmen Sie an, dass Sie varchar verwenden. und ganze 80000 Datensätze werden 80000*300 = 24000000 B nehmen, dann teilen Sie es durch 3000, die Sie 8000 Blöcke geben. Ich denke, es hat die gleiche Bedeutung wie pages?

Für Frage B hängt es davon ab, ob Sie Indizes haben oder nicht. Und es ist wirklich schwer zu sagen, wie viele tatsächliche Seiten der Motor gesatcht hat.

Das gleiche gilt für Ihre Frage C

+0

Eine [Codepage] (https://en.wikipedia.org/wiki/Code_page) ist etwas völlig anderes. –

+0

Entschuldigung, ich meinte 'Seite', vermassle es mit' Codepage', während ich an sisis xD arbeite – LONG