wie man Indizes erklärt

7

Bei dieser Frage geht es um das Unterrichten: Als ich Datenbanken lernte, sprachen wir davon, dass Indizes wie der Kartenkatalog in der Stadtbibliothek sind. Wir hatten mindestens einen Autorenindex, einen Titelindex, dann war die Dewey-Dezimalzahl der Zugriffspfad zum Buch, der dem gesamten Datensatz in der Datenbank entspricht.

Bücher? Was auf dem Papier? Karteikarten in Schubladen?

Die Jugendlichen wissen nicht wirklich, wovon ich spreche. Wie erklären wir das heutzutage am besten?

(Fühlen Sie sich frei, meinen Rasen zu genießen, bitte erkennen Sie den Unterschied zwischen Gras und Kunstrasen in der Vorbereitungsschule, ok?)

ndye
quelle
Vielleicht der Index am Ende eines Buches? Sie könnten sogar ein Lehrbuch als Demonstration hochhalten.
Kenneth Fisher
2
Erklären Sie die Prinzipien der binären Suche und der binären Bäume, damit der Index nicht als etwas Magisches angesehen wird, sondern als "viel schnellerer Weg, etwas zu finden", aber dennoch Kosten verursacht.
Colin 't Hart
Das Lehrbuch hilft ein bisschen, aber es ist nur eine Ebene. Ich fische nach einer 30-Sekunden- bis 5-Minuten-Metapher, die sich an nicht-technische Leute richtet, einschließlich Manager, die nie lernen wollen. Ich schließe sogar Anfänger ein, die den Unterschied zwischen Registern, On-Die-Cache, gemeinsam genutzten Speichermodulen und einer sich langsam drehenden Festplatte noch nicht verstehen.
Ndye
Binäre Suche und Indexsuche haben Ähnlichkeit mit dem Spiel mit 20 Fragen. Sind die Kinder / Schüler mit diesem Spiel vertraut?
Ypercubeᵀᴹ
Cool, das 20-Fragen-Spiel hilft auch.
Ndye

Antworten:

7

Am besten beziehen Sie sich auf: Treppe zu SQL Server-Indizes

Sie verlassen Ihr Haus, um ein paar Besorgungen zu erledigen. Bei Ihrer Rückkehr wartet eine Nachricht vom Softballtrainer Ihrer Tochter auf Sie. Drei der Mädchen, Tracy, Rebecca und Amy, haben ihre Teamkappen verloren. Könnten Sie bitte im Athletic Products Store vorbeischauen und Mützen für die Mädchen kaufen? Ihre Eltern werden dich beim nächsten Spiel erstatten.

Sie kennen die Mädchen und Sie kennen ihre Eltern. Aber Sie kennen ihre Hutgrößen nicht. Irgendwo in Ihrer Stadt befinden sich drei Residenzen, die jeweils Informationen enthalten, die Sie benötigen. Kein Problem, Sie rufen einfach die Eltern an und erhalten die Hutgrößen. Sie greifen nach Ihrem Telefon und nach einem Index - den weißen Seiten Ihres Telefonverzeichnisses.

Die erste Residenz, die Sie erreichen müssen, ist die von Helen Meyer. Wenn Sie schätzen, dass sich „Meyer“ in der Mitte der Bevölkerung befindet, springen Sie in die Mitte der weißen Seiten. nur um festzustellen, dass Sie sich auf der Seite befinden, deren Überschrift „Kline-Koerber“ lautet. Sie machen einen kleineren Sprung nach vorne und erreichen die Seite „Nagle-Nyeong“. Ein noch kleinerer Rücksprung bringt Sie auf die Seite „Maldonado-Nagle“. Wenn Sie feststellen, dass Sie jetzt auf der richtigen Seite sind, scannen Sie die Seite nach unten, bis Sie die Zeile „Meyer, Helen“ erreichen und die Telefonnummer erhalten. Über die Telefonnummer erreichen Sie die Meyer-Residenz und erhalten die benötigten Informationen.

Sie wiederholen den Vorgang noch zweimal, erreichen zwei weitere Residenzen und erhalten zwei weitere Hutgrößen.

Sie haben gerade einen Index verwendet, und Sie haben ihn ähnlich wie SQL Server einen Index verwendet.

Weitere Informationen finden Sie unter

Kin Shah
quelle
Danke, ich habe nicht an die weißen Seiten gedacht ... obwohl ich sie seit einem Jahrzehnt nicht mehr benutzt habe.
Ndye
Ich brauche mehr Zeit, um in die Treppe einzutauchen : Ich bin keine SQL Server-Person, also war ich nicht für die ... Freewall dieser Site registriert ?
Ndye
@ndye Ja .. es ist kostenlos und eine der besten Websites zum Erlernen von SQL Server.
Kin Shah
5

Wenn Sie versuchen, zu den Jugendlichen zu gelangen, die noch nie in ihrem Leben nach etwas gesucht haben, ohne Google zu verwenden, probieren Sie Folgendes aus:

