Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Baze de date


Qdidactic » stiinta & tehnica » informatica » baze de date
BAZE DE DATE (relationale)



BAZE DE DATE (relationale)



O baza de date contine mai multe tabele (tabele.dbf)



tabel.dbf |


cod         nume adresa structura tabelei


c1          ion timisoara

c2        vasile iasi inregistrari/articol/record

c3        gheorghe craiova


camp1       camp2 camp3





Campul este cea mai mica unitate adresabila.

Campul poate fi :

- modificat

- sters

- inlocuit


MOD DE LUCRU:         - INTERACTIV (PRIN BROWSE)

- PRIN COD (LIMBAJ VFOX)


PRELUCRAREA INTERACTIVA:

CREAREA unei tabele:

-> click pe new

-> nume

-> structura campurilor

-> introducerea inregistrarilor


DESCHIDEREA tabelelor

-> butonul open

-> butonul radio 'exclusive' bifat permite orice modificari,

altfel tabela se deschide readonly.

Fereastra browse permite madoficarea inregistrarii curente.


Inregistrarea curenta cea pe care se pozitioneaza la un momemt dat

INDICATORUL DE INREGISTRARI.


MENIUL TABLE apare doar cand avem o tabela deschisa (activa) si fereastra browse e activa. Comanda GO TO RECORD localizeaza o anumita inregistrare functie de o anumita conditie.

INDECSI COMPUSI


In practica este nevoie sa indexam inregistrarile unui tabel dupa mai multe criterii -> index compus. Ca regula in cadrul indecsilor compusi trebuie sa amintim faptul ca toate campurile trebuie sa fie de acelasi tip -> functii de conversii. Totul se converteste in tipul caracter.


exemplu:

codcurs + str(nrmatr,5)


Indexul trebuie creat inainte de accesare. Comanda de acesare a tabelei este :

use tabel.dbf order codcurs + str(nrmatr,5)

browse


trasformarea datei in caracter se face pentru index cu :

dtos (01/01/2001) sau dtoc(data,1)


DESCHIDEREA UNUI TABEL

USE NUMETABEL


FUNCTII

EOF() - permite detectarea sfarsitului de tabel

BOF() - permite detectarea inceputului de tabel

FOUND() - constata daca cautarea unui articol a avut sau nu succes


COMENZI care schimba pozitia contorului de inregistrari

GO TO TOP / BOTTOM / <nr record>

SKIP - sare la urmatoarea inregistrare

LOCATE - cauta un articol care indeplineste conditia din dreapta lui

FOr. Cautarea se opreste in momentul in care se gaseste primul articol

care satisface acesta conditie:


LOCATE FOR <conditie> <domeniu> WHILE <conditie>

unde:

<conditia>  - conditia de cautare

<domeniu>   - domeniu de cautare - all (tot tabelul)

- next n (de la pozitia cursorului la n inregistrari)

- rest (de la pozitia cursorului la sfarsitul tabelei)

Obs.: Daca LOCATE nu gaseste nici un articol care sa satisfaca conditia

indicatorul de inregistrari va fi pe EOF.


use reg_cat

locate for nume='ionel'

locate for codcurs='ajut' and nume='ion'

locate for codcurs='prog' and nume='dan'


locate for codcurs='ajut'

locate for nume='dan' while codcurs='ajut'


CONTINUE - executa in continuare cautarea dupa conditia precedentului

LOCATE()


SET EXACT OFF - localizeaza pe toti pe rand

cursanti .dbf


pope    popescu

pop      popici

ion       popa

popey

ana

SET EXACT OFF

locate for nume='pop'           

display   pope

continue

disp        pop

continue

disp        popey

continue

disp        popescu


Sa se scrie o secventa de program care intr-o fereastra sa introduca un nume din tabelul reg_cat, sa il caute si sa afiseze datele personale ale acestuia.


MODI COMM CAUTARE

CLEAR

DEFI WIND A FROM 10,10 TO 50,50

ACTI WIND A

USE REG_CAT

ACCEPT 'Pe cine cauti ?' TO MNUNE

LOCATE FOR NUME=MNUME

IF FOUND()

?'Datele cursantului'

? repl('=',18)

? 'NUME SI PRENUME', NUME

? 'DATA NASTERII', DATAN FUNC 'E'

? 'COD CURS', CODCURS

? 'NOTA DOS:', ND PICT '99.99'

ELSE

? 'NU EXISTA CURSANTUL CU NUMELE ',MNUME

ENDIF

WAIT WIND ''

DEACTI WIND A

CANCEL


STRUCTURI REPETITIVE


- permit repetarea pt. un numar finit de ori


|-> conditie --> falsa (iese din bucla)

| |

| adevarata

------ comenzi


DO WHILE <conditie>

LOOP

EXIT

..

comenzi

..

ENDDO



De atatea ori se repeta comenzile cuprinse intre DO WHILE si ENDDO cat timp conditia este adevarata. In momentul cand conditia devine falsa programul continua cu prima comanda de dupa ENDDO.


Exemplu:

MODI COMM LISTA

CLEAR

USE REG_CAT

?'COD CURS'

??' NUME SI PRENUME'

MEDIA'

?REPL ('=',40)

DO WHILE NOT EOF()

?CODCURS

?? NUME AT 12

?? (N1+N2+N3+N4+N5+N6+N7)/7 PICT '99.99' AT 32

SKIP

ENDDO

WAIT WIND

CANCEL




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright