Documente Academic
Documente Profesional
Documente Cultură
A) ANALIZA
1.Identificarea entitatilor:
FILME
COMENZI
CLIENTI
STOC
2.Identificarea asocierilor:
Asocierile vor fi:
CLIENTI - COMENZI 1:m
Un client va putea avea mai multe comenzi, dar o comanda nu poate
avea decat un client unic.
3.Stabilirea atributelor:
Codf (cod film , numeric de 4)
Denumire (nume film, caracter de 20)
FILME Actor (nume actor, caracter de 15)
An (anul aparitiei, numeric de 4)
Tip (tipul filmului, caracter de 10)
SCHEMA:
(1:1)
#codst
STOC
codf
nr
4.Stabilirea atributelor de identificare unica a entitatii:
FILME: #Codf
COMENZI: #Codcom
CLIENTI: #Codcl
STOC: #Codst
COMENZI
#Codcom Dataimpr Termen Datarest Penalizari Codcl Codf
FILME
#Codf Denumire Actor An Tip
STOC
#Codst Codf Nr
B)OBSERVATII
Structura este bine realizata, neavind atribute compuse.
Am eliminat acest neajuns prin folosirea numai a seriei de
buletin si a numarului de telefon, si nu a intregii sale adrese.
clientipenalizati.prg
CLOSE ALL
CLEAR
SELECT a.CODF, a.DENUMIRE,a.ACTOR, a.AN, a.TIP,
b.DATAIMPR,b.TERMEN, b.DATAREST, b.PENALIZARI, c.NUME,
c.SERIE, c.TEL;
FROM FILME as a,COMENZI as b, CLIENTI as c;
WHERE ((b.PENALIZARI>0) and (a.CODF=b.CODF) and
(b.CODCL=c.CODCL));
INTO TABLE CLIENTI_PENALIZATI.dbf
BROWSE
CLOSE ALL
filmenerestituite.prg
CLOSE ALL
CLEAR
SELECT a.CODF, a.DENUMIRE,a.ACTOR, a.AN, a.TIP,
b.DATAIMPR,b.TERMEN, b.DATAREST, b.PENALIZARI;
FROM FILME as a,COMENZI as b;
WHERE ((b.TERMEN<b.DATAREST)and(a.CODF=b.CODF));
INTO TABLE FILME_NEREST_LA_TIMP.dbf
BROWSE
CLOSE ALL
filmepeactor.prg
CLOSE ALL
CLEAR
A=SPACE(20)
@ 10,20 SAY "DATI ACTORUL:" GET A
READ
SELECT a.CODF, a.DENUMIRE,a.ACTOR, a.AN, a.TIP, b.NR;
FROM FILME as a, STOC as b;
WHERE (a.CODF =b.CODF)and(upper(a.ACTOR)= UPPER(A));
INTO TABLE FILM_PE_ACTOR.dbf
BROWSE
CLOSE ALL
filmepedom.prg
CLOSE ALL
CLEAR
A=SPACE(20)
@ 10,20 SAY "DATI DOMENIUL:" GET A
READ
SELECT a.CODF, a.DENUMIRE,a.ACTOR, a.AN, a.TIP, b.NR;
FROM FILME as a, STOC as b;
WHERE (a.CODF =b.CODF)and(upper(a.TIP)= UPPER(A));
INTO TABLE FILM_PE_DOMENIU.dbf
BROWSE
CLOSE ALL
nrfilme.prg
CLOSE ALL
CLEAR
A=SPACE(20)
SELECT COUNT(*);
FROM FILME to A
@ 1,1 SAY "NUMARUL DE FILME ESTE :"
CLOSE ALL
nrclienti.prg
CLOSE ALL
CLEAR
A=SPACE(20)
SELECT COUNT(*);
FROM CLIENTI to A
@ 1,1 SAY "NUMARUL DE CLIENTI ESTE: "
CLOSE ALL
Vom folosi formulare atat dintr-o singura tabela, cat si din
mai multe tabele legate intre ele. Formularul principal se va numi
meniu.scx si este de forma: