sgbd

Upload: marica-marian

Post on 12-Jul-2015

100 views

Category:

Documents


0 download

TRANSCRIPT

SISTEME DE GESTIUNE A BAZELOR DE DATE Obiectivul cursului : Cursul im propune s realizeze o introducere n modelarea , strcturarea , agregarea , stocarea i regsirea datelor. Definete astfel principalele standarde i practici n acest sens , cu o orientare ferm spre integrarea datelor n arhitectura de integrare a intreprinderii . Se vor considera principalele medii de dezvoltare aplicaii att pentru structuri relaionale ct , poate ntr-o mai mic msur , oi pentru structuri orientate obiect . Planul cursului. Prezentul curs va parcurge urmtoarele capitole: Elemente de teoria bazelor de date Conceptele de baz ale SGBD Access Sisteme informatice SISTEME Se va lua n considerare natura i comportamentul sistemului . Se va extinde , n consecin acest cunotere la sistemele informaionale i la sistemele de stocare i regsire a informaiei . O bun nelegere a sistemului fundamenteaz sntos activitatea analizei sistemelor . Sistem Un sistem poate fi privit ca o colecie de pri interrelaionate carea acioneaz ca un ntreg spre ndeplinirea unui scop comun lor. Un sistem este un set de componente sau variabile , organizate , care interacioneaz , independent i integrat . Secolul XX a scos la iveal o sum enorm de probleme cu care se confrunt umanitatea , care sunt n cretere ca dimensiune , complexitate , dificiltate de rezolvare etc . Explicaii pentru astfel de probleme (n ecosisteme de exemplu) sunt extrem de complexe , eplicaiile simple de cauz-efect , de obicei sunt inacceptabile deoerece cei mai muli stimuli nu au un singur efect ci efecte multiple care ar trebui studiate separat i simultan . Pornind de la ceste consideraii s-a nscut o coal de conceprea sistemelor , n conformitate cu care cele mai multe fenomene pot fi nelese numai n contextul sistemului n acree acestea se produc . Mia mult , soluii la probleme aprute pot fi gsite numai prin proiectarea sau modificarea sistemului ca ntreg , mai degrab dect prin intervena n probleme particurae n ele nsele. Un sistem se va consira avnd modelul sistemului , care poate fi reprezentat ca o succesuine de diagrame , funcionale n internalitatea lor ct i n agregare unele cu altele . ntr-un astfel de gragic (succesiunea diagramelor) pot exista diagramele nsele a pri ale sistemului (subsisteme) i sgei etichetate care indic datele sau amterialele sau infleiena pe care o au sursele lor , pe de o parte i luxul care se stabilete pe de o alt parte .: Relaii - o sgeat care indic o relaie nte subsisteme i/sau obiecte externe unei diagrame . Numele su identific datele sau obiectele care trec de la un subsistem sau

obiect la altul . Sistemul int depinde n corcta sa funcionalitate de de sistemul originar al sgeii. Intrri - datele care intr n sistem . Acestea provin de la o surs definit i se ndreat spre o destinaie deasemeni definit . Un sistem deschis are cel puin o intrare Ieiri - datele care pleac din sistem . Un sistem decshis are cel puin o ieire Declanatoare - evenimente care declneaz activiti n sistem Restricii - restricii ale activitilor sistemului Un sistem n care intrrile i ieirle traverseaz propria-i frontier este un sistem deschis .n alte situaii se defini ca un sistem nchis . Este dificil a se gsi un sistem care s fie de interes i n acelai rtimp s fie nchis . Se definete n consecin sistemul relativ nchis , iar diferenerea lui de sistemul deschis este prezentat n figura de mai jos

Intrri definite

Transformarea intrrilor n ieiri fr perturbaii din exterior

Ieiri definite

Sisteme relativ inchise

Cunoscute Necunoscute

Transformarea coninutului intrrilor cunoscute i necunoscute i a perturbaiilor

Ieiri

Pertubaii Sisteme deschise

Un exemplu pentru sistem relativ nchis poate fi un program de calculator (ale crui intrri pot fi ecranate i n consecin controlate i ale crui ieiri sunt determinate numai de intrrile sale ) . Un exemplu de sistem deschis poate fi dat ca fiind orice sistem care implic , ntr-o form sau alta fiina uman . Ieirile nu pot fi parctic niciodat

predictibile deoarece sunt o sumedenie de intrri cu totul ecunoscute sau n tot cazul necontrolabile , iar anumite intrri n sistem sunt simple interferene . Se face de asemenea distincia dintre sisteme ale cror subsisteme sunt interconectate (fiecare la fiecare ) , n care fiecare subsistem are nevoie de intrri de fiecare dintre celelalte subsisteme , astfel c aceste sunt , clar interdependente iar relaiile care se stabilesc ntre aceste subsisteme sunt complexe i Sisteme conectate n care pri de subsisteme sunt interconectate iar legtura dintre aceste pri se realizeaz printr-o interfa (de obicei unic) simplificat . Acestea reflect mediul restrns n care anumite activiti au loc n interiorul sistemului i conectarea acestui submediu la mediul propriu (submediu) al altor activiti . Funciile ndeplinite de oricare dintre subsitemele interconectate ca subsisteme vor primi minimum de informaii strict necesare ndeplinirii acestora. S1 S2

S3 S6

S4

S5

Toate (sub)sistemele sunt interconectate (interfa complex)

S1

S4

S2 S3

S5

S6

Subsisteme conectate n cadrul unui (sub)sistem i interconecatarea de (sub)sisteme Sisteme care utilizeaz cereri (gen restaurant) , sau liste de ateptare (spitale) , inventare (linii de producie) i standarde (pentru a reduce comunicarea informaiei de la o parte la alta ) i decupleaz subsistemele . Dar trebuie de remarcat c acest decuplare nu este de loc simpl i nici ieftin . Pentru a avea o imagine i o posibilitate de definire a modului n care acest decuplare se poate produce , se face o detaliere a cuplrii sistemelor n : - sisteme tare cuplate , caracterizate printro coordonare direct , avnd ns nejunsul dificultilor severe care apar n sicronizarea aciunilor , evenimentelor etc - sisteme slab cuplate , care sunt fiecare n sinea lor independente i utilizeaz ca tehnici de decuplare : stocare n stive buffere mecanisme de cerere rspuns standarde pentru reducerea comunicaiei Aceste tehnici sunt (saupot fi ) foarte eficiente dar evident este o mare problem a costurilor. Sisteme informaionale Un sistem informaional se definete ca fiind un mecanism care furnizeaz mijloacele pentru stocarea , generarea i distribuirea informaiei al crei scop este susinerea funciilor i operaiilor din cadrul unei organizaii.

Ca paas urmtor , n consecin, sistemul informaional al unei organizaii este acel sistem al fluxurilor de informaii care rezult din interaciunea dintre diferietele sale pri. Deoarece subsistemele au ele nsele o structur algebic de sistem , subsistemele informaionale ale sistemului informaional sunl sut sisteme informaionale , de asemenea. Ca atare , sistemele informaionale sunt mijloace prin care datele curg de la o persoan/deparatment/subsistem la alta . Aceste sisteme inormaionale servesc sistemele organizaionale ale untreprinderii. Se pune intrebarea , relativ fireasc : de ce organizaia are o aa mare nevoie de sisteme informaionale ? Palnificare , control i luarea deciziei pentru acestea este o mae nevoie ca informaiile s circule att orizontal ntre departamente , ct i vertical , n jos i n sus strbtnd nivelele de control i planificare ale fiecrei organizaii . 1. Planificarea strategic - Acest nivel cuprinde stabilrea scopurile i determinarea resurselor necesare pentru atingerea acestora . Aceast activitate de management se detecteaz la realizarea de strategii pe termen mediu i lung . Informaiile , de cele mai multe ori solicitate de o amnier ad hoc (i obinute ca atare ) adreseaz aspectele evoluiei i tendinelor . Deoarece problemele cu care se confrunt managerul , de obicei nu sunt foarte clar stutcturate , informaia este utilizat de cele mai multe ori numai ca un susintor pentru luarea deciziei.

Palnificare strategic

Controlul gestiunii

Controlul operaional

p r o d u c i

C o n t a b i l i t a t e

L a n s a r e

2. Controlul gestiunii managementul mediu necesit informaii ca sprijin pentru Funciile primare obinerea de resurse i cretere att a aeficienei , ct i a productivitii , cu Nivelele de ale organizaiei creterea n densitate a activitilor pe unitatea de timp. La acest nivel probleme control

sunt mult mai bine structurate , iar informaia este utilizat pentru stabilirea cursului adecvat al aciunilor de o manier mai direct i mai eficient. 3. Controlil operaional la acest nivel sunt necesare informaii mai detaliate pentru a da posibilitatea realizrii sarcinilor specifice mai eficient . Problemele conduc ele nsele la analize fiind capabile a fi rezolvate semi-automat , dnd informaii detaliate orar , sau zilnic . Informaia ne apare n acest context , mai clar , ca fiind o resurs , care trebuie tratat ca atare , aidoma cu resursele materiale sau financiare , i exact la fel acesta trebuie s fie gestionat i controlat . Sisteme de stocare i regsire a informaiei Sistemele informaionale pot fi manuale , automate sau ambele , putnd astfel include i activiti ale persoanelor . Modelele naive ale sistemului informaional Tehnicile de modelare sunt caracteristice literaturii i pacticii calclatoarelor . Funciile lor sunt legate de modelarea sistemelor informaionale specifice , predominant n mediul comercial . Suplimentar tehnici formale , cum ar fi diagramele organizaiei , modeleaz forele care acineaz asupra organizaiei att din interior ct i din exteriorul acesteia i care afecteaz sistemele informaionale . Este instructiv dar poatze fi inutil s se caute literatura specializat n calculatoare i management pentru un model de nivel nalt , n sine, al sistemului informaional . Tipic un astfel de model se discut n termeni de stocarea a dfatelor , intrri pe de o parte , procesri , pe de o alta i ieiri pe de o a treia . Stoacarea datelor procesri intrri ieiri

Banalizarea pn la naivitate a modelului erste evident . Cu toate acestea , citnd una dintre lucrile remarcabile n domeniu : este util nu numai n nelegerea procesrii generale a informaiei dar de asemenea i pentru aplicaiile de procesare particulare , deoarece fiecare aplicaie paote fi analizat n termeni de intrri , stocare , procesare i ieiri Naivitatea modelului poate fi explicat prin referirea circumscrierii sau chiar a naturii predefinite a intrrilor i a ieirilor , regsite , tipic , n mai toate aplicaiile tradiionale de procesare a informaiei. Alfel spus , simplificarea , dus pn la extrem a modelului

reflect predeterminarea tipului de informaie acceptat pentru intrri , pentru care sistemul a fost proiectat i bineneles tipul ieirilor care rezult frec dintr-o procesare pas cu pas algoritmic , tipic i acesta pentru o periad de nceput a sistemelor informaionale . Pentu a junge la un model mai complex i mai aproape de realitatea curent se introduce noiunea de sistem de stocare i regsre a informaiei (ISAR) . Acesta este mecanismul cel mai intim a sistemului informaional . n concordan cu aceast definiie informaia care este stocat este i regsit (ntr-o manier oarecare de cutare). Funcia ISAR este de a oferi o organizare intelectual a informaiei stocate , avnd ca scop regsirea acesteia . Aspectul intelectual al organizrii este reallizat prin mijloace tehnologice . Exemple de ISAR ar putea fi o schem de clasificare a documentelor , de definire i indexare a acestora , cataloage de documente etc. n primul rnd , se cuvine s fie luat n discuie reprezentarea pe nivelul cel mai nalt al modelului sistemului informaional astfel definit . Reprezentare va fi structuratp ca n figura de mai jos :Intrarea 1 Persoane cu cereri de Intrarea2

