index

Document Sample
index Powered By Docstoc
					                                                Geordneter Index


Geordnete Datei mit zwei Feldern

        ein Feld enthält Werte eines Feldes (des Indexfeldes) einer Datei
        (der indexierten Datei)

        das andere Feld enthält Adressen von Blöcken der indexierten
        Datei

        ein Datensatz (w,adr(w)) verweist für einen Feldwert w des
        Indexfeldes auf die Adressen adr(w) der Blöcke derjenigen
        Datensätze der indexierten Datei, die diesen Feldwert haben
        (oder auch direkt auf die Adressen dieser Datensätze)

        die Indexdatei ist viel kleiner als die indexierte Datei und erlaubt
        binäre Suche
2.1 Sekundäre Dateiorganisation – Indextypen
                                                       Geordneter Index


Index auf Feld a einer Datei rel            ind: R({i,adr} | {})
                                            dom(i)=dom(a)
                                            dom(adr)=Integer
                                            ind.i  rel.a
                                            ind geordnete Datei

                                            a Indexfeld
                                            rel indexierte Datei




      2.1 Sekundäre Dateiorganisation – Indextypen
                                                     Primärindex
    Index auf Ordnungsschlüsselfeld einer geordneten Datei

                                        Datendatei
                                 100
  Indexdatei                     102

  100
  127
                                 127
                                 135




  944
                                 944
                                 951




2.1 Sekundäre Dateiorganisation – Indextypen
                                                         Primärindex

                                            Datendatei
Datensatz                            100
                                     102



      Indexdatei
                                     127
      100                            135
      127




      944
                                     944
                                     951




    2.1 Sekundäre Dateiorganisation – Indextypen
                                                         Primärindex

                                            Datendatei
Block                                100
                                     102



        Indexdatei
                                     127
        100                          135
        127




        944
                                     944
                                     951




    2.1 Sekundäre Dateiorganisation – Indextypen
                                                         Primärindex

                                            Datendatei
Indexfeld=
                                     100
Primäres Schlüsselfeld               102



      Indexdatei
                                     127
      100                            135
      127




      944
                                     944
                                     951




    2.1 Sekundäre Dateiorganisation – Indextypen
                                                         Primärindex

                                            Datendatei
Blockankerfeld                       100
                                     102



      Indexdatei
                                     127
      100                            135
      127




      944
                                     944
                                     951




    2.1 Sekundäre Dateiorganisation – Indextypen
                                                         Primärindex

                                            Datendatei
Blockverweisfeld                     100
                                     102



      Indexdatei
                                     127
      100                            135
      127




      944
                                     944
                                     951




    2.1 Sekundäre Dateiorganisation – Indextypen
                                                      Cluster-Index

Index auf Nichtschlüsselfeld einer geordneten Datei
                                         Datendatei
                                          100
   Indexdatei                             101

   100
   101
                                          101
                                          101




   271



                                          270
                                          271


 2.1 Sekundäre Dateiorganisation – Indextypen
                                                        Cluster-Index
                                        Datendatei
                                         100
                                         100


                                         Blockverweis
  Indexdatei
                                         100
  100                                    100
  101

                                         Blockverweis           NULL

                                         101
                                         101


                                         Blockverweis
  271


                                         271
                                         271


                                         Blockverweis           NULL

2.1 Sekundäre Dateiorganisation – Indextypen
                                                      Sekundärindex

Index auf nicht geordnetes (Schlüssel-)Feld
                                         Datendatei
                                          122
   Indexdatei                             270

   100
   101
                                          145
                                          100




   270
   271



                                          271
                                          101


 2.1 Sekundäre Dateiorganisation – Indextypen
                                                      Sekundärindex

Index auf nicht geordnetes (Schlüssel-)Feld
                                         Datendatei
                                          122
   Indexdatei                             100

   100
   100
                                          145
                                          100




   270
   271



                                          271
                                          101


 2.1 Sekundäre Dateiorganisation – Indextypen
                                                      Sekundärindex

Index auf nicht geordnetes (Schlüssel-)Feld
                                         Datendatei
                                          122
   Indexdatei                             100

   100
   101
                                          145
                                          100




   270
   271



                                          271
                                          101


 2.1 Sekundäre Dateiorganisation – Indextypen
                                                Sekundärindex

Index auf nicht geordnetes (Schlüssel-)Feld
                                                 Datendatei
                         Datensatz-
                                                 122
                        verweisblöcke
   Indexdatei                                    100

   100
   101
                                                 145
                                                 100




   270
   271



                                                 271
                                                 101


 2.1 Sekundäre Dateiorganisation – Indextypen
                                                        Mehrstufiger Index

        Primärindex auf Primärindex auf … Index auf Datei-Feld
                                                              Datendatei
                                                        100
                              Index 1. Stufe
                                                        101

                                100
Index 2. Stufe                  127
                                                        127
  100                                                   128



  729
                                729


                                944
                                                        944
                                                        945




         2.1 Sekundäre Dateiorganisation – Indextypen
                                                 Mehrstufiger Index

Ziel: Index höchster Stufe passt in einen Block  Man benötigt
        einen Blockzugriff mehr als Stufen!

Berechnung der notwendigen Anzahl der Stufen:

        fo (fan out) = Anzahl der Index-Einträge, die in einen Block passen
        r1 = Anzahl der Einträge des Index erster Stufe
        (r1/(fo) )  Anzahl der notwendigen Blöcke auf der n-ten Stufe
                n

        t = logfo(r1)  Anzahl der notwendigen Stufen

Voraussetzungen:

        Index 1. Stufe hat Datensätze fester Länge
        Index 1. Stufe hat eindeutigen Indexfeldwert für jeden Datensatz
  2.1 Sekundäre Dateiorganisation – Indextypen
                                                Mehrstufiger Index

Problem:        Einfügen und Löschen im Index

Lösung:         Halte in jedem Block Platz frei
                Restrukturiere Index beim Einfügen/Löschen

       Bezeichnung: Dynamischer mehrstufiger Index
       Wieviel Platz ist (im Mittel) notwendig/sinnvoll?
       Implementierung mittels B-Bäumen




 2.1 Sekundäre Dateiorganisation – Indextypen

				
DOCUMENT INFO