Stellen Sie sich vor, iTunes hat Ihre Musikbibliothek durcheinander gebracht und jedes Lied auf Ihrem iPod wurde in zufälliger Reihenfolge gemischt, aber mit einem fortlaufenden Namen wie "track1234" versehen. Wenn Sie ein bestimmtes Lied finden möchten, können Sie nur jedes Lied einzeln anhören, um zu sehen, um welches Lied es sich handelt. Angenommen, iTunes lässt Sie Ihre Titel nicht umbenennen. Was können Sie tun, um herauszufinden, wie Sie (a) das gesuchte Lied finden und (b) den tatsächlichen Namen eines Liedes anhand seines durcheinandergebrachten Titelnamens herausfinden können?

Sie können sich jedes Lied anhören und herausfinden, was es ist, und dann eine Liste der Titelnamen und der tatsächlichen Liednamen in einer Excel-Tabelle aufbewahren.

Sobald Sie Ihre Liste in Excel erstellt haben, können Sie eine Kopie erstellen. Eine Kopie, die Sie nach dem durcheinandergebrachten Titelnamen sortieren. Die andere Kopie, die Sie nach dem richtigen Songnamen sortieren (oder Künstler + Song, wenn Sie möchten).

Jede der beiden Excel-Listen ist wie ein Index. Es ist eine Liste der Inhalte, nicht der tatsächlichen Inhalte. Hier erfahren Sie, wo Sie das gesuchte Objekt finden, und es ist in einer geeigneten Reihenfolge sortiert, damit Sie schnell zu dem Teil der Liste springen können, der das gewünschte Objekt enthält. Sobald Sie das Ding gefunden haben, erfahren Sie, wo Sie die tatsächlichen Daten (dh die Musik auf Ihrem iPod) finden, nach denen Sie suchen.

Wenn Sie zu diesem Zeitpunkt noch ihre Aufmerksamkeit haben, können Sie versuchen, ihnen die Leistungsfähigkeit der binären Suche zu zeigen. Dafür ist es vielleicht besser, einen YouTube-Clip der Spielshow "Price is Right" und deren "High / Low-Spiel" zu finden, das intelligente Spieler mithilfe der binären Suche spielen.

Joel Brown
quelle
Und diese Geschichte zeigt, dass der Index Kosten für die Speicherung von Kopien von Datensatzattributen speichert ... im Vergleich zur Audiodatei sehr geringfügig, und dieser Unterschied hat einen Sinn.
Ndye
2

Ich würde vorschlagen, dass Sie sich für den Index auf der Rückseite eines Buches entscheiden ... aber es hört sich so an, als würden Bücher nicht als Referenzmaterial verwendet.

Versuchen Sie es also mit Hyperlinks.

Stellen Sie sich vor, sie hätten einen Hyperlink, der sie zu einem bestimmten Blog-Beitrag führte, und sie müssten Google nicht zum Durchsuchen des Internets verwenden.

Sie können sogar mit ihnen über eine Seite mit Hyperlinks sprechen oder die Seite mit Hyperlinks mithilfe der Funktion "Auf Seite suchen" eines Browsers usw. durchsuchen.

HTH

SQLRockstar
quelle
OK, und vielleicht die Lesezeichen in einem Desktop-Browser. . . .
Ndye
2

Abhängig davon, wie Ihre Schüler sind, kann es hilfreich sein, die Fragmentierung hervorzuheben, wenn Sie über Indizes sprechen. Das Folgende habe ich verwendet, um einige (Nicht-DBA-) Dateneigentümerindizes zu beschreiben und warum regelmäßige Indexpflege wichtig war, um sie nützlich zu halten -

Bei der Indexpflege ist der Fragmentierungsgrad entscheidend für die Funktionsweise. Stellen Sie sich ein Kochbuch mit einem Index vor. Wenn Sie dem Buch immer wieder neue Rezepte hinzufügen, werden alle neuen Einträge am Ende des Index und nicht an der richtigen alphabetischen Position hinzugefügt. Das kontinuierliche Hinzufügen zum Ende des Index würde die Verwendung erschweren. das ist Fragmentierung. Eine unorganisierte, chaotische Indexierungsstruktur. Dies geschieht, wenn Daten hinzugefügt, gelöscht oder aktualisiert werden. In Datenbanken ist das normal. Es gibt zwei Möglichkeiten, es zu bereinigen. Index neu erstellen oder neu organisieren. Der Unterschied zwischen und Wiederaufbau und eine Neuorganisation sind Aufwand und Eignung

* Bei einer Neuerstellung wird der vorhandene Index gelöscht und die Aktualisierung neu erstellt. In Fällen, in denen die Fragmentierung mehr als 30% beträgt, ist eine Neuerstellung für SQL sinnvoller. Der Aufwand für die Neuerstellung ist geringer als für das Mischen der bereits vorhandenen Daten. Bei einer Neuerstellung werden auch die Statistiken neu abgetastet. Die Informationen, die SQL verwendet, um bessere Entscheidungen darüber zu treffen, wie Daten am besten aus der Datenbank abgerufen werden können.

* Eine Neuorganisation wird um die Blattknoten gemischt. Wenn die Fragmentierung geringer ist, wäre es übertrieben, sie fallen zu lassen und neu zu erstellen.

* Keine oder winzige Fragmentierung, nichts wird benötigt. Der aktuelle Prozess für die Indexpflege erstellt alle Indizes für alle Tabellen in der Datenbank vollständig neu.

Hoffe das hilft

the_good_pony
quelle