Sunteți pe pagina 1din 48

Fundamentele bazelor de date

Conf.univ. dr. Ramona Lacurezeanu ramona.lacurezeanu@econ.ubbcluj.ro

1.10. 2012 - Fundamentele bazelor de date 15. 10. 2012 - Lucrul cu tabele in Access si Fox 29.10. 2012 - Programarea in Fox 12.11. 2012 - Formulare in Access si Fox 26.11. 2012 - Interogari in Access si Fox 10.12. 2012 - Raporte in Access si Fox 9.01.2013 - Meniuri in Access si Fox

Media finala A * 10% + P * 50% + TG * 40% A, P, TG, >= 5 pentru a se calcula media finala Bibliografie obligatorie:

Carte de curs Caiet de lucrari Prezentari curs

Cuprins curs 1

Baze de date Etapele proiectarii unei BD Baze de date relationale (BDR) Baze de date Access versus Fox Bibliografie

Baze de date

CONCEPTUL DE BAZ DE DATE

Organizarea datelor n vederea prelucrrii pe calculator este o activitate de mare anvergura in actuala societate informationala.
Din punct de vedere al prelucrrii pe calculator, datele sunt definite de trei elemente:

Un identificator (numele atribuit) Atribut (tipul de dat pe care-l conine) Valoare (valoarea propriu-zis).

Organizarea datelor implic:


Organizarea datelor n memoria intern,care cuprinde structura de tip list,coad i stiv. Organizarea datelor pe memoria extern, care cuprinde structurile de tip fiier i baze de date.

O baz de date reprezint un sistem: integrat, coerent de fiiere partajabile. [Nichi&Racovian1996] Integrare. - Baza de date poate fi considerat un sistem unificat i logic de fiiere n care fiecare utilizator are propria viziune asupra modului de reprezentare a datelor stocate. - Baza de date - produsele, partenerii, tranzaciile de produse ntre parteneri; - Baza de date - datele de identificare ale studenilor, profesorii, disciplinele, notele luate de studeni la examene; NU vom avea o baz de date care s conin studenii i tranzaciile, sau partenerii i notele la examene. Coeren. Datele sunt reprezentate n baza de date n raport cu aceleai reguli sau principii; Datele nu sunt redundante Resurse partajate. Poriuni sau ntreaga baz de date pot fi accesate concomitent de mai muli utilizatori.

Nevoia de BD este determinata de:

Redundana acea proprietate a informaiei de a fi replicat necontrolat n diverse locaii (n diferite regiuni ale unui fiier, n fiiere diferite sau n acelai fiier stocat ntr-o alt locaie). - informaiile de contact ale angajatului XX pot apare

n fiierele ce conin contractele de munc de la biroul de personal n fiierele de la secretariatul companiei care gestioneaz agenda fiecrui angajat n fiierele generate de operaiuni de pontaj individual sau colectiv sau de management al timpului efectiv de lucru etc.

Inconsistena aceeai informaie s fie memorat diferit n diverse locaii. o persoan poate discerne faptul c Numr, numr, Nr., # reprezint n general acelai lucru, pe cnd o main s-ar putea s nu fie de aceeai prere. redundana este cauza principal a inconsistenei

Nevoia de BD este determinata de:


Validarea datelor ntr-un sistem bazat pe fiiere clasice, validarea la nivel de date se poate realiza doar prin programare.

- persoane din diferite departamente nu au aceeai viziune asupra afacerii i pot instaura diferite moduri/reguli de validare ale aceluiai tip de date (dar aflate n fiiere diferite)

Securitatea datelor (Disponibilitatea) e n natura fireasc a oricrui utilizator de a dori s dein un control mai sever asupra datelor din propria gestiune.

-apare un efect negativ asupra disponibilitii datelor - ali utilizatori nu vor putea accesa acele date. fr existena unui control la nivel centralizat, securitatea datelor poate fi foarte redus.

Cele 2 aspecte ale unei BD Schema structura, aspectul constant, organizarea bazei; ansamblu de instrumente pentru descrierea datelor, relaiilor dintre acestea, restriciilor Coninut aspectul variabil, dinamic ale bazei; datele propriu-zise

Etapele proiectrii unei baze de date

Etapele proiectrii unei baze de date


1.