Achiziii

Achiziii

Declararea cererii

Informaii

Sistemul de stocare i regsire a informaiei

Frontiera sistemului ionformaional

Frontiera sistemului de stocare regsire

Ieire : cleint cu informaii

Aa cum se remarc modelul este descompus n dou stadii . Concentrarea va avea loc asupra nuceului celui mai din interior . Mecanismul cuprins n acest nivel va fi tratat

deocamdat ca un blackbox . Aceast eprezentare de nivel nalt va avea dou tipuri de intrri : una refer persoanele cu probleme din care rezult nevoi (cereri de informaie) i cea de a doua informaii i documente care vor trebui gsite n afara sistemului . Ieirea din sistem , pentru fiecare astfel de nevoie se va constitui dintrt+o colecie de documente sau documente reprezentative (acestea dau informaii asupra documentelor relevante) . Sistemul informaionale funcioneaz astfel : consult cererile aa cum au fost formulate de utilizator i dobndete , stochez i livreaz informaii. O ntrebare fireasc ce apare evident refer mecanismele logice prin care se poate decide dac o nregistrare (n spe un document) aparine clesei e ieire definit.. De fapr ISAR este tocmai acest mecanism , att din punctul de vedere al stocrii ct i evident din punctul de vedere a regsirii informaiei . n conformitate cu McGill i Salton elementele cheie pentru ISAR se descrie ca fiind : a. un set de entiti (denumite n continuare DOCS) b. un set de declaraii de cereri (denumit n continuare QUERIES) un mecanism ( denumit n continuare SIMILAR) care s fie capabil s determine care dintre elementele DOCS ndeplinesc condiiile date QUERIES dac exist vreunul . SIMILAR va reprezenta o funcie care mapeaz cererile specifice pe entiti particulare , relevana DOCS specifice unei QUERIES dat neputnd fi realizat prion comparaie direct. Mecanismul va ncepe cu conversia entitilor la o form standardizat prin utilizarea unui limbaj de clasificare sau standardizare (denumit n continuare , generic, LANG) . Cererile vor fi convertite , n continuare , de asemenea ntr-o reprezentare standardizat constnd din elmente ale aceluiai limbaj de indexare LANG . Msura similaritii se va materializa ntr-o submulime aDOCS care satisfac cererea respectiv.

Intrare 1- cereri utilizator Translatarea din declaraia cererii n sintaxa limbajului de indexare

Intrare 2 informaie dobndit Transformarea informaiei n sintaxa limbajului de indexare Limajul de indexare

Reguli i convenii care guverneaz maparea vocabularului de intrare peste limbajul de indexare Reguli ale formatului : lista autoritii , tezaur

Stocarea cererii

Stocarea informaiei

Indeplinire i afiare Regsirea informaiei rafinare Reformularea cererii Refomularea indexrii

In figura de mai sus se prezint o structur mai detaliat a ISAR . In aceast reprezentare apar dou tipuri de intrri , iar rolul de baz al ISAR este de a corela cele dou intrri . Aceasta nseman c pentru fiecare declaraie de cerere ISAR va cerceta colecia de documente sau de reprezentate ale documentelor dobndite anterior i descoper acele documente care ndeplinesc cererea . ISAR poate , evident fi manual sau automat . Cele dou intrri n sistem sunt , n consecin : 1. declaraia cererii descrierea din partea utilizatorului a informaiei solicitate , descris n termenii limbajului propriu al acestuia (utilizatorului) 2. documentele i/sau reprezentanii documentelor , anterior plasate n baza de adte Rolul ISAR este tocmai de a translata ambele tipuri de informaii , prin intermediul unui vocabular propriu ISAR , ntr-un mecanism de indexare pentru a putea indeplini funcia de similaritate . n acest sens , pentru cerere seva analiza limbajul natural al solicitantului pe cae l va translata n limbajul specific de indexare , conform cu regulile definite la nivelul ISA. Acest vocabular guverneaz selecie termenilor de indexare , forma acestora , semnificaia lor, mijoacele prin acre acetia pot fi combinai n termeni compui . Deoarece aceti termeni descriu att entitile care se gsesc n baza de adte ct

i cererile care se produc asupra acestora , formulrile , dat fiind transformrile care au fost produse , aduc cele dou intrri la posibilitatea real de comparaie asupra creia se acioneaz cu o funcie de apartenen . Entitile sunt indexate practic o singur dat , la introducerea n sistem , iar reprezentaeea indexri este expus n magazinul de informaii (depozitul de documente , setul DOCS) Noiunile de dat, informaie, baz de date, SGBD Scopul principal al contabilitii este comunicarea de informaii relevante indivizilor i organizaiilor, n scopul lurii deciziilor. Pentru a reui n actuala epoc a informaiilor, este imperios necesar nelegerea sistemelor informatice n general, i a celor care asigur suportul logistic al funciei contabile n special. n cadrul unui concept aprut n anii 80, n SUA, acela de management al resurselor informaionale (Information Resource Management), informaia este tratat ca o resurs, aidoma crbunelui, minereurilor i petrolului, doar c este o resurs avnd nite caracteristici mai speciale: 1. Informaia este o resurs rar, costisitoare pentru colectivitate; 2. Pentru a o administra , ea trebuie reperat, localizat, inventariat i actualizat. 3. Administrarea informaiei nseamn n primul rnd valorificarea ei, adic utilizarea aceluiai fond de informaii de mai multe ori, i nu numai de ctre acela care l-a colectat pentru nevoile proprii. Informaia are avantajul de a fi un bun care poate fi consumat - eventual de mai multe ori - fr a fi distrus. Aceast folosire repetat implic o comuniune de concepte i limbaj : informaia nu poate fi utilizat dect dac se atribuie aceeai semnificaie termenilor care o definesc. 4. Administrarea informaiei mai nseamn i adoptarea unui demers de revizuire sistematic a utilitii sociale sau economice a fondurilor de informaii. Aceasta pentru c, spre deosebire de resursele carbonifere sau petroliere, informaia nu ia natere de la sine, spontan.

Date Datele brute reprezint o colecie de numere v, caractere , imagini sau alte tipuri de ieiri provenite de la echipamente care convertesc cantitile fizice n simboluri , n cel mai larg sens . astfel de date sunt , n mod obinuit , procesate ulterior de ctree personal sau pot reprezenta (cazul cel des ntlnit) intrarea ntr-o aplicaie de calculator , unde sunt stocate i procesate , sau transmise ca ieire a procesului altor persoane sau aplicaii . Datele brute reptrezint un termen foarte relativ , procesarea datelor realizndu-se n mod obinuite pe mai multe nivele , astfel nct datele procesate de pe un nivel dat pot reprezenta date brute pentr nivelul superior. Termenii de informaie i cunotin sunt frecvent ntlnii pentru concepte care de multe ori se suprapun. Este dificil o diferenere tranant , principala caracteristic considerat fiind nivelul de abstractizare . Datele reprezint cel mai de jos nivel de abstractizare , informaia urmtorul , iar , n consecin conotinele cel mai nalt astfel de nivel . Exemplu nlimea Everestului este o dat , o carte referitoare la caracteristicile geografice i geologice ale Everestului , poate reprezenta o informaie , iar cele mai bune abordri ale escaladrii i cucerii acestuia o cunotin . Informaia ca i concept suport o diversitate de semnificaii , de la utilizarea termenului cotidian cu semnificaia uzual din limbajele naturale pn la foarte particulare argouri tehnice . n general conceptul de informaie este strns legat de noiunile : restricii , comunicaie , control , date , formuri , instruciuni , cunotine , semnificaie , abloane , percepie i reprezentare . Beynon-Davies [9] utilizeaz conceptual de semn pentru a distinge ntre date i informaie . datele sunt simboluri , informaia aprnd atunci cnd simbolurile sunt utilizate pentru un anumit scop . Datele reprezint caractere i imagini , sau alte metode de ntegistrare , ntr-un format care s poat fi evaluat de persoane sau (n mod special ) de calculatoare , stocate i procesate pe acestea , sau transmise pe un canal digital oarecare . Din acest punct de vedere datele nu au o semnificaie proprie , semnificaia aprnd numai cnd acestea sunt interpreatate ntr-o anumit manier de ctre un sistem de procesare a datelor care le confer astfel neles i prin acesta devenind informaii . Datele constau dintr-o serie de fapte sau specificri care pot au putut fi colectate , stocate , procesate i/sau manipulate , da care nu au fost palsate ntr-un context sau organizate pentru a susine unul. Odat cu organizarea n vederea susinerii unui context datele devin informaii . Informaiile pot fi procesate i utilizate pentru a proiecta concluzii generale sau cunotine . (1) Tehnic vorbind , datele sunt date sau cifre , cum ar fi ordine de plat sau pli , care sunt procesate n informaii , cum ar fi balanele de verificare . astfel , n terminologie curent , de multe ori termenii de date i ninformaii se utilizeaz n sinonimie.

(2) Orice form de informaie fie pe suport hrtie , fie pe suport electronic . Datele pot referi orice fiier pe suport electronic indiferent de formatul acestuia : baze de date , text , imagine audio , video . Tot ce este scris i citibil pe un calculator poate fi considerat ca date , cu excepia instruciunilor constituite ntr-un program care sunt executate. (3) Se poate face reducerea numai la datele coninute ntr-o baz de date ca diferenire de textukl coninut ntr-un document procesabuil word.

Baza de date Accepiunea general refer orice form de agregare de date ; de obicei o colecie masiv de date care au fost formatate n baza unor standarde utilizator . Sunt mai mult progrqame care utilizeaz datele n baze de date , dintre care Access , Oracle , IFMIX i SQL Datele , din punctul de vedere al industriei informaiei , refer elemente distincte de informaie , de obicei formate de o anumit manier . Toate sistemele de informaii mbrac , de o manier sau alte dou mari categorii : date i procesarea acestora(programe) datele pot exista n foarme diferite forme ca numere sau texte pe buci de hrtie , ca bii i ca bytes stocai n memoria electronic , sau pur i simplu ca fapte stocate n memoria (mintea) persoanei . Priogramele , la rndul lor vor referi colecii de instruciuni inteligibile procesorului , pentru manipularea datelor , care pot fi instruciuni calculator (pentrun procesarea automa a datelor) sau instruciuni cae se adreseaz fiinei umane , pentru procesarea manual . O alt definiie (Hornung) refer datele a un set de reprezentri strcturat i formal a informaiei , adecvat comunicaiei , interpretrii i procesrii acestora . Informaie Informaia se poate defini ca rezultatul aplicrii procesrii datelor , datelor inselor , dndu-le acestora context i semnificaie . Informaiile pot fi procesate mai mult pentru a produce cunotine . Persoanele sau calculatoaree pot regsi n date abloane pentru percepia informaiei , iar informaiile la rndul lor pot fi utilizate pentru a mbunti conotinele . deoarece conotinlele sunt precerine pentru judeci , se vor dori din ce n ce mai multe date i informaii . Dar , deoarece , societaea contemporan tinde spre o supra ncrcare cu informaii , trebuie gte cel ami bune abloane . (Krippendorff) Informaia msoar gradul de incertitudine . Un mesaj este purttor de informaie numai n msura n care conine lucruri necunoscute .

