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