slides fabricatie

Upload: cristian-cojocariu

Post on 14-Apr-2018

239 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/27/2019 Slides Fabricatie

    1/125

    4/10/20

    Cap. 2 Sistemul CIM (Computer Integrated Manufacturing)

    2.1 Introducere

    Definiia dup CASA (Computer and Automation Systems Association):CIM este conceptul de integrare total a activitilor ntreprinderii realizat prinintegrarea sistemelor, a comunicaiilor de date i a noi filozofii manageriale care

    mbuntesc eficiena organizatoric i de personal.

    Definiia dup dicionarul APICS:CIM Integrarea organizatoric total a fabricaiei prin folosirea sistemelor de calculi a filozofiilor manageriale cu scopul de a mbunti eficiena organizatoric;utilizarea calculatoarelor pentru a interfaa diverse sisteme de calcul i conectareaacestora coerent ntr-un tot unitar. De exemplu integrarea sectorului financiar,sistemului CAD/CAM, a controlului proceselor, a sistemelor grupului tehnologic,MRPII, sistemul de raportri financiare. Toate acestea sunt legate prin interfee.

    Mediul informational al unei intreprinderi suporta schimbari frecvente in configuratie sitehnologie. O arhitectura CIM este un sistem informatic care permite intreprinderilorindustriale sa integreze informatiile si procesele afacerii, oferind o structura flexibilacare ii permite sa reactioneze rapid la aceste schimbari. Structura se bazeaza pe unnumar de elemente modulare care se pot modifica usor si se pot dezvolta dupacerintele intreprinderii.

    Modelul conceptual al unui sistem CIM este ilustrat de Society of ManufacturingEngineers in figura urmatoare.

    (6) Infrastructura de fabricatie

    (5) Oameni- materiale Scule RESURSE Informatii Tehnologii - Furnizorii

    Competitorii,distribuitori,resurse

    naturale

    Organizatii

    globale

    Vanzarisi

    promotie

    Sevicii

    clienti

    Transformari

    ciclude

    viataprodus

    (4)Suportclienti

    Definirea

    afacerii

    Proiectare

    sistem

    Proiectarecomponente

    Imbunatatire

    continuaDocumentatie

    si lansare(4) Definire produs/proces

    Managementmateriale

    Asamblare si

    testare

    Productiecomponente

    Planificare

    operatii

    Planificare

    resurse

    (4) Fabricatie

    (3) Cunostinte partajate

    (3) Sisteme

    (2) Organizatii

    (2) Oameni

    (5) Angajati- investitori comunitati RESPONSABILITATI

    regulietica-mediu

    (4)Planificare

    (1) Clienti

    (2)Echipe

    Piee financiare, comuniti, guverne, instituii de nvmnt i de cercetare.

  • 7/27/2019 Slides Fabricatie

    2/125

    4/10/20

    Conceptul CIM are o dezvoltare pe niveluri :

    nivelul 1: Clienii reprezint inta principal pentru toate activitile i efortul defabricaie.

    nivelul 2: Acest nivel cuprinde metodele de organizare, motivare, perfecionare,evaluare i comunicare dezvoltate pentru realizarea muncii n echip i pentrucooperare.

    nivelul 3: se refer la partajarea cunotinelor, sistemelor i a bazelor comune dedate utilizate pentru a ajuta personalul i procesele. Resursele includ instrumentemanuale sau de calcul pentru a ajuta proiectarea cercetarea, elaborareadocumentaiei luarea deciziilori controlul tuturor activitilor.

    nivelul 4: Sunt patru categorii principale de procese: definirea produsului i aproceselor de fabricatie, planificarea, fabricaia i suportul clienilor. Definirea produs/proces: Definirea afacerii, proiectarea produsului, proiectarea

    componentelor, perfecionarea proiectului, documentaia i lansarea produs. Planificare: planificare operatii si planificare resurse Fabricaie: Managementul materialelor, asamblare i testare, fabricaia

    componentelor, planificarea capacitilor, planificarea resurselor. Suportul clienilor: vnzri i promovare, tranziii pe timpul ciclului de via,

    servicii clieni. nivelul 5: resursele companiei care includ : capitalul , personalul, materiale,

    management, informaii, tehnologie i furnizori. Compania are responsabiliti ctreangajai, investitori, i comunitate. Trebuie s respecte reguli de etic i obligaii fa

    de mediu. nivelul 6: Infrastructura. Aceasta include clienii, furnizorii, competitorii, distribuitori,

    resurse naturale, piee financiare, comuniti, guverne, instituii de nvmnt i decercetare.

    In figura urmatoare este o alta reprezentare a structurii CIM ce evidentiaza: proceseledatele si resursele sistemului.

    Planificarea

    si controlul

    fabricatiei

    (MPC)

    Proiectare

    Marketingsi vanzari

    Productie

    Managementulresurselor umane

    Modelul sistemului CIM cu evidentierea proceselor datelor si resurselor sistemului

  • 7/27/2019 Slides Fabricatie

    3/125

    4/10/20

    Structura CIM include trei procese care se suprapun. Zona comun reprezint datele i resursele. Deasemenea cele trei procese sunt susinute de resursele din cercul care le nconjoar:

    Proiectare i elaborarea documentaiei, denumit product/process i care include: definireaafacerii, proiectarea sistemului, proiectarea componentelor, mbuntirea continu, documentaiei lansare. Acest sistem poart denumirea de CAD. CAD utilizarea calculatoarelor n desenul tehnic interactiv i n arhivarea proiectelor.

    Programele realizeaz forma, transformri geometrice, proiecii, rotaii, schimbarea scrii dereprezentare, seciuni, vederi pariale a prilori a relaiilor dintre acestea (definiia APICS).

    CAE Procesul de generare i testare a specificaiilor tehnice pe platforme de calcul.

    Planificarea si controlul fabricatiei (MPC) include procesele de planificare programare,managementul inventarului si planificarea capacitilor necesare pentru desfurarea eficient afabricaiei. Procesul include: managementul materialelor, elaborarea specificaiilor de asamblarei testare, fabricaia componentelor, planificarea operaiilor, i planificarea resurselor. CAPP O metod de planificare a proceselor n care sistemul de calcul asist n

    dezvoltarea planurilor proceselor de fabricaie (definirea operaiilor, secvena, cerinele demaini i scule, parametrii de fabricaie, tolerane, criterii de inspecie). Inteligena artificiali sistemele de codificare i clasificare sunt utilizate n generarea planului de procesare.

    CAM Utilizarea programelor de calculator pentru programarea, comanda controlulechipamentelor de produciei pentru fabricaia componentelor.

    CNC O tehnic prin care controlerele mainilor unelte utilizeaz calculatoare saumicroprocesoare pentru stocarea i execuia instruciunilor numerice.

    PAC (Production activity control): funcia de rutare i lansare n fabricaie a operaiilor caretrebuie executate pe facilitile de producie i realizarea controlului furnizorilor. PACcuprinde tehnicile necesare de programare, control, msur i evaluare a eficieneiopera

    iilor de produc

    ie.

    MRPII Manufacturing resource planning O metod pentru planificarea eficient a tuturorresusrselor de fabricaie ale companiei. Este compus din: planificarea afacerii, planificareavnzrilori a operaiilor, planificarea produciei, planul de producie, planificarea necesaruluide materiale, planificarea capacitilor.

    Productie: Ultimul proces include activitile asociate cu producia sau cu shop floor.

    Computer Integrated Manufacturing (CIM)

    Nivelul strategicManagementul

    asistat de calculator

    Sistemul de luare a

    deciziilor

    - AI: Inteligenaartificial- DSS: Sisteme desupport al deciziei- DBMS: Sistemulde management albazei de date

    Sisteme informatice

    de fabricaie

    - MIS: Sistemulinformatic demanagement- MRP: Planificareanecesarului demateriale- BOM: Lista demateriale

    Nivelul tactic

    Ingineria asistat de calculator (CAE)

    Proiectare

    - CAD- GT

    Analiza Asigurarea

    calitatii

    Ingineria

    fabricatiei

    - FEA- FEM

    -CAQ-- SPC

    - CAP- GT- NC

    Nivelul operational

    Fabricatia asistata decalculator (CAM)

    Controlul shop-floor

    - CNC- Roboti- FMS- WIP- AS/RS

    Modelul sistemului CIM cu evidentierea nivelurilor ierarhice

  • 7/27/2019 Slides Fabricatie

    4/125

    4/10/20

    Ciclul deproductie

    Proiectare

    CAD/CAM

    CAD

    Plan delucru

    ProgrameNC

    CAM

    CAQ

    Comanda

    Transport

    Asamblare

    Asamblare

    Controlcalitate

    PPS

    Planproductie

    Planificaremateriale

    Planificarecapacitati

    CAE

    MPS

    MRP

    CAP

    Planificare

    Realizare

    Planificare

    Realizare

    Comandaexpeditie

    Controlmontaj

    Colectaredate proces

    Pregatireafabricatiei

    Comanda siplanificareaproductiei

    Modelul in Y a sistemului CIM

    2.2 Etapele introducerii conceptului CIM:

    1. Evaluarea ntreprinderii sub aspectul : tehnologiei, a resurselor umane i asistemului.

    Analiza nivelului tehnologic i gradul de sofisticare a proceselor utilizate nfabricaie.

    Nivelul cunotinelor angajailor privind conceptului CIM Analiza critic a sistemului de producie n care urmeaz s se introduc

    conceptul.

    Obstacole pentru implementarea CIM :

    Lipsa experienei n interiorul ntreprinderii 55%, la nivel managerial nu seobin beneficii 48%, planificare inadecvat sau lips de viziune 46%, metodeinadecvate de analiz a costurilor 43%, lipsa de fonduri 36%, frica eeculuiimplementrii 27%, companii care nu au nevoie 8%, altele 5%.

    2.Simplificarea

    i eliminarea pierderilor. Simplificarea este procesul de eliminarea a

    pierderilor la nivelul operaiilor sau a activitilor pentru mbuntirea productivitii ieficienei departamentelori organizaiei.

    3. Implementarea cu msurarea performanelor. Parametrii evaluai: timpul ciclului deproducie, durata de staionare n inventar, timpii de pregtire a fabricaiei, eficienafabricaiei, calitatea, productivitatea angajailor.

  • 7/27/2019 Slides Fabricatie

    5/125

    4/10/20

    2.3 Componente tehnologice in structura CIM

    Structura flexibila a sistemului se bazeaza pe utilizarea urmatoarelor componentetehnologice: comunicatiile, baza de date (managementul datelor: definirea, stocarea,securitatea si gestionarea modului de utilizare a datelor) si modul de prezentareadatelor utilizatorilor si dispozitivelor din componenta intreprinderii.

    a. Comunicatiile

    In figura de mai jos este prezentata comunicatia la nivelul intreprinderii.

  • 7/27/2019 Slides Fabricatie

    6/125

    4/10/20

    Comunicatiile prin rolul lor de a distribui datele intreprinderii catre utilizatori, sistemesi dispozitive, reprezinta un aspect critic al arhitecturii, sistemul de fabricatie utilizando gama larga de sisteme de calcul, tehnologii, arhitecturi de sisteme, sisteme deoperare si aplicatii. Aceasta diversitate creaza o dificultate deosebita in realizareacomunicatiei dintre oameni si masini, in special cand utilizeaza formate diferite pentrudate. Plecand de la aceasta problema IBM a dezvoltat sistemul SNA - SystemNetwork Architecture, cu rolul de a permite comunicatia dintre diferite sisteme IBM. Indecursul anilor sistemul a devenit un standard de comunicatii in multe companiiindustriale. Cerintele CIM necesita o integrare mai larga decat cea oferita de sistemulSNA. De exemplu la nivelul sistemului de productie (shop-floor), solutia oferita deIBM este IBM Plant Floor Series, un set de produse software. O componenta asetului, Distributed Automation Edition (DAE) este un sistem ce permite functii decomunicatie pentru aplicatiile de la nivelul shop-floor:

    - definirea si menagementul retelelor

    - asignarea dispozitivelor logice

    - managementul bibliotecilor de programe

    - rutarea mesajelor si gestionarea mesajelor in cozi de asteptare

    - Stabilirea unor proceduri de alertare

    - Monitorizarea starii celulelor de lucru

    DAE suporta diferite protocoale de comunicatie ca de exemplu protocolul ISO token-ring MAP (Manufacturing Automation Protocol) , IBM-PC Network sau protocolulCSMA/CD, TOP (Technical Office Protocol). Aceste functii ii permit sistemului DAEsa asiste ingineria fabricatiei in dezvoltarea programelor, controlul centrelor de lucrusi sa ofere capabilitati de comunicatie intre sistemele zonale si sistemul central.

    Managementul si prezentarea datelor

    Sistemul de managementul datelor- reprezinta de asemenea o componenta criticadatorita diferitelor baze de date, formate, metode de stocare si accesare a datelor.Managementul datelor defineste si inregistreaza locatiile datelor create si utilizate defunctiile afacerii intreprinderii. De asemenea sistemul permite accesarea datelor faraa fi cunoscuta locatia in care se gasesc datele. In arhitectura CIM, managementuldatelor este realizat prin trei functii de depozitare individuale:

    - Fisiere de date locale

    - Aria de depozitare a datelor

    - Sistem de stocarea datelor intreprinderii

    Functiile principale ale managementului datelor sunt implementate de ConsolidatedDesign File (CDF), functii stabilite prin IBM Data Communication Service (DCS). CDFopereaza cu baze de date relationale si este construit pe limbajul SQL. Un exemplude utilizare este la nivelul bazei de date care integreaza componentele CAD/CAM cucerintele afacerii prin functiile de management al proceselor ingineresti. In acestmediu, sistemul IBM DCS/CDF furnizeaza urmatoarele functii:

    - Transforma datele in formatul cerut de utilizator

    - Depoziteaza datele CAD/CAM

    - Adauga atributele datelor CAD/CAM

    - Permite utilizatorilor sa interogheze date si atribute.

  • 7/27/2019 Slides Fabricatie

    7/125

    4/10/20

    Prezentarea datelor in mediul CIM

    Functia aceasta asigura ca datele sa ajunga in formatul corespunzator la utilizatori sidispozitive. Aceasta functie este critica datorita faptului ca sistemul de fabricatiecontine o gama foarte larga de dispozitive si de cerinte informationale, trebuie saasigure un mod consistent de distribuire si prezentare a informatiei catre oameni,masini unelte, roboti, senzori, sisteme cu coduri de bare, vehicule ghidate automat(AGV) si sisteme AS/RS.

    Gama informatiilor cuprinde de la mesaje simple la transferul unor arii mari de datepentru aplicatii de proiectare inginereasca.

    Sistemele sunt distribuite si informatia trebuie trimisa in locatiile in care este ceruta deutilizatori sau dispozitive.

    Echipamentele utilizate pentru prezentarea datelor sunt display-uri care utilizeazadiferite tehnologii. Unele sunt ne-programabile in timp ce altele sunt statii de lucruprogramabile si sunt implementate in mod unic pentru fiecare aplicatie.

    In consecinta aceeasi informatie este tratata diferit de diferite aplicatii.

    De exemplu, o componenta a produsului fabricat este tratata ca un cod in aplicatiaListei de materiale, a sistemului de Planificare a Productiei, ca un desen in CAD sauca o componenta in proiectarea rutelor Planului de Operatii.

  • 7/27/2019 Slides Fabricatie

    8/125

    4/10/20

    2.4 Concepte IT i sisteme informaionale pentru conducerea fabricaiei.

    Sistemul informaional - cuprinde ansamblul mijloacelori procedurilor de prelucrare,

    clasificare, stocare, difuzare i valorificare a datelor i informaiilor la nivelul uneientiti economico-sociale.

    Obiectivul principal este acela al furnizrii de informaii sub form utilizabil lamomentul oportun, n scopul asigurrii bunei funcionri a sistemelor operaionale,precum i lurii deciziilor la diferite niveluri.

    Acest obiectiv este susinut de doua caracteristici eseniale ale sistemuluiinformaional:

    - sprijinirea procesului decizional i- coordonarea intr-un sistem cu mai multe niveluri.

    ntr-o prim clasificare, bazat pe funcia sistemului informaional, acesta poate fi de maimulte tipuri:

    de prelucrare a tranzaciilor: Transaction Processing System (TPS) Sistemul deProcesare a Tranzaciilor,

    de conducere: Management Information System (MIS) - Sistemul Informa ional alManagementului, Integrated Information System (IIS) Sistem Informa

    ional Integrat

    i Enterprise Wide Systems (WIS) Sistemul Lrgit al ntreprinderii (o aplicaie incare logistica este considerata ca parte a sistemului),

    de sprijinire in luarea deciziilor: Decision Support System (DSS) i

    pentru conducere executiva: Executive Information System (EIS).

    Functiile sistemelor informationale:

    TPS - preia datele generate de activitatea intern economico-social n baza de dateintern i constituie infrastructura unuia din nivelurile sistemului informaional.

    MIS pleac de la TPS i sintetizeaz informaiile, in rapoarte periodice cu un formatpredefinit.

    DSS Deoarece rapoartele oferite de MIS nu sunt suficient de relevante pentru luareadeciziilor, mai ales la nivelurile superioare, s-au dezvoltat sistemele DSS. n generalexista mai multe DSS intr-o ntreprindere deoarece, de exemplu, controlul tacticfinanciar este foarte diferit n ceea ce privete cerinele informaionale de controlultactic al produciei.

    EIS (CIS) Sistemul de sprijinire a deciziilor la nivelurile superioare de conducere estedenumit sistem informaional pentru conducere executiva, dezvoltat in formele:

    - Executive Information System (EIS) Sistemul Informational Executiv

    - Corporate Information System (CIS) Sistemul Informaional al Corporaiei.

    Acestea integreaz informaii provenind de la mai multe surse interne i externentreprinderii i permit managerilor s controleze i s dispun de informaiilenecesare lurii deciziilor, prezentate intr-un mod personalizat.

  • 7/27/2019 Slides Fabricatie

    9/125

    4/10/20

    Sistemul informaional la care operarea este asistat de calculator sau decurge automatpoart denumirea de sistem informatic.

    Sistemul informatic este structurat ierarhic pe nivelurile:

    tranzacional (se prelucreaz evenimente elementare ce reprezint activitilentreprinderii),

    operaional(reprezinta nivelul cel mai de jos al deciziei in ntreprindere),

    tactic (informaiile obinute reprezint suportul de nivel intermediar al deciziei,eseniale in activitatea de control),

    strategic (suportul deciziei de nivel nalt pentru probleme complexe i puinrepetitive).

    Funciile sistemelor informatice in procesele manageriale sunt: nregistrareatranzaciilor, gestiunea i stocarea operaiilor, sprijinirea in luarea deciziilor sicomunicarea.

    Subsistemele de nregistrare a tranzaciilor sunt cele mai puternic automatizate,deoarece aici s-au concentrat majoritatea aplicaiilor informatice. Funciile eseniale sunt

    in acest caz: preluarea faptelor elementare, stocarea si gestiunea datelor componente in fiiere si baze de date.

    2.5 Sistemul de management al informaiilor (MIS)

    Definiie: Un sistem informatic care permite ca informaia, sub forma rapoartelorperiodice, rapoartelor speciale sau rezultate din simulare, sa fie accesibila utilizatorilor de laaceeai arie funcionala, de la acelai nivel de management sau utilizatorilor, manageri saunon-manageri care au aceleai cerine. MIS este o resurs organizaional care furnizeazinformaii din trecut, prezent i elaboreaz informaii referitoare la evoluii viitoare. A constituitprima ncercare de a face datele disponibile managementului, fiind introdus n anii 1960.

    In contextul actual MIS este un subsistem al sistemului global de control al afaceriice acopera aplicatiile utilizatorilor, documente, tehnologii si proceduri utilizate de manageriicontabili pentru a solutiona probleme ale afacerii precum: costurile produsului, servicii saustrategii de afacere.

    Sistemele MIS sunt utilizate pentru a analiza alte sisteme de informatii aplicate inactivitatile operationale ale organizatiei. Termenul este folosit uzual pentru a se face referirela grupuri de metode de managementul informatiei folosite pentru automatizarea sau suportuluman in luarea deciziei.

    La inceput, in afaceri sau in alte organizatii, rapoartele interne pe produse eraufacute manual si numai periodic, de sistemul contabil. Acestea aveau adaugiri statistice siofereau informatii limitate si intarziate sistemului de management. Apoi datele au fostseparate individual pe persoane, in functie de cerintele informatice individuale aledepartamentelor din care faceau parte. Mai tarziu s-a facut o distinctie intre date si informatii,stocandu-se colectii mari de date in functie de cerintele organizatiei

  • 7/27/2019 Slides Fabricatie

    10/125

    4/10/20

    Avantaje:

    Aduce contribuii prin faptul c formeaz o resurs de management a informaiei la nivelorganizaional (arie functionala, manageri, etc)

    Asigur furnizarea continu de informaii ctre manageri pentru identificarea i nelegereaproblemelor.

    Modelul MIS:

    Baza de date: Sistemul de informaii intra-organizaional:

    - Date i informaii despre mediu - Modele matematice

    - Software pentru elaborarea rapoartelor

    Rezolvarea problemelororganizaiei

    Software pentruelaborarea rapoartelor Modele matematice

    Sistemul de Managemental Informaiilor (MIS)

    Date Informaii

    Mediu

    Baza de

    date

    Modelarea matematica

    Modelele sunt abstracii ce pot fi: statice sau dinamice deterministe sau probabilistice optimizatoare sau suboptimizatoare (vezi lab1)

    Simularea - folosirea unui model este denumit simulare- Scenarii condiii care influenteaz modelul- Variabilele de decizie sunt valorile de intrare- Formatul de ieire variaz

    Ieirea graficaSe folosesc grafice pentru: Prezentarea unui sumar rapid al datelor Detectarea unor tendine in timp Activitti de prognoz Se caut o impresie simpla asupra unui volum mare de date

    Tipuri de grafice Linii sau bare pentru a rezuma datele Linii grupate sau bar charts pentru a ilustra tendina Bare chart grupate pentru reprezentarea parilor ca un ntreg Compararea variabilelor folosind bare orizontale nu verticale Linii simple sau bare chart pentru compararea datelor

  • 7/27/2019 Slides Fabricatie

    11/125

    4/10/20

    Software pentru elaborarea rapoartelor

    Elaboreaz rapoartele periodice i cele speciale pot avea aceeai structur,diferena dintre ele constnd in:

    Rapoartele periodice produse conform programrii

    Rapoarte speciale produse cnd are loc un eveniment deosebit

    I Incorporarea managementului excepiilor

    Pregtirea rapoartelor numai cnd au loc excepii

    Folosirea secvenei rapoartelor pentru a scoate in eviden excepiile

    Gruparea excepiilor

    Prezentarea variaiei fa de norm

    Raport de vnzripentru sfritul sptamnii

    16-10 Receptii $ 2,305.00 $ 5,319.2016-11 Inspectie $ 1,025.60 $ 4,386.12

    16-12 Manipulari materiale $ 3,392.50 $12,629.0016-13 Scule $ 78.00 $ 1,049.0016-14 Asamblare $ 0.00 $ 792.8016-15 Plating $ 3,504.90 $12,635.2016-16 Livrare $ 5,219.16 $18,294.16

    TOTAL: $15,525.16 $55,105.48

    Exemple de rapoarte furnizate de sistem:

    Vanzari pe produs

    pentru luna iunie

    NUMAR NUME VANZARI VANZARI

    PRODUS PRODUS LUNA CURENTA Cumulate

    129875 CUTIE CENTRU GASKET $ 5,090.23 $ 31,764.00

    087235 AX PRINCIPAL 4,760.01 29,329.45

    118320 AX 1 DE MISCARE 1,789.45 28,243.59

    250067 GARNITURA ULEI 11,560.24 23,450.07

    228203 REDUCTOR 8,369.34 14,709.03

    576000 HUB 5 .00 13,623.68

    516012 MANETA FURCA 450.95 12,634.44

    090407 INEL DE SINCRONIZARE 2 2,243.27 9,963.58

    282130 MANETA DE LEVIER .00 490.00

    576301 GARNITURA POMPA ULEI .00 11.50

  • 7/27/2019 Slides Fabricatie

    12/125

    4/10/20

    Ani

    Ani

    GRAFIC DE LINII MULTIPLEGRUPATE

    GRAFIC TIP BARE GRUPATE

    Profit vanzariProfit vanzari

    1980 1981 1982 1983 19840

    10

    20

    30

    40

    50

    60

    70

    80

    90

    1980 1981 1982 1983 1984

    Apples Oranges Peanuts

    GRAFIC CU SEGMENTE DE BARE DIVIZATE

    0

    50

    100

    150

    200

    Vnzri Beneficiu

    1980 1981 1982 1983 1984

    Ani

    M

    ilioane

    dolari

    Legenda:ApplesOrangesPeanuts

  • 7/27/2019 Slides Fabricatie

    13/125

    4/10/20

    2.6 Sisteme de suport in luarea deciziilorDefinitia unui Sistem de suport al deciziei (DSS)

    Definitia (Gorry si Scott-Morton 1971) un DSS este un sistem interactiv bazat pecalculator care ajuta in luarea deciziilor, utilizeaza date si modele pentru a rezolva

    probleme nestructurate.(Keen si Scott-Morton 1978) - un sistem DSS cupleaza resursele intelectuale ale indivizilorcu capabilitatile calculatorului pentru a imbunatati calitatea deciziei. Este un sistem bazatpe calculator pentru, managementul luarii deciziilor, care este utilizat in problemesemistructurate.

    Definitie: un sistem ce furnizeza atat rezolvarea-problemelor cat si capabilitati de comunicarepentru probleme semistructurate.

    In particular un sistem care suporta un singur manager sau un grup reltiv mic de managericare lucreaza in echipa pentru rezolvarea unei probleme semistructurate prin furnizareaunor informatii sau facand sugestii cu privire la decizii specifice.

    Luarea deciziei

    Fazele (activitatile) in luarea deciziilor Inteligenta:

    Gaseste probleme, defineste problema (cauze, scopuri, restrictii) Proiectare

    Creeaza, inventeaza, deriveaza diferite solutii posibile Alegere

    Analizeaza alternative, alege, implementeaza Revizuire

    Examineaza rezultatele, revizue dupa caz.

    Structurarea informatiilor

    La nivelul cel mai de jos in rezolvarea problemelor se gaseste extragerea elementelor

    de informatie Pe nivelul superior se gaseste actiunea de scoaterea informatiilor din fisiere

    Realizarea unor rapoarte din fisiere multiple

    Sisteme care pot estima consecintele deciziilor

    Sisteme care pot propune decizii

    Si pe nivelul cel mai de sus sisteme care pot lua deciziii

    Scoatereaelementelor

    de

    informatie

    Analizaintregului

    fisier

    Pregatirerapoarte

    din fisiere

    multiple

    Estimareaconsecintelor

    deciziei

    Propuneredecizii

    Gradul de

    suport in

    rezolvarea

    problemelor

    Gradul de

    complexitate inrezolvarea

    problemelorMic Mare

    Luaredecizii

  • 7/27/2019 Slides Fabricatie

    14/125

    4/10/20

    Tipuri de probleme

    O problema structurata consta din elemente si relatii intre elemente intelese derezolvitorul problemei. Problemele structurate pot fi rezolvate prin algoritmi si regulide decizie

    O problema nestructurata este una care nu contine elemente sau relatii intreelemente care sa fie intelese de rezolvitor. Problemele nestructurate nu prezintaactivitati in luarea deciziei

    O problema semi-structurata este una care contine unele elemente si relatii care suntintelese de rezolvitor si unele nu. Problemele semi-structurate au faze structurate sinestructurate

    Tipuri de decizii Programate.

    - repetitive si de rutina- dupa o procedura definita, pusa la punct pentru rezolvare

    Neprogramate.- noi, nestructurate si intr-o secventa neobisnuita.

    - nu este o metoda stabilita de rezolvare- necesita o modalitate particulara de abordare

    Gradul de structurare a problemelor la diferite nivelede management, dupa Gorry si Scott Morton

    Gradul de

    structurare a

    problemelor

    Nivele de management

    Structurate

    Semistructurate

    Nestructurate

    Controlul

    operatiilorControlul

    managementuluiPlanificare

    strategica

    Contul de plati

    Intrare ordine

    Controlul

    inventarului

    Bugetul de

    costuri analiza-

    inginerie produs

    Prognoza pe termen

    scurt

    Structura

    productiei

    Magazii si

    locatie fabrici

    Programareaproductiei

    Managementul

    lichiditatilor

    Sisteme

    PERT/COST

    Analiza variatiilorbugetului global

    Pregatire

    buget

    Vanzari si

    productie

    Aliante si achizitii

    Planificare noi produse

    Planificare

    cercetare dezvoltare

  • 7/27/2019 Slides Fabricatie

    15/125

    4/10/20

    Solutiemanager

    Structurate Semi-structurate Nestructurate

    Gradul de structurare a problemei

    DSS se focalizeaza pe probleme semistructurate

    Manager + CalculatorSolutie (DSS)

    Solutii gasitede

    calculator

    Functiile DSS

    Dupa Keen (1978) sistemele DSS au evoluat din doua domenii principale decercetare:- studiile teoretice privind luarea deciziilor in organizatii, facute la Carnegie Institute

    of Technology intre anii 1950-1960- studiile privind sistemele de calcul interactive facute la MIT in anii 1960. Se

    considera ca sistemele DSS au devenit un domeniu independent de studiu la mijloculanilor 1970 si au crescut in intensitate in anii 1980.

    In anii 1980 sistemele DSS au evoluat spre:- sistemele EIS,- DSS orientate pe un singur utilizator.- sisteme suport in luarea deciziei in grup si sisteme de suport al deciziei la

    nivel organizational.- DSS pentru imbunatatirea eficientei manageriale si a activitatilor

    profesionale- statiilor de lucru inteligente.

    Din punctul de vedere al obiectivelor sistemele DSS au evoluat de la: sisteme de

    luarea deciziilor bazate pe calculator, la sisteme interactive de luarea deciziilor carepermitea utilizarea bazelor de date si modele pentru rezolvarea problemelornestructurate.

    Folosite pentru:- Asistare in rezolvarea problemelor semistructurate- Sa asiste managerul nu sa-l inlocuiasca- Sa contribuie la luarea efectiva a deciziilor

  • 7/27/2019 Slides Fabricatie

    16/125

    4/10/20

    GDSSsoftware

    Modele

    matematice

    Altegrupurimembre

    Baza de

    date

    DSS

    software

    Mediu

    Rezolvitoriindividuali

    de probleme

    Sistem desuport al deciziilor

    Mediu

    Legenda:Data InformatieComunicatie

    Un model DSS

    Software

    elaborarerapoarte

    Caracteristici suplimentare au fost adaugate pentru a permite rezolvitorilor de probleme salucreze in grup, asa numitul sistem de suport al deciziei in grup.

    Tendintele recente au adaugat elemente de inteligenta artificiala si programarea analiticaonline (OLAP).

    Tipuri de sisteme DSS:

    - Sisteme care extrag fisiere- Sisteme de analiza datelor- Sisteme informatice de analiza- Modele de contabilitate- Modele de reprezentare- Sisteme care optimizeaz- Sisteme care sugereaz decizii

  • 7/27/2019 Slides Fabricatie

    17/125

    4/10/20

    Sisteme care extrag fiiere: sunt cele mai simple tipuri de DSS. Pot furniza accesul la unitatide informatii, acestea conducand direct la luarea deciziei.Ex: o maina ATM. Se descoper inti balana contului i apoi se decide suma care seextrage

    Sistem de analiza datelor: furnizeaz accesul la date i permite manipularea acestora.

    Ex: Un sistem de rezervare a biletelor de avion. Nu mai sunt bilete, se gsete o soluiealternativ, pe baza informaiilor se face un plan de zbor. Sisteme informatice de analiz: furnizeaz accesul la multiple surse de date, combin datele

    de la surse diferite i are capabiliti de analiz.Ex: Compar creterea profitului cu media industrial (necesit accesul la mai multe sursede informaii)

    Modele contabile: folosesc date contabile i furnizeaz capabiliti de modelare contabil fra putea gestiona incertitudinile.Ex: Pe baza listei de materiale calculeaz costurile de producie, ia decizii asupra preului.

    Model de reprezentare: folosete modele pentru a rezolva probleme de decizie, folosindprognoza. Poate fi folosit pentru lrgirea capabilitilor modelelor contabile i pot ncorporaincertitudini.Ex: Folosete datele privind cereerea de produse pentru a prognoza cererea anului urmtor.Folosete rezultatele pentru a lua decizii de inventar.

    Sisteme de optimizare: sunt folosite pentru a estima efectele a diferite alternative de deciziepe baza modelelor de optimizare i pot ncorpora incertitudini.Ex: Asigneaz personalul de vnzri pe un anumit teritoriu. Asigur cea mai bunprogramare relativ la un indice de performan.

    Sisteme de sugestii: folosesc un model descriptiv care poate fi utilizat pentru sugerarea celeimai bune aciuni sistemului de luarea deciziiilor. Au un model prescriptiv care poate fi folositpentru a sugereza sistemului cea mai bun aciune i pot ncorpora un sistem expert.Ex: Clenii unei bci aplic pentru un mprumut. Se folosete sistemul pentru a recomanda odecizie.

    O companie fr un EIS

    Sistemul

    informatic de

    marketing

    Sistemul

    informatic de

    fabricaie

    Sistemul

    informatic

    contabil

    Sistemul

    informatic al

    resurselor umane

    Manageri

    de nivel nalt

    Informaii i date din mediu

    Informaii i date din mediu

    2.6 Sistemul informatic executiv (Executive Information

    Systems EIS)

  • 7/27/2019 Slides Fabricatie

    18/125

    4/10/20

    Sistemul

    informatic de

    marketing

    Sistemul

    informatic de

    fabricaie

    Sistemul

    informatic

    contabil

    Sistemul

    informatic al

    resurselor umane

    Informaii i date din mediu

    Informaii i date din mediu

    E I S

    O companie cu un sistem informatic executiv - EIS

    Calculator

    Face disponibila

    informatia de la

    nivelul corporatiei

    Cereri de

    informatii

    Corporatedatabase

    Electronicmailboxes

    Softwarelibrary

    Noutati,explicatii

    Date si

    informatii

    externe

    Afisare

    informatie

    Statie de lucru executiva

    Corporatie

    Baza de

    date

    executive

    Catrealte statiiexecutive

    Catrealte statiiexecutive

    Modelul unui sistem informatic EIS

  • 7/27/2019 Slides Fabricatie

    19/125

    4/10/20

    2.7 Sisteme informatice de planificare

    Evoluia acestora a plecat de la metoda:

    controlului inventarului - Inventory Control (IC), prin care comanda unui lot eralansat ori de cate ori cantitatea din inventar se reducea sub un nivel fixat, cunoscutsub numele de punctul de lansare a comenzii.

    planificarea necesarului de materiale Material Requirements Planning (MRP), careeste caracterizat de un set de tehnici ce utilizeaz datele din lista de materiale iplanul de productie pentru a calcula necesarul de materiale; se genereazrecomandri de lansare sau replanificare a comenzilor la anumite intervale de timp ise reprogrameaz data la care este necesar satisfacerea comenzii, fr ca aceastas fie corelat cu data lansrii comenzii. Sistemul MRP utilizeaz lista de materiale aproduselor din planul de producie i determin cantitile necesare ale tuturorcomponentelor si materialelor necesare pentru fabricaia acelor produse, mpreuncu toate datele necesare, la fiecare increment de timp din orizontul considerat.

    planificarea necesarului de materiale II, (MRPII) este o metod efectiv de planificarea tuturor resurselor unei companii de fabricaie. Aceasta implic planificareaoperaional, cu capabiliti de simulare de tip ce-se-ntampl-dac.

    Un astfel de sistem este constituit dintr-o varietate de func ii, interconectate, ca deexemplu: planificarea afacerii, planificarea operaiilor i a vnzrilor, planificareaproduciei i a sistemului de suport al execuiei, etc.

    Ieirea sistemului este integrat cu rapoartele financiare, ca de exemplu planul deafaceri, raportul achiziiilor contractate, proiecia cheltuielilor de transport, abugetuluii a inventarului.

    MRPII este astfel o dezvoltare si extensie a MRP in bucl-nchis, care conduce spreo utilizare mai eficienta a resurselor, o reducere a inventarului, micorarea timpilor deinactivitate, micorarea strangulrilor in procesul de producie, o mbuntire aplanificr ii , o micorare a timpilor de lansare a fabricaiei i flexibilitate nprogramarea produciei.

    Sistemul de Planificare al ntreprinderii, Enterprise Resource Planning (ERP) este unsistem informatic orientat pe contabilitate, pentru identificarea i planificarea pe scarlarg a resurselor necesare pentru a achiziiona, produce, livra si contabilizacomenzile clienilor intr-o ntreprindere de fabricaie i servicii distribuite.Un sistem ERP difer de sistemul MRPII prin cerine tehnice precum: necesitateaunei interfee grafice utilizator, utilizarea bazelor de date relaionale, utilizarea unuilimbaj de generaia a patra si instrumente ale ingineriei software de asistare princalculator pentru dezvoltarea unei arhitecturi client/server, portabil i deschis, asistemului.

    Sinteza aplicatiilor software pentru planificarea fabricatiei

    IC Inventory Control Controlul inventarului

    Material Requirement Planning (MRP) Sistemul de planificare a necesarului demateriale

    Material Resource Planning II (MRPII) Sistemul de planificare a resurselormateriale II

    Enterprise Resource Planning (ERP) Sistemul de planificare a resurselorintreprinderii

    O alta terminologie utilizata este: Money Resource Planning (MRPIII) Planificarearesurselor financiare III

  • 7/27/2019 Slides Fabricatie

    20/125

    4/10/20

    Definitia ERP: O solutie software proiectata in vederea satisfacerii cerintelorintreprinderii, avand viziunea proceselor acesteia cu scopul satisfacerii obiectivelor prinintegrarea stransa a tuturor functiilor.

    Ce este ERP:

    O modalitate de integrare pe scara

    larga a sistemelor informatice alecompaniei

    Realizeaza nucleul activitatilor companieisi creste gradul serviciilor catre client inscopul cresterii imaginii companiei.

    Ce integreaza ERP:

    Bazele de date

    Aplicatii

    Interfete

    Instrumente

    De ce ERP:

    O integrare completa a sistemelor din cadrul departamentelor cat si a companiei caun ansamblu

    O solutie imbunatatita pentru managementul de proiect

    O servire imbunatatita a clientilor

    Introducerea tehnologiilor moderne

    Baze de date ce contin experienta in domeniu

    Componentele principale:

    Vanzari si marketing

    Planul de productie

    Planificarea necesarului de materiale

    Planificarea capacitatilor necesare

    Lista de materiale

    Achizitii

    Controlul shop-floor (al productiei)

    Gestiunea conturilor de debite/creante Logistica

    Probleme pe care le rezolva ERP:

    Imbunatatirea gestiunii materialelor Managementul lichiditatilor

    Problemele inventarului Probleme de calitate

    Imbunatatirea productivitatii Serviciul clientilor

  • 7/27/2019 Slides Fabricatie

    21/125

    4/10/20

    Vnzri, livrare, preuri

    Achiziii mrfuri

    Managementul inventarului

    Serviciul clieni

    Integrarea sistemelorinformatice

    Departamentul

    central

    Sisteme informatice

    Managementul proiectelor

    Inventar

    AchiziiiVnzri

    Buget

    Colectare lichiditi

    DepartamentulMarketing vnzri

    Fabricaie

    Comenzi locale,

    verificare comenzi

    Managementul inventarului

    Vanzari interne,livrare, preuri

    Analiz profit/pierdere

    Utilizarea capacitilor

  • 7/27/2019 Slides Fabricatie

    22/125

    4/10/20

    DBMS

    (Sistemul de

    management al

    bazei de date)

    Baza de

    date 2

    Baza de

    date 1

    Baza de

    date n

    Aplicatie 1

    Aplicatie 2

    Utilizator

    on-line

    Utilizator

    on-line

    DML

    DML

    DML

    QL

    DML

    DDL

    DBA

    Nivel extern Nivel conceptual Nivel intern

    3. Aplicatii cu baze de date in sisteme de fabricatie

    3.1 Structura unei baze de date

    O baza de date este o colectie de date intre care exista relat ii logice, proiectata pentru a

    satisface necesitatile informationale ale unei organizatii si partajata de mai multi utilizatori si aplicatii.Baza de date contine nu numai datele operationale ale organizatiei ci si o descriere a lor, fiind definita

    din acest motiv si ca o colectie autodescrisa de inregistrari integrate (meta-data date despre date).

    DBMS este un sistem software generalizat pentru manipularea bazelor de date care permite utilizarea,

    definirea, crearea si intretinerea bazei de date si accesul controlat la aceasta. Sistemul DBMS consta din elemente

    de software care interactioneaza cu programele aplicatie utilizator si cu baza de date si permite urmatoarelefacilitati:

    - Limbajul de definire a datelor (DDL) bazei de date. Este un limbaj descriptiv, care permite administratorului

    DBA sau utilizatorului sa descrie si sa denumeasca entitatile cerute de aplicatie si relatiile care pot exista intre

    entitati. Limbajul DDL permite specificarea tipurilor de date si a structurilor, precum si definirea modurilor de

    vizualizare (reprezentari ale unor subseturi ale bazei de date).

    - Limbajul de manipulare a datelor de catre utilizatorii on-line (DML) . Un l imbaj care asigura un set de

    procedee ce permit operatii de baza pentru manipularea datelor continute in baza de date. Limbajul DML permite

    utilizatorilor sa insereze noi date, sa modifice datele stocate, sa regaseasca datele continute in baza de date si sa

    stearga date.

    - Limbajul de interogare a continutului bazei de date (QL), ofera o facilitate de interogare a acestor date.

    In functie de operatiile de extragerese pot deosebi doua tipuride limbaje DML:

    - procedurale (acestea specifica cumse va obtinerezultatul unei instructiuniDML)

    - neprocedurale (descriu numai ce date vor fi obtinute). Cel mai obisnuit limbaj neprocedural

    este limbajul structuratde interogare SQL.

    Principala diferenta consta in faptul ca limbajele procedurale trateaza bazele de date inregistrare cu inregistrare, intimp ce limbajele neprocedurale opereaza asupra unor seturi de inregistrari.

    Sistemul DBMS are o vedere: - logica(schema si subschemadatelor)

    - fizica (metode de acces, clustere de date, limbajul de definire al datelor DDL,limbajul de manipulare a datelor DML, utilitare: managementul tranzactiilor sicontrolul concurentei accesului, integritatea datelor, recuperarea datelor in cazulcaderii sistemului si securitatea).

  • 7/27/2019 Slides Fabricatie

    23/125

    4/10/20

    Nivelul logic: Datele sunt structurate dupa oschema.

    Schema datelor contine o descriere canonica a tipurilor de date ale aplicatiei, cuatributele, relatiile si restrictiile lor. Schema datelor este un model static al structurii logice a bazei dedate. Baza de date este o instantiere a acestei scheme, fiind un model temporal al mediului pe care ilreprezinta.

    Osubschema sau o vedere este o schema adaptata pentru un grup de utilizatori.

    Modelul datelor este o colectie integrata de concepte, necesare descrierii datelor, relatiilor dintre date sia constrangerilor asupra datelor. Acesta cuprinde un set de notatii si concepte operationale pentruexpresiileschemei datelor si contine trei componente:

    o parte structurala (setul de reguli pe baza carora sunt construite bazele de date),

    o parte de manipulare (defineste tipuri de operatii care sunt permise asupra datelor),

    un set de reguli de integritate (care garanteaza ca datele sunt corecte).

    Modelele clasice de reprezentare a datelor in bazele de date sunt:

    Modelul plat: Acest model este cel mai simplu model de reprezentare format dintr-un tabel cu douadimensiuni. Toate datele unei coloane se presupun a fi valori similare si toate valorile unui rand sunt inrelatii unele cu altele.

    Modelul ierarhic : datele sunt organizate intr-o structura de tip arbore, in care fiecare tabel child are osingura tabela de tip parent si fiecare tabel de tip parent poate avea mai multe tabele de tip child. Seutlizeaza concepte precum entitate, atribut si relatie. O entitate este un obiect abstract distinct, care va fireprezentat in baza de date. O colectie de entitati similare formeaza o multime de entitati. Un atribut este oproprietate care descrie un anumit aspect al obiectului inregistrat. O relatie este o asociere (o conexiune)intre doua sau mai multe seturi de entitati. Dezavantajul structurii ierarhice consta in faptul ca orice accestrebuie sa se faca incepand de la nodul radacina.

    Modelul retea: datele reprezentate prin noduri numite inregistrari conectate prin legaturi etichetate. Spre

    deosebire de modelul ierarhic, un tabel de tipchild poate avea mai multe tabelede tipparent.

    Modelul relational: datele reprezentate prin tabele bidimensionale numite relatii si definite prin produsul

    cartezian al atributelor lor. Este cel mai utilizat model datorita simplitatii si generalitatii, avand o baza

    teoretica adecvata. Modelul relational are un singur concept de modelare a datelor care este relatia (un

    tabel bi-dimensional in care sunt aranjate datele). Schema datelor este numele relatiei si multimea

    atributelor acesteia (atributele se utilizeaza in ordinea standard).

    Pe primul rand sunt atributele relatiei. Acestea sunt numele coloanelor relatiei. Intr-un model relational,

    proiectarea bazei de date consta din una sau mai multe scheme si relatii, multimea acestora fiind denumita

    schema bazei de date.

  • 7/27/2019 Slides Fabricatie

    24/125

    4/10/20

    Evolutia bazelor de date relationale:

    - Modelul relational-obiect: este similar celui relational, dar schema datelor suporta in definirea obiectelor,notiunile programarii pe obiecte si limbajul de interogare.

    Tipurilede modeleconceptualede datesunt: Entitate-relatie

    Semantic

    Functional

    Orientat spre obiecte

    Schema bazei de date este structurata de administratorul bazei de date (DBA), dupa anumiteproceduri corespunzator metodologiei de proiectare logica a bazei de date.

    Metodologiile de proiectare a bazei de date sunt:

    top-down se defineste intai conceptual schema si apoi se determina subschema datelor

    bottom-up este modelata mai intai subschema si apoi se integraza pentru a forma sche

    Nivelul fizic: Aplicatiisi utilizatoricare acceseaza baza de date prin intermediul DBMS.

    Este o interfata software intre programe externe sau utilizatori si date. Numai DBMS

    are acces direct la date.DBMS ofera accesul controlat la baza de date prin:

    sistemul de securitate, ce previne accesul la baza de date de utilizatori neautorizati

    sistemul de integritate, care mentine concordanta datelor stocate

    sistemul de control al concurentei, care permite accesul partajat

    sistemul de control al refacerii, care permite refacerea datelor ca urmare a unor defectiuni hardware sausoftware (un catalog accesibil care contine descrieri ale datelor din baza de date).

    Un obiectiv major il reprezinta asigurarea independentei de date (nivelurile superioare nu suntafectate de modificarile facute la cele inferioare).Exista doua tipuride independentade date:

    - Logica se refera la imunitatea schemelorexterne fata de modificarile in schema conceptuala

    - Fizica se refera la imunitatea schemei conceptuale fata de modificarile in schema interna

    O tranzactie reprezinta un set de actiuni elementare (inserare, stergere) asupra obiectelor ce contindate.

  • 7/27/2019 Slides Fabricatie

    25/125

    4/10/20

    Nr_Personal Prenume Nume DDN Varsta Salariu Nr_Filiala

    Nr_Personal Nume Nr_FilialaNr_Personal Prenume Nume Varsta Salariu

    Struct PERSONAL {

    int Nr_Personal;

    int Nr_Filiala;

    int Varsta;

    char Prenume[15];

    char Nume [15]

    struct data DDN;

    float Salariu;

    struct PERSONAL *next; /*Pointer la urmatoarea inregistrare

    };

    Index Nr_Personal; index Nr_Filiala; /* Defineste indexurile pentru personal */

    Vedere externa 1 Vedere externa 2

    Nivel

    conceptual

    Nivel

    intern

    Ciclul de viata al bazei de date

    Ciclul de viata incorporeaza pasii care trebuie facuti in proiectarea schemei globale a bazei de date din

    punct de vedere logic, alocarea datelor, definirea schemelor specifice DBMS.

    Etapele proiectarii bazei de date sunt prezentate in figura 3.2:

    1. Analiza cerintelor. Cerintele sunt determinate de proiectantii bazei de date pe baza analizei proceselor de

    manipulare a informatiilor. Determinarea cerintelor implica:

    - determinarea datelor necesare sistemului

    - determinarea relatiilor dintre date

    - alegerea platformei software pentruimplementarea bazei de date

    2. Proiectarea logica. Aceasta activitate implica proiectarea globala a schemei datelor, un model conceptual

    al datelor, reprezentat sub forma de diagrame, care ilustreaza datele si relatiile dintre acestea. Se dezvolta

    pe baza modelului: entitate-relatie (ER) sau UML. Metodologia de dezvoltare a schemei globale este

    aceeasi atat pentrubaze de date centralizatecat si pentrucele distribuite.

    a) Modelarea conceptuala a datelor. Cerintele datelor sunt analizate si modelate folosind diagrame ER sauUML, care includ semantica relatiilor optionale, relatii ternare, supertipuri, subtipuri. Procesarea cerintelor

    este specificata in mod tipic pe bazalimbajului natural sau prin comenzi SQL.

    b) Integrarea vederilor. In cazul unor proiecte complexe in care sunt implicate mai multe persoane, analiza

    cerintelor conduce spre vederi multiple. Pentru a elimina redundanta si inconsistenta modelului, aceste

    vederi trebuie sa fie rationalizate si apoi consolidate intr-osingura vedere globala.

  • 7/27/2019 Slides Fabricatie

    26/125

    4/10/20

    Proiectarea fizic

    Cerinele informaionale

    Determinarea cerinelor

    Model Integrarea vederilor

    Proiectarea logic

    [vederi multiple]

    [o singur vedere]

    Transform n tabele SQL

    Normalizare

    Selecteaz indeci

    [cerine speciale]Denormalizare

    [else]

    Implementare

    Implementare

    Monitorizare

    [else]

    [defunct]

    Figura 3.2 Diagrama de activitati in proiectarea unei baze de date

    c) Transformarea modelului conceptual in tabele SQL. Pe baza categoriilor de modele de date si a unui set

    de reguli de mapare, fiecare relatie si entitatile asociate sunt transformate intr-un set de tabele relationale

    specificeDBMS. Aceste transformarise fac in limbajul SQL.

    d) Normalizarea tabelelor. Din diagramele modelului datelor sunt derivate dependentele functionale si din

    analiza cerintelor se determina semantica relatiilor. Dependentele functionale se stabilesc intre elemente de

    date ale entitatilor, care sunt identificate in mod unic prin chei. Relatiile functionale aditionale reprezinta

    dependente intre atribute cheie si atribute care nu sunt cheie si sunt derivate din cerintele specificatiilor.

    Tabelele relationale candidat asociate cu toate relatiile functionale derivate sunt normalizate. Prin

    normalizare se intelege modificarea prin decompozitie sau splitarea tabelelor in tabele mai mici, folosind

    tehnici standard. In final, redondantele privind datele din tabele sunt analizate pentru eliminarea acestora

    fara a se afecta integritatea datelor.

    3. Proiectarea fizica. Implica alegerea indecsilor (metode de acces), partitionari si impartirea datelor in

    clustere. Denormalizarea consta in selectarea proceselor dominante prin frecventa tranzactiilor, a volumului

    tranzactionat sau a prioritatii si definirea unor extensii mai simple la tabele cu scopul de a imbunatati

    calitatea performantelor interogarilor.

    4. Implementarea bazei de date, monitorizarea si modificari. Dupa ce baza de date este complet proiectata,

    aceasta este creata prin implementarea schemei formale folosind limbajul DDL al DBMS. Limbajul DMLeste folosit pentru interogarea si actualizarea bazei de date, cat si pentru fixarea indecsilor si a restrictiilor,

    ca de pilda restrictiile de integritate. Limbajul SQL contine atat DDL cat si DML.

  • 7/27/2019 Slides Fabricatie

    27/125

    4/10/20

    Products Salepersons

    CustomersOrders

    2. Modelarea logica

    a) proiectarea conceptuala

    1. Cerintele informationale

    customer product

    salesperson

    orders

    sold-byserved-by

    N

    NN

    N

    N

    1

    c) transformarea modelelor conceptuale in tabele SQL

    customer orderplaces N1

    N

    salesperson fills-outserved-by

    N

    N

    customer orderplaces N1for

    product11

    N

    b) integrarea vederilor

    customer

    product

    salesperson

    order

    order-product

    cust_no cust_name cust_addr sales_name prod_no

    prod_no prod_name qty_in_stock

    sales_name addr dept job_level vacantion_days

    order_no sa les_name cust_no prod_no

    order_no prod_no

    create table customer

    (cust_nointeger,

    cust_namechar(15),

    cust_addr char(30),

    sales_name char(15),

    prod_no integer,

    primary key (cust_no),

    foreign key (sales_name)

    references salesperson

    foreign key (prod_no)

    references product);

  • 7/27/2019 Slides Fabricatie

    28/125

    4/10/20

    d) Normalizarea tabelelor SQL

    Decompozitia tabelelor si actualizarea anomaliilor.

    Modelarea conceptuala a datelor

    Acest proces reprezinta componenta de baza a proiectarii logice a bazei de date. Diagramele schemelor au

    fost formalizate in 1960 de Charles Bachman. Acestea folosesc dreptunghiuri pentru a reprezenta tipul

    inregistrarilor si sageti orientate de la un tip de inregistrare la altul, pentru a reprezenta o relatie one-to-many

    intre instantele inregistrarilor celor doua tipuri. Metoda entitate-relatie (ER) pentru modelarea datelor a fost

    introdusa in anul 1976 de Peter Chen. In acest formalism sunt utilizate dreptunghiuri pentru a specifica entitatile

    si romburi pentru a reprezenta diferite tipuri de relatii care sunt diferentiate prin numere sau litere plasate pe

    liniile de conexiune dintre romburi si dreptunghiuri. UML a fost introdus in anul 1997 de Grady Booch si James

    Rumbaugh si a devenit un limbaj standard de reprezentare grafica pentru specificatiile si documentarea

    proiectelor software complexe.

    Modelul de tip entitate-relatie

    Modelul ER este o reprezentare conceptuala abstracta a datelor, folosita ca metoda de modelarea bazelorde

    date. Elementele pe baza crora se construiete modelul entitate-relaie sunt trei clase de obiecte: entitatea,

    relatiile si atributele.

    - entitatea este un obiect despre care se dorete a se stoca informaie. Entitile sunt concepte recunoscute,

    concrete sau abstracte,care au relevanpentru baza de date.

    Salesperson

    job_level vacantion_dayssales_name addr dept job_level

    Sales_vacantions

    In modelul relaional o entitate este analog unui tabel. Entitile se clasific n: independente (o entitate care nu se

    bazeazpe alta pentru a fi identificat) i dependente sau slabe. O relaie dependent este aceea n care o entitate

    depinde de alta pentru a fi identificat n mod unic. Tipurile speciale de entiti sunt: entitile asociative

    (cunoscute i sub numele de entiti intersecie) sunt entiti folosite pentru a asocia dou sau mai multe entiti n

    scopul de a stabi li o relaie many-to-many. Entitile subtip sunt utilizate n ierarhii de generalizare pentru a

    reprezenta o submulime de instane ale entitii printe, numit supertip, avnd atribute i relaii care se apl ic

    numai submulimii.

    - atributul unei entiti este o informaie elementar care este ataat acesteia pentru a o identifica sau descrie. O

    instan particular a unui atribut este valoarea. Atributele se reprezinta prin elipse (in care se trece numele

    atributului),legate prin segmente de entitatile carora le apartin.Atributele se clasifica in:

    - identificatori (sau chei)

    - descriptori

    Un identificator (sau cheie) al entitii este format din unul sau mai multe atribute unice ale entitii, astfel

    nct fiecare valoare identific n mod unico instantaa entitii.

    Un descriptor (sau atribut care nu este cheie) este folosit pentru a specifica o caracteristica care nu este unica

    a instantei particulare a entitatii.

    Domeniulunuiatributeste o colecie de valoriposibile pe care le poate avea atributul.

    - relaia reprezint o asociere dintre dou sau mai multe enti ti, fara a avea o existenta fizica ci doar cea

    conceptuala definita intre respectivele entitati. O entitate poate avea o relaie cu ea nsi. Relaiile se clasific

    dup grad, conectivitate, cardinalitate i existen. O relaie binar recursiv are loc cnd o entitate este n relaie

    cuea nsi..

    3.3.2 Gradul, conectivitatea, cardinalitatea si existenta relatiilor

    Gradul unei relaii este numrul de entiti asociate cu aceea relaie. Acesta poate fi N. Relatiile binare sau

    ternare sunt cazuri particulare in care gradul relatiei este 2 si respectiv 3. Relaiile binare sunt cele mai des

    ntlnite.

    Conectivitatea unei relaii descrie modul n care se asociaz instanele entitilor n relaie. Valorile

    conectivitii suntone sau many.

  • 7/27/2019 Slides Fabricatie

    29/125

    4/10/20

    Concept Reprezentare

    entitate

    entitate slaba

    relatie

    atribute:

    - identificator(cheie)

    - descriptor

    - descriptor multivaloare

    - descriptor complex

    Employee

    Employee_job_history

    Works-in

    emp_name

    emp_id

    degrees

    degrees

    street

    city

    country

    Elementele modelului relational

    Cardinali tatea unei relaii indic numrul maxim de instane (una sau mai multe) n relaia dintre entiti.

    Pentru a determina cardinalitatea unei relaii, se determin dac pot exista mai multe apariii ale unei entiti

    pentru o apariie a altei enti ti . Tipurile de baz pentru conectivitatea relaiilor sunt: one-to-one, one-to-

    many si many-to-many.

    Existenta optionala este definita printr-un zero pe linia de legatura dintre entitate si relatie si defineste

    cardinalitatea 0.

    Rolul este numele unui capat al relatiei cand la fiecare din capete se utilizeaza un nume distinct care face

    relatia sa fie mai clara in inteles.

    Grad Reprezentare

    binar-recursiv

    binar

    ternar

    Conectivitate Reprezentare

    one-to-one

    one-to-many

    many-to-

    many

    Exemple ilustrative a unor relatii cu diferite grade si conectivitati

    employee manages

    manager

    subordinate

    1

    N

    departmentis_sub

    unit_of

    1Ndivision

    employee usesNN

    project

    N

    skill

    department is_mana

    ged_by

    11employee

    department hasN1

    employee

    employeeworks_

    on

    NNproject

    Existenta Reprezentare

    optional

    mandatory

    departmentis_mana

    ged_by

    11employee

    officeis_ocupi

    ed_by

    N1employee

  • 7/27/2019 Slides Fabricatie

    30/125

    4/10/20

    Report has-abbr11 Abbreviati

    on

    create table report

    (report_no integer,report_name varchar(256),

    primary key(report_no);

    create table abbreviation

    (abbr_no char(6),

    report_no integer not null unique,

    primary key (abbr_no),

    foreign key (report_no) references report

    on delete cascade on update cascade);

    Departmentis_manag

    ed_by

    11Employee

    create table department

    (dept_no integer,dept_name char(20),

    mgr_id char(10) not null unique,

    primary key (dept_no),

    foreign key (mgr_id) references employee

    on delete set default on update cascade);

    create table employee

    (emp_id char(10),

    emp_name char(20),

    primary key (emp_id));

    EngineerHas

    allocated

    11Desktop

    create table engineer

    (emp_id char(10),

    desktop_no integer,

    primary key (emp_id));

    create table desktop

    (desktop_no integer,

    emp_id char(10),

    primary key (desktop_no),

    foreign key (emp_id) references engineeron delete set null on update cascade);

    department hasN1

    employee

    create table department

    (dept_no integer,

    dept_name char(20),

    primary key (dept_no));

    create table employee

    (emp_id char(10),

    emp_name char(20),

    dept_no integer not null,primary key (emp_id),

    foreign key (dept_no) references department

    on delete set default on update cascade);

    Department publishesN1

    Report

    create table department

    (dept_no integer,

    dept_name char(20),

    primary key (dept_no));

    create table report

    (report_no integer,

    dept_no integer,

    primary key (report_no),

    foreign key (dept_no) references department

    on delete set null on update cascade);

    engineerBelongs

    -to

    NNProf-assoc

    create table engineer

    (emp_id char(10),

    primary key (emp_id));

    create table prof_assoc

    (assoc_name varchar(256),

    primary key (assoc_name));

    create table belongs_to

    (emp_id char(10),

    assoc_name varchar(256),

    primary key (emp_id, assoc_name),

    foreign key (emp_id) references engineer

    on delete cascade on update cascade,

    foreign key (assoc_name) references prof_assoc

    on delete cascade on update cascade);

    engineeris-group-

    leader-of

    1

    N

    create table engineer

    (emp_id char(10),

    leader_id char(10) not null,primary key (emp_id),

    foreign key (leader_id) references engineer

    on delete set default on update cascade);

  • 7/27/2019 Slides Fabricatie

    31/125

    4/10/20

    3.3.3 Generalizari, supertipuri si subtipuri

    Relatia de generalizare specifica faptul ca mai multe tipuri de entitati cu anumite atribute comune pot fi

    generalizate la un nivel mai inalt al tipului de entitate (numita generic entitate superclasa supertype entity).Nivelul inferior al entitatii (subtype intr-o ierarhie de generalizare) poate fi fie disjuncta sau cu submultimi

    suprapuse ale entitatii supertype. In figura de mai jos se prezinta doua exemple de generalizari: cu subtipuri

    disjunctesi cu subtipuricu suprapunere si constrangericomplete.

    3.3.4 Agregarea

    Agregarea este o forma de abstractizare intre o entitate supertip si una subtip, diferita de generalizare.Astfeldaca generalizarea este descrisa printr-o relatie caracterizata de termenul este-o intre o entitate subtip si

    una supertip, agregarea este o relatie dintre intreg si partile componente si este descrisa de termenul face-

    parte din. Un exemplu este prezentat in urmatoarea diagrama.

    employee

    d

    manager engineer technician maintenance

    supertype

    subtypes

    individual

    o

    employee customer

    software_product

    A

    program documentation

    3.3.4 Relatii ternare si relatiile functionale corespunzatoare

    Relatiile ternare sunt utilizate cand relatiile binare nu descriu suficient de precis semantica asocierilor

    dintre trei entitati. Conectivitateafiecarei entitati poate fi descrisa fie de one fie de many. Exemple:

    engineeruses_

    noteb

    ook

    11project

    1

    notebook

    Un inginer foloseste exact un

    notebook pentru fiecare

    proiect. Fiecare notebook

    apartine unui inginer pentru

    fiecare proiect . Un inginer

    poate lucra la mai multeproiecte dar are notebook-uri

    diferite pentru diferite

    proiecte.Dependentele functionale in relatia ternara

    one-to-one-to-one :

    eng_id,project_name -> notebook_no

    eng_id,notebook_no-> project_name

    project_name, notebook_no-> eng_id

  • 7/27/2019 Slides Fabricatie

    32/125

  • 7/27/2019 Slides Fabricatie

    33/125

    4/10/20

    Constrangeri de integritate, redondanta datelor, normalizarea

    Constrangerile de integritate sunt reguli care restrang valorile care pot fi prezente in baza de date.

    Integritatea datelor inseamna asigurarea consistentei si satisfacerea regulilor referitoare laconstrangeri. Acestea se clasifica in:

    - integritatea entitatii Randurile sau t-uplele dintr-o relatie reprezinta entitati si fiecare din ele trebuie sa fieidentificate in mod unic. Astfelcheile primare trebuie sa aiba o valoare unica,nenulapentru fiecare rand.

    - integritatea referentiala Aceasta restrictie se refera la cheile straine. Relatiile se stabilesc prin intermediulcheilor straine si este esential ca legaturile sa fie corecte. O cheie straina poate fi nula sauvaloarea sa trebuie safieaceeasi cu valoarea cheiei dincelalaltcapat al relatiei.

    Redondanta datelor:

    - directa: daca datelese pot gasi in doua locuridiferiteapartinand aceleasi baze de date.

    - indirecta:daca datele sunt calculate folosindu-se date din locuri diferite ale aceleasi baze de date

    Daca exista redondanta intr-o baza de date aceasta creaza probleme in operarea cu baza de date la inserarea

    datelor (datele trebuie multiplicate in fiecare loc in care apar versiunile redondante), la actualizarea datelor

    (toate datele redondante trebuie actualizate simultan pentru a reflecta schimbarea respectiva).

    Normalizarea trebuie sa elimine redondanta, pastrand integritatea datelor.

    Transformarea datelor dintr-o problema intr-o relatie cu asigurarea integritatii datelor si eliminarea

    redondantelor poarta numele de normalizare

    Normalizarea

    Definitie: Transformarea datelor dintr-o problema in relatii cu asigurarea integritatii datelor si eliminarea

    redondantelor poarta numele de normalizare.

    Daca exista redondanta intr-o baza de date aceasta creaza probleme in operarea cu baza de date la inserarea

    datelor (datele trebuie multiplicate in fiecare loc in care apar versiunile redondante), la actualizarea datelor

    (toate datele redondante trebuie actualizate simultan pentru a reflecta schimbarea respectiva).

    Forme normale:

    Datele din baza de date pot fi considerate a fi in una din urmatoarele forme normale:

    Forma normala 1 (1NF)

    Forma normala 2 (2NF)

    Forma normala 3 (3NF)

    Forma normala Boyce-Codd (BCNF)

    Mai sunt sunt si alte forme dupa BCNF care se utilizeaza mai rar.

    Intelegerea cerintelor datelor unei probleme se realizeaza prin scrierea dependentelor functionale ce

    caracterizeaza relatiile dintre ele.

    O dependenta functionala este formata de doua liste de atribute separata de o sageata. Fiind date valorile

    din partea stanga, acestea identifica in mod unic un singurset de valoripentru atributele dinpartea dreapta.

    Fie relatia: R(matric_no, firstname, surname, tutor_no, tutor_name)

    si dependenta functionala: tutor_no tutor_name

    Semnificatia: dat un tutor_no acesta identifica in mod unic un tutor_name

  • 7/27/2019 Slides Fabricatie

    34/125

    4/10/20

    Reguli de Inferenta (axiomele lui Armstrong)

    1. Reflexivitatea - Daca Y este o submultime a atributelor lui X atunci XY

    Ex. X este ABCD si Y este ABC, atunci X Y.

    Cazul banal: X X

    2. Augmentarea - Daca XY si Z este o submultime a tabelului R, atunci XZ YZ.

    3. Tranzitivitatea - Daca XY si YZ, atunci XZ.

    Reguli care rezulta din axiomele de mai sus.

    4. Pseudotranzitivitatea - Daca XY si YWZ, atunci XWZ.

    5. Uniun ea - Daca XY si XZ, atunci XYZ.

    6. Decompozitia - Daca XYZ, atunci XY and XZ.

    Exemplu de normalizare a relatiilor bazei de date

    Se considera relatia: Student(matric_no,name, date_of_birth, (subject, grade))

    Student

  • 7/27/2019 Slides Fabricatie

    35/125

    4/10/20

    Forma normala 1 (1NF)

    Forma normala 1 (1NF) este determinata de forma inregistrarii. O relatie este in 1NF daca si numai

    daca aceasta nu contine atribute sau grupuri de atribute care se repeta (fiecare coloana poate avea numai

    o singura valoare pentru fiecare rand al tabelului).

    De exemplu tabelul Student cu grupurile care se repeta este un tabel nenormalizat. Pentru a inlatura

    grupurile care se repeta fie:

    A) se face tabelul plat si se extinde cheia sau

    B) se descompune relatia, conducand la forma normala 1.

    A) Tabelul Student cu grupurile care se repeta poate fi aplatizat, modificand relatia ca in Student2:

    Student2(matric_no, name, date_of_birth, subject, grade)

    Aceasta forma nu mai are grupuri repetitive dar are redondanta: pentru fiecare combinatie

    matric_no/subject, se replica name si date of birth. Aceasta poate conduce la erori in operatiile deinserare, actualizare si stergere:

    - la inserare, subject fiind cheie primara, nu se poate adauga un student pana ce acesta nu are cel putin

    un subject (deoarece cheia primara nu poate fi nula!);

    - la actualizare, prin schimbarea numelui studentului se cauta toate randurile din baza de date in care

    exista studentul si se schimba fiecare din ele separat;- stergerea de exemplu a informatiei subject conduce la stergerea matric_no.

    Student2

    matric_no name date_of_birth subject grade

    960100 Smith, J 14/11/1977 Databases C

    960100 Smith, J 14/11/1977 Soft_Dev A

    960100 Smith, J 14/11/1977 ISDE D

    960105 White, A 10/05/1975 Soft_Dev B

    960105 White, A 10/05/1975 ISDE B

    960120 Moore, T 11/03/1970 Databases A

    960120 Moore, T 11/03/1970 Soft_Dev B

    960120 Moore, T 11/03/1970 Workshop C

    960145 Smith, J 09/01/1972 Databases B

    960150 Black, D 21/08/1973 Databases B

    960150 Black, D 21/08/1973 Soft_Dev D

    960150 Black, D 21/08/1973 ISDE C

    960150 Black , D 21/08/1973 Workshop B

    B) Solutia alternativa este de a imparti tabelul in doua tabele (splitare): unul care sa contina

    grupurile care se repeta si unul care sa contina grupurile care nu sunt repetitive. Cheia primara a

    relatiei originale este inclusa in ambele relatii noi.

  • 7/27/2019 Slides Fabricatie

    36/125

    4/10/20

    Student Record

    matric_no subject grade

    960100 Databases C

    960100 Soft_Dev A

    960100 ISDE D

    960105 Soft_Dev B

    960105 ISDE B

    ... ... ...

    960150 Workshop B

    m at ri c_n o n am e d at e_o f_b ir th

    960100 Smith,J 14/11/1977

    960105 White,A 10/05/1975

    960120 Moore,T 11/03/1970

    960145 Smith,J 09/01/1972

    960150 Black,D 21/08/1973

    Se obtin doua relatii Student si Record:

    Student(matric_no, name, date_of_birth)

    Record(matric_no, subject, grade)

    care contin grupurile repetitive si nerepetitive. Relatia Student are grupul repetitiv si cheia matric_no.

    Aceasta versiune a relatiilor nu prezinta anomalii de inserare, actualizare sau stergere si spunem ca este

    in Forma Normala 1.

    Forma normala 2 (2NF)

    O relatie este in forma 2NF daca si numai daca este in forma normala 1NF si fiecare atribut carenu este cheie este complet functional dependent de intreaga cheie.

    Astfel, relatia este in forma 1NF fara grupuri repetitive si toate atributele care nu sunt cheietrebuie sa depinda de intreaga cheie, nu doar de o parte a ei. Altfel spus, nu trebuie sa existedependente partiale de cheie. Problemele apar cand cheia este compusa (de exemplu in relatiaRecord, cheia compusa matric_no, subject). In acest caz este posibil ca atributele care nu sunt chei sadepinda numai de o parte a cheii (de exemplu numai de una din chei). Acest lucru incearca sa previnaforma 2NF.

    Daca se considera relatia Student din tabelul plat Student2:

    Student2(matric_no, name, date_of_birth, subject, grade)

    avem o cheie compusa, astfel ca trebuie sa verificam toate atributele care nu sunt cheie, fata defiecare din cheile primare pentru a ne asigura ca sunt functional dependente de ele.

    Astfel:

    matric_no name (A), matric_no date_of_birth (A), matric_nograde (F).

    (subject, matric_no) grade (A), (subject, matric_no) name (F)

    (subject, matric_no) date_of_birth (F).

    Acestea sunt probleme cu potential de redondante. Diagrama dependentelor este urmatoarea:

  • 7/27/2019 Slides Fabricatie

    37/125

    4/10/20

    matric_no name date_of_birth

    subject gradematric_no

    Student_details

    Student

    Aceasta relatie nu este in forma 2NF, aparand ca doua tabele puse intr-unul singur. Solutia estede a separa relatia in partile componente. Se separa toate atributele care sunt dependente numai dematric_no si se pun intr-o noua relatie Student_details, cu matric_no cheie primara. Se separa toateatributele care depind numai de subject (in acest caz nici unul in atribute nu depinde de subject). Sesepara toate atributele care depind numai de matric_no + subject si se pun intr-o relatie separataStudent cu cheia primara compusa din matric_no + subject.

    Toate atributele din fiecare relatie sunt complet dependente functional de cheia primara. Acesterelatii sunt acum in forma 2NF. Este interesant de observat ca setul de relatii este acelasi cu cel incare s-au observat grupurile repetitive.

    matric_no name date_of_birth subject grade

    Forma normala 3 (3NF)

    3NF este o forma normala mai stricta si inlatura virtual toate redondantele datelor. O relatie estein 3NF daca si numai daca nu sunt dependente functionale tranzitive. Dependentele functionale

    tranzitive au loc cand:

    - un atribut care nu este cheie este functional dependent de alt atribut non-cheie.

    FD: atribut-non-cheie atribut-non-cheie si cand nu sunt redondante in baza de date. Prin

    definitie dependentele functionale tranzitive pot avea loc numai daca sunt mai mult de un camp non-

    cheie, asa incat putem spune ca o relatie 2NF cu zero sau un camp non-cheie trebuie automat sa fie

    3NF.

    p ro jec t_n o m an ag er ad dr es s

    p1 Black,B 32 High Street

    p2 Smith,J 11 New Street

    p3 Black,B 32 High Street

    p4 Black,B 32 High Street

    Relatia Project are mai mult de un camp non-cheie asa incat trebuie verificate dependentelefunctionale tranzitive. Atributul address depinde de valoarea manager. Din tabel se poate propunerelatia:

    Project(project_no, manager, address)cu dependenta functionala: manager address.

    In acest caz address este tranzitiv dependenta functional de manager. Cheia primara esteproject_no, dar nici membrul stang nici cel drept din relatia de dependenta nu fac referire la aceasta.Redondanta datelor provine din faptul ca se dubleaza atributul address daca manager are o valoareidentica pentru mai multe proiecte. Daca trebuie schimbata valoarea address aceasta trebuie facuta inmai multe intrari, putand conduce la erori.

  • 7/27/2019 Slides Fabricatie

    38/125

    4/10/20

    Pentru eliminarea dependentelor functionale tranzitive se poate imparti tabelul astfel incat:

    - sa se creeze doua relatii una cu dependenta tranzitiva si alta pentru atributele care raman.

    - se imparte relatia Project in relatiile: Project si Manager

    Atributul determinant devine cheie primara in noua relatie Manager devine cheie primara inrelatia Manager. Cheia originala este cheia primara a atributelor non-tranzitive ramase in acest cazproject_no ramane cheia noii tabele Project.

    Acum trebuie sa stocam address numai o data. Daca trebuie sa cunoastem adresa manageruluiputem cauta in relatia manager. Atributul manager este legatura intre cele doua tabele si in tabelulProject este acum cheia primara. Aceste relatii sunt acum in forma 3NF.

    In concluzie:

    pentru ca relatia R(a,b,c,d) cu cd sa fie in forma 3NF aceasta se transforma in:R(a,b,c)

    R1(c,d)

    Project project_no manager

    p1 Black,B

    p2 Smith,J

    p3 Black,B

    p4 Black,B

    Manager manager address

    Black,B 32 High Street

    Smith,J 11 New Street

    Boyce-Codd Normal Form (BCNF)

    Cand o relatie are mai mult de o cheie candidat, pot rezulta anomalii chiar daca relatia este in3NF. Forma 3NF nu rezolva satisfacator cazul unei relatii cu suprapunerea cheilor candidat. Deexemplu cazul cheilor candidat compuse cu cel putin un atribut in comun. BCNF se bazeaza peconceptul determinantului. Un determinant este un atribut (simplu sau compus) pe baza caruia alteatribute sunt complet functional dependente.

    O relatie este in forma BCNF daca si numai daca orice determinant este un candidat de cheie.Baza teoretica a metodei este urmatoarea:

    Fie urmatoarele relatii si determinanti:

    R(a,b,c,d)a,b c,da,d b

    Pentru a fi o forma BCNF, toti determinantii valizi trebuie sa fie candidat de cheie.

    In relatia R,

    a,bc,d este determinantul folosit, astfel incat primul determinant este bun.

    a,db sugereaza ca a,d pot fi chei primare, ceea ce ar determina pe b, dar nu ar determina

    pe c. Acesta nu este un candidat de cheie si in concluzie relatia R nu este BCNF.

    Fie exemplul:

    Patno PatName appNo Time doctor

    1 John 0 09:00 Zarra

    2 Kerr 0 09:00 Kate

    3 Adam 1 10:00 Zarra

    4 Robert 0 13:00 Kate

    5 Zane 1 14:00 Zarra

  • 7/27/2019 Slides Fabricatie

    39/125

    4/10/20

    DB(Patno,PatName,appNo,Time,doctor)

    Determinanti:

    Patno PatName

    Patno,appNo Time,doctor

    Time appNoSunt posibile doua selectii de chei pentru forma 1NF

    - DB(Patno,PatName,appNo,Time,doctor) (exemplul 1a)

    - DB(Patno,PatName,appNo,Time,doctor) (exemplul 1b)

    Exemplul 1a

    DB(Patno,PatName,appNo,Time,doctor)

    Nu sunt grupuri repetitive deci este in forma 1NF

    2NF se elimina dependentele partiale de cheie:DB(Patno,appNo,Time,doctor)

    R1(Patno,PatName)

    3NF nu sunt dependente tranzitive astfel incat forma este 3NF

    In continuare se aplica BCNF. Fiecare determinant este un candidat de cheie.

    DB(Patno,appNo,Time,doctor)

    R1(Patno,PatName)

    Este determinantul o cheie?

    Patno PatName

    Patno este prezent in DB, dar nu PatName, asa incat este irelevant.

    DB(Patno,appNo,Time,doctor)R1(Patno,PatName)

    Patno,appNo Time,doctor

    Sunt prezente in membrul drept si stang toate atributele deci este relevanta. Este un candidat decheie?

    Patno,appNo este cheia, astfel incat este o cheie candidat.

    Time appNo Time este prezent si la fel appNo, deci este relevanta. Este o

    cheie? Daca ar fi atunci am putea rescrie DB ca:

    DB(Patno,appNo,Time,doctor)

    Nu ar merge deoarece avem nevoie de Time si Patno impreuna pentru a forma o cheie unica.

    Deci acest determinant nu este o cheie si DB nu este o forma BCNF.

    Considerand din nou relatiile:

    DB(Patno,appNo,Time,doctor),

    R1(Patno,PatName)

    pentru forma BCNF acestea se rescriu:

    DB(Patno,Time,doctor)R1(Patno,PatName)R2(Time,appNo)

    In aceasta varianta Time este suficient sa lucreze cu appNo corespunzator pacientului. FormaBNCF este astfel satisfacuta acesta fiind rezultatul final.

  • 7/27/2019 Slides Fabricatie

    40/125

    4/10/20

    Exemplul 1b:

    DB(Patno,PatName,appNo,Time,doctor)

    Nu sunt grupuri repetitive deci este o forma 1NF

    Pentru forma 2NF se elimina dependentele partiale de cheie:

    DB(Patno,Time,doctor)

    R1(Patno,PatName)

    R2(Time,appNo)

    3NF nu sunt dependente tranzitorii deci este o forma 3NF

    In continuare se incearca forma BCNF. Pentru aceasta f iecare determinant este un candidat decheie. Este determinantul un candidat de cheie? Avem dependentele functionale:

    Patno PatName - Patno este prezent in DB, dar nu PatName astfel incat esteirelevanta.

    Patno,appNo Time,doctor - Lipsesc atribute in membrul stang deci, nu este relevanta.

    Time appNo - Time este prezent dar nu appNo, astfel incat este irelevanta.

    Relatiile sunt in BCNF.

    Exemplul a demonstrat urmatoarele:

    Relatia BCNF este mai puternica decat 3NF (relatiile care sunt 3NF nu sunt necesar in BCNF. BCNF este necesara in unele situatii pentru o intelegere completa a modelului datelor.

    Sunt mai multe cai prin care sa se ajunga la acelasi set de relatii in BCNF.

    Din pacate nu sunt reguli care sa determine care este cea mai simpla cale de a ajunge la rezultat.

    Exemplul 2.

    Grade_report(StudNo,StudName,(Major,Adviser,(CourseNo,Ctitle,InstrucName,InstructLocn,Grade)))

    Dependente functionale:

    StudNo StudName

    CourseNo Ctitle, InstrucName

    InstrucName InstrucLocn

    StudNo, CourseNo, Major Grade

    StudNo, MajorAdvisor

    Advisor Major

    Nenormalizata:

    Grade_report(StudNo,StudName,(Major,Advisor, (CourseNo,Ctitle,InstrucName,InstructLocn,Grade)))

    1NF

    Student(StudNo, StudName)

    StudMajor(StudNo, Major, Advisor)

    StudCourse(StudNo, Major, CourseNo, Ctitle, InstrucName, InstructLocn,Grade)

  • 7/27/2019 Slides Fabricatie

    41/125

    4/10/20

    - 1NF inlatura grupurile repetitiveStudent(StudNo, StudName)StudMajor(StudNo, Major,Advisor)StudCourse(StudNo, Major, CourseNo, Ctitle, InstrucName, InstructLocn, Grade)

    - 2NF inlatura dependentele partiale de cheieStudent(StudNo, StudName)StudMajor(StudNo, Major, Advisor)StudCourse(StudNo, Major, CourseNo, Grade)Course(CourseNo, Ctitle, InstrucName, InstructLocn)

    - 3NF Inlatura dependentele tranzitive

    Student(StudNo, StudName)StudMajor(StudNo, Major, Advisor)StudCourse(StudNo, Major, CourseNo, Grade)Course(CourseNo, Ctitle, InstrucName)Instructor(InstructName, InstructLocn)

    BCNF Fiecare determinant este un candidat de cheie

    Student: singurul determinant este StudNo

    StudCourse: singurul determinant este StudNo,Major,CourseNo

    Course: singurul determinant este CourseNo

    Instructor: singurul determinant este InstrucName

    StudMajor: determinantii sunt:

    StudNo,Major, or

    Advisor

    Numai StudNo,Major este un candidat de cheie.

    - BCNF

    Student(StudNo, StudName)

    StudCourse(StudNo, Major, CourseNo, Grade)

    Course(CourseNo, Ctitle, InstrucName)

    Instructor(InstructName, InstructLocn)

    StudMajor(StudNo, Advisor)

    Adviser(Advisor, Major)

    Fie tabelul

    StudNo Major Advisor

    123 PHYSICS EINSTEIN

    123 MUSIC MOZART

    456 BIOLOGY DARWIN

    789 PHYSICS BOHR

    999 PHYSICS EINSTEIN

    Forma BCNF rezolva urmatoarele probleme:

    - Daca inregistrarea 456 este stearsa se pierd informatii nu numai despre studentul 456 dar si despre

    faptul ca DARWIN este advisor la BIOLOGY

    - Nu putem inregistra faptul ca WATSON poate fi advisor in COMPUTING pana ce nu avem un studentcare sa fie la COMPUTING si caruia sa-i fie asignat WATSON ca advisor.

  • 7/27/2019 Slides Fabricatie

    42/125

    4/10/20

    Se imparte tabelul in doua tabele in forma BCNF.

    St udent Advis or

    123 EINSTEIN

    123 MOZART

    456 DARWIN

    789 BOHR

    999 EINSTEIN

    Advi sor Major

    EINSTEIN PHYSICS

    MOZART MUSIC

    DARWIN BIOLOGY

    BOHR PHYSICS

    Legatura cu modelul relational

    Sa comparam rezultatul obtinut in urma normalizarii cu modelul ER original. Modelul original poate fimodificat pentru a tine cont de schimbarile care au avut loc in t impul procesului de normalizare. Diagrama ERtrebuie sa reflecte perfect modelul ce urmeaza a fi implementat. Schimbarile necesare depind de cat de buna fost modelul initial.

    3.4 Limbajul SQL

    SQL este un limbaj de interogare structurat, folosit pentru a interactiona cu DBMS. Acest limbaj este

    standardizatISO si are la baza algebra relationala.

    Limbajul SQL permite:

    Crearea de scheme in DBMS

    Modificarea schemei sdatelor

    Adaugare date

    Modificare date

    Accesul la date

    SQL este un sub limbaj de date (Data Sub Language DSL), deoarece este o combinatie a doua limbaje:

    DDL Data Definition Language

    DML Data Manipulation Language

    Pentrua prezentarea comenzilor SQL se va folosi o baza de date, formata din doua tabele: CARsi DRIVER.

    Fiecare masina poate fi detinuta de un sofer. Un sofer poate avea mai multe masini.

  • 7/27/2019 Slides Fabricatie

    43/125

    4/10/20

    NAME DOB

    Jim Smith 11 Jan 1980

    Bob Smith 23 Mar 1981

    Bob Jones 3 Dec 1986

    DRIVER

    REGNO MAKE COLOUR PRICE OWNER

    F611 AAA FORD RED 12000 Jim Smith

    J111 BBB SKODA BLUE 11000 Jim Smith

    A155 BDE MERCEDES BLUE 22000 Bob Smith

    K555 GHT FIAT GREEN 6000 Bob Jones

    SC04 BFE SMART BLUE 13000

    CAR

    DRIVER CAR

    NAME

    DOB

    REGNO

    MAKE

    COLOUR

    PRICE

    OWNER

    drives

    1 N

    Fiecare coloana are date de un anumit tip: intreg, sir, zecimal.

    Integer, string, decimal, etc.

    Intervalul valorilor poate fi o constrangere.

    Daca o coloana dintr-un rand nu contine date, continutul este NULL.

    Fiecare rand trebuie sa difere de celelalte intr-un anumit fel

    Uneori un rand este denumit o t-upla.

    Cardinalitatea este numarul de randuri dintr-un tabel.

    Chei primare

    In exemplu sunt definite chei primare. O cheie primara este un grup de una sau mai multe coloane, careatunci cand sunt considerate impreuna identifica in mod unic o inregistrare in tabel. Nici o parte a cheieiprimare nu poate fi NULL. In exemplul considerat:

    Tabelul DRIVER are cheia primara NAME

    Tabelul CAR are cheia primara REGNO

    In cazul primului tabel utilizarea cheiei NAME inseamna ca nu exista doi soferi care sa aiba acelasi nume.Atentie, in alte aplicatii daca pot fi doua nume identice, atunci nu mai poate fi considerata cheie primaraNAME!.

  • 7/27/2019 Slides Fabricatie

    44/125

    4/10/20

    Integritatea referentiala

    Se observa ca este o legatura intre CAR si DRIVER via OWNER. Daca este o valoare in OWNER, atunci

    aceasta trebuie sa apara undeva in DRIVER. Daca se schimba numele in DRIVER, trebuie sa fie facuta

    aceeasi schimbare in OWNER din CAR.

    DBMS intareste regulile.

    Daca se incearca nerespectarea regulii DBMS raporteaza problema ca o eroare de integritate referentiala

    (REFERENTIAL INTEGRITY ERROR).

    Comenzile de baza SQL

    Comenzile de baza SQL sunt:

    CREATE creaza o structura de date

    SELECT citeste unul sau mai multe randuri din tabel

    INSERT insereaza unul sau mai multe randuri in tabel

    DELETE sterge unul sau mai multe randuri din tabel

    UPDATE schimba valorile intr-un rand

    DROP sterge o structura de date

    Exemple ale comenzii SELECT

    SELECT column FROM tablename

    SELECT column1,column2,column3 FROM tablename

    SELECT * FROM tablename

    SELECT * FROM CAR;

    SELECT regno FROM CAR; SELECT colour,ownerFROM CAR;

    REGNO MAKE COLOUR PRICE OWNER

    F611 AAA FORD RED 12000 Jim Smith

    J111 BBB SKODA BLUE 11000 Jim Smith

    A155 BDE MERCEDES BLUE 22000 Bob Smith

    K555 GHT FIAT GREEN 6000 Bob Jones

    SC04 BFE SMART BLUE 13000

    REGNO

    F611 AAA

    J111 BBB

    A155 BDE

    K555 GHT

    SC04 BFE

    COLOUR OWNER

    RED Jim Smith

    BLUE Jim Smith

    BLUE Bob Smith

    GREEN Bob Jones

    BLUE

  • 7/27/2019 Slides Fabricatie

    45/125

    4/10/20

    Formatarea comenzilor

    Caracterele SPACE si NEWLINE nu conteaza

    O practica indicata este sa se puna ; la sfarsitul interogarii.

    Tipul caracterelor nu conteaza daca nu sunt intre ghilimele simple.

    Ambele comenzi de mai jos sunt valide

    SELECT REGNO FROM CAR;

    SElecT regno

    From Car

    ;

    Comentarii

    Sunt utile pentru a face comentarii in comanda.

    Comentariile nu sunt executate

    Comentariul incepe cu -- si se termina cu linie noua

    Comentariile sunt permise numai in interogare.

    Ex:

    SELECT regno -- The registration number

    FROM car -- The car storage table

    Filtre de selectie

    Pot fi folosite reguli in interogare

    Aceste reguli sunt testate pentru fiecare rand produs de interogare

    Daca regula este adevarata, atunci randul este afisat; daca este falsa, randul nu este afisat

    Regula incepe cu WHERE

    Ex:

    SELECT columns

    FROM table

    WHERE rule

    O regula simpla poate fi selectia unei masini cu culoarea rosie (RED).

    Regula va fi colour = 'RED'

    Ex:

    SELECT regno FROM CAR SELECT regno FROM CAR

    WHERE colour = 'RED'

    REGNO

    F611 AAA

    J111 BBB

    A155 BDE

    K555 GHT

    SC04 BFE

    REGNO

    F611 AAA

  • 7/27/2019 Slides Fabricatie

    46/125

    4/10/20

    Comparatii

    Comparatiile valide include: =,!=,,=

    Co