CURS NR. 1:
DISCIPLINA: BAZE DE DATE I (SGBD FOXPRO si SQL): 2C/2L Obiective: 1. Insusire de metode, tehnici si instrumente necesare pentru realizarea de aplicatii cu baze de date care sa rezolve probleme reale din economia nationala; 2. Insusirea si formarea de deprinderi pentru lucrul cu SGBD-ul FOXPRO si SQL 3. Realizarea unui proiect individual care sa contina o aplicatie cu baze de date (proiectare, realizare software folosind SGBD-ul FOXPRO sau SQL). Bibliografie: 1. Baze de date – Sistemul FOXPRO. Editura PROUNIVERSITARIA 2009. Autori: Virgil Chichernea, Gabriel Garais 2. Baze de date – ORACLE (SQL,SQL*PLUS, PL/SQL. Editura Universitatii Romano-Americane 2010 Autori: Virgil Chichernea, Gabriel Garais, Dragos Paul Pop 3.Pliant cu instructiuni FOXPRO 4. Pliant cu instructiuni SQL Evaluare: 2 TESTE + PROIECT INDIVIDUAL in timpul semestrului: 1. Nota din timpul semestrului = (t1+t2 +pr)/3 + bonificatie frecventa; 2. Daca Nota>8 scutit de examen. altfel EXAMEN SCRIS +EXAMEN ORAL si 3. NOTA = [Nota din timpul anului +(Examen scris si examen oral)]/2
BAZE DE DATE I: Tematica - Curs si Seminarii AN II – Semestrul I An Univ. 2011-2012 Prof. univ. dr. Virgil Chichernea Asist.drd. Cristina Titrade NIVEL UTILIZATORI DE APLICATII INFORMATICE CU BAZE DE DATE Curs nr. 1 10.10.2011 Notiuni, concepte, metode, tehnici si instrumente de organizare a datelor. Data si informatie; Fisier, BD si SGBD; Banca de date; Sistem informational, Sistem informatic cu baze de date; Organizarea datelor in baza de date. Entitate, obiect, legaturi
Modelul conceptual; modelul logic si modelul fizic al BD. - Studiu de caz Curs nr. 2 17.10.2011 Baze de date relationale si S.G.B.D.R. Relatii (tabele). Tipuri de chei si indentificarea inregistrarilor prin chei Tipuri de legaturi intre entitati. Diagrama entitate-asociere Tipuri de restrictii si integritatea restrictiilor Dependente si determinari in multimea atributelor Curs nr. 3 24.10.2011 SGDB-UL FOXPRO. Modurile de lucru cu FOXPRO. Interfata produsului Visual FoxPro (Modul de lucru asistat): Creare, vizualizare baze de date (tabele). Actualizare inregistrari, interogare, listare baza de date (tabele). Listarea si actualizarea structurii unei baze de date . Comenzi: CREATE; CREATE TABLE; MOFIFY STRUCTURE; USE; SELECT; CLOSE; SET FIELDS; SET FILTER TO Curs nr. 4. 31.10.2011 Comenzi si functii FOXPRO. Conventii de metalimbaj Comenzi pentru crearea (definirea), modificarea si afisarea structurii bazei de date Comenzi pentru incarcarea, actualizarea (aduagarea, modificarea, stergerea de inregistrari) si gestionarea bazei de date. Comenzi pentru sortarea si indexarea bazei de date Comenzi pentru lucru cu indexi. Comenzi: LIST/DISPLAY; LOCATE; GOTO; SORT; COPY; APPEND; APPEND FROM; DELETE; RECALL; PACK; REPLACE; BROWSE. Curs nr. 5. 07.11.2011 Comenzi pentru localizarea inregistrarilor Comenzi pentru actualizarea inregistrarilor din fisiere Indexarea si cautarea rapida. Relationarea tabelelor: Transferul de date intre tabele FoxPro si alte structuri (import/export din/catre [tablouri de memorie] /[ alte tipuri de fisiere]: Comenzile: INDEX; SET ORDER; DELETE TAG; FIND; SEEK; SET RELATION; SET SKIP; APPEND FROM ARRAY; COPY TO ARRAY; SCATTER; GATHER; APPEND FROM TYPE; COPY TO TYPE Aplicatii
Curs nr. 6. 14.11.2011 Comenzi pt. introducerea si afisarea datelor de la terminal Comenzi pt. calcule. Comenzi pt. lucru cu variabile de memorie si tablouri Comenzi pt. informarea utilizatorului. Expresii si functii FOXPRO Prelucrari statistice si financiare: Operatii cu baze de date in Visual FoxPro; Descrierea operatiilor cu baze de date prin comenzi (CREATE; OPEN; DELETE DATABASE;) Gestiunea interactive a B.D. Database Designer; Comenzile: APPEND; COPY; MODIFY MEMO; APPEND GENERAL; @ SAY; @GET; COUNT; SUM; AVERAGE; CALCULATE; ` TOTAL. Aplicatii Curs nr. 7 21.11.2011 Test nr. 1: Teste grila (seminar) + Test pt. utilizare comenzi si functii FOXPRO NIVEL ANALISTI – PROGRAMATORI DE APLICATII INFORMATICE CU BAZE DE DATE Curs nr. 8. 28.11.2011 Anomalii intalnite in proiectarea relatiilor Normalizarea –Ameliorarea succesiva a schemei conceptuale a BD; Forme normale: FN1; FN2; FN3 Etape de realizarea aplicatiilor cu baze de date ALEGERE TEMA PENTRU PROIECTUL INDIVIDUAL Curs nr.9 5.12.2011 Limbajul de programare FOXPRO Mediul de programare in limbajul FOXPRO Structuri alternative si structuri repetitive Structura unui program scris in FOXPRO Comenzile: IF…ENDIF; DO CASE; DO WHILE; FOR; SCAN; LOOP; EXIT Elemente ale limbajului SQL Curs nr. 10 12.12.2011 Subprograme in FOXPRO Lucru cu meniuri orizontale si verticale Comenzi pentru definirea si gestionarea meniurilor Lucru cu ferestre. Aplicatii
Comenzile: PROCEDURE; DO; PARAMETERS; FUNCTION; PARAMETERS; RETURN; SET UDFPARMS; Programe pentru modificarea inregistrarilor . Regasirea inregistrarilor . Modificarea inregistrarilor Programe pentru stergerea inregistrarilor . Regasire inregistrari . Stergere logica . Stergere fizica Programe pentru vizualizarea inregistrarilor Programe pentru realizarea rapoartelor si redirectionarea iesirii spre un suport extern Elemente ale limbajului SQL Curs nr. 11 19.12.2011 Test nr. 2. Dezvoltarea de aplicatii si scriere de programe in limbajul FOXPRO Curs nr. 12 9.01.2012 Modularizarea programelor in FOXPRO Definirea procedurilor Comunicarea intre proceduri Parametrizarea procedurilor Modularizarea programelor FOXPRO Visual FOXPRO Elemente de programare orientate spre obiecte (clase, obiecte, evenimente si metode). Comenzile: DEFINE CLASS,; CREATEOBJECT; RELEASE READ EVENTS. Proiectarea formularelor (Generatorul Form Designer). Generatorul de tabele (Table Designer & Table Wizard) Generatorul de interogari (Query Designer & Query Wizard Curs nr. 13 16.01.2012 Comunicarea aplicatiei Visual FoxPro cu exteriorul: Proiectarea rapida a vederilor cu Remote View Wizard; Proiectarea paginilor web pentru vizualizarea datelor pe internet; Proiectarea paginilor de cautare pe internet; Proiectare de documente si transmiterea lor prin e-mail Dezvoltarea de aplicatii in FOXPRO . Prezentarea de aplicatii
Curs nr. 14 16.01.2012 Generatorul de meniuri (Menu Bilder). Comenzile: CREATE/MODIFY MENU;DO Generatorul de rapoarte ( Report & Label Designer; Report & Label Wizard). Comenzile : CREATE REPORT; REPORT FROM. Generatorul de aplicatii (Project MANAGER)_ Recapitulare pentru examen
Observatii: 1.Proiectul individual va contine o aplicatie informatica care sa gestioneze o baza de date formata din cel putin doua tabele corelate si care sa furnizeze cel putin patru rapoarte. Produsul software va gestiona prin meniuri baza de date si editarea rapoartelor. 2.Proiectul va fi elaborat pe parcursul semestrului si prezentat in ultimele 2 ore de laborator din sem. II. Prin exceptie, proiectul poate fi prezentat si in timpul examenului – dar cu depunctare 3.Pe parcursul sem. II vor fi date doua probe de verificare. 4.Studentii care au media aritmetica formata din cele doua teste, proiect si activitatea de la seminar peste 7 si o prezenta de peste 75% poate sa nu se mai prezinte la examen
Bibliografie: 1. Baze de date . Sistemul FoxPro. Autori: Prof. dr. Virgil Chichernea, Lect. drd. Gabriel Garais Editura PROUNIVERSITARIA, 2009
2. Pliantul cu instructiuni FoxPRO si SQL
3. SGBD-ul FoxPro (Visual FoxPro)
I. ALEGERE TEMA PENTRU PROIECTUL INDIVIDUAL
CUPRINS CADRU AL PROIECTULUI: 1. Tema proiectului 2. Obiective 3. Definirea si proiectarea logica si fizica a iesirilor (machete ale rapoartelor de iesire: ex. L1: Listare tabela 1; L2: listare tabela 2; L3: Listare din ambele tabele….) 4. Definirea si proiectarea logica si fizica a intrarilor (macheta ecranelor de preluare date de intrare) 5. Definirea si proiectarea logica si fizica a bazei de date . Proiectarea conceptuala a bazei de date (DEA) . Structura tabelelor bazei de date 6. Definirea si proiectarea meniurilor aplicatiei 7. Schema bloc a aplicatiei 8. Anexe: - Listarea programului sursa - Situatii de iesire cu date de test
Curs nr. 1:
Obiectivele unui invatamant academic modern, care este prin excelenta un invatamant informatizat, pot fi sintetizate astfel: -
Sa te invete sa inveti Sa te invete sa faci Sa te invete sa te integrezi Sa te invete sa ai personalitate Asigurarea acestor obiective complexe asigura premisele pregatirii tinerei generatii pentru economia de piata globala si ii da oricarui absolvent posibilitatea de a avea un raspuns clar la intrebarea ”Ce stii sa faci? “
SA FOCALIZAM ACUM ATENTIA PE OBIECTIVELE CURSULUI BAZE DE DATE : Peste 75% din Sistemele informatice operationale in lume sunt sisteme informatice cu baze de date. I.Informaticianul trebuie sa apeleze in permenenta la cei 5 prieteni ai lui : 1. Ce trebuie facut ? 2. De ce trebuie facut ? 3. Cum trebuie facut ? 4. Cine, unde, cand ? 5. Merita ? II. Informaticianul trebuie in permanenta sa apeleze la refolosibil, pentru a-si crea timpul necesar insusirii noilor tehnologii !!!
III. Orice aplicatie/sistem cu BD incepe cu faza de proiectare care se finalizeaza prin proiectul tehnic in care obligatoriu trebuie sa apara pprincipalele rapoarte de iesire semnate de catre beneficiar. CURS NR. 1
CUPRINS:
BAZE DE DATE RELAŢIONALE Noţiuni si concepte utilizate în organizarea datelor II. MODELE CONCEPTUALE DE ORGANIZAREA DATELOR IN BAZE DE DATE: Model ierarhic; Model Retea; Model Relational
III. ORGANIZAREA DATELOR ÎN BAZA DE DATE Cuvinte cheie : date, informaţii, fişier, baza de date, schema bazei de date, subschema bazei de date, nivel conceptual, nivel intern, nivel extern, bănci de date, sistem informaţional, sistem informatic cu baze de date, Sistem de Gestiune a Bazelor de Date (SGBD), utilizatorii bazei de date (administratorul bazei de date, programatorii de aplicaţii, utilizatorii finali), înregistrare, câmp, entitate, obiect (atribut), legături (asocieri) între entităţi, modelul entitate legătură, modele conceptuale pentru organizarea datelor, modelul ierarhic, modelul reţea, modelul relaţional.
1.1. Noţiuni si concepte utilizate în organizarea datelor D1: Datele se obţin prin efectuarea unor observaţii/masuratori asupra obiectelor, fenomenelor, imaginilor, sunetelor, textelor. Asupra datelor, reprezentate într-un cod convenţional, se pot face operaţii de stocare, prelucrare, transmitere fie prin mijloace manuale, fie prin mijloacele informatice. Informaţiile rezultă din semnificaţiile şi legăturile ce se pot deduce din ansamblul de date. D2: Informatiile se obtin prin prelucrarea datelor. Prin conceptul de dată se înţelege cuplul atribut-valoare (A,V) Orice dată se identifică prin atributul ei. Valoarea concretă pe care o ia acest atribut constituie o reprezentare a sa.
Exemple: Date: Atribute Valori meserie strungar meserie lăcătuş meserie magazioner meserie macaragiu ----------------------------------------------------------data naşterii 12.02.1935 data naşterii 25.12.1937 data naşterii 05.07.1934 data naşterii 18.02.1929 Informatii: a) b) c)
categoria socio-profesionala: muncitori; persoane în vârstă.
1.1.1. Fisiere, Baze de date si Sisteme de gestiune a bazelor de date D3: Un fişier este un ansamblu de date ce poate fi manipulat de un mare număr de utilizatori într-o viziune unică asupra datelor. Datele memorate într-un fişier sunt structurate în înregistrări, o înregistrare se compune din mai multe câmpuri, un câmp are o lungime de unul sau mai multe caractere (octeţi), un caracter (byte sau octet) se memorează în opt biţi. Un fişier se identifică, de regulă, de către sistemul de operare, printr-un nume şi o extensie. D4: Baza de date este o colecţie de date şi informaţii necesară şi suficientă pentru a satisface cerinţele informaţionale ale conducerii unei unităţi economico-sociale (agent economic, instituţii publice etc.). BD este formata dintr-un ansamblu de fisiere corelate. Din punct de vedere tehnic o bază de date este formată din unul sau mai multe fişiere în care datele sunt memorate într-o structură de date specifică software-ului utilizat la crearea bazei de date.. O bază de date grupează un ansamblu de fişiere corelate. O bază de date este un ansamblu de date ce poate fi manipulat de mai mulţi utilizatori în viziuni diferite asupra datelor Structura acestui ansamblu de date se realizează prin schema bazei de date. Schema bazei de date, în sens CODASYL, descrie toate datele şi structurile luate în evidenţă în cadrul unei baze de date. D5: Schema BD reprezintă structura globală a bazei de date (unii autori o numesc structură globală, alţii structură virtuală). Subschema BD reprezinta viziunea particulara a fiecarui utilizator
În exploatarea bazei de date fiecare utilizator are propria viziune asupra structurării datelor relevante pentru el. De fapt fiecare utilizator va avea acces la o bază de date particulară, în realitate fictivă, iar descrierea acestei baze de date particulare se numeşte subschema bazei de date. Constituirea SCHEMEI BD se realizează în patru etape după cum urmează: Etapa 1: Identificarea mulţimilor de entităţi din cadrul sistemului Etapa 2: Identificarea asocierilor (legăturilor) care există între mulţimile de entităţi Etapa 3: Determinarea condiţiilor care se impun asocierilor identificate Etapa 4: Determinarea caracteristicilor (atributelor) entităţilor şi asocierilor care au rezultat în urma etapelor precedente. D6: Sistemul de Gestiune a Bazelor de date (SGBD) este format dintr-un Sistem de programe care permite construirea unor baze de date, încărcarea datelor şi dezvoltarea de aplicaţii privind valorificarea datelor memorate în bazele de date. SGBD-ul este în fond o interfaţă între utilizatori şi sistemul de oparare. - Orice SGBD conţine un limbaj de descriere a datelor (LDD), care permite descrierea structurii unei baze de date şi un limbaj de cereri (LC) sau limbaj de prelucrare a datelor (LPD)ce permite efectuarea de operaţii asupra datelor aflate în baza de date cum ar fi: crearea; actualizarea; interogarea;listarea si intretinerea bazei de date. S.G.B.D. este un sistem de programe care asigură independenţa programelor aplicative faţă de modul de structurare a datelor. Conform metodologii ANSI fiecărei baze de date i se asociază trei nivele funcţionale şi anume: - nivelul conceptual care este depozitarul semantic al bazei de date. Acest nivel reprezintă o abstracţie a sistemului modelat şi serveşte ca referire globală pentru viziunile particulare ale utilizatorilor (schema bazei de date); - nivelul extern (logic) cuprinde viziunile specifice definite pentru manipularea (prelucrarea) datelor. Necesităţile de date ale utilizatorilor sunt exprimate la acest nivel. O viziune externă a bazei de date reprezintă, într-o manieră cât mai aproape de realitate, un tip de utilizator al bazei de date (subschemele bazei de date); - nivelul intern (fizic), corespunde reprezentării datelor pe suporturile de date. Acest nivel contribuie la eficacitatea transpunerii şi implementării sistemului conceptual.
Orice BD are un nivel conceptual, un nivel fizic, un nivel logic 1.1.2. Banca de date, sistemul informaţional, sistemul informatic cu baze de date D7: Banca de date reprezintă un sistem de organizare, prelucrare şi teletransmisie de date şi informaţii care este format dintr-o baza de date, un sistem de programe pentru gestiunea fişierelor bazei de date, echipamentele de calcul implicate şi procedurile de lucru utilizate. D8: Sistemul informaţional este sistemul de culegere, prelucrare, transmitere şi stocare a datelor şi informaţiilor care circulă în cadrul unei unităţi economico-sociale. Sistemul
informaţional face legătura între sistemul condus şi sistemul de conducere fiind subordonat acestora. D9: Sistemul informatic este un ansamblu structurat de elemente intercorelate funcţional pentru automatizarea procesului de obţinere a informaţiilor şi fundamentarea deciziilor. Sistemul informatic este inclus în sistemul informaţional şi conţine procesul de culegere, verificare, transmitere, stocare şi prelucrare automată a datelor. Sistemul informatic se compune din baza de date, echipamente de calcul şi transmisie de date, software-ul şi utilizatorii.
SISTEM INFORMAŢIONAL SISTEM INFORMATIC Subsistem BANCA DE DATE Baza Echip. de date SGBD de calcul Proceduri Schema nr. 1 – Relaţiile dintre sistemul informaţional, sistemul informatic şi banca de date
Categorii de personal implicate in realizarea si exploatarea sistemelor informatice cu BD: Administratorul bazei de date, Programatorii de aplicaţii, Utilizatorii finali - Administratorul bazei de date care este gestionarul responsabil cu buna funcţionare a SGBD şi cu menţinerea în permanenţă în stare de funcţionare a bazei de date. Administratorul bazei de date ( o persoană sau un grup) are următoarele responsabilităţi: - proiectarea bazei de date (definirea schemei şi a subschemelor); - asigurarea securităţii datelor; - ameliorarea performanţelor bazei de date; - asigurarea integrităţii şi extinderii bazei de date. - Programatorii de aplicaţii - specialiştii care realizează programe in LC, acestea fiind apoi compilate şi memorate în fisiere ce pot fi lansate în execuţie de către utilizatori prin apelarea numelui asociat de utilizator şi efectuează unele prelucrări specifice de date; - Utilizatorii finali – persoane care exploatează baza de date si ruleaza inclusiv programele elaborate de programatorii de aplicaţii. Acesti utilizatori pot să obţină informaţiile memorate în baza de date fără să aibă cunoştinţe de programare. Ei obţin informaţiile dorite prin comenzi cunoscute şi eventual răspunzând la diferite opţiuni pe care le indică sistemul la un moment dat.
RECAPITUALARE: BAZE DE DATE: - ORGANIZAREA DATELOR - MANAGEMENTUL BAZEI DE DATE - ADMINISTRAREA BAZEI DE DATE DEFINITII: D1: BAZE DE DATE este o colectie de tabele corelate, ce poate fi exploatata in acelasi timp de catre mai multi utilizatori, fiecare utilizator avand viziuni diferite asupra datelor. D2: O bază de date grupează un ansamblu de fişiere corelate. Structura acestui ansamblu de date se realizează prin SCHEMA BAZEI DE DATE. SUBSCHEMA BAZEI DE DATE – B.D. particulara (viziunea) pe care o vede si lucreaza cu ea un utilizator.
B.D. are trei nivele functionale: nivel conceptual; nivel extern (relational); nivel intern (fizic) D3: SGBD-ul este un sistem de programe de gestiune şi de aplicaţii care asigură descrierea structurii bazei de date, manipularea datelor (creare, actualizare, interogare, listare şi întreţinere), controlul şi autorizarea accesului la baza de date şi asigurarea integrităţii şi securităţii bazei de date.
SISTEM INFORMAŢIONAL SISTEM INFORMATIC Subsistem BANCA DE DATE Echip. Baza de de date SGBD Proceduri calcul Figura nr. 2 – Relaţiile dintre sistemul informaţional, sistemul informatic şi banca de date .
În figura 1 sunt reprezentate grafic relaţiile stabilite între aceste concepte. Deoarece datele dintr-o unitate economico-socială sunt într-o permanentă schimbare, atunci şi asupra datelor memorate în baza de date asociată sistemului informatic al unităţii economico-sociale se efectuează operaţii de creare, modificare, adăugare. ştergere, prelucrare (interogare, listare, transfer) etc. OPERATII ASUPRA BD: -CREARE -ACTUALIZARE (Modificare valori; adaugare inregistrari; stergere inregistrari) - INTEROGARE - LISTARE - INTRETINERE -
Utilizatorii bazei de date se împart în următoarele categorii: Administratorul bazei de date - Programatorii de aplicaţii Utilizatorii finali
II. MODELE CONCEPTUALE DE ORGANIZAREA DATELOR IN BAZE DE DATE: Model ierarhic; Model Retea; Model Relational Modelul Relational: TABELA = RELATIE ATRIBUT = Coloana a tabelei; TUPLU = Inregistrare (linie a tabelei) DOMENIU = Multimea de valori admisibile pentru un atribut; STRUCTURA RELATIEI = Multimea de atribute care compun structura relatiei; SCHEMA RELATIEI = Structura relatiei + restrictii privind valorile admise; CHEIE PRIMARA= Atribut sau grup de atribute care pot identifica un tuplu in mod unic; Cheie simpla (FORMATA DINTR-UN SINGUR ATRIBUT) CHEIE COMPUSA (formata din mai multe atribute) CHEIE CANDIDATA = Atribut sau grup de atribute care pot identifica un tuplu in mod unic; Din multimea cheilor candidate se alege cheia primara CHEIE EXTERNA = Cheia care asigura legatura intre tabele (putem avea legaturi de tip 1: 1; 1: m; n:m). Se realizaeaza de regual prin campuri comune intre doua tabele.
Exemplu: CLIENT (CodClient, Denumire, Adresa,...) FACTURI (NrFact, DataFact, Emitent, CodClient, Cantitate, PU, Valoare, DataScadenta,...)
PRODUS(CodProdus, DenProd, Um, Pret,...) FACTURISCADENTE(NrFact, CodClient, Data, CodProdus,Cant, Pu, Valoare,....) Chei externe: -CodClient pentru legatura dintre tabelele CLIENT si FACTURI; _ CoProdus pentru legatura dintre tabele PRODUS si FACTURISCADENTE
III. ORGANIZAREA DATELOR ÎN BAZA DE DATE 2.1. Entitate, obiect (atribut), legături (asocieri) între entităţi DEFINITII: D10: Prin entitate înţelegem un obiect, un fenomen, un proces din lumea reală despre care ne interesează să avem informaţii în cadrul sistemului. O entitate poate fi o persoană, un loc, un obiect, eveniment sau idee pentru care dorim să memorăm şi prelucrăm datele. De exemplu pentru activitatea de aprovizionare a unui agent economic putem identifica următoarele entităţi: FURNIZORI, CONTRACTE, ARTICOLE, etc. Entităţile pot forma relaţii între ele. D11: O relaţie este o asociere între două sau mai multe entităţi. D12: Obiectul (câmpul, atributul) este o componentă a unei entităţi. El nu are o existenţă proprie, ci există ca o caracteristică a entităţii. De exemplu entitatea CONTRACT, cu care se lucrează în sistemul de aprovizionare din cadrul unui agent economic (vezi figura 4), este caracterizată prin obiectele următoare: cod_furnizor, cod_articol contractat, cantitate, termen de livrare, clauze, etc.
Figura nr. 3 – Structura datelor din subsistemul aprovizionare Pentru exemplificarea conceptelor de entitate, obiect şi dată precum şi a legaturilor dintre ele, să mai analizăm şi activitatea de gestiune date din cadrul secretariatului unei facultăţi. În cadrul acestei
aplicaţii putem identifica următoarele entităţi: PROFESORI, MATERII, STUDENTI, SALI_CLASA etc. Reprezentarea grafică a acestor concepte şi a legăturilor dintre acestea este reprezentată în figura 5. Însă numai aceste noţiuni nu sunt suficiente pentru modelarea organizării datelor în baza de date, deoarece lipsesc legăturile semantice între entităţi şi în interiorul acestora. D13 Pentru descrierea unei activităţi pentru care s-au cules deja datele se foloseşte aşa numitul MODEL ENTITATE-LEGĂTURĂ (MEL). În cadrul modelului entitate-legătură sunt puse în evidenţă componentele importante ale sistemului (entităţile), proprietăţile acestor componente (atributele) şi legăturile dintre entităţi (asocierile).
Figura nr. 4 – Exemplificări ale conceptelor: entităţi, obiecte, date. Principalele tipuri de asocieri între entităţi sunt reprezentate în figura 6. Asociere 1:1
A
B
Asociere 1:m
A
B
Asociere m:n
A
B
A
B
A
C
Asocieri exclusive
Asocieri recursive Figura nr. 6 - Tipuri de asocieri între entităţi
2.2. Modele conceptuale pentru Sisteme de Gestiune a Bazelor de Date Modelul conceptual pentru un Sistem de Gestiune al Bazei de Date este modelul utilizat pentru descrierea structurii conceptuale (schemei) şi structurii logice (subschemei) a datelor, precum şi a legăturilor dintre acestea, existente într-o bază de date. El se particularizează prin modul de definire al entităţilor, câmpurilor, tipurilor de înregistrări, legăturilor dintre colecţiile de date şi prin terminologia utilizată. Modelul conceptual nu trebuie confundat cu structura de reprezentare a datelor, deoarece pentru aceeaşi structură de reprezentare pot exista mai multe modele conceptuale şi desigur că pentru diferite structuri de reprezentare, se poate elabora un singur model conceptual. În practica prelucrării automate a datelor, s-au consacrat următoarele modele conceptuale: modelul conceptual “ierarhic”, modelul conceptual “reţea”, modelul conceptual “relaţional”. D14: Modelul conceptual "ierarhic" se bazează pe structuri de reprezentare "arborescente" şi tipuri de legături 1:1, 1:n. Cu ajutorul modelului conceptual "ierarhic", schema bazei de date poate fi reprezentată sub forma unui graf arborescent (cu un nod rădăcină) în care nodurile exprimă colecţiile de date, iar arcele reflectă legăturile de asociere între înregistrările colecţiilor de date superioare şi inferioare. Caracteristicile acestui model sunt: - accesul direct este posibil numai la înregistrările din colecţia de date rădăcină; - accesul la înregistrările colecţiilor de date inferioare se face prin specificarea tuturor colecţiilor, care se găsesc pe drumul de acces (toate colecţiile care se află în subordonare ierarhică între colecţia rădăcină şi colecţia cercetată). - toate înregistrările din colecţia bazei de date, cu excepţia colecţiei de date rădăcină, au câte o înregistrare superioară. În prezent se află în exploatare mai multe SGBD-uri , fundamentate pe modelul ierarhic între care menţionăm: GIS (IBM), IMS (IBM), IDMS(UNIVAC), etc. D15: Modelul conceptual "reţea" se bazează pe structura de reprezentare "reţea" şi pe tipurile de legături 1:1, 1:n şi m:n. Prin acest model schema bazei de date poate fi reprezentată sub forma unui graf general, fără limite, în care nodurile exprimă colecţii de date, iar arcele reflectă relaţiile de asociere. Caracteristica principală este aceea că acceptă ca orice colecţie de date să se situeze la nivelul 1, prin indicarea explicită a relaţiilor dintre acestea. În plus acceptă existenţa temporară a înregistrărilor fără legaturi cu alte înregistrări şi permite înregistrarea unică a înregistrărilor în baza de date. Potrivit acestui model, legăturile fizice pe suport se fac prin intermediul unor caracteristici distincte ale structurilor sale (pointeri), a căror înregistrare exprimă adresa pe suport a înregistrării superioare sau a înregistrării inferioare. Acest model conceptual stă la baza SGBD-urilor TOTAL(UNIVAC), DBMS(DEC) şi SOCRATE. Modelul conceptual relaţional a fost elaborat de matematicianul C.F.Codd de la firma I.B.M. În acest model conceperea schemei depinde exclusiv de legăturile dintre obiecte.
D16: Modelul relaţional permite o descriere simplă a bazei de date sub forma unor tabele în care actualizarea datelor în tabele se face fără anomalii de stocare. În modelul relaţional o colecţie de atribute (câmpuri) formează o relaţie (numită şi tabelă). O relaţie poate fi reprezentată printr-o tabelă, în care fiecare rând reprezintă un tuplu (înregistrare) distinct, iar fiecare coloană reprezintă un câmp al înregistrării, câmp ce ia valori într-un anumit domeniu. Cu ajutorul modelului relaţional structura conceptuală a bazei de date poate fi reprezentată sub forma unei mulţimi de tabele, care se asociază între ele prin intermediul unor chei. Modelul conceptual relaţional prezintă o serie de avantaje: - este uşor accesibil pentru utilizatorii mai puţin iniţiaţi în informatică, prin faptul că baza de date este reprezentată ca o colecţie de tabele; - este un model omogen de reprezentare a legăturilor dintre colecţiile de date (prin relaţii); - asigură independenţa programelor faţă de structura datelor; - permite proiectarea unei structuri conceptuale optime a datelor, cu ajutorul operaţiei de normalizare; - admite satisfacerea cerinţelor întâmplătoare ale utilizatorilor, prin intermediul unor limbaje bazate pe algebra relaţiilor sau a unor limbaje neprocedurale bazate pe teoria predicatelor. Din aceasta categorie a SGBD relaţionale menţionăm: - dBASE, produs elaborat de firma Ashton Tate (în prezent dezvoltat de firma Borland), implementat pe microcalculatoare compatibile IBM sub sistemul de operare DOS şi UNIX ; - FoxPro, implementat pe microcalculatoare PC compatibile IBM sub sistemul de operare DOS, WINDOWS, MAC şi UNIX; - ORACLE, operaţional pe IBM-PC sub sistemele DOS, WINDOWS şi UNIX precum şi pe calculatoare de mare capacitate; - SQLServer, produs de firma Microsoft; - INGRES, conceput de Universitatea Berkeley, instalat pe minicalculatoare sub sistemul de operare UNIX şi lucrează în regim de multiutilizator; - INFORMIX, operaţional sub sistemul de operare SOLARIS. - DB2, operaţional pe microcalculatoare IBM, etc.
PROCESUL DE DEZVOLTARE A ARHITECTURII UNEI BAZE DE DATE Intelegerea tranzactiilor, rapoartelor, ecranelor,utilizarii BD Model date Schema bazei de date Dezvoltarea Schemei conceptuale a BD
Dezvoltarea Subschemelor si specificatiilor logice ale BD
Cerinte
Noile cerinte Viziunile utilizatorilor Dupa definirea completa a subschemelor si schemei BD
Dezvoltarea shemei fizice a BD Caracteristici H +S +Date
Performante asteptate