Cum Fac O Baza De Date In Foxpro

Scopul tutorialului

Tutorialul are ca scop crearea unei baze de date a unei scoli avand doua tabele una cu elevi si cealalta cu clase. Cele doua tabele vor fi legate intre ele prin intermediul campului id_clasa.

Crearea bazei de date in foxpro

Se presupune ca am creat deja un nou proiect (pasii pentru crearea unui nou proiect ii gasiti in tutorialul cum creez un nou proiect).

cum fac o baza de date in foxpro

Urmati cei 3 pasi pentru a crea o noua baza de date:

  1. selectati Databases
  2. apasati butonul New
  3. alegeti optiunea New Database

Vi se cere apoi sa dati un nume bazei de date. Alegeti un nume apoi apasati Save ca in figura de mai jos.

cum fac o baza de date in foxpro

Crearea unei tabele

In acest moment avem creata baza de date cu numele scoala, conform exemplului din imagine. In continuare vom adauga in baza de date tabelele aplicatiei.

  1. apasam butonul New (vezi imaginea de mai jos)
  2. selectam optiunea New Table
  3. dam un nume tabelei (in exemplul de mai jos o numim elevi)
cum fac o tabela in foxpro

Fereastra urmatoare ne permite sa adaugam campurile tabelului. In exemplul de mai jos am adaugat 5 campuri. Le vom explica pe fiecare in cele ce urmeaza.

  • id_elev: este de tip integer(autoinc) ceea ce inseamna ca acest camp se va modifica automat fara sa intervenim noi asupra lui. De exemplu daca vom avea in tabela 3 elevi si mai adaugam unul valoarea campului id_elev va creste automat. In plus am setat acest camp ca fiind index primar al tabelei.
  • nume si prenume sunt doua campuri care vor pastra numele respectiv prenumele elevului. Campurile sunt de tip string avand o dimensiune maxima de 20 de caractere. Se poate modifica dimensiunea acestor campuri si se poate alege ce dimensiune dorim.
  • cnp: permite salvarea unui cod numeric personal. Se observa ca i-am setat dimensiunea de 13 caractere care este egal cu numarul de cifre dintr-un CNP
  • id_clasa: in acest camp vom pastra id-ul unei clase (vom reveni mai tarziu asupra acestui camp)
  • se apasa butonul ok pentru a salva tabela
cum fac o tabela in foxpro cum fac o tabela in foxpro

In continuare vom urma pasii de mai sus pentru a face o noua tabela numita clase. Tabelul va arata ca in imaginea de mai jos.

  • id_clasa: va contine ID-ul clasei, si acest camp este te tip integer autoincrement si se va actualiza automat. In plus se va selecta sageata in sus in coloana index din dreptul acestui camp. Acest lucru inseamna ca am adaugat un index la tabela. Pentru a specifica tipul indexului apasam butonul Indexes si putem specifica ce tip de index sa fie. Atat campul id_elev cat si campul id_clasa trebuie sa fie indecsi de tip Primary. De exemplu id_elev va fi index primar in tabela elevi iar id_clasa va fi index primar in tabela clase. Nu pot exista 2 indecsi primari in aceasi tabela.
  • denumire: va stoca denumirea clasei. De exemplu: XII-F,X-A etc.
  • diriginte: este de tip caracter si va stoca numele si prenumele dirigintelui
tabela in foxpro

In acest moment avem facuta o baza de date cu doua tabele. Ceea ce vom incerca sa facem in continuare este sa legam cele doua tabele prin intermediul campului id_clasa. Scenariul va fi urmatorul: orice elev face parte dintr-o clasa si numai una, sau cu alte cuvinte o clasa poate avea mai multi elevi. Aceasta este o relatie de 1->n sau one-to-many (unul la mai multi).

Conexiunea se face in felul urmator:

  1. selectam tabela clase si tinem apasat click-ul mouse-ului pe campul id_clasa (vedeti ca apare de 2 ori campul id_clasa in tabela, trebuie sa tinem apasat clicul pe cel mai de jos camp care are in dreptul lui o cheie)
  2. tinem in continuare click-ul apasat si tragem cu mouse-ul pana pe campul id_clasa din tabela elevi (si in aceasta tabela campul id_clasa apare de doua ori. Vom trage mouse-ul pe cel mai de jos, e scris cu negru ingrosat)
  3. daca totul a fost creat conform instructiunilor pana aici ar trebui sa avem un rezultat ca in figura de mai jos.
tabela relationate in foxpro

Acum avem o baza de date, simpla, cu doua tabele legate intre ele. In tutotialul urmator vom prezenta modul in care putem crea formulare pe baza acestor tabele si cum putem popula tabelele cu date din formular.

Scris de AtestateLaInformatica.ro

0