Determinarea subiectului tabelelor (entitilor) (Despre ce) Determinarea cmpurilor (atributelor) (Structura tabelei)). Configurarea formularelor pentru introducerea datelor n tabele (Cum cer datele) Determinarea existenei unor relaii ntre tabele (Cum corelez) Determinarea modalitilor de identificare (Cum caut) Stabilirea unor interogri asupra tabelelor bazei de date (Cum extrag Stabilirea rapoartelor ce trebuie produse pentru utilizatorul bazei de date (Cum raportez)

2.

3.

4.

5.

6.

7.

8.

Interfata meniul (Cum relationeaza cele de mai sus)

Determinarea subiectului tabelelor (entitilor) (Despre ce) Entitati: Furnizor, Factura, Material, Magazie si Bon de consum.
- vom considera ca toate materialele cuprinse pe o anumita factura sunt destinate unei singure magazii. - materialele sunt receptionate de o magazie pe baza facturii si sunt eliberate sectiilor de productie pe baza bonurilor de consum. - materialele au un pret unitar de achizitie fix, care nu depinde de furnizor

Determinarea cmpurilor (atributelor) (Structura tabelei)

Configurarea formularelor pentru introducerea datelor n tabele (Cum cer datele)


Un formular este compus din trei parti: antetul, zona de detaliu si subsolul:

Determinarea existenei unor relaii ntre tabele (Cum corelez)

Identificarea corespondentelor: Furnizor - Factura ( Un furnizor poate emite de la 1 la n facturi) Factura - Material ( ntr-o factura sunt cuprinse de la 1 la n materiale n diferite cantitati Factura - Magazie ( O magazie poate primi de la 1 la n facturi

Bon de consum - Material ( ntr-un bon de consum sunt cuprinse de la 1 la n materiale n diferite cantitati
Bon de consum - Magazie ( O magazie emite de la 1 la n bonuri de consum Facturi-Facturi ( O factura poate fi stornata de 0 sau n facturi de stornare)

Determinarea existenei unor relaii ntre tabele (Cum corelez)

VFPro

Stabilirea unor interogri asupra tabelelor bazei de date (Cum extrag )

Baze de date Relationale

Patru concepte care trebuie reinute i nelese:


tabelele coloanele tabelului rndurile tabelului cmpurile din tabel, de pe o anumit coloan i linie.

MODELUL RELAIONAL

F.E. Codd din teoria matematic a mulimilor, tabelele - analoagele mulimilor colecii de elemente distincte care au proprieti comune. Tabelul reprezint:

structura bazei de date care stocheaz datele ; conine date despre un tip de entitate: clas de obiecte, evenimente sau cocepte cu proprieti comune; gril bidimensional : coloane, rnduri; la intersecia rnd-coloan se afl valoarea; nume unic n baza de date.
21

MODELUL RELAIONAL AL BAZEI DE DATE TERMENI ECHIVALENI


MODELUL RELAIONAL SQL (SGBD) NERELAIONAL

RELAIE - caracterizeaz un tip de entitate - o clas de obiecte, evenimente sau concepte cu proprienti comune, care aparin lumii reale i care pot fi distinse de alte clase. ATRIBUT- caracterizeaz o proprietate specific tipului entitii din relaie. TUPLU- caracterizeaz o entitate (o instan unic) al tipului de entitate inclus n relaia din care face parte instana respectiv.

TABEL

FIIER

COLOAN

CMP

RND

NREGISTRAR E
22

Proprietile relaiilor tabelare


Fiecare tabel, individual, are urmtoarele proprieti: Nu exist rnduri duplicate Nu exist nume de coloane identice (duplicate) Ordinea rndurilor este neimportant Ordinea coloanelor este neimportant Valorile (cmpurile) sunt atomice (nedecompozabile).

Baze de date Access versus VFOX

Definitii

BD VFP- are ataat un fiier special, cu structur de tabel, cu extensia .DBC (DataBase Container): - structurile tabelelor componente ( nu fizic tabelele componente sau cmpuri ale acestora, ci memoreaz pointerii (marcatori), cile de acces la fiierele asociate tabelelor) - relaiile permanente dintre tabelele bazei de date (restricii de integritate) - caracteristici suplimentare ale tabelelor din baza de date (nume lungi pentru tabele i cmpuri, clauze pentru validri la nivel de nregistrare i cmpuri, valori prestabilite pentru unele cmpuri, denumiri noi pentru cmpuri, declanatori pentru actualizarea nregistrrilor, relaii persistente ntre tabele), - caracteristici ale bazei de date n ansamblul ei - proceduri care urmeaz a fi executate la apariia unor evenimente.

BD in Access este un container cu extensia mdb.:

OBIECTE

OBIECTELE ACCESS

Table-obiect definit de utilizator n care sunt stocate datele primare. Form-obiect care permite introducerea datelor, afiarea acestora sau controlul ntregii aplicaii. Query-obiect care permite vizualizarea informaiilor obinute prin prelucrarea datelor din unul sau mai multe tabele i / sau interogri. Report-obiect care permite formatarea i tiprirea informaiilor obinute n urma consultrii bazei de date sub form de document.

Pages-obiect care include un fiier HTML i alte fiiere suport n vederea furnizrii accesului la date prin intermediul browser-ului Internet. Macro-obiect care conine o definiie structurat a uneia sau mai multor aciuni pe care Access le realizeaz ca rspuns la un eveniment. Module-obiect care conine proceduri definite de utilizator i scrise n limbajul de programare Visual Basic.
26

OBIECTELE Vfox nu apartin unei BD ci unui


PROIECT

Table-obiect definit de utilizator n care sunt stocate datele primare. Form-obiect care permite introducerea datelor, afiarea acestora sau controlul ntregii aplicaii. Query-obiect care permite vizualizarea informaiilor obinute prin prelucrarea datelor din unul sau mai multe tabele i / sau interogri. Report-obiect care permite formatarea i tiprirea informaiilor obinute n urma consultrii bazei de date sub form de document.

Programe - obiect care conine o succesiune de comenzi ce se executa fie secvential fie dupa regulile structurilor de control Module (class) -obiect care conine proceduri definite de utilizator i scrise n limbaj de programare Meniuri, fisiere text, diferite vizualizari

27

Operatii asupra Bazei de date


Construirea unei baze de date n Visual FoxPro se realizeaz n urmtoarele etape: 1. crearea zonei B.D.; 2. ncorporarea tabelelor simple anterior create & construirea noilor tabele ; 3. specificarea pentru tabelele simple incluse n baze de date a unor caracteristici ce nu se puteau declara n momentul construirii lor, ca tabele izolate; 4. stabilirea legturilor permanente ntre tabelele bazei de date; 5. precizarea unor caracteristici ale noii baze de date; 6. includerea n baza de date a unor vederi, conexiuni cu date externe etc.

Construirea unei baze de date n ACCESS


crearea zonei B.D. adaugarea obiectelor precizarea unor caracteristici ale tabelelor

1. 2.

3.

4. stabilirea relatiilor intre tabele

Operatii asupra Bazelor de date


FOX ACCESS

1. Crearea Baze de date

- meniu Database Designer - Project Manager - comenzi: CREATE DATABASES

- meniu Database Designer

2. tergere Baze de date


3. Deschidere i nchidere Baze de Date

- Delete din meniu -comanda: DELETE DataBases - OPEN DATABASES - CLOSE DATABASES - CLOSE ALL - Modify DataBases <<numBD>> - din fereastra Database Designer - din feereastra DataBases Design prin butonul ADD - comenzi: OPEN DATABASE ADD TABLLE - din fereastra Database Design prin butonul REMOVE - comanda REMOVE TABLE DROP TABLE - chei index n ambele tabele: candidat; regular - trasare ntre chei - integritate referenial

- DELETE din meniu


- File-Open

4. Vizualizare schema Baze de date

5. Adugare tabele

Butonul X - Click pe fiecare obiect din bara de obiecte a ferestrei B.D. - creare obiect table din fereastra bazei de date

6. Stergerea tabelelor

- DELETE din meniul Contextual

7. Relaii ntre tabele

- cheie primar - trasare cmpuri - integritate inferenial

SCHEMA LOGIC A COLECIEI DE OBIECTE ACCESS


TABEL1 TABEL2 TABEL3

INTEROGARE

FORMULAR

RAPORT

30

Operatii asupra tabelelor (+ tabele libere)


1. Creare structur table 2. Modificare structura

FOX - comanda CREATE TABEL - optiune din meniu


- comanda: Modify Structure - opiunea BROWSE din meniul VIEW - comanda List sau Display STRUCTURE - comenzi - optiuni din meniul tabel - completarea prin formular - comanda - meniu - comanda (APPEND, BROWSE< REPLACE) - meniu - comanda - meniu

ACCESS - obiectul Tabel din fereastra bazei de date prin optiune: Design,
- in modul de lucru DESIGN

3. Vizualizare structur 4. Incarcarea tabelelor cu date

- in modul de lucru DESIGN - modul de lucru OPEN - completarea prin formular - opiune din meniu - opiune din meniu

5. Adugarea unei noi nregistrri 6. Vizualizare coninut tabel Modificare coninut tabel 7. Stergere nregistrri

- opiune din meniu Nu avem o comanda speciala - opiuni din meniu

8. Poziionare indicator de nregistrri - comenzi 9. Sortare si indexare nregistrari n - comenzi tabel - opiuni din meniu

10. Filtrare

- opiuni din meniu

- opiuni din meniu

TIPURI DE DATE
DATE TIPUL DATELOR TEXT ALFANUMERICE MEMO DESCRIERE Peste 255 caractere.Valoarea prestabilit la 50. Peste 64.000 caractere. Nu poate fi cheie primar i nu putem indexa dup el. Sunt disponibile mai multe subtipuri.Se alege formatul dorit(nr.zecimale,etc.) Tip Long Integer ce se autoincrementeaz.Nu se poate modifica cnd exist nregistrri. Tip boolean:Yes=-1,No=0.Nu poate fi cheie dar poate fi indexat.
32

NUMBER

NUMERICE

AUTONUMBER

YES/NO

TIPURI DE DATE
DATE
NUMERICE

TIPUL DATELOR CURENCY

DESCRIERE
Format special,fix ,cu patru zecimale,proiectat s exclud erorile de rotunjire n calcule financiare. Data calendaristic i ora sunt stocate ntrun format special fix.Se selecteaz formatul dorit. Include elemente grafice,fiiere cu semnale audio i alte tipuri de date create de o aplicaie OLE server.Nu poate fi cheie i nici index. Adres a unei pagini Web.Format din trei pri: textul afiat,adresa i subadresa. Creaz cmpuri care permit utilizatorului s aleag valori din cadrul altor tabele sau dintr33 o list de valori.

DATE CALENDARISTICE

DATE/TIME

OBIECTE MARI

OBJECT OLE

ADRESE INTERNET INFORMAII LEGATE

HYPERLINK

LOOKUP WIZARD

SUBTIPURI DE DATE NUMERICE


MRIMEA CMPULUI BYTE INTEGER LONG INTEGER SINGLE DOUBLE REPLICATION ID DECIMAL ZECIMAL E 0 0 0 7 15 INTERVALUL VALORIC DE LA 0 LA 256 DE LA -32.768 LA 32.768 DE LA -2.147.483.648 LA 2.147.483.648 DE LA 3,4*1038 LA + 3,4*1038 DE LA - 1,797*10308 LA +1,797*10308 IDENTIFICATOR GLOBAL UNIC DE LA - 1028 LA + 1028 OCTEI 1 2 4 4 8 16 16
34

CREAREA TABELELOR
MODUL DE
REALIZARE A STRUCTURII TABELEI

NUMELE CMPULUI

TIPUL DE DATE CONINUT DE CMP

DIMENSIUNEA CMPULUI. SETRI SUPLIMENTARE RELATIV LA CMPUL DEFINIT.


SETRI SPECIFICE CONINUTULUI CMPULUI

35

SETRI CARACTERISTICE CMPULUI


FORMAT- permite alegerea unor formate prestabilite sau crearea unui format personalizat pentru tipul de dat ales. DECIMAL PLACES -stabilete numrul de zecimale ntre 0-15. INPUT MASK -se aplic tipului text i dat calendaristic un format personalizat de afiare. Ex.Tel.(0262)655-224. CAPTION -nume atribuit cmpului la vizualizare(diferit de cel intern,deja atribuit). DEFAULT VALUE -valoarea inclus implicit, nainte de actualizarea cmpului
36

SETRI CARACTERISTICE CMPULUI

VALIDATION RULE - regula de validare testat pe baza criteriului definit sub forma unei expresii. Acestea folosesc:

Operatori: = ,- ,*, /, Mod ,< ,> , , ,AND,OR ,BETWEEN ,IN ,IS NULL. Indentificatori: ]n paranteze drepte [ ]. Funcii. Constante.

VALIDATION TEXT -mesajul care apare n cazul nerespectrii regulii de validare. REQUIRED -se stabilete la yes dac este strict necesar completarea acestui cmp. INDEXED - se alege opiunea pentru un index neduplicat (primar) sau duplicat . Cmpul indexat este util n operaiile de cutare n baza de date.
37

tabul Lookup cmpul naionalitate valorile: romn, maghiar, german - Display Control de la Text Box la List Box - in linia cu Row Source Type alegem Value List - la Row Source - scriem direct lista, ntre ghilimele, separat de punct i virgul, sau - dm click pe cele trei puncte de la finalul liniei i vom avea captura de mai jos (cte o intrare pe linie).

Tipul Data
1. Tipuri numerice Numeric (N) Float (F) Double (B) Integer (I) Currency (Y) 2. Tipuri calendaristice Date (D) DateTime (T)

Valoare
ntre -0.9E19 i +0.9E19

Descriere
Valori ntregi sau zecimale.

ntre -0.9E19 i +0.9E19

Ca i Numeric.

ntre -4.9E-324 i 1.79E308

Valori n VMDP (virgul mobila dubl precizie).

ntre -2147483647 i +2147483646

Valori ntregi.

ntre -9*1014 i +9*1014

Valori monetare.

1 ianuarie 1 e.n. - 31 decembrie 9999 e.n.

Dat ce cuprinde anul, luna i ziua

00:00:00 a.m.,1 ianuarie 1 A.D.- 11:59:59 p.m.,31 decembrie 9999 A.D.

Dat ce cuprinde anul, luna, ziua, or, minutul i secund

3. Tipul caracter Character (C) 4. Alte tipuri specifice Logical (L) Memo (M)
General (G)

Orice caracter

Caractere alfanumerice.

.T. / .F.

Valoare booleana de True (.T.) sau False (.F.).

E limitat de memoria disponibil

Text alfanumeric de lungime nedeterminat.

E limitat de memoria disponibil

Legtura la un obiect (poz, sunet etc.).

Relatii intre tabele


VFP Access

Intre dou tabele se pot defini urmtoarele tipuri de relaii: relaie unu-la-unu; relaie unu-la-mai-multi relaie mai-multi la-unu relaie mai-multi-la-mai-multi

Observatii
VFP - relaii persistente, relaii temporare -implementate primele trei tipuri de relaii. Cmpul din tabela printe dup care se face indexarea acesteia se numete cheie primar (primary key), iar cel din tabela fiu, dup care se face indexarea, se numete cheie extern (foreign key).

Access

Cheia primar se seteaz la crearea tabelei sau ulterior Cheie straina sau externa

Cheia primar se seteaz la indexarea tabelei ca i index primar sau candidat (primary index or candidate index), iar cheia extern se poate seta ca i index primar, candidat, unic sau normal.

CREAREA LEGTURILOR NTRE TABELE


LEGTUR DE TIP UNU LA MAI MULTE.
NUMELE TABELEI

NUMELE CMPULUI CHEIE PRIMAR SAU CHEIE EXTERN CARE CREEAZ LEGTURA.

46

CREAREA LEGTURILOR NTRE TABELE


DESCHIDEREA INTERFEEI PENTRU CREAREA LEGTURILOR.

CASET DE DIALOG DESCHIS PRIN MENIUL RAPID PENTRU ADUGAREA TABELELOR N SUPRAFAA RELAIILOR.

47

Bibliografie

Sitar Dan Baze de date , Editura Risoprint, Cluj-Napoca, 2010 Fotache M., SQL Dialecte DB2, Oracle, Visual FoxPro, Polirom, Iai, 2001. Fotache M. et al., Visual FoxPro, Polirom, Iai, 2002. Fotache M., Proiectarea bazelor de date. Normalizare i postnormalizare. Implementri SQL i Oracle, Polirom, Iai, 2005. Nichi . I. et al., Elemente de baze de date i programare aplicate n economie, Cluj-Napoca, 2008. Nichi S.I., Racovian D.M. et al., Bazele prelucrrii informaiilor i tehnologie informaional, Intelcredo, Deva, 1996. Selinger R., Baze de date i gestiunea tranzaciilor, Albastr, ClujNapoca, 1998. Sitar-Tut, D.A., Baze de date distribuite, Risoprint, Cluj-Napoca, 2005.

S-ar putea să vă placă și