Baze de date și gestionarea acestora. Fișierul bazei de date are extensia Ms access atribuie extensia fișierului bazei de date

Formatul de fișier .accdb care a fost introdus în Access 2007 oferă multe beneficii care nu sunt disponibile în formatele de fișiere anterioare. Dacă faceți upgrade la o versiune de Access anterioară Access 2007, este posibil să aveți fișiere de baze de date care utilizează un format de fișier .mdb. În cele mai multe cazuri, ar trebui să salvați aceste baze de date utilizând formatul de fișier .accdb . Puteți păstra o copie a fișierului original .mdb pentru a vă ajuta să verificați dacă tranziția a decurs bine.

Acest articol explică beneficiile formatului de fișier .accdb, motivele pentru care ați putea dori să utilizați un format de fișier .mdb și cum să convertiți o bază de date în noul format de fișier.

În acest articol

Formatul de fișier .accdb

Începând cu Access 2007, .accdb este formatul implicit de fișier Access. Formatul de fișier .accdb acceptă o serie de caracteristici mai noi, cum ar fi câmpuri calculate și atașamente. Cu toate acestea, există anumite circumstanțe în care formatul de fișier .accdb ar putea să nu fie alegerea potrivită.

Caracteristici oferite de formatul de fișier .accdb

    Câmpuri cu mai multe valori Un câmp cu mai multe valori este un fel de câmp de căutare care vă permite să stocați mai mult de o valoare per înregistrare. De exemplu, să presupunem că trebuie să atribuiți o sarcină mai multor angajați. Într-un fișier .accdb, puteți crea un câmp cu mai multe valori pentru a stoca angajații care sunt alocați sarcinii. Numele angajaților pot fi selectate dintr-un tabel sau dintr-o listă de valori.

    Câmpurile cu mai multe valori facilitează selectarea și stocarea mai multor opțiuni, fără a fi nevoie să creați un design mai avansat al bazei de date. Câmpurile cu mai multe valori sunt, de asemenea, importante pentru integrarea cu SharePoint, deoarece listele SharePoint acceptă și câmpuri cu mai multe valori.

    Tip de date atașate Tipul de date Atașament vă permite să stocați cu ușurință toate tipurile de documente și fișiere binare în baza de date, ajutându-vă în același timp să mențineți fișierul bazei de date sub limita de 2 GB - atașamentele sunt comprimate automat. O înregistrare poate avea mai multe atașări, dar poate exista un singur câmp de atașare per tabel.

    O mai bună integrare cu SharePoint și Outlook Formatul de fișier .accdb acceptă cerințele de securitate SharePoint și Outlook care nu sunt acceptate de fișierele .mdb. Acest lucru face posibilă integrarea mai completă a Access cu SharePoint și Outlook.

    Criptare îmbunătățită Puteți alege să setați o parolă pentru baza de date și să criptați conținutul bazei de date. Când faceți acest lucru utilizând formatul de fișier .accdb, Access utilizează în mod implicit API-ul Windows Crypto pentru a cripta datele. De asemenea, pot fi utilizate instrumente de criptare de la terți.

    Urmărirea istoricului câmpurilor Text lung (Memo). Câmpurile Text lung (Memo) sunt utile pentru stocarea unor cantități mari de informații. Când utilizați formatul de fișier .accdb, puteți seta o proprietate ( AppendOnly) care forțează Accesul să păstreze un istoric al tuturor modificărilor aduse unui câmp Text lung (Memo). Puteți vizualiza apoi un istoric al acestor modificări. Această caracteristică acceptă, de asemenea, caracteristica de versiune în SharePoint, astfel încât să puteți utiliza Access pentru a urmări modificările în mai multe rânduri ale unui câmp de text care este stocat într-o listă SharePoint (cu condiția ca câmpul să aibă Adăugați modificări la textul existent opțiunea setată la da).

    Tipul de date calculatÎncepând cu Access 2010, formatul de fișier .accdb acceptă utilizarea unui tip de date Calculate. Puteți utiliza tipul de date Calculate pentru a stoca rezultatele unei expresii pe care o definiți.

Formatele de fișiere .mdb

Înainte ca formatul de fișier .accdb să fie introdus în Access 2007, formatele de fișiere Access foloseau extensia de fișier .mdb. Există mai multe versiuni diferite ale formatului de fișier .mdb.

Puteți deschide în continuare unele fișiere .mdb. Dacă fișierul este stocat în formatul de fișier Access 2002-2003 sau Access 2000, îl puteți deschide și utiliza în mod normal. Cu toate acestea, nu puteți profita de funcțiile care necesită formatul de fișier .accdb.

Dacă vă bazați pe funcții care nu sunt disponibile într-un fișier .accdb, nu convertiți fișierul - lăsați-l ca fișier .mdb.

Caracteristici ale fișierului .mdb care nu sunt disponibile într-un fișier .accdb

    Mediu cu versiune mixtă Formatul de fișier .accdb nu poate fi deschis – sau chiar legat de – utilizând versiuni de Access anterioare Access 2007. Dacă există persoane în organizația dvs. care au o versiune anterioară de Access, ar trebui să vă gândiți dacă folosirea unui fișier .mdb este mai bună opțiune. Dar nu uitați – puteți utiliza o aplicație Access sau o bază de date web într-un browser web, indiferent dacă Access este chiar instalat.

    Replicarea bazei de date Nu puteți utiliza replicarea într-un fișier .accdb. Dacă soluția dvs. Access utilizează caracteristica de replicare, va trebui să recreați soluția fără replicare dacă doriți să utilizați formatul de fișier .accdb.

    Securitate la nivel de utilizator Formatul de fișier .accdb nu acceptă securitatea la nivel de utilizator, o caracteristică care oferă o modalitate de a ajuta oamenii să vadă exact ceea ce trebuie să vadă. Securitatea la nivel de utilizator nu mai este eficientă pentru securitatea datelor, deoarece metoda sa de securitate este acum învechită și ușor compromisă. Cu toate acestea, securitatea la nivel de utilizator poate îmbunătăți gradul de utilizare, menținând lucrurile simple pentru oameni – de exemplu, dacă cineva nu are niciun motiv de afaceri să folosească un anumit formular, ați putea ascunde formularul de ei. Dacă aveți o soluție Access care se bazează pe securitatea la nivel de utilizator pentru a îmbunătăți gradul de utilizare, este posibil să doriți să continuați să utilizați formatul de fișier .mdb, astfel încât să puteți continua să utilizați soluția ca atare.

Conversia la noul format de fișier

Pentru a converti un fișier .mdb în formatul de fișier .accdb, deschideți fișierul și apoi salvați-l în formatul de fișier .accdb.

Important: Următoarea procedură este pentru fișierele .mdb create în Access 97, Access 2000, Access 2002 sau Access 2003.

Mai întâi, deschideți baza de date:

    Apasă pe Fişier fila.

    În stânga, faceți clic Deschis.

    În Deschis caseta de dialog, selectați și deschideți baza de date pe care doriți să o convertiți.

Acum, convertiți-vă baza de date:

    Apasă pe Fişier fila.

    În stânga, faceți clic Salvează ca.

    Sub Tipuri de fisiere, faceți clic Salvați baza de date ca.

    În dreapta, sub Tipuri de fișiere de bază de date, faceți clic Acces baza de date.

    În Salvează ca caseta de dialog, în Nume de fișier caseta, introduceți un nume de fișier sau utilizați numele de fișier furnizat.

    Clic Salvați.

    O copie a bazei de date este creată în formatul de fișier .accdb.

Programul de instalare scrie un fișier de bază de date (DB) pe discul computerului. Este necesar pentru lansarea inițială a programului. Poate fi folosit în viitor pentru a crea o bază de date de setări tehnologice și pentru a menține o bază de date a comenzilor. Dar înainte de a începe să utilizați acest fișier DB - încărcați Construct și/sau faceți setări manual - trebuie să RESTRUCTURAȚI fișierul DB.

De asemenea, se întâmplă adesea să fie necesară crearea mai multor baze de date diferite - pentru dealeri, pentru o arhivă de comenzi, pentru testare, pentru actualizare etc.

Scopul acestei secțiuni este de a familiariza utilizatorul cu mecanismele de creare a unui nou fișier de bază de date și de configurare a programului pentru a asigura lucrul ușor cu mai multe baze de date prin crearea de Configurații și comutarea între ele.

Crearea unui fișier de bază de date.

Pentru a crea un fișier de bază de date, utilizatorul trebuie să aibă drepturi de administrator pe computerul său și drepturi de acces la secțiunea „Administrare” din PC-ul ProfStroy 4. Dacă aveți autoritatea specificată, trebuie să mergeți la secțiune "Administrare" a marca „Crearea unei baze de date”.

În exemplul nostru, un folder creat anterior este selectat pentru a crea un fișier de bază de date TEST C:DBPS4PS Fișierul bazei de date este numit baza12.fdb . Odată ce folderul și numele fișierului au fost determinate, faceți clic pe butonul „Creați” și va fi creat un nou fișier de bază de date gol. Programul informează despre aceasta:

Asa de. Fișierul bazei de date este creat și plasat într-o locație specifică de pe discul computerului. Dar aceasta este doar o bază de date „vid” - încă nu există conținut semnificativ în ea. Pentru a începe să lucrați cu acest fișier, să ne conectăm la el.

Pentru a vă conecta la fișierul bazei de date, trebuie să mergeți la " Date de sistem"

În câmpul „FireBird Database”, specificați calea către fișierul bazei de date - în cazul nostru este: C:DBPS4PS TESTBASE12.FDB. În continuare, să trecem la crearea Configurației.

Configurația este o combinație între un fișier de bază de date și mai multe foldere de servicii:

    foldere de rezervă;

    foldere pentru stocarea fișierelor atașate (cel mai adesea acestea sunt fișiere cu imagini ale secțiunilor de profil, imagini ale MC-urilor, unităților structurale, Compoziții, Truse etc.);

    foldere pentru crearea fișierelor temporare (utilizate atunci când programul rulează pentru a genera, de exemplu, fișiere imagine cu aspectul produselor pentru rapoarte. Sterge după închiderea programului;);

    folderele pentru stocarea fișierelor de export de date în 1C - fișierele în format XML sunt stocate aici;

    folderele directorului de arhivă a proiectelor - fișierele cu copiile arhivate ale proiectelor sunt stocate în acesta.

Trebuie remarcat faptul că atunci când lucrați cu mai multe fișiere de bază de date, crearea unei configurații are propriile sale caracteristici. Deci, de exemplu, folderele 2 și 3 pot fi comune pentru toate Configurațiile, iar folderele 1, 4, 5 trebuie să fie unice pentru fiecare Configurație.

După ce folderele au fost definite, marcajul " Salvați configurația ca...", în câmpul activat, atribuiți un nume unic Configurației și faceți clic pe butonul " Salvați configurația". De asemenea, atunci când utilizați mai multe Configurații, ar trebui să setați steag-ul „Solicitați o configurare la pornirea programului.” În acest caz, când porniți PC-ul ProfStroy 4, va fi afișată o listă de Configurații pentru a selecta cea în care să muncă.

După aceasta, faceți clic pe butonul „Aplicați”. Programul va genera o configurație, va crea foldere și vă va solicita să selectați un utilizator:

Deoarece Fișierul bazei de date este gol - nu există utilizatori în el. Primul utilizator trebuie creat acum - în câmpul „Utilizator”, introduceți un nume convenabil (în cazul nostru va fi ADMIN) și faceți clic pe butonul „Aplicați”. Programul vă va informa că utilizatorul nu există și vă va cere confirmarea creării.

După aceasta, veți fi conectat în baza de date. Utilizatorul creat va avea toate drepturile în cadrul acestei baze de date. În viitor, îi puteți atribui o parolă, precum și să creați alți utilizatori ai sistemului, dacă se așteaptă ca mai multe persoane să lucreze cu baza de date, să le atribuiți puterile, parolele corespunzătoare etc.

Baza de date a fost creată, configurația a fost definită. Acum puteți trece la configurarea părții tehnologice a bazei de date.

Dacă nu are sens să folosești un șablon pentru a-ți rezolva problemele, poți crea o bază de date de la zero. Deoarece Access stochează toate tabelele de baze de date, precum și alte obiecte, într-un singur fișier, trebuie să creați un fișier de bază de date gol înainte de a putea crea tabele de bază de date.

Pentru a crea un nou fișier de bază de date gol, faceți clic pe elementul din zona de creare a bazei de date a ferestrei de pornire Access Baza de date nouă(Bază de date goală).

Selecteaza o optiune Baza de date nouă(bază de date goală) sau Baza de date web goală(Blank web database) definește funcțiile disponibile pentru lucrul cu baza de date. Bazele de date desktop nu pot fi publicate pe Internet, iar bazele de date web nu acceptă unele caracteristici ale bazelor de date desktop, cum ar fi interogări rezumate.

