Cunoștințe, prelegere, conservarea structurilor de arbori din baza de date

Rezumat: Această prelegere este consacrată conservării structurilor de arbori din baza de date. Veți învăța cum să salvați un copac cu un număr nelimitat de ramuri la o masă și cum să îl citiți într-o componentă TreeView.







Structurile de copaci nu se referă direct la programarea bazelor de date, însă programatorul trebuie adesea să "reinventeze roata", oferind diverse soluții pentru a păstra astfel de structuri în tabel și pentru a le readuce în copac.

Un exemplu tipic de copac este arborele de directoare familiar. Există multe exemple de astfel de structuri - ele pot fi departamente în orice instituție sau secțiuni ale bibliotecii. Să aruncăm o privire asupra desenului cu un fragment din arborele bibliotecii:

Cunoștințe, prelegere, conservarea structurilor de arbori din baza de date


Fig. 10.1. Arbore de partiție

Principala dificultate a stocării copacilor în tabel este că nu știm în avans ce va fi adâncimea cuiburilor partițiilor. Ați putea crea un tabel cu 10 câmpuri, de exemplu. Dar dacă există mai puține partiții imbricate, atunci masa va fi ineficientă - vor exista multe câmpuri goale. Și dacă mai mult - pentru a limita utilizatorul?

Cea mai simplă modalitate de a salva structura unui copac și ao citi înapoi este să profitați de faptul că arborele este o listă de noduri și are metode bine cunoscute de noi:







Cu toate acestea, această metodă are multe dezavantaje. În primul rând, rezultatul este un fișier text simplu. în care nodurile imbricate sunt situate sub părinte și sunt indentate. Utilizatorul poate strica cu ușurință accidental sau intenționat un astfel de fișier. prin editarea sau pur și simplu scoaterea de pe disc, iar programul va funcționa cu erori. În al doilea rând, structura copacilor este, de obicei, strâns legată de alte date, de exemplu tabelul departamentelor întreprinderii este asociat cu angajații acestei întreprinderi - înregistrările fiecărui angajat au o legătură cu departamentul unde lucrează. Dacă structura întreprinderii este stocată într-un fișier text simplu, atunci această comunicare va fi dificil de furnizat.

Când un programator întâlnește mai întâi nevoia de a stoca structuri de copaci într-o bază de date, el se conectează de obicei la Internet și caută o componentă. care i-ar permite să facă acest lucru. Dar nu toate componentele non-standard funcționează calitativ, și de ce căutați unele componente noi. Când există un TreeView standard pe fila Win32 din Paleta de componente. Cu această componentă vom lucra în această prelegere.

Există multe rețete pentru lucrul cu copaci în baze de date, vom lua în considerare doar unul dintre ele, destul de eficient și în același timp simplu. Semnificația acestei metode este de a păstra în fiecare înregistrare a tabelului numărul nodului secțiunii, numărul părintelui său, dacă este, și numele nodului. În cazul în care nodul nu are un părinte (nodul principal, de exemplu, "Fiction" în Figura 10.1), apoi în câmpul corespunzător vom scrie zero.

Pregătirea proiectului

Pentru a implementa exemplul, avem nevoie de o nouă bază de date. Descărcați MS Access și creați baza de date "TreeBD", și în tabelul "Razdels". De fapt, în baza de date MS Access, ambele tabele și câmpuri pot avea nume ruse, dar vom folosi instrumentele SQL. care nu se ocupă întotdeauna corect de identificatorii ruși. În plus, această metodă poate fi utilizată în orice DBMS. dar nu toți sunt la fel de precauți ca MS Access. astfel încât numele tabelului și câmpurile sale este latină.

Tabelul va avea trei câmpuri:

Tabelul 10.1. Câmpurile din tabelul "Secțiuni"







Articole similare

Trimiteți-le prietenilor: