Documente Academic
Documente Profesional
Documente Cultură
BAZE DE DATE Page 2
CUPRINS PE SCURT
CUPRINS
CAPITOLUL 1
Introducere
Pentru înţelege mai uşor nişte definiţii teoretice care vor urma,
o să prezentăm un exemplu.
Firma “Lectura inteligentă” vinde cărţi prin corespondenţă. Pentru
aceasta culege planuri editoriale de la câteva edituri cu care are contracte
şi îşi face reclamă în ziare, la radio, la televiziune sau prin corespondenţă
directă cu clienţii mai vechi. În urma reclamei primeşte comenzi pe care le
satisface ulterior.
Bulă, băiatul patronului, elev strălucit la Liceul de Informatică, a creat o
metodă simplă ( şi eficientă pentru început ) de manipulare a comenzilor şi
vânzărilor, pe care a denumit-o “ bază de date “.
Cititorul îşi va da seama că titlul este pretenţios.
BAZE DE DATE Page 6
Formular comandă
Nume
Prenume
Localitate cod
Stradă nr
Telefon ,
Nr produs
Titlu
Autori
Preţ Discount %
Comandă satisfăcută
Pe baza unui catalog clientul comandă una sau mai multe cărţi. Când
cartea este disponibilă (se află în depozit) este trimisă la toţi cei care au
comandat-o şi în căsuţa Comandă satisfăcută se marchează un X .
La prima vedere totul este simplu, în regulă, şi treaba chiar a
funcţionat o vreme.
Scopul nostru este să observăm care sunt defectele unui asemenea
proiect.
Defectul numărul 1.
Defectul numarul 2.
Defectul numarul 3.
Defectul numarul 4.
O altă mare problemă este acel identificator de client. Sunt prea multe
lucruri incluse acolo. De multe ori sunt utile astfel de coduri mixte, dar să
vedem ce se întâmplă în cazul nostru dacă un client se mută. Identificatorul
de client se schimbă şi vom avea comenzi pentru acelaşi client pe două
adrese… de aici posibila duplicare a pachetelor sau trimiterea unui pachet la
o adresă greşită.
CAPITOLUL 2
……………..
Dacă am avea 10000 de cărţi vom avea în tabel 10000 de linii pe care
ar fi memorate valorile atributelor entităţii CARTE.
Alt exemplu pentru entitatea CLIENT având atributele : id client,
nume, prenume, oraş, str, nr, tel, cod.
CLIENT
…..
Dacă avem doi clienţi cu acelaşi nume cum vom determina care este
cel care a comandat o anumită carte ?
Am văzut care sunt incovenientele creării unui cod mixt cum a fost
creat cel iniţial. Am mai putea folosi pentru identificatori numele plus
numărul de telefon, dar în acest caz avem multe caractere şi rămân
problemele legate de actualizări; de exemplu schimbarea numărului de
telefon. Un astfel de atribut, simplu sau obţinut prin concatenare care
identifică unic o instanţă a unei entităţi se va numi cheie. Aşa cum am
recomandă practica şi autorii ca Harrington [2] vom crea chei printr-un
număr generat succesiv şi unic în special pentru persoane, locuri, lucruri etc.
Rămân situaţii în care este nevoie de chei concatenate. Existenţa unei chei
care să identifice unic reprezentanţii unei entităţi este o regulă esenţială de
integritate a datelor.
BAZE DE DATE Page 11
Relaţii 1 la 1.
Este cazul relaţiei din căsătoria dintre două posibile entităţi “bărbaţi” şi
“femei” (nu în ţările islamice).
Relaţii 1 la n.
Sunt cele mai frecvente. Exemplu la o editură pot fi mai multe cărţi, dar o
anumită carte provine de la o singură editură.
Relaţii n la m.
Între comenzi şi cărţi. Într-o comandă pot fi mai multe cărţi şi aceeaşi carte
poate să apară în mai multe comenzi. Nu sunt uşor de mânuit şi sunt
transformate în două relaţii de 1 la n introducând o nouă entitate. În cazul
nostru noua entitate va fi “detaliu comandă”. Este obligatoriu ca în această
entitate să avem cheile celor două entităţi între care există relaţia de n la m.
Relaţiile vor fi descrise în diagrame E-R cu linii între entităţi care vor
fi întretăiate de simboluri ale tipurilor. Aceste simboluri sunt descrise mai
jos.
| | pentru una şi numai una (instanţă).
0 | pentru zero sau una.
> | pentru una sau mai multe.
> 0 pentru zero, una sau mai multe.
Exemplu : relaţia între comenzi şi cărţi
Comandă Carte
* nr comandă 0 | * nr carte
nr client clasificare
dată titlu
ediţie
data apariţie
preţ
gen
BAZE DE DATE Page 13
O comandă conţine cel puţin o carte, dar o carte poate să nu fie comandată
de nimeni, totuşi este o relaţie de tip n la m. Ea poate fi transformată prin
introducerea entităţii ”detaliu comandă” în:
Comandă Detaliu comandă Carte
* nr autor
nume
prenume
BAZE DE DATE Page 14
CAPITOLUL 3
E
C
R
A
N
1
BAZE DE DATE Page 16
E
C
R
A
N
E
C
R
A
N
3
Ecran 3
E
C
R
A
N
4
BAZE DE DATE Page 17
E
C
R
A
N
E
C
R
A
N
6
BAZE DE DATE Page 18
E
C
R
A
N
E
C
R
A
N
Aici, în
subecran, aveţi
pe stânga tabelele (corespunzătoare entităţilor)
Informaţii despre cărţi
Informaţii despre autori
Informaţii despre legătura dintre autor-carte
Informaţii despre clasificări
Informaţii despre subiecte
Pe partea dreaptă apar atributele pntru entitatea selectată (atributele scrise
înclinat sunt atribute opţionale). O să vrem să creăm o bază de date cu date
deci vom face “clic” pe <Yes, include sample data>. O să vedem cum pot fi
modificate toate acestea, dar pentru moment să mergem mai departe apăsând
<Next>.
E
C
R
A
N
9
BAZE DE DATE Page 20
E
C
R
A
N
110
E
C
R
A
N
11
12
Unde vedeţi cum se crează fiecare tabelă. Gata! Baza de date, cu date de test,
a fost creată şi nu ne rămâne decât să o folosim. Utilizarea se face din
meniul “Main Switchboard” şi aşa cum se vede în ecranul următor putem să
selectăm unul din butoanele:
Intrare /vizualizare cărţi
Previzualizare rapoarte
13
menu din care putem alege ce să facem cu baza de date. Cel din ecranul 13
este meniul principal Main Switchboard şi butoanele succesiv apăsate ne duc
în submeniuri ca în ecranele 14 şi 17, fie ne dau posibilitatea să facem
operaţii asupra bazei de date. Ce operaţii se pot face?
Listări (vizualizări) ale informaţiilor.
E
C
R
BAZE DE DATE Page 22 A
N
E
C
R
A
N
14
Se va obţine următorul ecran:
15
Filtrarea înregistrărilor
Poate că nu toate înregistrările sunt necesare pe ecran; de exemplu
vrem să vedem numai cărţile din domeniul “fiction”. În formatul “Books”
(din meniul principal) vom selecta, cu mouse-ul, la “Topic” valoarea
“fiction” apoi cu butonul drept al mouse-ului facem ‘clic’ şi din meniul
vertical care apare selectăm “Filter by selection”. Vom observa imediat că
numărul de înregistrări a scăzut şi se vor lista pe ecran numai cărţile care au
domeniul “fiction”. Putem realiza filtre mult mai complexe. Pentru aceasta,
în acelaşi formular, facem ‘clic’, dar nu pe câmpurile de date . Apoi apăsând
pe butonul drept obţinem un meniu vertical din care selectăm “Filter by
form” şi facând ‘clic’ cu butonul stâng al mouse-ului apare următorul ecran:
16
Cancel X
X
E
C
R
BAZE DE DATE Page 24 A
N
Rapoarte.
Să revenim în meniul principal (apăsând de câte ori este nevoie pe
butonul din dreapta sus a subecranelor deschise.
E
C
R
A
N
17
E
C
R
A
N
18
Aşa cum este, se vede că nu încape tot pe ecran. Din bara de sus putem să :
Reproiectăm
Tipărim
Aăezăm paginile câte una, două, patru
Mărim sau să micşorăm imaginile (cea din ecranul 18 este 100%, cea
care urmează este 75%)
E
C
R
A
N
BAZE DE DATE Page 25
19
CAPITOLUL 4
E
C
R
Ecran 20 A
N
E 20
C
R
A
N
BAZE DE DATE Page 26
Aici selectăm ‘Blank Database’ (bază de date vidă) şi apăsăm <OK> şi vom
obţine ecranul:
21
Aici putem hotărî (aşa cum am văzut şi în ecranul 6) unde vom avea baza de
date pe disc şi cum se va numi ea. Noi vom crea baza pentru “Lectura
inteligentă” după diagrama de la pagina 9 şi o vom denumi în consecinţă.
Asta inseamna sa schimbam numele in ‘File Name’. După ce apăsăm pe
<Create> obţinem:
E
C
R
A
N
22
23
24
25
E
C
R
A
N
26
E
C
R
A
N
BAZE DE DATE Page 29
27
E
C
R
A
N
28
principală (‘Customer ID’ din ‘Client’) – cheie străină (‘Customer ID’ din
‘Comandă’).
E
C
R
A
N
29
E
C
R
A
N
E
C
R
30
A
N
E
C
R
A
N
31
E
C
R
A
N
32
E
C
R
A
N
33
BAZE DE DATE Page 34
E
C
R
A
N
34
E
C
R
A
N
35
E
C
R
A
N
36
E
C
R
A
N
BAZE DE DATE Page 35 37
E
C
R
A
N
3
8
BAZE DE DATE Page 36
În acest ecran putem vedea toate tabelele create. Dacă selectăm din bara de
E
C
R
A
N
39
Vedem aici că între tabele nu există legături deci trebuie să le creem noi:
Pentru legături 1 la n selectăm cu butonul stâng atributul dinspre ‘1’ şi fără
să lăsăm butonul deplasăm mouse-ul pe cheia străină cu acelaşi nume din
entitatea dinspre ‘n’. Când lăsăm butonul apare un meniu din care facem
legătura:
- una simplă-apasă <Create>.
- una care forţează integritatea referenţială
Rezultatul se vede în:
E
C
R
A
N
40
E
C
R
A
N
41
Popularea tabelelor
Introducerea datelor în tabele se face fie din dosar, cu <Open> şi apoi
introducere în tabel, fie printr-un formular despre care aţi aflat în capitolul3
si veţi afla şi mai multe în capitolul 6.
E
C
R
A
N
BAZE DE DATE Page 38
42
E
C
R
A
N
43
Apăsând pe <OK> intraţi într-un ecran cunoscut (ecran 6) unde puteţi alege
suportul copiei.
Dacă vreţi ca numai anumite persoane să poată avea acces la
informaţiile din baza de date, puteţi să o protejaţi. Pentru aceasta , din bara
de sus a meniului, selectaţi <Tools> apoi <Security> şi <Set Database Pass>
ca în ecranul 44.
E
C
R
A
N
44
BAZE DE DATE Page 39
CAPITOLUL 5
Putem lista liniile unei tabele, aşa cum am făcut până acum, dar avem
următoarele inconveniente:
- s-ar putea să nu ne trebuiască toate liniile ci numai unele care îndeplinesc
anumite condiţii – am învaţat deja să facem asta prin filtrare.
- S-ar putea să nu ne trebuiască toate câmpurile
- S-ar putea să avem nevoie de informaţii combinate din mai multe tabele
(De exemplu când listăm o carte să ştim şi titlul editurii si numele
autorilor)
Am putea să creăm tabele aşa cum avem nevoie, dar am redescoperi
toate neajunsurile puse în evidenţă în capitolul 1.
Există soluţie?
Bine înţeles! Soluţia se numeşte vedere (view) care înseamnă o tabelă
fictivă cu care se pot face o serie de operaţii fără ca ea să ocupe un loc
efectiv în memoria externă.
BAZE DE DATE Page 40
E
C
R
A
N
46
BAZE DE DATE Page 41
E
C
R
A
N
47
E
C
R
A
N
48
BAZE DE DATE Page 42
E
C
R
A
N
49
E
C
R E
E
A C
C
N R
R
A
A
N
N
E
50 C
R
A
N
BAZE DE DATE Page 43
E
C
R
A
N
51
E
C
R
A
N
52
52
E
C
R
A
N
BAZE DE DATE Page 44
53
E
C
R
A
N
54
BAZE DE DATE Page 45
E
C
R
A
N
55
E
C
R
A
N
56
BAZE DE DATE Page 46
De aici puteţi alege ‘Design View’ sau ‘Simple Query Wizard’ . Vom
merge pe prima variantă.
E
C
R
A
N
57
E
C
R
A
N
58
BAZE DE DATE Page 47
E
C
R
A
N
59
E
C
R
A
N
60
Dacă vrem să vedem care este efectul cererii (cum arat aceasta
Deschidem cererea (tabela fictiva) apăsând <Open> şi obţinem:
E
C
R
A
N
BAZE DE DATE Page 48
61
62
63R
BAZE DE DATE Page 49
CERERE COMPLEXĂ
CR
N
64
5
0
E
C
R
A
N
65
BAZE DE DATE Page 50
E
C
R
A
N
66
E
C
R
A
N
67
BAZE DE DATE Page 51
E
C
R
A
N
68
CAPITOLUL 6
Formulare
E
C
R
A
N
69
E
C
R
A
N
70
BAZE DE DATE Page 53
E
C
R
A
N
71
Vedem aici imaginea unei înregistrări din tabela ‘autor’, în care sunt
puse în evidenţă cele trei componente; se poate observa că la ‘nrautor’ nu
putem face modificări (restricţia de domeniu). Mai vedem în josul
formularului, că avem numărul de înregistrare şi putem să trecem la
înregistrarea următoare sau precedentă, la ultima sau la prima înregistrare,
sau putem să creăm o nouă înregistrare.
Acelaşi formular, fără liniile de antet şi picior de pagină, se poate
obţine ca formular instantaneu astfel:
Din dosarul bazei de date se selectează ‘autor’, apoi din bara de sus se
apasă butonul <New Object> şi se obţine:
E
C
R
A
N
BAZE DE DATE Page 54
72
E
C
R
A
N
74
BAZE DE DATE Page 55
E
C
R
A
N
75
Cu încă un ‘clic’ pe aceeaşi zonă veţi putea edita eticheta şi vom schimba şi
prenumele ca să arate aşa:
E
C
R
A
N
76
BAZE DE DATE Page 56
E
C
R
A
N
77
Subformulare.
E
C
R
A
N
78
Şi ajungeţi la:
E
C
R
A
N
79
E
C
R
A
N
80
E
C
R
A
N
81
BAZE DE DATE Page 59
E
C
R
A
N
82
E
C
R
A
N
83
BAZE DE DATE Page 60
E
C
R
A
N
84
E
C
R
A
N
85
BAZE DE DATE Page 61
E
C
R
A
N
86
E
C
R
A
N
87
BAZE DE DATE Page 62
E
C
R
A
N
88
E
C
R
A
N
89
BAZE DE DATE Page 63
Ca să vedem cum arată acum formularul selectăm din bara de sus , din’edit’,
‘Form View’ şi obţinem:
E
C
R
A
N
90
Putem să vedem aici toate carţile şi, pentru fiecare carte, autorii.
CAPITOLUL 7
Rapoarte şi etichete.
4. Se poate crea un raport neasociat unui tabel (real sau vedere) acesta fiind
gazda unor subrapoarte fără legatură între ele.
5. Prin dialogul Printer Setup se poate adapta dimensiunea raportului la
dimensiunea hârtiei.
6. În rapoartele multicoloană numărul, laţimea şi distanţa dintre coloane
este controlată de acelaşi Printer Setup nu din faza de proiectare.
În continuare dăm asemănări între rapoarte şi formulare.
1. Funcţia lui Report Wizard este analoaga cu cea a lui Form Wizard şi
puteţi crea trei tipuri de rapoarte: cu o singura coloana, de totalizare
grupare şi etichete pentru corespondenţă.
2. Şi în raport găsim , ca şi în formular secţiunile de antet şi de picior de
pagina, dar în raport au o utilizare mult mai frecventă.
3. Secţiunile grupurilor din rapoate sunt echivalente cu secţiunea de detaliu
din formular. Grupurile (mai sunt numite benzi) pot avea propriul lor
antet, Group Headar, şi propriul subsol, Group Footer, care sunt
folosite pentru denumirea grupului, respectiv pentru totaluri pe grup.
Posibilităţi de grupare am văzut şi la formulare.
4. Şi rapoartele pot avea subrapoarte.
În acest capitol vom învăţa:
Să creăm un raport imediat
Să creăm un raport cu ajutorul asistentului (Report Wizard)
Să facem grupări şi sinteze
Să tipărim etichete pentru corespondenţă
Pentru a crea un raport imediat selectaţi din dosarul tabele ‘carte’, apoi din
butonul <New Object> opţiunea <Auto Report>.
E
C
R
A
N
91
BAZE DE DATE Page 65
E
C
R
A
N
92
E
C
R
A
N
93
BAZE DE DATE Page 66
E
C
R
A
N
94
E
C
R
A
N
95
BAZE DE DATE Page 67
E
C
R
A
N
96
Aici vom opta să sortăm , în cadrul fiecărui grup, cărţile după titlu.
După <Next> obţinem următorul ecran:
E
C
R
A
N
97
BAZE DE DATE Page 68
E
C
R
A
N
98
Se poate observa şi pe acest exemplu cum apar grupurile, dar cititorul este
rugat să-şi creeze exemple mai semnificative.
Vom continua cu un exemplu mai complex, de sinteză.
Să creăm mai întâi cererea ‘comenzi’. Selectăm ca în ecranul de mai jos:
E
C
R
A
N
99
BAZE DE DATE Page 69
E
C
R
A
N
100
E
C
R
A
N
101
E
C
R
A
N
102
E
C
R
A
N
103
BAZE DE DATE Page 71
E
C
R
A
N
104
E
C
R
A
N
105
BAZE DE DATE Page 72
E
C
R
A
N
106
E
C
R
A
N
107
BAZE DE DATE Page 73
Din acest ecran puteţi alege fontul (forma literei), dimensiunea literei, stilul
şi culoarea , în cazul că aveţi o imprimanta color. După <Next> apare:
E
C
R
A
N
108
E
C
R
A
N
109
BAZE DE DATE Page 74
Din acest ecran veţi selecta câmpurile, în modul deja cunoscut, după care se
va face sortarea etichetelor. După <Next> apare:
E
C
R
A
N
110
E
C
R
A
N
111
BAZE DE DATE Page 75
E
C
R
A
N
112
E
C
R
A
N
113
BAZE DE DATE Page 76
CAPITOLUL 8
ENUNŢUL PROBLEMEI:
Meserie:
Vor fi retinute meseriile pentru care şomerii au calificare şi vechimea
în fiecare meserie, pentru gasirea unui loc de muncăadecvat pregatirii
profesionale a fiecarui şomer. Vor fi comparate ofertele de locuri de
muncăcu cererile de locuri de muncăşi şomerii vor primi repartitie pentru
locurile de muncăcorespunzatoare pregatirii lor.
Suspendari şi incetari:
BAZE DE DATE Page 80
Prezenţărea la viza:
Art. 17 - (1) Beneficiarul ajutorului de şomaj, al ajutorului de
integrare profesională sau al alocaţiei de sprijin este obligat ca, lunar, pe
baza programării efectuate sau ori de câte ori este solicitat, să se prezinte la
oficiul forţei de muncă.
Data în care se vor prezenţă la viză va fi trecută în carnetul de
evidenţă. în cazul neprezentării se va suspenda dreptul la ajutorul de şomaj,
ajutor de integrare profesională sau alocaţie de sprijin.
BAZE DE DATE Page 81
Cursuri:
Direcţia de Muncă şi Protecţie Socială organizează cursuri de
calificare şi recalificare profesională, acordând în acest fel sprijin şomerilor
pentru o reorienţăre profesională.Şomerii beneficiaza de cursuri gratuie. La
aceste cursuri pot participa şi persoane care nu sunt şomeri, acestea fiind
înregistrate ca clienţii.
Şomerii trebuie să absolve cursul, în caz contrar ei nu mai au dreptul
la ajutor de şomaj, ajutor de integrare profesională sau alocaţie de sprijin şi
trebuie să achite valoare cursului.
Clienţii:
Clienţii sunt persoanele care nu beneficiază de ajutorul de
şomaj sau ajutorul de integrare profesională, dar care sunt înregistraţi dacă
doresc să îşi caute un loc de muncă sau doresc să urmeze un curs organizat
de Direcţia de Muncă şi Protecţie Socială.
BAZE DE DATE Page 82
moment dat, decât cu unul din cele patru tipuri de entităţi, acest lucru
depinzând de valoarea asociată atributului tip şomer (atributul tipului de
entităţi Şomer).
Un mod de a elimina această problemă ar fi să punem în tipul de
entităţi Şomeri atributele celor patru tipuri de entităţi, dar acest lucru va
însemna risipă de spaţiu, pentru ca anumite câmpuri nu vor fi completate.
Tipurile de relaţii între tipurile de entităţi sunt următoarele:
PREUNIVERSITAR cod_şomer
I
data_absolvire dată la care a absolvit ultima şcoala
den_şcoala numele ultimei şcoli
PROVENIŢI DIN cod_şomer
MUNCĂ
data_încetare dată la care a încetat munca
den_unitate numele unităţii la care a lucrat
duarta_c durată contract: pe perioadă
determinată, pe perioadă
nedeterminată, nespecificată
cauza_înc cauza încetării (articolul)
ultims_1 Ultimul salariu
ultims_2 penultimul salariu
ultims_3 salariul cu trei luni înainte de
încheiere
PROVENIŢI DIN cod_şomer
ARMATĂ
data_vatra data lăsării la vatră
nr_libret Numărul libretului
DEPENSIONAŢI cod_şomer
data_depens data depensionării
MESERIE tip_s_c tipul: şomer sau client (s sau c)
cod_şomer
cod_c codul care identifică în mod unic un
client
den_meserie numele meseriei
c_o_r codul ocupaţiilor din România
vechime vechime în meserie
forma_cal forma de calificare
SUSPENDARE cod_şomer
nr_decizie numarul deciziei de suspendare
data_susp dată suspendării
motiv_s motivul suspendării (sunt cinci
motive)
ÎNCETARE cod_şomer
nr_decizie Numărul deciziei de încetare
data_incet dată încetării
motiv_i motivul încetării (sunt 4 motive)
RELUARE cod_şomer
nr_decizie Numărul deciziei de reluare
data_reluare dată reluării
BAZE DE DATE Page 86
VIZA cod_şomer
data_viza1 dată la care şomerul se va prezenta
pentru viză
data_viza2 dată pentru viza ulterioară
CURSURI c_o_r cod ocupaţie din România; va
identifica în mod unic cursul
tip_s_c
cod_şomer
cod_c
denumire numele cursului
data_începere data începerii cursului
data_sfârşit data încetării cursului
valoare Valoarea cursului
CLIENŢI cod_c codul care identifica în mod unic un
client
nume
prenume
adresa este un atribut compus
stare_civila
sex { m, f }
data_nast data naşterii
cod_pers cod personal
BI_serie seria din buletinul de identitate
BI_nr Numărul din buletinul de identitate
studii la fel ca la Şomeri
loc_actual locul de muncă actual
meserie meseria în locul de muncă actual
dat_prez data prezentării
OFERTANTI cod_o Codul care identifică în mod unic un
ofertant
den_unitate Denumirea unităţii ofertante
cod_fiscal Codul fiscal al unităţii
c_a_e_n Cod activitate economică
forma_pr Forma de proprietate: publica,
privata, mixta, cooperatista,
obşteasca
adresa Adresa unităţii
OFERTA nr_oferta Numarul ofertei
cod_o Codul ofertantului care face oferta
data_o Data la care se face oferta
dat_exp Data la care expira oferta
cond_soc Condiţii sociale asigurate: cazare
BAZE DE DATE Page 87
CHITANTA Cod_c
Nr_chitanta numărul chitanţei
data_chitanta data la care se dă chitanţa
valoare valoarea specificată pe chitanţă
activ L {Y, F}
data_prezenţăre D
PREUNIVERSITAR cod_şomer N5 + 4 zecimale (0801)
I
data_absolvire D
den_scoala C40
PROVENIŢI DIN cod_şomer N5 + 4 zecimale (0801)
MUNCĂ
data_incetare D
den_unitate C50
duarta_c N1 {1, 2, 3}
cauza_inc C4
ultims_1 N8
ultims_2 N8
ultims_3 N8
PROVENIŢI DIN cod_şomer N5 + 4 zecimale (0801)
ARMATĂ
data_vatra D
nr_libret C9
DEPENSIONAŢI cod_şomer N5 + 4 zecimale(0801)
data_depens D
MESERIE tip_s_c C1 {s, c}
cod_şomer N5 + 4 zecimale (0801)
cod_c N5 + 2 zecimale (11)
den_meserie C15
c_o_r N6
vechime N2 (>=0)
forma_cal N1 {1, 2, 3, 4, 5, 6}
SUSPENDARE cod_şomer N5 + 4 zecimale (0801)
nr_decizie N4
data_susp D
motiv_s N1 {1, 2, 3, 4, 5}
ÎNCETARE cod_şomer N5 +4 zecimale (0801)
nr_decizie N4
data_incet D
motiv_i N1 {1, 2, 3, 4}
RELUARE cod_şomer N5 +4 zecimale (0801)
nr_decizie N4
data_reluare D
VIZA cod_şomer N5 + 4 zecimale (0801)
data_viza1 D
data_viza2 D
BAZE DE DATE Page 90
CURSURI c_o_r N6
tip_s_c C1 {s, c}
cod_şomer N5 + 4 zecimale (0801)
denumire C30
data_incepere D
data_sfarsit D
valoare N7
CLIENŢI cod_c N5 + 2 zecimale (11)
nume C20
prenume C30
adresa C80
stare_civila N1 {1, 2, 3, 4}
sex C1{ M, F }
data_nast D
cod_pers N13
BI_serie C2
BI_nr N6
studii C1 {1, 2, 3, 4, 5, 6, 7, 8, 9, A,
B, C}
loc_actual C50
meserie C20
dat_prez D
OFERTANŢI cod_o C3
den_unitate C30
cod_fiscal N7
c_a_e_n N4
forma_pr N1 {1, 2, 3, 4, 5}
adresa C80
OFERTA nr_oferta N4
cod_o C3
data_o D
dat_exp D
cond_soc N1 {1, 2, 3, 4, 5, 6}
LOCURI DE cod_loc N2 (>0)
MUNCĂ
nr_oferta N4
meserie C15
c_o_r N6
nat_contract N1 {1, 2, 3}
durata_con N2 (>=0)
vârsta_m N2 (>=18)
vechime_m N2 (>=0)
BAZE DE DATE Page 91
nr_schimb N1 {1, 2, 3, 4, 5}
cond_ocupare N1 {1, 2, 3, 4, 5, 6}
cond_muncă N2 {1, ..., 11}
nr_rep N5
REPARTIŢIE nr_rep N5
tip_s_c C1 {s, c}
cod_şomer N5 + 4 zecimale (0801)
cod_c N5 + 2 zecimale (11)
data_rep D
cod_loc N2
accept_u L
accept_s L
motiv L
data_inc D
CHITANŢA cod_c N5 + 2 zecimale (11)
nr_chitanta N4
data_chitanta D
valoare N7
ŞOMERI CURSURI
n fac m
CLIENŢI CURSURI
n fac m
sunt pentru
1
DATE CURS
Identificarea tranzacţiilor:
Proiectarea fizica
Sunteţi înarmaţi acum pentru a continua şi finaliza singuri
proiectul.