În dreapta, în zonă Baza de date nouă(Bază de date goală), introduceți numele fișierului în câmp Nume de fișier(Nume fișier), de exemplu Furnizare de bunuri.accdb.

Când specificați numele fișierului bazei de date, trebuie să aveți în vedere că acesta nu trebuie să conțină următoarele caractere: \ / : * ? »< >|, iar lungimea sa maximă este de 215 caractere, inclusiv spațiile.

Sub nume se află numele folderului în care fișierul bazei de date va fi salvat în mod implicit. Dacă trebuie să salvați fișierul într-un folder diferit, faceți clic pe pictogramă Găsirea unei locații pentru a găzdui o bază de date(Căutați o locație pentru a vă pune baza de date) (în dreapta numelui fișierului bazei de date) și în fereastră Fișier nou bază de date(Fișier noua bază de date) deschideți folderul dorit.

COMETARIU
Pentru a schimba folderul implicit pentru noile fișiere de bază de date Documentele mele fila (Documentele mele). Fişier(Fișier) rulați comanda Opțiuni Sunt comune(General) în secțiune Crearea bazelor de date(Crearea bazelor de date) în teren Director de lucru(dosarul implicit al bazei de date) folosind butonul Revizuire(Răsfoiți), selectați calea către folderul în care doriți să stocați noile baze de date.

La fereastră Fișier nou bază de date(File New Database) în câmp Tip fișier(Salvare ca tip) selectați formatul bazei de date create. În mod implicit, formatul fișierului este Baze de date Microsoft Office Access 2007 (*.accdb)(Baze de date Microsoft Access 2007). Access 2010 păstrează formatul bazei de date Access 2007. Bazele de date în format Access 2007 sunt salvate în fișiere cu extensia .accdb. În versiunile anterioare, bazele de date erau salvate în fișiere cu extensia mdb.

COMETARIU
Pentru a schimba formatul implicit selectat pentru o nouă bază de date din filă Fişier(Fișier) rulați comanda Opțiuni(Opțiuni) și în caseta de dialog care apare pe filă Sunt comune(General) în secțiune Crearea bazelor de date(Crearea bazelor de date) în teren Format de fișier implicit pentru o bază de date goală(Format de fișier implicit pentru baza de date goală) selectați formatul dorit.

După finalizarea selecției în fereastră Fișier nou bază de date(Fișier noua bază de date) făcând clic pe butonul Crea(Creați) Finalizați procesul de creare a unui nou fișier de bază de date gol. Ca rezultat, fereastra de bază de date creată se deschide cu un tabel gol numit tabelul 1(Tabel1) în modul tabel. Cursorul se află în prima celulă goală a coloanei Faceți clic pentru a adăuga(Clic pentru a adăuga). Acum puteți începe să creați acest tabel și alte obiecte în noua bază de date originală.

Când creați un nou fișier de bază de date, puteți selecta un format conceput pentru a funcționa cu o bază de date găzduită pe un server SQL. Ultimul format se numește Microsoft Access Projects (*.adp). Proiectul este destinat să dezvolte obiecte care alcătuiesc o aplicație utilizator. Baza de date în sine, deși poate fi dezvoltată în mediul proiectului, este stocată pe server și are formatul corespunzător. Proiectele sunt salvate în fișiere cu extensia adp.

Când creați un proiect, vă puteți conecta la o bază de date existentă pe server sau puteți crea o nouă bază de date pe server.

Și avem un videoclip pe acest subiect:

Vom învăța cum să creăm tabele în bazele de date MS Access 2010.

Pentru a crea o bază de date, utilitarul este lansat IBConsolși se stabilește o sesiune de comunicare cu serverul local. Apoi comanda este lansată din meniul principal al utilitarului

Instrumente -» SQL interactiv

În acest caz, pe ecran apare un panou de dialog „SQL interactiv” pentru a descrie caracteristicile fișierului bazei de date (Fig. 5.1), în câmpul de lucru al căruia este scrisă o cerere de creare a unei baze de date.

Pentru a executa cererea, trebuie să introduceți comanda de la tastatură Ctrl + E sau din meniul principal dați comanda

Orez. 4.1. Pornirea serverului InterBase

Crearea unui fișier de bază de date

