stocarea într-o bază de date

stocarea într-o bază de date - structura bazei de date. asigură o stocare a datelor, și în general, independent de structura de date logice. Structura de stocare poate fi modificată fără a afecta codul de aplicare și nu afectează semantica interogare. In cazuri rare, structura de stocare de cunoștințe pot optimiza interogări. [1] Conform structurii de stocare (Engl. Structura de depozitare) se referă la legarea la punerea sa în aplicare a structurii de date, care poate fi o altă structură de date [2].

Proiectarea structurilor de depozitare în cauză cu: [1]

  • locația datelor pe discuri
  • metode de stocare a tabelelor individuale și a altor structuri de date și MVs logice
  • atribute pentru indecși

Tabelele și indexurile de baze de date sunt de obicei stocate pe un hard disk într-una din mai multe forme, numerotate / nenumărată plat fișier, ISAM. „Piles», Hash coșuri sau copaci B +. Ei au diferite avantaje și dezavantaje, care sunt discutate în această secțiune. Arborii B + cel mai frecvent utilizate și ISAM.

[Regula] EXEMPLUL

În Oracle Database Express Edition are o structura de depozitare la trei niveluri [3]:

  • Structura logică (tablespace)
  • Structura fizică (fișiere de date, fișiere temporare, fișiere de configurare și fișierul de parole)
  • recuperare de date după o structură de accident (fișiere de rezervă, fișierele jurnal, și așa mai departe. n.)

[Edit] stocare irecuperabile

depozitare dezordonate - înregistrările sunt stocate în ordinea de inserare, astfel încât timpul de inserare este rapid ([matematică] O \ stânga (1 \ dreapta) [/ math]). Căutați același aparent ineficiente (O (n)), dar, de obicei, nu contează, pentru că cele mai multe baze de date folosind indicii-cheie primare. dând complexitate [matematică] O \ stânga (\ log n \ dreapta) [/ math] sau [math] O \ stânga (1 \ dreapta) [/ matematică].

[Edit] depozitare ordonată

depozitare ordonată - înregistrările sunt păstrate în ordine; inserție poate necesita mărirea dimensiunii fișierului și rearanjare, care este foarte ineficient. Dar căutarea este mai eficientă, deoarece înregistrarea pre-sortate, complexitatea [matematica] O \ left (\ log n \ dreapta) [/ math].

[Edit] fișiere structurate

[Edit] "Grămezi"

  • Cea mai simplă metodă
    • Se face adăugarea efectivă a unor noi recorduri. Intrările sunt adăugate la sfârșitul fișierului - ordine „cronologică“
    • căutare de căutare ca Ineficiența trebuie să fie drepte
    • Ștergere - necesită reorganizarea periodică, în cazul în care fișierul este foarte instabilă pentru a șterge înregistrarea marcată
  • avantaje
    • bun pentru încărcarea unor cantități mari de date
    • bun pentru relațiile relativ mici, pentru a evita costurile excesive pentru indexare
    • Potrivit când extracția a atras cele mai multe înregistrări
  • deficiențe
    • Nu este eficient pentru căutare selectivă folosind cuvinte cheie
    • Sortarea poate fi dificil
  • Nu este potrivit pentru tabelul „temporar“

[Regula] coș Hash

    • + eficiente pentru o potrivire exactă pe câmpurile cheie
    • - Ea nu se încadrează în intervalul de căutare care necesită o stocare consistentă
    • + calculează locația de stocare a câmpurilor sale de înregistrare
    • + funcție hash asigură distribuția uniformă a datelor
    • - coliziuni sunt posibile, și, prin urmare, necesită depistarea și corectarea acestora

[Regula] -trees B +

Cel mai frecvent utilizate în practică.

  • timp de acces la orice înregistrare este la fel de implicat în căutarea pentru același număr de noduri de arbore
  • index - indexul total, astfel încât fișierele de date nu trebuie să se organizeze
  • Argumente pro și contra
    • structură de date universală - atât accesul în serie și aleatoriu
    • acces rapid
    • Acesta susține căutarea valoarea exactă a intervalului, pe de o parte a cheii și modelul
    • fișierele temporare sunt schimbate eficient, deoarece indicii dinamice - dilată și se contractă atunci când tabela crește și scade
    • mai puțin potrivite pentru fișiere relativ stabile - pentru a le ISAM mai eficiente

[Articolul] ISAM

[Edit] Surse

[Edit] Referințe

[Edit] Link-uri