Informaie este un stimul care are semnificaie , ntr-un context dat pentru receptor . Cn informaie este agrefat sau este utilizat pentru a a nelege sau a face ceva yaceasta este cunoscut sub numele de cunoti . Cunotine Obiectele , conceptele i relaiile considrate a fi ntr-un domeniu de interes dat . O colecie de cunotine reprezentat prin intermed unui limbaj de repezentare a cunotinelor este cunoscut ca baz de cunotine , iar o aplicaie pentru extinderea i/sau interogarea unei baze de cunotine este un sistm bazat pe cunotine . Cunotinele se difereniaz de date sau informaii prin aceea c noi cunotine pot fi create pornind de la cunotine vechi prin inferene logice . Dac se poate condidera c informaia este date + semnificaie , conotinele sunt informaie + procesare . O alt definiie : cunotinele constau din declaraii conceptuale generalizate care au fost realizate printr-o analiz a informaiilor . i n fine , chiar dac este mai puin formalizat , dsefiniia de mai jos pare a fi mai funcional : n tehnologia informaiei , cunotina este , pentru o intreprindere sa o persoan posesia informaiei sau abilitatea de a o localiza rapid . n contextul intreprinderilor economice sau al utilizrii proprii a calculatorului , conotaia cunotinei refer cu precdere posesia de know-how , sau de informaii faptice sau unde acestea pot fi gsite . Intreprinderile i trateaz astfel propriile cunotine ca investiii i pentru gestiunea acesteia ii realizaez propriile planuri i aplicaii n acest scop. O serie de aplicaii noi , ca tipologie , numite data meaning (semnificaia datelor) i propune s dezvolte i s constituie cunotine din procesarea datelor aferente tranzaciilor la nivelul intreprinderii , acumulate i agregate i a altor date specifice . Baza de date Obiective 1. recunoaterea claselor mari de baze de sisteme de baze de date i recunoaterea unei largi varieti de sisteme de baze de date 2. lmurirea ctorva diferene nttre sistemele de gestiune a bazelor de date i sistemele de regsire a informaiei , n termeni de cerine care se adreseaz stocrii datelor i procesrii acestora 3. explicarera relaiilor care apar intre date i informaii i ntre date i software Se pot ua n considerare dou mari clase : Sistemele de gestiune a bazelor de date (DBMS) i Sisteme de regsirea a datelor (IRS) . n consecin au fost analizate scopurile i structura acestora prin prezentatea caracteristicii bazei de date de unde aceste sisteme deriv : a. necesitile organizaionale b. cerinele datelor cpe acre le stocheaz c. cerinele procesrilor care se manifest asupra datelor prin aplicaii care produc informaii

Bazele de date pot fi definite , n general i provizoriu ca fiind colecii de date care existp cu scopul declarat de a produce informaii . Datele , mpreun cu sistemul care le gestioneaz sunt definite ca fiind sistul de gestiune al bazei de date . Aceasta aare ca o definiie genral i oate chiar surprinde . Mai mult , toate bazele de date pot fi partajate pest6e o reea sau reele de calculatoare . Atand acestui sistem o pot electronic , un sistem de admnistrare a privilegiilor se ajunge rapid la definirea unui birou , integrat , n spaiul virtual . nc pe acest nivel de generalitate al definiiilor sistemele de baze d adte pot fi att manuale ct i manifestante n spaiul virtual . Acestea rmn valide pentru ceel dou mari tipuri de baze de date ODBMS i IRS . Sistemele de baze de date i nevoile organizaionale Este important s se fac distincia ntre baza de adte cae este o colecie de date i sistemul bazei de adte care este constituit din toate componentele care copereaz pentru colectarea datelor , manipuleaz , gestioneaz i livreaz informaiile . Aa cum este de ateptat exist mai multe (chiar multe) sisteme de baze de adte . Printre acestea amintim ODBMS , IRS , sisteme de hipertext , sisteme expert , baze de cunotine , baze de elemente multimedia , biblioteci , fiind doar o parte dint gama de produse specilizate oferite de actualele tehnologii . n abordarea de fa , calarea se va produce asupra primelor dou categorii enunate , cu precdere asupra aa numitelor baze de adte relaionale , acestea fcnd directa referire a coninutului cursului . O DBMS este un sistem complex de baze de date care : 1. gestioneaz stocarea , nteinerea i regsirea datelor 2. asigur faciliti de programare (un editor , un limbaj de programare ) pentru a produce aplicaii specifice consumatorului de informaii 3. ofer un numr de instrumente pentru a crea obiecte ale bazei de date cum ar fi fiiere de date , formuri de ecrane i definirea de rpoarte printabile 4. ofer limbaje pentru exprimarea ad-hoc de cereri la baza de date i asigur rspunsul lizibil al rezultatului procesri n consecin . 5. gestioneaz accesul actorilor multipli (fie persoane (utilizatori) , fie aplicaii (programe)) la un depozit comun de date Noiunea de program se va defini ca entitatea elementar de procesare care prin agregare i mixare cu alte obiecte se constituie ntr-o aplicaie (cu semnificaie pentru utilizator ) gata de rulare , particular sistemului de gestiune a bazei de adte pentru ndeplinirea unui set specific , predefinit de sarcini. O stfel de combinaie de limbaje de programare pentru baze de date , instrumente pentri prezentarea , printarea i colectarea datelor , la care se mai adaug un limbaj de cereri interactiv este , n mod obinuit referit ca 4GL. DBMS uri cum ar fi Access , Oracle , Informix etc . sunt sisteme de baze de date de uz general , a cror puncte tari i puncte slabe vor fi didcutate n continuare . IRS (cunoscute de asemenea i sub numele de sisteme de regre text) sunt priectate pentru a facilita regsirea n cntextul inundrii cu informaii text n intreprindere , care au fost generate cu procesoare word sau au fost importate dein alte baze de date de tip text . n genera aceste IRS sunt integrate cu produsele de automatizare a activtilor de birou : procesoare de imagine , tabloare , procesoare text , baze de documente , baze de date , mail , comunicaie etc.

DBMS exceleaz la procesarea datelor care sunt bine structurate . Gestiunea datelor structurate este la fel de veche ca i utilizarea calculatoarelor nsele . Multe companii , nc , rmnnd ntr-un grad de integrare sczut i gestioneaz propriile adte structurate prin DBMS , tabloare i pachete de programe pentru contabilitate . n contextul DBMS unitatea elementar de date care nc are semantic este nregistrarea . nregistrarea corespunde unei entiti din lumea real presupus a avea un numr fix de atributa (sau proprieti) care sunt de interes . Fiecare astfel de atribut este caracterizat , la rndul lui de o valoare (eventual limitat domeniul de valori acceptate de sistem) . Astfel rin date puternic structurate se va nelege datele ale cror pri sunt predictibile sau regulate . De exemplu un registru de comenzi va trebui s conin ntr-o astfel de aplicaie DBMS atribute cum ar fi : numr comand , furnizor , data comenzii , valoarea comenzii , departamentul care finaneaz . n mod normal , pentru fiecare entitate fiecare dintre aceste atribute vor aea una sau mai multe valori . O nregistrare DBMS este o abstractizare a obiectelor din lumea real ma atrbutelor care sunt de interes pentru organizaie (departament, echip etc.) . Cu ct compania este mai implicat cu att setul specificat de atribute abstractitzate se constituie n entiti arhetipale , vizn esena lucrurilor ( evident o abstractizae care , trecnd peste detalii , pstreaz substana caracterizand). n cazul unei companii cea mai mic entitate cu semnificaie se va numi , n continuare nregistrare . Fiecrui atribut al nregistrrii , entitate elementar , i se asociaz o valoae . Despre caracterizarea atributelor se va discuta mai apoi , dar este de menionat c asupra valorii atributului se pot face o serie de ipoteze : valoarea s se ncadreze ntr-un interval specificat , valoarea este de un anumit tip , corespunztor unitii de msur etc . Aceasta implc o identitate ( identitate pn la izomorfism , cum ar defini-o matematicienii ) a diferitelor entiti de acelai tip , acestea diferind ntre ele prin forma de manifestare (valorile pe care le iau atributele) . Se poate spune , deci, c structura unei nregostrri din baza dse date implic anumite atribute eseniale (ne-accidentale ) care sunt prezente n fiecare entitate . O entitate particular va avea valori proprii pentru aceste atribute , iar aceste valori vor da forma accidental (instanierea) respectivei nregisrri. Prin contrast , un sistem de regsire a informaiei , a fost proiectat pentru a procesa (i n particular pentru a regssi ) nregistrri textuale . Organizarea intern a celor mai multe entiti textuale se plaseaz de la foarte puternic structurate , pn la lipsa structiurii ( nestructurate ) Multe dintre informaiile provenite din lume areal nu pot fi captate ntr-o form structurat , clar definit ca set de atribute . Acolo unde exist o anumit structurare , de obicei se pot utiliza o baz de date de vocabular a entitilor i atributelor . Dezvoltarea vocabularelor ca modalitate de structurare , similar cu vocabularele limbilor naturale vor avea o semnificaie deosebit n seciunile urmtoare . Sisteme de baze de date i procesarea datelor Arhitectura oricrui tip de sistem de baze de date a fost dezvoltat ca rspuns att provocarea evoluiei rapide a cerinelor de la date ct i la provocarea i mai spectaculoas a evoluiei procesrilor acestora . ntr-adevr se poate gndi baza de date ca avnd dou componente semnificative : o component static datee i o component

dinamic programele(procesrile ) care opereaz asupra acestora pentru a produce informaie . Un astfel de proces poate fi privit ca o aciune care urmeaz instruciunile redactate ntrun program pentru manipularea datelor n folosul utilizatorului (consumatorului rezultatelor serviciului sau mai pentru simplificare : consumatorul serviciului). n termeni de mulimi , programul transform (reprezint ) mulimea (setu) de date de intrare in mulimea datelor de ieire . O parte dintre aceste programe vor fi cu totul transparente utilizatorului , care ndeobte nici nu are contiina existenei lor. Acetea din urm includ in general programele care gestioneaz i protejeaz fiierele fizice , sau construiesc , selecteaz i utilizeaz indeci , sau administreaz accesul utilizatorilor multipi . Acest serie de programe este denumit i va fi cunoscut astfel ca administartorul bazei de date . Alte tipuri de pograme intefaeaz cu utilizatorul n mod direct . Acestea se vor cuprinde n urmtoarele categorii : - aplicaii - facilitai ale bazei de adte : un limbaj interactiv de invocare a bazelor de date cum ar fi SQL (structured qoerz language ) care a devenit nc de mult veme un standard n acest sens. DBMS apar n consecin ca un rspuns funcional la cerinele vieii economice i a nevoilor imediate ale intreprinderilor . Sunt utilizate pentu consrucia structurii i funcinalitii datelor cuprinse n bazele de date , organizate de maniera posibilitii aplicrii asupra acestora de aplicai . Este important de reinut c utilizatorii bazelor de date , prin intermediul aplicaiilor sau a simplelor cereri pot fi de la persoane cu abiliti foarte slabe n aciuni asupra bazelor de adte pn la exoeri n tehnologia informaiei . este important ca aplicaiile astfel construite s poat aigura accesul funcional i eficient a tuturor participanilor (actorilor) n consecin DBMS sunt rogramabile i aceasta permiet realizatorilor acestora s dezvolte aplicaii care se adreseaz unui utilizator calat pe propriile activiti i rspunderi . Pe e alt aprte DBMS se adrseaz i unor utilizatori specializai crra trebuie s fie capabil s le ofere interfee interactive (orict de sofisticate) pentru realizarrea de rapoarte , ecrane i construirea de fiiere din mers. DBMS sunt poate cele mai adecvate entiti utilizate la administrareanregistrrilor puternic structurate , precum i a nregistrrilor slab structurate sau chiar nestructurate i a invocrilor ad hoc . Astfel DBMS trebuie s ofere utilizatorului final unul sau mai multe limbaje de invocare care s-i permit acestuia regsirea interactiv a informaiei . Aa cum a fost deja prezentat , SQL este unul dintre astfel de limbaje , standardizat i utilizat pe o scar foarte mare , cae chiar fiind de o fiind de o mare simplitate conceptual , necesit totui o instruie semnificativ a utilizatorului fiunal ceea ce-i poate provoca acestuia angoase. Spre deosebire de bazele de date specifice relaionalului , IRS rspunde altor cerine de procesare : - capacitatea de a stoca ntregul test al fiierelor - icapacitatea de a importa documente n diferite formate - s regseasc nu numai nregistrrile care pot fi unic identificate , probabil printr-un cod (cheie) ci i seturi de nergistrri care sunt