Un fișier de bază de date este un container în care sunt stocate alte fișiere, cum ar fi fișiere de tabel, fișiere index, vizualizări etc. Un fișier de bază de date este creat o dată și nu poate fi modificat ulterior. În interiorul unui fișier de bază de date există o zonă numită metadate. În această zonă sunt stocate blocuri de programe care conțin descrieri compilate ale declanșatorilor, procedurilor stocate și generatoarelor.

O solicitare 501 este utilizată pentru a crea un fișier de bază de date gol. CREAȚI BAZĂ DE DATE. Fișierul de bază de date creat va conține ulterior fișiere pentru tabele, indexuri, vizualizări etc.

Format de solicitare

CREAȚI SCHEMA BAZĂ DE DATE

[ UTILIZATOR [ PAROLA ] ]

[ MĂRIMEA PAGINII [ = ] ]

[ LUNGIME [ = ] [ PAGINA[E]]]

[ SET DE CARACTERE IMPLICIT] f ];

unde optiunea are structura

FIŞIER[are structură

LUNGIME [=] [ PAGINA [ S ] ] ÎNCEPE [ LA [ PAGINA) )

Scopul parametrilor:

Specificați numele complet al fișierului bazei de date. Numele este scris conform regulilor platformei utilizate;

UTILIZATOR- este indicat numele utilizatorului (proprietarului) bazei de date. De fiecare dată când se accesează baza de date, se solicită numele utilizatorului pentru a-l identifica;

PAROLA- specificați parola care se solicită de fiecare dată când accesați baza de date. Parola este solicitată împreună cu numele de utilizator (USER

MĂRIMEA PAGINII[ = ] - setează dimensiunea paginii bazei de date în octeți. Sunt permise următoarele dimensiuni de pagină: 1024 (implicit), 2048, 4096 și 8192;

SET DE CARACTERE IMPLICIT- parametrul definește setul de caractere care va fi folosit pentru stocarea datelor în baza de date. Adică sunt specificate simboluri ale alfabetelor naționale. Setul implicit este NICI UNUL, adică sunt permise numai caracterele alfabetului englez. Pentru a utiliza litere ale alfabetului rus și englez atunci când stocați datele de caractere, trebuie să specificați setul WIN 1251. Setul de caractere este specificat o dată la crearea bazei de date. Puteți modifica codificarea implicită sau această opțiune atunci când definiți anumite domenii sau coloane;

FIŞIER- indică numele unuia sau mai multor fișiere care alcătuiesc o singură bază de date. Numele fiecărui fișier este specificat ca o opțiune separată FIŞIER ;

ÎNCEPE [LA [PAGINA]]- determină pagina de start a fișierului de bază de date corespunzător (pentru o bază de date cu mai multe fișiere);

LUNGIME [=] [ PAGINA[E]] - specifică dimensiunea fișierului curent în pagini. Valoarea implicită este de 75 de pagini. Numărul minim de pagini ale unui fișier este de 50.

Dacă este definit un singur fișier de bază de date (prestabilit), se presupune că acesta va ocupa întregul spațiu pe disc pe măsură ce sunt adăugate înregistrări noi. Această abordare nu este rațională atunci când spațiul pe disc este utilizat de mai multe baze de date. Prin urmare, sunt impuse restricții cu privire la dimensiunea fișierului (sau fișierelor). În acest caz, fișierele individuale care alcătuiesc o singură bază de date pot fi stocate pe medii fizice diferite. Primul dintre fișierele care alcătuiesc o singură bază de date este numit primar iar restul dosarelor sunt secundar. Fișierele secundare pot diferi în ceea ce privește numele, extensiile și locația de stocare. La setarea parametrilor pentru fișierele secundare, unele elemente sunt opționale și pot fi omise, cum ar fi semnul egal. Comanda de mai jos (Exemplu 5.1) creează un fișier de bază de date în directorul de lucru curent (folder).

Parola și numele de utilizator specificate în această declarație sunt verificate de server de fiecare dată când baza de date este accesată pentru a identifica utilizatorul. Drepturile și privilegiile de acces la baza de date sunt determinate de operator ACORDA, despre care se va discuta mai jos.

Dimensiunea paginii pentru întreaga bază de date este fixă ​​și poate fi una dintre următoarele valori: 1024, 2048, 4096 sau 8192 octeți. Dimensiunea implicită este de 1024 de octeți. Schimbul de date între aplicația client și baza de date se face în dimensiunea paginii. Mărirea dimensiunii paginii reduce timpul de procesare a datelor (execuția interogării) prin reducerea numărului de operații de citire, dar creșterea dimensiunii paginii este justificată doar dacă eșantioanele de date (informații) sunt mari. Dacă dimensiunea eșantionului este mică atunci când dimensiunea paginii este mare, atunci spațiul de pagină nu este utilizat eficient.

Exemplul 5.1. Crearea unei baze de date cu mai multe fișiere (distribuite).

CREAȚI BAZĂ DE DATE D:SKAZKABOOK.GDB UTILIZATOR „SYSDBA” PAROLA „cheie principală”

FIȘIER D:SKAZKABOOK.GDl ÎNCEPE DE LA PAGINA 1501 LUNGIME 100

FIȘIER D:SKAZKABOOK.GD2

Pe disc Dîn interiorul directorului "SKAZKA" se creează o bază de date formată din trei fișiere:

  • primul fișier numit CARTE.GDB are o dimensiune a paginii de 1024 de octeți (implicit), număr de pagini 1500 (de la 1 la 1500, de la al doilea fișier CARTE.GD 1 începe de la pagina cu numărul 1501);
  • al doilea fișier numit CARTE. GDI are o dimensiune a paginii de 1024 octeți, număr de pagini - 100;
  • al treilea dosar CARTE.GD2 are o dimensiune a paginii de 1024 de octeți, numărul de pagini este nedefinit (până când discul este plin).

Numele de utilizator (proprietarul bazei de date) este specificat - SYSDBA si parola - cheia principala.

O bază de date poate fi ștearsă fie de către utilizatorul (proprietarul) bazei de date, fie de către administratorul de sistem folosind comanda

Mai mult, este șters actual baza de date, adică baza de date la care se stabilește conexiunea.

După utilizarea acestei comenzi, restaurarea ulterioară a bazei de date nu este posibilă.

În această postare, baza de date SQLite va fi examinată în detaliu; puteți găsi informații despre structura fișierului bazei de date, reprezentarea datelor în memorie, precum și informații despre structura și reprezentarea fișierului B-tree.

Formatul fișierului bazei de date

Întreaga bază de date este stocată într-un singur fișier pe disc numit „fișierul bazei de date principal”. În timpul tranzacțiilor, SQLite stochează informații suplimentare într-un al doilea fișier: un jurnal de rollback sau, dacă baza de date rulează în modul WAL, un fișier jurnal cu informații despre înregistrări. Dacă aplicația sau computerul este deconectat înainte de încheierea tranzacției, atunci aceste fișiere se numesc „jurnal fierbinte” sau „fișier WAL fierbinte” și conțin informațiile necesare pentru a restabili baza de date la o stare consecventă.

Pagini

Fișierul principal al bazei de date este format din una sau mai multe pagini. Toate paginile dintr-o bază de date au aceeași dimensiune, care poate fi de la 512 la 65536 octeți. Mărimea paginii pentru fișierul bazei de date este determinată de un număr întreg de 2 octeți cu un offset de 16 octeți de la începutul fișierului bazei de date.
Toate paginile sunt numerotate de la 1 la 2147483646 (2^31 – 2). Dimensiunea minimă de bază: o pagină de dimensiuni 512 octeți, dimensiunea maximă a bazei de date: 2147483646 pagini de 65536 octeți ( ~140 TB).

Titlu

Primii 100 de octeți ai fișierului bazei de date conțin antetul bazei de date, Tabelul 1 arată diagrama antetului.

tabelul 1

Pagina cu octeți de blocare

Pagina de blocare este o pagină a fișierului bazei de date și este situată între offset-urile 0x1073741824 și 0x1073742335; dacă dimensiunea bazei de date este mai mică, atunci nu are o pagină de blocare. Această pagină este necesară pentru a implementa primitivele de blocare a interfeței OS.

Lista liberă

Lista paginilor goale este organizată ca o listă legată. Fiecare element de listă este format din două numere de 4 octeți. Primul număr determină numărul următorului element freelist (pointer trunk) sau este egal cu zero dacă lista s-a încheiat. Al doilea număr este un indicator către pagina de date (Numerele paginii frunze). Figura de mai jos prezintă o diagramă a acestei structuri.

B-arborele

SQLite folosește două tipuri de arbori: „table B – tree” (lasă datele din stocul de date) și „index B – tree” (lasă cheile de stocare).
Fiecare intrare din „tabelul B - arbore” constă dintr-o cheie întreagă de 64 de biți și până la 2147483647 de octeți de date arbitrare. Cheia "tabelul B - arbore" corespunde ROWID-ului tabelului SQL.
Fiecare intrare din „indexul B - arbore” constă dintr-o cheie arbitrară de până la 2147483647 octeți lungime.

Pagina B - arbore

O pagină B-tree are structura:
  • Antetul fișierului bazei de date (100 octeți)
  • Antet de pagină B-tree (8 sau 12 octeți)
  • Matrice de indicatori de celule
  • Spatiu nealocat
  • Conținutul celulei
  • Loc rezervat

Antetul fișierului bazei de date apare doar pe prima pagină, care este întotdeauna pagina veche „tabel B – arbore”. Toate celelalte pagini B-tree din baza de date nu au acest antet.

Antetul paginii B-tree are o dimensiune de 8 octeți pentru paginile frunze și 12 octeți pentru paginile interioare. Tabelul 2 prezintă structura antetului paginii.

masa 2

Freeblock este o structură folosită pentru a defini spațiul nealocat într-o pagină B-tree. Freeblocks sunt organizate ca un lanț. Primii 2 octeți din freeblock (de la cel mai mare la cel mai mic) sunt decalajul față de următorul freeblock, sau zero dacă freeblock este ultimul din lanț. Al treilea și al patrulea octet sunt un număr întreg, dimensiunea blocului liber în octeți, inclusiv un antet de 4 octeți. Blocurile libere sunt întotdeauna conectate în ordinea crescătoare a offsetului.

Numărul de octeți fragmentați este numărul total de octeți neutilizați din zona de conținut a celulei.


Matrice de indicatori de celule constă din K offset-uri întregi de 2 octeți ale conținutului celulelor (date K celule în arborele B). Matricea este sortată în ordine crescătoare (de la cheile cele mai mici la cele mai mari).

Spatiu nealocat este aria dintre ultima celulă a tabloului pointer și începutul primei celule.

Loc rezervat la sfârșitul fiecărei pagini este folosit de extensii pentru a stoca informații despre pagină. Mărimea zonei rezervate este determinată în antetul bazei de date (implicit este zero).

MASA

Fiecare tabel (cu ROWID) este reprezentat în baza de date ca tabelul b - arbore. Fiecare intrare din arbore corespunde unui rând din tabelul SQL. Un rând SQL al unui tabel este reprezentat ca o secvență (la fel ca cea specificată la crearea lui) de coloane de tabel în format de înregistrare. Dacă tabelul are un INTEGER PRIMARY KEY, care este un alias pentru ROWID, atunci va fi scris NULL în locul valorii sale. SQLite va folosi întotdeauna cheia tabelul b - arboreîn loc de NULL când accesați INTEGER PRIMARY KEY. Dacă afinitatea unei coloane (recomandare de turnare a tipului, mai multe detalii habrahabr.ru/post/149635 în secțiunea „Tipuri de date și comparare a valorilor”) este REALĂ și valoarea poate fi convertită în INTEGER fără a pierde date, atunci valoarea va fi fi stocat ca un număr întreg. La preluarea datelor dintr-o bază de date, SQLite convertește întregul în REAL.

MASĂ FĂRĂ RÂND

Fiecare tabel (fără ROWID) este reprezentat în baza de date ca index b-tree. Diferența față de tabelele cu rowid este că cheia fiecărei înregistrări SQL a tabelului este stocată sub formă de format de înregistrare, iar coloanele cheie sunt stocate așa cum este specificat în CHEIA PRIMARĂ, iar restul în ordinea specificată în declarația tabelului .
Astfel, intrările în index b-tree sunt prezentate în același mod ca în tabelul b - arbore, cu excepția ordinii coloanelor și a faptului că conținutul rândului este stocat în cheia arborelui, și nu ca date în frunze ca în tabelul b - arbore.

INDEX

Fiecare index (declarat CREATE INDEX, PRIMARY KEY sau UNIQUE) este reprezentat în baza de date prin index b-tree. Fiecare intrare dintr-un astfel de arbore corespunde unui rând din tabelul SQL. O cheie de arbore de index este o secvență de valori de coloană specificată în index și se termină cu o valoare a cheii de rând (rowid sau cheie primară) în format de înregistrare.

UPD 13:44: secțiune reproiectată Reprezentare, multumesc pentru critici mayorovp (desigur, m-as fi putut muta, dar ei bine).