Slides Fabricatie
-
Upload
cristian-cojocariu -
Category
Documents
-
view
235 -
download
0
Transcript of Slides Fabricatie
-
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