similare cerinelor specificate n cerere , care pot fi la rndul lor reglate prin lrgirea sau micorarea criteriilor de cutare - cutare de o amier ad hoc - permiterea uneri strategi de cutare cu progres euritic i cu trase ale cii utilizate . Utilizatorii informaiei acestor sisteme se regfsesc printre profesiitii unui domeniu de actvitate al organizaie , cu abiliti n TIC relativ mici . Astfel utilizatorul final i mparte din ce n ce mai mult sarcinile legate de ITC cu furnizorii profesioniti de servicii aferente . n consecin sistemele IRS sunt numai n parte programabile , dispun de interfee configurabile i de cele mai multe ori au capacitatea unor faciliti sofisticate de cutare . Accepiunea general refer orice form de agregare de date ; de obicei o colecie masiv de date care au fost formatate n baza unor standarde utilizator . Sunt mai mult progrqame care utilizeaz datele n baze de date , dintre care Access , Oracle , IFMIX i SQL Datele , din punctul de vedere al industriei informaiei , refer elemente distincte de informaie , de obicei formate de o anumit manier . Toate sistemele de informaii mbrac , de o manier sau alte dou mari categorii : date i procesarea acestora(programe) datele pot exista n foarme diferite forme ca numere sau texte pe buci de hrtie , ca bii i ca bytes stocai n memoria electronic , sau pur i simplu ca fapte stocate n memoria (mintea) persoanei . Priogramele , la rndul lor vor referi colecii de instruciuni inteligibile procesorului , pentru manipularea datelor , care pot fi instruciuni calculator (pentrun procesarea automa a datelor) sau instruciuni cae se adreseaz fiinei umane , pentru procesarea manual . Un sistem de gestiune a bazelor de date (SGBD) este un sistem complex de programe ce asigur interfaa ntre utilizator i baza de date. Sistemul de gestiune reprezint software-ul propriu-zis al bazei de date, care asigur realizarea urmtoarelor activiti: definirea structurii bazei de date; ncrcarea bazei de date; accesul la date (interogare, tergere, modificare i indexare); ntreinerea bazei de date (colectarea i refolosirea spatiilor goale, refacerea bazei de date n caz de incident) reorganizarea bazei de date (restructurarea i modificarea strategiei de acces) securitatea datelor. SGBD-ul este format din programe. Perspective pentru sistemele de gestiune a bazelor de date Actualmente, alturi de baze de date clasice, ce memoreaz date de tip numeric, alfanumeric, eventual dat calendaristic i logic, se nasc noi tipuri de baze de date, apte s pstreze documente, cu tabele, diagrame, grafice i chiar secvene de program nglobate. Mai mult dect att, toate aceste documente pot fi partajate ntre utilizatori n cadrul unei reele sau n cadrul mai multor reele de calculatoare. Dac la acestea se

adaug un sistem de post electronic i se numete un administrator de sistem care gestioneaz un sistem de drepturi de acces, iat-ne ajuni n pragul unui birou automatizat. Dar e tot un fel de baz de date ! Bazele de date pot fi memorate pe diferite suporturi de informaie. O simpl plac video adugat pe un PC , creeaz posibilitatea redrii pe ecran a imaginilor preluate de o camer video, sau de la un video recorder sau video-disc, sau transmise de televiziunea prin cablu. n cadrul sistemelor multimedia, utilizatorul poate crea i parcurge pagini nlnuite, exact ca ntr-o carte clasic. Se pot consulta anumite pagini, cuprinsul, indexul, notele de subsol, exact ca pentru o carte obinuit. n pagini pot exista text, grafic i imagini video inserate acolo de "autorul" crii. Aceste aplicaii, numite i aplicaii hipertext, pot fi privite i ele ca sisteme cu baze de date. De asemenea, sistemele informatice geografice (GIS), care memoreaz informaii de tip cartografic, au o organizare de tip sisteme cu baze de date, doar c n acest caz, fiecare element al hrii este considerat un obiect distinct i tratat ca atare. Obiectivele unui SGBD n proiectarea i realizarea sistemelor de gestiune a bazelor de date , se ine cont de o serie de deziderate, care constituie obiective de urmrit: 1. Asigurarea independenei datelor de programe. Modificarea structurii datelor sau a strategiei de acces nu trebuie s aib nici un fel de implicaii asupra programelor de aplicaie. Diferite aplicaii trebuie s poat utiliza viziuni diferite ale acelorai date, iar modificarea structurii trebuie s fie oricnd posibil, fr alte implicaii. Exist dou perspective asupra independentei datelor: independenta fizic i cea logic. Independena fizic a datelor face ca modul de memorare a datelor i tehnicile fizice de memorare s poat fi modificate fr s fie necesar rescrierea programelor de aplicaie. Independena logic a datelor se refer la posibilitatea de a aduga noi articole sau de a extinde structura conceptual (global) a bazei de date fr a fi necesar rescrierea programelor existente. 2. Asigurarea unei redundane minime i controlate a datelor din baza de date. Stocarea datelor n baze de date presupune memorarea fiecrei date o singur dat, afar de situaiile cnd memorarea repetat este determinat de necesitatea realizrii unei performane superioare n ceea ce privete timpul de acces la date i timpul de rspuns. 3. Asigurarea unor faciliti sporite de utilizare a datelor. Aceasta presupune: folosirea datelor de mai muli utilizatori n diferite scopuri; accesul ct mai simplu al utilizatorilor la date, fr a fi necesar cunoaterea structurii ntregii baze de date; existenta unor limbaje performante de regsire a datelor , care permit formularea de interogri acces multicriterial la nregistrrile bazei de date. utilizarea unui limbaj de interogare interactiv, ct mai apropiat de cel natural. 4. Sporirea gradului de securitate a datelor mpotriva accesului neautorizat . 5.Asigurarea integritii datelor mpotriva unor tergeri intenionate sau neintenionate. 6. Asigurarea partajabilitii datelor - ntre mai muli utilizatori, dar i ntre mai multe aplicaii.

Componenta software: Sistemul de gestiune a bazei de date (SGBD, DBMS). Realizeaza administrarea datelor memorate propriu-zis.

a. Utilizatorii:

Funciile unui SGBD1. Funcia de descriere a datelor permite definirea structurii bazei de date. Rezultatul acestei funcii este schema bazei de date. n cadrul ei se definesc cmpurile din cadrul structurii, legturile dintre entiti, criterii de validare a datelor, metode de acces. 2. Funcia de manipulare a datelor realizeaz urmtoarele activiti: crearea(ncrcarea) bazei de date; adugarea de noi nregistrri ; suprimarea unor nregistrri; modificarea valorilor corespunztoare unor cmpuri; cutarea, sortarea i editarea unor nregistrri. 3. Funcia de utilizare asigur mulimea interfeelor necesare pentru comunicarea tuturor categoriilor de utilizatori cu baza de date. Categoriile de utilizatori sunt: utilizatori finali (end-user)- acetia utilizeaz programe gata scrise sau limbaje de interogare; utilizatori programatori - al cror acces se bazeaz pe proceduri complexe de exploatare a bazei de date; administratorul bazei de date. 4. Funcia de administrare a bazei de date-apare ca o funcie complex i este de competena administratorului bazei de date, care poate fi o persoan sau un grup de persoane, cu o bogat experien n activitatea de analiz, proiectare i programare. Administratorul rspunde de toate activitile i operaiile referitoare la baza de date pe care o gestioneaz, precum i de performanele ntregului sistem implementat. Sarcinile ce revin administratorului bazei de date, se refer la :

a) n etapa de concepie a bazei de date: definirea obiectivelor sistemului informatic, definirea cerinelor de aplicaie, definirea i descrierea datelor; definirea dicionarului de date; definirea structurii virtuale , i mpreun cu inginerul de sistem, a structurii fizice a bazei de date; stabilirea procedurilor de validare a datelor; elaborarea concepiei de protecie i securitate a datelor; stabilirea procedurilor de validare a datelor; elaborarea concepiei de protecie i securitate a datelor; b) n etapa de implementare a bazei de date: definitivarea documentaiei de sistem; definirea tacticii i strategiei de implementare; asigurarea ncrcrii bazei de date; testarea programelor i evaluarea performantelor bazei de date; c) n etapa de exploatare i meninere n funciune: autorizarea accesului la baza de date; asigurarea proteciei i securitii datelor; asigurarea utilizrii raionale a suporturilor fizice rezervate bazei de date; asigurarea funcionrii bazelor de date la nivelul de performan prestabilit. Entiti, articole, cmpuri, atribute. Tipuri de date Bazele de date clasice au urmtoarele caracteristici: o baz de date conine date referitoare la entiti .O entitate este un obiect concret sau abstract reprezentat prin proprietile sale . Exemple de entiti: student, carte, tren, tranzacie. Fiecrei entiti i corespunde n baza de date un articol (nregistrare). articolele conin atributele sau caracteristicile entitilor, numite cmpuri. Exemple de cmpuri: numele studentului, adresa, media anilor de studii etc. Fiecare atribut este caracterizat de natura valorilor pe care le poate lua: numerice, alfanumerice, data calendaristic , logice. datele din fiecare cmp trebuie s se supun unor restricii ce trebuie definite, referitoare la lungimea cmpului (n caractere) sau la valorile pe care le poate lua. articolele pot fi complexe, dar structura lor este bine definit i este unic- toate articolele conin aceleai cmpuri. Acest tip de organizare corespunde marii majoriti a datelor ce trebuie incluse n baze de date. Totui , mai exist i alte tipuri de date: date de tip text, folosite pentru a detalia informaii imposibil sau foarte greu de codificat. cuvinte-cheie, care au avantajul libertii textului , dar i dezavantajul impreciziei. date de tip regul- folosite n tehnologia sistemelor expert, acestea presupun preluarea cunotinelor de la experi dintr-un anumit domeniu i stocarea acestei expertize ntr-o form care poate fi a regulilor, cadrelor, reelelor neuronale etc. Regulile pot fimemorate ntr-o baz de date clasic, pentru c la o analiz detaliat, reiese c ele au o structur fix: "Dac

perioada de omaj este mai mic de 1 an , atunci omerul primete ajutor de omaj" (dac premiz, atunci concluzie). Totui, ele nu reprezint fapte, ca datele clasice: "Popescu este economist". date de tip grafic; date de tip imagine animat; date de tip voce; date de tip secven audio.

Structura datelor Structura datelor se refer la natura datelor organizate n baza de date, fr s dea nici un fel de indicaii referitoare la cum se face accesul la ele. ns structura i accesul sunt intim legate, pentru c o structur greit proiectat poate duce la un acces greoi. n tehnologia modern a bazelor de date se afirm c o baz de date trebuie vzut din trei perspective diferite: Structura logic a datelor se refer la forma n care fiecare utilizator vede structurarea datelor n funcie de aplicaia pe care ncearc s o realizeze. Structura logic este numit SUBSCHEMA BAZEI DE DATE. Structura virtual se refer la definirea structurii datelor din baza de date, astfel nct aceasta s satisfac cerinele tuturor utilizatorilor n condiii de redundant minim i controlat a acesteia. Aceast structur poart denumirea, de SCHEMA CONCEPTUALA A BAZEI DE DATE. Structura fizic se refer la modul de memorare i structurare a datelor pe suportul fizic. Detaliile tehnice necesare pentru a asigura punerea n practic a schemei conceptuale fac obiectul unui alt document, numit schema intern. Pentru transpunerea unei colecii de date din lumea real ntr-o baz de date, este necesar un model de date. Dintre modelele de date existente, amintim: A. Modelul entitate-asociere: B. Notiunile de baza sunt: entitatea; asocierea; (atributele). A. Definitie (neinformala): O entitate este orice ce poate fi deosebit de restul inconjurator: obiect, eveniment, rol, etc. Orice entitate este descrisa prin atributele sale care se selecteaza pe principiul relevantei: atribute relevante. O entitate este descrisa prin valori ale atributeler. Toate entitatile care pot fi caracterizate prin acelasi set de atribute pot fi grupate intr-o multime de entitati (contine entitati de un tip dat). Tipul entitatii il caracterizam prin atributele corespunzatoare. O entitate dupa definirea tipului ei devine o instanta a tipului de entitate. Asocierile (def formala) relationship: reprezinta modul in care pot fi asociate (puse in corespondenta) doua sau mai multe multimi de entitati. Putem avea asocieri:

binare: doua multimi de entitati K-are (multiple): K>2, ternare,

In proiectarea BD este necesar sa fie definite categoriile de asocieri: a. asociere unul-la-unul (1:1): este o asociere in care unui element (entitati) din multimea E1 ii corespunde un singur element (entitate) din multimea E2 si reciproc; b. asociere unul-la-multe (1:N): unui element din multimea E1 ii corespund mai multe elemente din multimea E2 , pe cand unui element din multimea E2 ii corespunde doar un element din multimea E1; c. asociere multe-la-multe (M:N): unui element din multimea E1 ii corespund mai multe elemente din multimea E2 si invers;

Numarul acesta de asocieri se numeste multiplicitate sau cardinalitate. O asociere binara prezinta doua valori de cardinalitate, raportul celor doua valori reprezinta raportul de cardinalitate (1:1, 1:N, M:N). Tipuri de asociere:

1:1 ; 1:N ; M:N .

Asocierile K-are (K>2) au K valori ale cardinalitatilor (de multiplicitate), cate una pentru fiecare multime de entitati. B. Definitie (mai precisa): Tip de entitate, multimea entitatilor (de acelasi tip) si o entitate = instanta a tipului. Pentru asocieri se definesc:

un tip al asocierii; instanta a asocierii; multimea tuturor instantelor folosind o multime a unui tip de asociere.

Definitia tip de asociere: Fie E1, E2,, En multimi de entitati, fiecare corespunzand unui tip de entitate. Un tip de asociere R={ri}este format dintr-o multime de instante ale acestui tip ri, unde ri este un triplu compus din elemente ri=(e0, e1, , ej, , en), ejEj. Proprietati:

fiecare instanta a asocierii pune in legatura (asociere) exact cate un element din multimile de entitati date; un tip de asociere este o submultime a produsului cartezian a submultimilor de entitati pe care le pune in corespondenta. Este doar o submultime din cauza constrangerilor impuse de raportul de cardinalitate.

Raportul de cardinalitate (asocieri binare) ne da numarul de instante ale asocierii (de un tip dat) in care poate participa o entitate dintr-o multime data. O relatie Ra cu raportul de cardinalitate 1:1 impune conditia ca orice element din E1 sau E2 sa participe intr-un singur element (instanta) a tipului de asociere. Un tip de asociere Rb cu raportul de cardinalitate 1:N impune conditia ca un element din E2 sa participe intr-o singura instanta iar un element din E1 sa participe in N instante. O asociere intre doua multimi de entitati este si o asociere intre tipul de entitati.

Diagrama E-A: pentru reprezentarea modelului entitate-asociere. Notatii:

Atributele se reprezinta prin elipse care contin numele si se leaga de tipul de entitate. Notatie pentru entitati (tip) puternice (numele) sau entitati slabe (dependente):

Diferenta consta in faptul ca entitatile puternice se pot identifica in realitatea modelata direct, pe cand entitatile slabe nu pot exista decat asociate cu alte entitati (tipuri) puternice. Tipul asocierii binare: Poate avea un nume si are multiplicitatile scrise conform raportului de cardinalitate al multimilor. Se reprezinta astfel:

Tipul asocierii > 2:

Exemplu de diagrama E-A: Tipuri de entitati:

entitati puternice: a. tipul de entitate sectie SECTIE (SECTII); Atribute: Numar,Nume,Buget; b. tipul de entitate angajat ANGAJAT; Atribute: Nume, Prenume, Data nasterii, Adresa,Functia, Salariu; c. tipul de entitate proiect PROIECT Atribute: Nume, Data incepere, Buget

entitati slabe: a. tipul de entitate dependent Atribute: Nume, Grad rudenie, Varsta

Tipuri de asocieri: le definim astfel incat sa corespunda realitatii modelate:

SECTIE-ANGAJAT 1:N (o sectie contine mai multi angajati dar un angajat apartine unei singure sectii): poate avea si un nume (A); ANGAJAT-PROIECT M:N, daca se admite ca un angajat sa lucreze la mai multe proiecte; ANGAJAT-DEPENDENTE (1:N).

Obs:

Fara sa fie o regula, din punct de vedere semantic entitatile (tipurile) se reprezinta cel mai bine prin substantive, pe cand asocierile se reprezinta din punct de vedere al intelesului prin verbe:o o o

o sectie cuprinde mai multi angajari; un angajat intretine mai multi dependenti; mai multi angajati lucreaza la mai multe proiecte.

Pentru aceeasi activitate se pot identifica si apoi dezvolta diferite tipuri de entitati si de asocieri => modele (diagrame E-A) diferite

Granita dintre entitati si asocieri nu este una precisa. De exemplu:

Acesta a fost modelul E-A initial. Cu timpul s-a dezvoltat Modelul Entitate-Asociere extins. In plus apar ierarhii de tipuri de entitati. Ierarhiile se creeaza: a. prin specializare, in care, pornind de la un tip de entitate dat, se creeaza unul sau mai multe tipuri de entitate; b. prin generalizare, in care, pornind de la mai multe tipuri de entitati se poate defini un supertip, prin abstractizare. Aceste tipuri sunt legate intre ele prin relatia de mostenire (atributele se mostenesc); se creeaza ierarhii de tipuri si subtipuri.

Exista diferente de interpretare: Ierarhiile de tipuri de entitati sunt realizate in E-A prin asocierea cu raportul de cardinalitate 1:1. Exemplu: ANGAJAT (Nume, Prenume,): putem defini subtipuri pentru a deservi activitati specifice: SECRETARA, TEHNICIAN, INGINER. Fiecare subtip mosteneste atributele tipului de baza ANGAJAT. Subtipul mai contine si atribute specifice: a. SECRETARA (Viteza redactare); b. TEHNICIAN (Grad, Calificare); c. INGINER (Specialitate). Asemanarea dintre OO si E-A extins: b. dpdv al mostenirii in faza de definire a atributelor;

c. dpdv al instantierii tipurilor si subtipurilor apare o deosebire intre modelul obiectorientat si modelul E-A: in modelul E-A, pentru fiecare instanta a unui subtip din realitatea modelata corespund doua sau mai multe instante si anume o instanta din subtipul respectiv si cate o instanta din supertipurile subtipului.

Diagrama de instantiere a diagramei asociere reprezentate:

B. Modelul ierarhic: acesta presupune stabilirea unei ierarhii; datele sunt descompuse n segmente la diferite nivele ale ierarhiei, n aa fel nct orice nregistrare de pe un nivel inferior nu poate avea dect un singur printe; de exemplu, catalogul de clieni la rdcina ierarhiei, apoi , legat de el , date despre comenzi-produse, istoricul vnzrilor, livrri, etc. Din pricin c n realitate, relaiile dintre date sunt mult mai complexe dect acelea ierarhice(printe-fiu), s-a trecut la urmtorul model, care nltura o parte din aceste restricii.

Notiunile de baza:

existau inregistrari, fiecare fiind de un anumit tip, si fiecare tip era caracterizat printr-un numari de campuri ce contin valori ale atributelor;

link-uri (legaturi): se admit legaturi intre tipurile de inregistrari care realizeaza o asociere de tip parinte-fiu astfel incat schema conceptuala a unei bd ierarhice este un arbore directionat ale carui noduri sunt tipurile de inregistrari iar arcele sunt legaturi cu raportul de cardinalitate 1:N (1:1).

C. Modelul reea: se bazeaz tot pe o structur ierarhic, dar permite i conexiuni pe acelai nivel, precum i ca un "fiu" s aib mai muli prini. O baz de date reea const din dou seturi de date, un set de articole i un set de legturi, n cadrul crora articolele sunt alctuite din cmpuri. D. Modelul relaional se bazeaz pe relaii (tabele). Conform teoriei relaionale, reprezentarea oricrei structuri de date poate fi redus, acceptnd o anumit redundan, la una sau mai multe tabele bidimensionale cu legturi ntre ele.. Tabelele trebuie astfel construite nct s nu se piard informaii de legtur. Unei multimi de entitati din modelul de nivel inalt E-A ii corespunde o relatie (relation). Un atribut al unui tip de entitati este reprezentat prin notiunea de atribut, cu precizarile:

un atribut este definit pe un domeniu de definitie; domeniul de definitie, in sens relational:o o o o

este o multime de valori; are un nume; valorile sunt de acelasi tip si au aceeasi semnificatie; valorile sunt atomice.

Atomic: indivizibile din punct de vedere semantic (al intelesului). Chiar daca o valoare este reprezentata prin mai multe elemente (ex, sir de caractere), aceste elemente nu au un inteles de sine statator. Definitia 1 a relatiei

Schema relatiei: o lista ordonata de atribute R(A1,A2,,An), reprezentata printr-o schema a relatiei in care R este numele schemei relatiei iar A1,A2,, An reprezinta o lista ordonata de atribute. Fiecare atribut poate sa ia valori dintr-un domeniu de definitie propriu D(AI). Shema relatiei defineste un tip de date: tipul relatie (intensiunea relatiei).

Relatia R, definita de schema R(A1,A2,,An) este o multime de n-tupluri, fiecare tuplu fiind o lista ordonata de valori vi (unde vi este valoarea atributului i si ia valori in domeniul D(AI): t= Exista o corespondenta: in modelul E-A: multime de entitati, iar in modelul relational: relatie. O entitate din multimea de entitati corespunde unui tuplu al relatiei. Fiecare tuplu e format din valori ale atributelor, cu aceeasi semnificatie ca in E-A. Observatie: Domeniile atributelor nu sunt neaparat distincte: a. Intr-o relatie nu exista tupluri duplicat!. (doua sau mai multe tupluri cu aceleasi valori ale tuturor atributelor in aceeasi ordine), deoarece relatia este multime in sens matematic. b. Un atribut ia o singura valoare, atomica, intr-un tuplu dat (atributele au valori scalare, nu se admit valori cu vectori). Relatie normalizata: modelul relational pentru BD se ocupa doar de relatia normalizata, ce reprezinta proprietatea de mai sus (altfel spus, este in forma normala 1: FN1).

BD relationala: formata dintr-o multime de relatii in care nu exista doua relatii identice (nu exista doua relatii cu acelasi nume, numele fiind de cele mai multe ori identic cu numele schemei relatiei).

Terminologie:

Gradul (n)=numarul de elemente; Cardinalitatea unei relatii: numarul de tupluri; Tipul relatiei: dat de schema relatiei, R(A1,A2,,An); Variabila relatie: relatia R, ia anumite valori ce se modifica in timp. Se mai numeste si extensiunea relatiei).

Observatie: Tuplurile relatiei nu sunt neaparat ordonate: modelul relational nu presupune nici o ordine.

Definitia a 2-a relatiei Atributele dintr-o schema de relatie nu trebuie neaparat sa fie ordonate.

Schema relatiei: R={A1,,Ai,,An}, o multime de atribute; Relatia R, o multime de n-tupluri, t, fiecare tuplu fiind o multime de perechi ordonate t={,,,}. =

Reprezentarea relatiilor prin tabele: Tabelul este o reprezentare vizuala a unei relatii:

Un tabel: are un nume, identic cu numele relatiei; este format din coloane (atribute) si linii (tupluri). prima linie e capul tabelului si contine numele atributelor relatiei, iar celelalte linii contin valori ale atributelor.

Tabelul corespunde unei anumite valori a relatiei R la un moment dat. Tabelul de reprezentare al unei relatii pare ca ar presupune: ordonarea liniilor; ordonarea atributelor. Liniile (tuplurile) nu sunt ordonate! Termenul de tabel sau relaie va avea semnificaia de fiier, sau mai general de colecie de date. Un rnd dintr-o tabel va avea semnificaie de nregistrare. Iat, pe scurt, conceptele de baz legate de baze de date relaionale : Tabela sau relaia este un ansamblu format din n coloane (atribute, subansambluri) i m rnduri (linii) care respect urmtoarele condiii minime: s nu existe date la nivel agregat (valorile aflate la intersecia liniilor cu coloanele s fie la un nivel elementar); liniile s fie distincte unele fat de altele; s nu existe coloane repetitive n descriere.

Cheia primar este un atribut care identific n mod unic fiecare nregistrare. Deci, fiecare linie se identific printr-o valoare distinct. Dou sau mai multe atribute care pot fi chei primare se numesc chei candidate. Cheie extern este un atribut (cmp) sau o combinaie de atribute (cmpuri) dintr-un tabel ale crei valori sunt definite pe aceleai domenii cu ale cheii primare din alt tabel (relaie). Coloana tabelei este format din valorile pe care le ia atributul n liniile tabelei respective. Rndul/linia este format din valorile coloanelor ce se refer la o entitate a tabelei. Bazele de date relaionale sunt proiectate folosind o tehnic de analiz a datelor numit normalizare. Normalizarea este folosit pentru a separa datele n tabele, astfel nct cmpurile din fiecare tabel s fie dependente doar de cmpul cheie primar, i s nu fie legate de nici un alt cmp cheie. Relaiile dintre tabele se reprezint prin duplicarea coninutului unor cmpuri. Normalizarea face ca adugarea, modificarea i tergerea articolelor s fie posibile fr consecine nedorite, adic pstrndu-se integritatea bazei de date.

D. Modelul orientat obiect Sistemele de gestiune a bazelor de date obiectuale (SGBDO) fac parte din noul val de produse, menite s asigure administrarea informaiilor tot mai complexe, utilizate n domenii cum ar fi : proiectarea asistat de calculator (CAD), ingineria programrii, sistemele de informare, gestiunea reelelor, gestiunea documentelor, sisteme multimedia, birotica. Astfel de sisteme nglobeaz majoritatea funciilor SGBD-urilor tradiionale i un limbaj orientat pe obiecte pentru a defini schema bazei, a manipula obiectele i a codifica aplicaiile.

Modelele relaionale i SGBD-urile relaionale au fost dezvoltate pentru aplicaiile de gestiune. Ele sunt legate de abordri bazate pe separarea datelor de prelucrri. Modelele pe care se bazeaz aceste instrumente sunt inadecvate pentru modelarea obiectelor provenind din aplicaii din domenii cum ar fi birotica, administrarea documentelor, proiectarea asistat de calculator. n modelul relaional nu exist noiunile de obiect i clas. Orice obiect al lumii reale este descompus n mai multe relaii plate (flat tables) i uneori sunt necesare anumite legturi pentru a putea reconstitui obiectul iniial. Limbajele orientate pe obiecte. Programarea orientat pe obiecte este nu numai o tehnic de programare, ci constituie n mod esenial o tehnic de structurare a programelor care se sprijin pe entiti manipulate de sistem i nu pe funciile sale. Conceptul de programare orientat pe obiecte a aprut ctre 1970 i s-a rspndit ncetul cu ncetul n mediile inteligenei artificiale. Aceste limbaje propun o nou abordare a programrii , bazat pe fuziunea natural dintre prelucrri i date. Programarea obiectual se bazeaz pe 4 axiome: Axioma 1: Orice este obiect. Un obiect se poate caracteriza prin : o structur de date, adic de variabile caracteriznd starea sa i care sunt rezervate pentru a fi folosite n mod privat de ctre obiect; o structur de control a comportamentului, adic mesaje care sunt n general publice. Ele pot fi folosite de alte obiecte pentru a comunica cu obiectul n cauz. Atunci cnd sunt primite de obiect, ele activeaz metode asociate care induc un anume comportament obiectului.

Axioma 2: Orice obiect este creat plecnd de la un model care este propriu acestui obiect: clasa. Se spune despre acel obiect c este o instaniere a clasei sale. Unele obiecte au statut dublu. Pot exista obiecte ale unor clase speciale numite metaclase ale cror instanieri sunt ele nsele clase. Axioma 3: Orice obiect accept mesaje (cu sau fr parametri) la care rspunde. Axioma 4: Orice clas este o subclas a cel puin unei alte clase (superclasa), exceptnd clasa "Obiect" care este rdcina ierarhiei. Limbajele orientate obiect permit dezvoltarea de aplicaii ntr-o form modular, ceea ce favorizeaz prototipizarea, testarea, reutilizarea codului i micorarea sarcinilor dezvoltrii. Un modul implementeaz o clas de obiecte i fiecare nou modul poate fi obinut prin simpl specializare. Conceptele modelrii Conceptul de baz este obiectul , definit ca fiind reprezentarea unei entiti a lumii reale. n baza de date obiectul este identificat ntr-o manier unic printr-un identificator, atribuit de sistem. Un obiect este descris printr-un ansamblu de proprieti constituind atribute i metode. Prin ncapsulare , aceste proprieti intr n proprietatea privat a obiectului. Nici un alt obiect nu cunoate metodele unui obiect dat dect prin semnturile lor (numele metodei, lista parametrilor i tipul rezultatului) i nu are nici un mijloc de a accede la atributele acestuia, care sunt manipulate prin metodele proprii. Obiectele din lumea real, de aceeai natur sau prezentnd similitudini, sunt grupate n cadrul unei clase n care sunt declarate toate atributele , precum i metodele care le manipuleaz. O clas constituie astfel un tipar pentru o mulime de obiecte. Pe planul reprezentrii interne, un obiect creat este o zon de memorie coninnd diferitele valori ale atributelor, iar metodele sunt descrise o singur dat i partajate de toate obiectele din clas. Orice obiect este construit plecnd de la o clas sau un tip care regrupeaz structura datelor i metodele. O clas joac astfel rolul unui generator de obiecte. Pentru ilustrarea noiunii de clas, s lum cazul angajailor dintr-o ntreprindere ; acetia se caracterizeaz printr-un numr de marc, nume, salariu, departament i numr de telefon. Pe de alt parte, fiecrui individ i se poate calcula salariul, i se poate face o mrire de salariu etc. Metodele de creare i de modificare sunt indispensabile tuturor claselor pentru a crea i a actualiza obiectele clasei. ncapsularea datelor asociate obiectului conduce la imposibilitatea de a fi vzute de ctre celelalte obiecte. Definirea unei subclase a unei clase presupune noiunea de motenire simpl. Dac o subclas motenete dou sau mai multe clase, este vorba de o motenire multipl. de atribute i metode.

Modelul de date orientat obiect n filizofia OODB lumea real este reprezentat ca o serie de obiecte . Un obiect poate reprezanta orice element al lumii reale de la un bit la o paltform industrial. Biectel manifest , prin definirea lor caracteristici commune :

Persisten starea unui obiect este reinut n system dup ce programul care-l gestoineaz i-a ncheiat activitatea . Identificator unic la crearea unui obiect este generat un indentificator unic care va rmne asociat obiectului pe ntrrgul ciclu de via . Identificatorul este separat de starea obiectelor fiin astfel capabil s fac diferena ntre dou obiecte cu aceiai stare . Roprietile datelor Un set de date despre proprieti care nregistreaz starea curent a obiectelor . datele accepatate includ : primitive(ntregi , caractere ) , tipuri noi de date )tipuri complexe bca imagini , sunet etc). Aceste tipuri complexe de date pot fi definite cu un mecanism de generare de tipuri abstracte de date . Operatori un set de funcii care manipuleaz starea obiectului . ncapsulare definmirea coninutului de bdate i oeratori n cadrul obiectului . Operatorii formeaz o interfa prin intermediul creia funciile apelante pot manipula obiectele . n rest obiectul este privit ca un black box. Relaii similar cu orice model de date , o proprietate important refer modul n care sunt reprezentate relaiile dintre diferitele componente de date . OODB apar ca fiind de dou tipuri ( caracterizate prin modul de utilizare a pointerilor a se vedea Definirea datelor) inter-clase ierahia claselor

Clase i ierahia claselor Obiectele cu aceleai proprieti i opeartori sunt calsificate de maniera la care se formeaz clase de obiecte distincte. Astfel fiecare obiect este o instaniere a unei calse de obiecte . Fiecare instaniere a unei clase de obiecte primete o identitate unic i acela set de proprieti de ]adte i operatori . n activitatea de construire a unui OODB se vor crea clase de obiecte multiple i ierahiile claselor , asupra crora se pot aplic specializri pentru facilitatreea administraiei. Utilizarea specizrilor se materializeaz prin identificarea proprietilor i operatorilor comuni obiectelor .Obiectele sunt deci restructurate ierarhic , cu superclasa obiectelor n vrful ierarhiei i cu specializrile obiectelor ca sub-clase ale obiectelor comune . Astfel n mecanismul de motenire clasele specializate pot prezenta propriile proprieti i operatori plus cele aferente superclasei din care fac parte (fig. 1) . Acest mecanism reduce dramatic repetare codului i astfedl mbuntete ntreinerea .

O clas obiect cu o singur superclas este denumit cu motenire singular . Specializarea se poate aplica peste tot , pe toate nivelele unei ierahii iar clasele de obiecte pot avea mai mult dect o superclas , fiind astfel referite ca moteniri multiple. Arhitectura

Obiectele sunt gestionate prin intermediul identitii logice , permind micarea obietelor n scopuri de arhivare i partiionare fr s fie necesar modificarea de cod n aplicaie

Definirea datelor Nu exist limbaj standard pentru definirea OODB-urilor , n schimb programatorii pot crea clase de obiecte folosind limbaje care implementeaz OO , ca C++ sau Java . (fig.2)

Relaiile pot fi expuse ca scheme prin includerea proprietilor de date , cunoscute ca pointeri care puncteaz obiectul relaionat .

Modificarea schemei nseman recreerea , restructurarea i recompilarea schemei. Navigarea O OODB poate fi compus dintr-un numr mic pn la un numr mare de obeicte . Cutarea unui obiect prin utilizarea de pointeri se realizeaz prin navigarea de la un obiect la altul (fig.4)

Aceast abordare este consideart ca mai natural pentru cutaea obeictelor dect metoda algebric specific bazelor de date relaionale . Avantajele abordrii ODB Printre cele mai imporatnte avantaje ale abordrii OODB se regsesc : obiectele nu necesit reasamblarea pornind de la tabelele de componente la fiecare utilizare ceea ce conduce la mbuntirea timpului de acces , fiind astfel foarte util n procesele tranzacionale . reducerrea numrului de pagini simplitatea gestiunii evrsiunilor navigarea n baza de date este multa mai natural Relaiile sunt stocate n baza de date odat cu obiectele , pointeri Modelul datelor este reprezentativ pentru lumea real Este adecvat arhitecturilor distribuite client server

Dezavantajele abordrii OODB Se manifest , n egal msur limitri i dezavantaje pentru acest abordare .

-

lipsa de standarde actuale cererile relative la navigare au limitri de documentare nu exist semantici formale pentru OODB simplitatea tabelelor relaionale este pierdut paradigma orientat obiect face dificil conversia de la baze de date relaopnale la OODB scalare dificiln att n sfera tranzaciilor ct i n sfera conturilor utilizatori

Utilizatorii bazelor de date Acestia acceseaza datele prin intermediul SGBD, prin comenzi Exista cateva categorii de utilizatori: c. utilizatorii programatori (dezvoltatori de aplicatii) Aplicatie de BD: program ce foloseste datele dintr-o baza de date pentru un anumit scop, limitat. d. utilizatorii finali, acceseaza datele prin intermediul unei aplicatii. e. Administratorul bazei de date: se ocupa cu mentinerea in functionare a bazei de date (back-up, drepturi, monitorizare, etc.)

Arhitectura interna a sistemelor de baze de date In 1975, a aparut standardul ANSI/SPARC ce stabileste mai multe nivele de arhitecura a bazelor de date:

nivelul extern, compus din una sau mai multe vederi utilizatori. Aceste vederi sunt descrise de subscheme logice, ce descriu datele accesate; nivelul intermediar, ce contine o descriere printr-o schema conceptuala (logica) unica a bazei de date; interogheaza toate subschemele logice ale fiecarui utilizator. Schema logica a bazei de date este descrisa si analizata de SGBD. Se refera la organizarea datelor din punct de vedere logic. Pentru memorarea efectiva a datelor e necesara o schema interna; nivelul intern: schema interna (fizica). Descrie modul de memorare a datelor pe suport fizic. Exista o corespondenta (mapping) intre schema conceptuala si cea interna, controlata de SGBD.

Aceasta arhitectura a sistemelor de baze de date are ca scop independenta datelor de suportul hardware.

Limbajele si interfetele utilizate in aplicatiile de BD Orice SGBD trebuie sa suporte 2 limbaje din punct de vedere conceptual: d. un limbaj de descriere a datelor (LLD, DDL); e. un limbaj de manevrare a datelor (LMD, DML). In implementarile reale, exista numeroase limbaje prin care se transmit comenzi pentru SGBD-uri. De ex, in SGBD-urile relationale, SQL (Structured Query Language): limbaj de interogare. SQL contine ambele componente conceptuale (LDD si LMD). Comunicatia cu un SGBD se poate realiza prin comenzi (instructiuni):

in mod iterativ:o o

se transmit comenzi suportate de SGBD-ul respectiv SGBD-ul raspunde cu valorile returnate

prin intermediul aplicatiilor de BD, ce prezinta interfete grafice. De regula, forma cea mai obisnuita pentru aplicatiile de BD este formularul (form), ce are rolul de a restrictiona accesul utilizatorilor finali.

Arhitectura client-server a aplicatiilor de BD

important pentru dezvoltarea aplicatiilor: se poate face o distribuire a sarcinilor distribuirea intr-o retea a clientului (clientilor) si a serverelor

Se disting cateva tipuri de arhitecturi, dupa numarul utilizatorilor si a numarului de statii:

SGBD centralizato

aplicatie monoutilizator in retea

o

aplicatie multiutilizator in retea

SGBD distribuit

In cazul SGBD-urilor distribuite apar probleme:o o

se doreste transparenta pentru utilizator a distribuirii datelor; optimizarea interogarii este foarte complicata.

Concluzie. SGBDO ofer noi funcionaliti pentru administrarea eficient a datelor complexe i voluminoase. Suportul formal pe care se sprijin (modelele orientate pe obiecte i limbajele de interogare i manipulare) le ofer un plus de rigoare. Totui, rmne ca aceste tehnici s fie perfecionate n continuare, deoarece timpii de rspuns oferii sunt nc destul de mari. Avnd n vedere situaia actual a pieii, nu este posibil nc nlocuirea SGBD-urilor relaionale, care acoper cvasi-totalitatea nevoilor, rspunznd ntr-o manier optim exigentelor aplicaiilor de gestiune, i la ora actual preponderente.

ACCESUL LA BAZELE DE DATE Accesul la date se poate face local, sau de la distant, prin intermediul unui din serviciile oferite de Internet, sau direct, prin conectare de la distan cu calculatorul ce conine baza de date. Din punct de vedere al restricionrii accesului, bazele de date se mpart n: Baze de date publice (accesibile prin dial-up, INTERNET, comercializate pe CD-ROM) Baze de date private (care aparin unei organizaii sau persoane). BAZE DE DATE DISTRIBUITE O baz de date distribuite este o baz de date logic integrat, dar fizic distribuit pe mai multe faciliti de calcul distincte, interconectate ntre ele. Logic integrat -din punctul de vedere al utilizatorului , BDD reprezint o singur baz de date (BDD are o singur schem conceptual global, utilizatorul interacioneaz cu BDD n aceeai manier n care interacioneaz cu o baz de date centralizat, si, n

general, nu are informaii despre partiionarea , replicarea i distribuirea datelor) Prelucrrile iniiate la un nod antreneaz n general prelucrarea informaiilor aflate n alt nod. Fizic distribuit pe mai multe faciliti de calcul distincte: baza de date este partiionat, iar partiiile respective sunt pe calculatoare diferite (se admit copii ale fragmentelor memorate n noduri diferite). Fiecare fragment este vzut, n nodul n care exist, ca baz de date centralizate, care poate fi administrat i exploatat local. Baza de date distribuit (o mulime de colecii de date i legturile dintre ele) este fragmentat conform principiilor : plasarea datelor memorate n nodul de producere i utilizare a lor; minimizarea transportului de date prin reeaua de calculatoare. Pentru a rspunde acestor principii, fragmentarea se realizeaz la dou nivele : partiionarea mulimii de date n submulimi de colecii de date; partiionarea unei colecii de date n fragmente. Fragmentarea coleciei de date se poate realiza n dou moduri : - orizontal - fragmentele rezultate au aceeai structur ca i colecia, dar difer ntre ele prin datele pe care le conin; - vertical - fragmentele rezultate conin fiecare doar cte o parte din structura coleciei. Este admis i combinarea celor dou moduri. Fragmentele rezultate constituie elementele de distribuire a datelor. Totalitatea fragmentelor unei baze de date distribuite , memorate pe un nod al reelei, constituie o baz de date local. 3. Limbajul SQL A aparut in 1971. SQL insemna Structured Query Language: limbajul folosit pentru definitia si manipularea datelor in modelul relational. Majoritatea SGBD suporta SQL. In 1986, primul standard ANSI. In 1992, standarul ANSI/ISO a definit SQL92 (SQL2) ca limbaj standard pentru SGBD relationale. SQL contine atat componenta de descriere a datelor (LDD),cat si componenta de manipulare a datelor (LMD); Manipularea (interogarea) este parte extinsa; Limbaj neprocedural: secventa de comenzi (instructiuni), fiecare comanda este transmisa SGBD-ului, este interpretata si returneaza un rezultat. Standardul SQL3 (SQL 98) defineste modelul obiect-relational de baze de date. Structura sintactica: limbajul este compus din instructiuni (comenzi). O comanda SQL este o secventa de elemente componente (token). Elementele componente pot fi: cuvinte cheie, identificatori, caractere speciale si constante (literali). Cuvintele cheie si identificatorii

Acestia au o structura lexicala identica. Lexical, un cuvant cheie sau un identificator inseamna o secventa de litere si caracterul _. Din punct de vedere semantic, cuvintele cheie sunt elemente cu semnificatie fixa in limbaj: nume de comenzi (clauze): SELECT, INSERT, etc; tipuri de date: integer, numeric, char, varchar, etc. Limbajul SQL nu diferentiaza caracterele mari de cele mici: este case insensitive. Identificatorii au aceeasi structura lexicala; din punct de vedere semantic reprezinta nume intr-o comanda si pot fi: nume de tabele, de coloane, etc. SQL foloseste termenii de tabel, coloana si linie pentru relatie, atribut si tuplu (cei subliniati sunt cei folositi in definirea matematica a modelului relational). Identificatorii sunt: obisnuiti (simpli): Sectie, ANGAJAT, etc; delimitati: reprezinta un nume pus intre ghilimele, care poate sa contina orice fel de caractere. Un identificator delimitat este folosit, in general, un nume mai mare de tabel. Cuvintele cheie si identificatorii nu pot fi deosebiti intre ei decat daca cunoastem limbajul. Constantele Constantele pot fi: de tip numar intreg: ex 1234 (reprezentate pe 4 octeti); de tip numar real: ex 12.5, 12e5 (reprezentate de 8 octeti, in formatul double); de tip sir de caractere: ex Acesta este un sir; de tip NULL: constanta speciala, reprezinta lipsa de informatie. Caracterele speciale operatori (+,-,); ; termina o comanda; punctul zecimal (constante reale, codificari ale coloanelor); separatorii: blank, TAB, CR ; sunt ceruti uneori intre elemente. Operatori, expresii si functii SQL Operatorii SQL: pot fi reprezentati prin unul sau mai multe caractere speciale (+, =1500)); cs=numele constrangerii. Constrangerile de tuplu Se refera la acele constrangeri ce permit identificaera unica a unui tuplu. Prin definitia relatiei, nu exista doua tupluri identice intr-o relatie. Multimea valorilor tuturor atributelor este unica. Constrangerile se realizeaza prin chei: f. SUPERCHEIA (SK) Fiind data o relatie cu o a doua definitie R={A1, A2, , An}, S c R : este o submultime a multimii {A1, A2, , An} astfel incat nu exista in relatia R doua tupluri ti si tj care sa aiba aceleasi combinatii de valori ale atributelor in submultimea SK. ti [SK] tj [SK] , ij Supercheia este unica. Orice relatie are cel putin o supercheie: multimea tuturor atributelor sale. Este posibil sa putem identifica tuplurile prin atribute mai putine: chei candidate.

CHEIA CANDIDATA (CK)

Cheia candidata este o supercheie ireductibila (minimala). Proprietati:

unicitate: nu pot sa existe doua tupluri ti si tj care sa aiba aceleasi combinatii de valori ale atributelor in submultimea CK ti [CK] tj [CK] , ij

