Documente Academic
Documente Profesional
Documente Cultură
. Crearea bazei de date CREATE DATABASE firma creaza o baza de date MODIFY DATABASE firma modific/deschide o baza de date
3. Crearea tabelelor CREATE nume_tabel CREATE nume_tabel ( Cod N(3), Nume C(10), Cnp C(13), Poza G(4) )
Alegerea tipurilor de date CHARACTER (MAX 256) MEMO (MAX 65536 ~ 256^2) NUMBER FLOAT INTEGER INTEGER (AUTOINC) DATE DATETIME LOGICAL (T / F) GENERAL 4. Crearea indexilor INDEX PRIMARY `1 - index unic (poate fi folosit o singura data) - date unice (datele nu se pot repeta pe coloana) INDEX CANDIDAT `1 - indexul se poate repeta - date unice (datele nu se pot repeta pe coloana) INDEX REGULAR `n - indexul se poate repeta - datele se pot repeta (23,553 sau 342,11)
5. Crearea relatiilor 1 1 (one to one) -> unei inregistrari din primul tabel ii corespunde o singura inregistrare in cel de-al doilea tabel ( primary-candidat, primary-primary, candidat-candidat ) 1 n (one to many) -> unei inregistrari din primul tabel ii corespund mai multe inregistrari in cel de-al doilea tabel ( primary-regular, candidat-regular ) n n (many to many) -> mai multor inregistrari din primul tabel le corespund mai multe inregistrari in cel de-al doilea tabel ( regular - regular )
APPEND
7. Cautarea unei inregistrari GOTO 4 (GOTO nr_inregistrare)
GO TOP GO BOTTOM LOCATE FOR conditie LOCATE FOR nume_angajat=POPESCU LOCATE FOR cnp = 18097647474 SKIP SKIP peste_cate_inregistrari_sa_sara SKIP +5 SKIP -3
Stergerea unei inregistrari DELETE selecteaza inregistrarile pentru stergere DELETE FOR conditie DELETE FOR cnp = 18065345676 DELETE FOR pret<100 RECALL deselecteaza inregistrarile selectate pentru stergere RECALL FOR conditie RECALL FOR cnp = 18065345676 RECALL FOR pret<100 stergere fizica: PACK stergere logica: SET DELETED ON vizualizarea inregistrarilor sterse logic: SET DELETED OFF golirea tabelului (indiferent daca inregistrarile sunt bifate) : ZAP
8. Crearea interogarilor
9. Utilizarea limbajului SQL de selectie SQL Structured Query Language SELECT nume, prenume FROM angajati WHERE prenume=ANDREI SELECT coloana1, coloana2, ... , pret*24/100 AS tva, ... FROM denumire_tabel WHERE conditie1 AND conditie2 OR conditie3 ORDER BY coloana2, coloana3, ... ASC / DESC GROUP BY coloanaX HAVING conditie
Se se creeze o lista cu denumirea produsului, pretul, pretul cu tva pentru produsele achizitionate in ultima saptamana, ordonata dupa produs
SELECT produs, pret, pret*124/100 AS pretcutva FROM achizitii WHERE DATE()-dataachizitiei < 7 ORDER BY produs ASC
DATE() o functie care afiseaza data curenta
SELECT coloana1, coloanaA, tabel1.coloana0, .... FROM tabel1 INNER JOIN tabel2 ON tabel1.coloana0=tabel2.coloana0 WHERE conditie1 AND conditie2 OR conditie3 ORDER BY coloana2, coloana3, ... ASC / DESC GROUP BY coloanaX HAVING conditie SELECT date.codangajat, nume, prenume, produs FROM date INNER JOIN achizitii ON date.codangajat=achizitii.codangajat WHERE pret>1000 ORDER BY nume ASC Se se afiseze numele, prenumele angajatilor si volumul achizitiilor pentru fiecare angajat
SELECT nume, prenume, SUM(pret) FROM date INNER JOIN achizitii ON date.codangajat=achizitii.codangajat GROUP BY achizitii.codangajat, nume, prenume Ce pot sa am dupa SELECT nume_coloana tabel.nume_coloana calcul_cu_coloana/coloane AS coloana_noua SUM(nume_coloana) AS coloana-noua MIN, MAX, AVG, COUNT, etc. YEAR(DATE()) YEAR(nume_coloana) AS coloana_noua_in_ani MONTH(nume_coloana) AS coloana_noua_in_luni Ce pot sa am dupa WHERE Coloana = TEXT Coloana = 7 Coloana = #2012-12-28# Coloana LIKE T% % - inseamna orice
Coloana > 100 AND coloana < 500 Coloana BETWEEN 100 AND 500 Coloana IN (TEXT1,TEXT2,TEXT3,TEXT4)
(utilizarea sub-interogarii)
Coloana > (SELECT AVG(coloana) FROM tabel) o Angajatul cu salariul mai mare decat media salarilor ................ WHERE salariu > (SELECT AVG(salariu) FROM angajati) Coloana = .T.
(coloana este de tip logical si este scris TRUE)
Coloana IS TRUE Coloana NOT IS TRUE YEAR(DATE()) YEAR(coloana) > 18 MONTH(coloana) = MONTH(DATE())
10.
Crearea formularelor
Formularele reprezinta interfata bazei de date cu utilizatorul 11. Comenzi in cadrul formularelor
Butonul INAPOI SKIP -1 IF BOF() (BOF inseamna Begin Of File adica inceputul fisierului) GO TOP ENDIF THISFORM.REFRESH Butonul INAINTE SKIP +1 IF EOF() (EOF inseamna End Of File adica sfarsitul fisierului) GO BOTTOM
ENDIF THISFORM.REFRESH Butonul ADAUGA APPEND BLANK THISFORM.REFRESH Butonul STERGERE DELETE PACK THISFORM.REFRESH Butonul IESIRE THISFORM.RELEASE
12.
Deschiderea unei interogari: DO nume interogare.QPR sau o comanda in limbajul SQL Deschiderea unui formular: DO FORM nume formular Deschiderea unui raport: REPORT FORM nume raport PREVIEW Inchidere meniu :
- permite sa scriem data in formatul zi-luna-an (folosita atunci cand imi zice ca data este