ireductibilitate: Fiind data cheia CK (o submultime a atributelor relatiei), daca se elimina un atribut din CK, submultimea rezultata (CK) nu mai are proprietatea de unicitate.

Cheile candidate se stabilesc de catre proiectant, astfel incat sa asigure unicitatea: Fie relatia Angajat(IdAngajat, Nume, Prenume, DataNasterii, Adresa, Salariu) {Nume, Prenume} nu poate fi o cheie candidata: pot exista mai multi angajati cu acelasi nume si prenume. CK1={Nume, Prenume, DataNasterii, Adresa} poate fi CK CK2={IdAngajat} poate fi CK Intr-o relatie pot exista una sau mai multe chei candidate. Cheile pot sa fie cu un singur atribut (simple) sau cu mai multe atribute (compuse). Se alege din toate cheile candidate o cheie primara.

CHEIA PRIMARA (PK): una din cheile candidate ce va fi folosita ulterior pentru identificarea unica a tuplurilor.

Criteriul de alegere este, in genereal, simplitatea (cu numarul cel mai mic de atribute). Integritatea de tuplu reprezinta aceasta cerinta ca atributele cheii primare sa ia o singura valoare, specifica tuplului respectiv. Restrictii ale cheii primare:

nu poate fi modificata; nu poate contine valori de NULL pe nici un atribut. CHEIA SECUNDARA

Cheile secundare sunt acele chei candidate ce nu sunt chei primare. Se mai numesc si chei alternative sau unice. In cheile secundare se admit atat modificari de valori cat si valori de NULL pentru o parte din atribute, daca:

d. se permite acest lucru; e. se mentine unicitatea cheii secundare.

In SQL, exista doua constrangeri de relatii: PRIMARY KEY = cheie primara UNIQUE = cheie secundara Ex: CREATE TABLE Angajati( IdAngajat integer PRIMARY KEY, Nume varchar(20) NOT NULL, Prenume varchar (20) NOT NULL, DataNasterii Date, Adresa varchar(50), Salariu numeric(8), [CONSTRAINT uk] UNIQUE (Nume, Prenume, DataNasterii, Adresa), [CONSTRAINT cs] CHECK (Salariu>=1500)); De regula, cand se proiecteaza o relatie, se adauga un atribut de identificare unica, ce se foloseste ca si cheie primara. Constrangeri inter-relatii

CHEIA STRAINA

Pentru a asigura categoriile de asocieri intre relatii, se folosesc CHEILE STRAINE, ce impun constrangeri asupra unor valori de atribute. Def: Cheia straina Fiind data o relatie R1={A1, A2, , An} in care exista o submultime de atribute

FKcR1 si o relatie R2={B1, B2, , Bn} cu o CKcR2. FK este cheie straina in R1 si refera cheia candidata CK in R2 daca: B. FK si CK au acelasi numar de atribute, definite pe domenii compatibile; C. Pentru orice valoare a lui FK in R1, se gaseste o valoare a lui CK in R2: t1i[FK]= t2j[CK] sau t1i[FK]=NULL. Valoarea cheii straine o regasim ca valoare a unei chei candidate: INTEGRITATE REFERENTIALA. R1: relatia care refera (FK) R2: relatia referita (CK, PK).

Intre R1 si R2 avem o asociere N:1 Prin FK se modeleaza asocierea N:1 R1:R2 (1:N R2:R1)

Domenii compatibile Def: Doua domenii sunt compatibile din punct de vedere relational daca sunt definite cu tipuri de date compatibile si sunt identice din punct de vedere semantic (au aceeasi semnificatie). Compatibilitate: putem compara valori din cele doua domenii. FK in SQL este o constrangere de tabel: [CONSTRAINT nume_constrangere] FOREIGN KEY (lista_atribute_ch_straina) REFERENCES nume_tabel(lista_astribute_ch_candidata) CREATE TABLE ANGAJAT( .

[CONSTRAINT fk] FOREIGN KEY (IdSectie) REFERENCES Sectie(IdSectie)); In SQL nu se face o verificare a identitatii semantice a domeniilor, deoarece SQL foloseste tipurile de date primitive. Integritatea referentiala: atributele cheii straine trebuie sa aibavalori egale cu atributele cheii primare din relatia definita. Diagrama referentiala Diagrama referentiala reprezinta un graf orientat: h. nodurile: relatiile; i. arcele: referinte de la o relatie ce refera catre relatia referita.

O referire se modeleaza prin o asociere N:1, o asociere unidirectionala. Se observa ca, in modelul relational, asocierea se realizeaza prin egalitatea valoriloe atributelor (fara pointeri, etc.). Intr-o diagrama relationala pot exista cicluri referentiale, in care o relatie referita este, la randul ei, relatie ce refera o alta relatie:

Exista chiar si autoreferiri: Mentinerea integritatii referentiale se face prin restrictii la operatia de INSERT, DELETE, UPDATE:

f. Inserare (INSERT): nerestrictionata intr-o relatie ce este referita. Este restrictionata insa intr-o relatie care refera; g. Stergere (DELETE) : nerestrictionata intr-o relatie ce refera. Restrictionata intr-o relatie care refera; h. Actualizarea (UPDATE): restrictionata la ambele Constrangeri: ON DELETE CASCADE : se admite stergerea, dar se vor sterge celelalte tupluri ce sunt referite de tuplul respectiv ON DELETE RESTRICTED: nu se poate sterge un tuplu ON UPDATE CASCADE ON UPDATE RESTRICTED 5.Transpunerea modelului E-A in modelul relational Face parte din proiectarea BD, a aplicatiilor BD. Datorita diversitatii realitatii, poate exista o diversitate de BD. De aici deriva diversitatea posibilitatilor de abordare soft a aplicatiilor de BD. Etapele proiectarii BD: proiectarea conceptuala: de regula inseamna proiectarea unui model entitate-asociere (E-A), numit si proiect conceptual de nivel inalt al BD. Aceasta faza se mai numeste si proiectare logica. Proiectul conceptual este diferit fata de modelul specific de SGBD, etc. Proiectul logic este dependent de modelul de date (RELATIONAL), este independent de SGDB-ul ce va fi folosit (independenta este relativa). De regula, proiectul logic se dezvolta pentru un anumit SGBD. Fiecare SGBD vine de regula cu toolset-uri pentru proiectarea aplicatiilor dar si pentru proiectarea logica. proiectarea fizica: inseamna o rafinare a proiectului logic; este faza in care se adopta solutii care influenteaza nivelul fizic de organizare a datelor. In proiectarea fizica se implementeaza indecsii. Etapele de transpunere: Multimile de entitati se transpun in relatii; se definesc si constrangeri inter-relatii (cheia primara). Asocierile intre relatii definesc constrangerile inter-relatii. Exemplu: model E-A

INTREPRINDERE Multimile de entitati puternice:

SECTIE (Numar, Nume, Buget) ANGAJAT (Nume, Prenume, DataNasterii, Adresa, Salariu) PROIECT (Nume, Termen, Buget) COMPONENTA (Nume, Descriere) PRODUS (Nume, Descriere,) FURNIZOR (Nume, Prenume, Adresa, Firma) CLIENT (Nume, Prenume, Adresa) Multimile de entitati slabe, dependente

DEPENDENT (Nume, Prenume, Varsta, GradRudenie) Subtipurile de entitati (ale tipului ANGAJAT):

SECRETARA (VitezaDeRedactare) INGINER (Specializarea)

Mostenirea in diagrama E-A se reprezinta prin asocieri 1:1 intre tipul principal si cel derivat. Diagrama E-A:

Multimile de entitati:

I.1. Multimile de entitati puternice devin relatii (de sine statatoare): se poate alege cheia primara: D. o submultime de atribute; E. se adauga un atribut de identificare unica a tuplurilor

In general, atributele de identificare trebuie sa garanteze unicitatea per relatie a valorilor lui: unicitatea depinde de SGBD (ex: Autonumber) I.2. Multimile de entitati slabe devin relatii, obligatoriu in asociere N:1 cu relatia corespunzatoare tipului puternic de care depinde tipul slab: DEPENDENT( IdAngajat, Nume, Prenume, Varsta, GradRudenie) IdAngajat, Nume, Prenume reprezinta cheia primara (se poate adauga un alt atribut care sa fie cheie primara) IdAngajat este cheie straina

I.3. Multimile de subtip se transpun in relatii: f. se defineste o cheie straina care refara cheia primara din relatia tip; g. cheia straina este si cheie primara (!!!) Relatia subtip este in asociere 1:1 cu relatia tip

Asocierile II.1. Asocierile N:1 se realizeaza :

intre relatii corespunzatoare multimilor de entitati puternice si se realizeaza printro cheie straina in prima relatie (N) care refera o cheie primara din relatia a doua; intre o relatie dependenta si una puternica II.2. Asocierile binare M:N

Se realizeaza prin adaugarea unei relatii (numita de asociere) intre cele doua relatii. Aceasta relatie contine cate o cheie straina care se refera la cheile primare din cele doua relatii. Ex: COMPONENTA PRODUS (M:N) COMPONENTA(IdComponenta, Nume,) PRODUS(IdProdus, Nume, ) COMPOZITIE (IdComponenta, IdProdus, , Roata,) IdComponenta = cheie straina (IdProdus = cheie straina) IdComponenta, IdProdus = cheie primara (sau se poate adauga un atribut special pentru cheia primara). II.3. Asocierile M:N:P Reprezinta o extindere a cazului M:N. Se foloseste o relatie noua (relatie de asociere) in care se definesc 3 chei straine care refera relatiile pe care le asociaza. VANZARE (IdAngajat, IdClient, IdProdus, DataVanzarii, NrBuc,) Este necesar un atribut suplimentar (DataVanzarii) pentru a asigura unicitatea cheii primare. II.4. Asocierile 1:1 Reprezinta asocierile 1:1 intre relatiile puternice SOT (IdSot, Nume, Prenume) SOTIE (IdSotie, Nume, Prenume) Aceasta asociere se poate implementa:

j. cu chei straine:

cheie in prima relatie care refera relatia a doua cheie in a doua relatie care refera prima relatie SOT (IdSot, ,IdSotie) SOTIE(IdSotie, Nume,) Aceasta asociere 1:1 este considerata un caz particular al unei asocieri N:1.

g. o relatie de asociere caz particular al asocierii M:N CASATORIE(IdSot, IdSotie,)

Proiectarea relatiilor normalizate In modelul relational si SGBD se admit numai relatii normalizate: cele care respecta reguli de normalizare. Exista grade diferite de normalizare, nivelul cel mai de jos este normalizarea in forma normala 1 (FN1). Pentru ca o relatie sa fie in FN1:

valoarea atributelor trebuie sa fie atomice dpdv semantic: se refera la o caracteristica a domeniului peste care este definit atributul respectiv; un atribut ia o singura valoare (este un scalar, nu un vector). Ex:

Acest aspect de adaugare de relatii suplimentare apare in mai multe situatii, ingeneral atunci cand sunt necesare detalieri ale relatiilor din BD. Proiectarea logica a relatiilor continua cu normalizarea lor. Operatii relationale Bazele de date sunt concepute pentru a prelucra interogarile, in principal. S-au dezvoltat limbaje de manipulare a datelor (cunoscute si sub numele de limbaje de interogare). De ex, SQL poate fi numit si limbaj de interogare. Limbajele de manipulare a datelor fac parte din categoria limbajelor concrete, implementate in diferite SGBD-uri. S-a pornit la inceput cu niste limbaje abstracte de interogare, ce definesc operatii asupra relatiilor