Sunteți pe pagina 1din 291

CURS:

FABRICAIE ASISTAT DE CALCULATOR

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Capitolul 1 Sisteme de fabricaie

Obiective: nelegerea unor concepte de organizare/ management al sistemelor de fabricaie,


identificarea tipurilor de sisteme de fabricaie si a performantelor acestora, stabilirea
circuitului informaional in interiorul sistemului de fabricaie si evidenierea unor soluii
tehnice performante.

Criteriul de ctig al comenzii


Ciclul de viat al unui produs
Managementul ciclului de viat al produsului (PLM)
Indicatori de performanta a sistemelor de fabricaie
Clasificarea sistemelor de fabricaie
Organizarea sistemelor de fabricaie
Exemple de sisteme de fabricaie: Volkswagen, Dell
Exemplul de organizare la Google

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

1.3 Factori interni


- Aspectul intern cel mai important const n dezvoltarea unei strategii de fabricaie.
Prin strategie de fabricaie se nelege planul sau procesul prin care se foreaz congruena dintre
obiectivele companiei, legile pieei i posibilitile de producie ale companiei.
Satisfacerea acestor cerine constituie o problem important pentru companii datorit sciziunii care exist
intern ntre departamentul de marketing i cel de producie. Pe de o parte departamentul de marketing privete
comenzile din punctul de vedere al ctigului total, n timp ce pe partea de producie se analizeaz comenzile
din punctul de vedere al complexitii acestora, al gradului de diversitate, al volumului de productie, al
capacitatii de utilizare, al productivitatii i nu valoarea total. O metod de abordare a acestei probleme const
n urmtorul algoritm:

Definirea obiectivelor companiei


Dezvoltarea strategiilor de piaa pentru atingerea obiectivelor
Analiza pieei i a modului n care produselor vor satisface concurena i condiiile pieei
Determinarea procesului de fabricaie utilizat pentru produse
Asigurarea infrastructurii de fabricaie necesar produciei.
Un model de armonizare a deciziilor de vnzare cu cele de producie este propus de Terra Hill, permind un
plan strategic pentru luarea deciziilor.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Obiectivele
companiei

Strategia de marketing

Ce are de fcut
compania?

Cum i va atinge
obiectivele?

Structura

- Cercetarea pieelor
pentru desfacerea
produselor
- Stabilirea a ce se
produce (structura
produciei)
- Stabilirea a cat se
produce (volumul de
producie)
- Stabilirea gradului de
standardizare sau
specializare a
produsului
- Stabilirea gradului de
inovaie al produsului
- Stabilirea poziiei fata
de competitor (statutul
de lider sau urmritor)

- Stabilirea
capacitilor si a
facilitilor de
producie
- Stabilirea
tehnologiilor de lucru
- Stabilirea gradului
de integrarea pe
vertical (ct i ce se
cumpr vs. ct i ce
se fabrica)

- Planul de dezvoltare
al companiei
- Stabilirea unor
masuri de cretere a
marginii de profit
- Msuri financiare
pentru asigurarea
echilibrului financiar
al companiei

Obiective externe

Criteriul de ctig al
comenzii

- Preul
- Calitatea
- Durata de
fabricaie
- Durata de
desfacere/nivelul
de ncredere
- Flexibilitate
- Inovare/abilitate
- Mrimea lotului
- Design leadership
(caracterul
inovator la
produsului)

Obiective comune

Strategii de fabricaie

Infrastructura
- Nivelul forei de
munc si al
salariilor
- Procesul de
asigurare a calitii
- Controlul i
planificarea
sistemului de
fabricaie
- Organizarea
muncii (controlul,
evaluarea i
motivarea
personalului)

Obiective interne

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Criteriul de ctig al comenzii este formulat astfel nct s conin nivelul minim operaional pentru a
putea ctiga comanda, uor de neles la toate nivelurile i de ctre toate departamentele companiei, in
vederea stabilirii caracteristicilor sau a operaiilor de fabricaie necesare produsului final, astfel nct
acesta s se califice pe pia.
n unele situaii, prin caracteristica criteriului ales, unele departamente trebuie s aib o contribuie
determinant. De exemplu cnd criteriul de ctig al comenzii este gradul de inovare, departamentul de
design va avea contribuia major.
Criteriul de ctig al comenzii se poate alege ca un mix al criteriilor enumerate sau criteriul stabilit se
poate schimba pe durata ciclului de via al produsului.
1.4 Ciclul de via al unui produs
Ciclul de via al produsului este caracterizat de variaia volumului de vnzri a produsului n timp i
are definite urmtoarele stadii: introducere, cretere, maturitate i declin.
Fiecare din aceste stadii are propria caracteristica si o abordare diferita pentru modul de management
al afacerii. Succesul in managementul sistemului de fabricaie consta, nu numai in a nelege stadiul in
care se afla un anumit produs, ci ntr-o aciune pro activ de aplicare a resurselor, strategiilor de
marketing si vnzri in concordanta cu stadiul produsului in ciclul de via.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Volum vnzri

Introducere

Cretere

Maturitate

Declin

Timp
Graficul ciclului de via al unui produs
Stadiul de introducere: este lent vnzrile sunt la un nivel sczut i cheltuielile cu promovarea acoper
majoritatea ctigului din vnzri. Preul produsului este cel mai mare n aceast faz. Competiia este foarte
sczut.
Stadiul de cretere : Reflect faptul c piaa a acceptat produsul i vnzrile cresc cu rapiditate. Este faza cea mai
important n stabilirea produsului pe pia.
Stadiul de maturitate : Este faza n care produsele ating maximul vnzrilor cu cheltuielile cele mai mici (nu mai
necesita cheltuieli de proiectare, procesele de producie sunt stabilite). De obicei n aceasta perioada criteriul de
ctig al comenzii este preul. Creterea duratei de maturitate a produsului necesit cheltuieli de aprare a poziiei
produsului pe pia.
Stadiul de declin : Este stadiul n care vnzrile scad, ca urmare a impactului altor produse, competitoare mai
performante de pe pia. La acest nivel compania trebuie s decid cum s nchid ciclul de via al produsului.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

1.5 Managementul ciclului de via al produsului


Strategii n proiectarea ciclului de via al produselor :
-

Meninerea produsului ct mai mult n faza de maturitate, n care se obin profiturile maxime. Costurile
pentru dezvoltarea produsului sunt considerate investiie i un stadiu lung de maturitate a produsului
permite returnarea investiiei.
n contrast cu prima strategie, este strategia de a menine i influenta ciclul de via al produsului pentru
a fi meninut n faza de cretere, n care interesul pentru produs este foarte mare i volumul vnzrilor
creste rapid. Ciclul de via al produsului este mic i costurile pentru dezvoltarea produsului nu se
ateapt a fi returnate n faza de maturitate ci se consider, din start costul afacerii. Aceast strategie este
utilizat cu precdere de companiile japoneze, care prelungesc ciclul de viat al produsului n zona de
introducere cretere prin urmtoarele metode.
o mbuntire continu (kiazen) const n mbuntiri continue aduse produsului fr a schimba
forma, funcionalitatea sau condiiile de adaptare la pia. Metoda urmrete doar mbuntirea
unor caracteristici ale produsului i scderea costurilor.
o Prin salt (leaping), const n crearea unui produs nou, cu caracteristici extinse, plecnd de la
produsul iniial.
o

Inovare. Se urmrete crearea unui produs complet nou prin form, funcii i adaptarea la cerinele
pieei.

Procesul de management al produsului de la concepie, proiectare, fabricaie, ntreinere i desfacere


poart numele de Managementul Ciclului de Via al Produsului ( PLM Product Lifecycle
Management).

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

n concluzie, algoritmul de asigurare a unui management intern al companiei care s fie evite impactul
factorilor interni este:
-

Analiza produselor i stabilirea corect a criteriului de ctig al comenzii pe toat durata de via a
produsului.
Pentru fiecare produs s se planifice criteriul de ctig al comenzii si pentru stadiile viitoare ale vieii
produsului.
Stabilirea corect a proceselor de fabricaie necesare dezvoltrii unui produs i capabilitatea sistemului
de fabricaie de a transpune cerinele n practic.
Armonizarea cerinelor cu realitatea fie prin modificarea intelor de pia, fie prin nnoirea proceselor de
fabricaie i/sau a infrastructurii de producie.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

1.6 Indicatori de evaluare a standardului de performan a sistemelor de fabricaie


- Timpul de pregtire a fabricaiei (setup-time)
- Calitatea exprimat ca procentul prilor defecte din totalul volumului de vnzare.
- Raportul spaiului de fabricaie fata de spaiul total
- Inventarul: viteza de variaie a stocului de reinnoirea ciclului/timpul de rezident
- Flexibilitatea mainilor : numrul de pri diferite care pot fi produse pe o main.
- Distanta
- Procentul timpului de procesare fa de timpul total de lucru al mainilor.
Standard de fabricaie
Caracteristic
Timpul de
pregtire
Calitate

Standard la nivel mondial


Sistem : <30min.
Celul : 1min.
1500ppm
Cost calitate 3-5%

Media S.U.A. (aprox. 1990)


24h
3-5%
15-25%

Spaiul de
fabricaie

>50%

25-30%

Inventarul

Reinnoire produse in stoc


>100 cicluri
Reziden materiale 3zile

Reinnoire produse in stoc


aprox. 2-4 cicluri
Reziden materiale 3luni

Flexibilitate

270 pri/main

25pari/main

Distana

300ft.

>1 mil

Timp procesare

95%

65-75%
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

1.7 Clasificarea sistemelor de fabricaie


Sistemul de fabricaie este definit ca un mod de operare a proceselor i de organizare a produciei care
includ: mainile, uneltele, materialele, oamenii, informaiile, pentru a produce produse fizice, informaionale
sau servicii, cu valoare adugat i care au parametrii caracteristici msurabili.

Exemplul unui mod de organizare a spaiului de producie


Modelul unui sistem de fabricaie este reprezentat in urmtoarea diagram, scondu-se in eviden cele cinci
intrri: materii prime, echipamente, scule si dispozitive, energie si munca. Ieirile sistemului sunt produsele
finale si rebuturile
Materii prime
Scule si disp.
Echipamente

Produse
finale

Sistem de
fabricaie

Energie
Munca

rebuturi

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Criterii de clasificare :
A. dup cum sunt produse mrfurile n sistemul de fabricaie
B. dup cum este satisfcut comanda cumprtorului de strategia de producie.
A.1) Tip proiect: Se produc produse deosebit de complexe n cantiti foarte mici, uneori prototipuri,
necesitnd o cantitate foarte mare de munc, foarte bine calificat. Timpul de producie este lung,
cumprtorul fiind identificat naintea nceperii produciei. Produsele au puine opiuni, dar un numr
foarte mare de componente. Datorit dimensiunilor produsului, modul de amplasare a facilitilor de
producie este unul particular numit: amplasament cu poziii fixate. Prin gabaritul produsului acesta este
fix i mainile i utilajele sunt aduse la produsul n curs de fabricaie.

Exemple de amplasare a facilitilor de producie in poziii fixate

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

A.2) Tip atelier (job shop): este sistemul de fabricaie cu o producie de volum mic sau mediu, n aa numite
loturi. Gabaritul produselor este mic. Facilitile de producie sunt amplasate ntr-o structur de tip proces. n
aceast configuraie, spaiul de producie este mprit n secii specializate pe o singur operaie, de exemplu
seciile de strunjire, frezare, gurire, vopsire, asamblare, etc. Piesele fiind de gabarit mic, sunt trecute n
prelucrare prin aceste secii, corespunztor planificrii proceselor. Traseele pieselor poart denumirea de rute i
distanta rutelor este un indicator de performanta al sistemului de fabricaie. In structura de tip proces rutele sunt
lungi, ceea ce fac sistemul neperformant. O mbuntire a structurii de amplasare a facilitilor de producie o
reprezint structura de tip grup tehnologic. n aceasta structura seciile de producie sunt amplasate consecutive
n ordinea proceselor de fabricaie a familiei de produse. Aceasta face ca rutele s fie liniare. Alte caracteristici
ale sistemelor de tip atelier sunt: cantitatea de munc ridicat, nivelul forei de munc specializat, costul pe
unitate de produs ridicat, necesitnd proiectarea produselor. Dimensiunea loturilor este mica i comenzile pentru
un lot de producie au un procent de 20% de a fi rennoite. Materiile prime sunt comandate atunci cnd sunt
necesare.

Exemple de amplasare a facilitatilor de productie de tip proces

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Repartizarea seciilor de producie la nivelul cldirii in configuraia de tip proces

Exemple de amplasare a facilitilor de producie de tip Grup Tehnologic

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

A.3) Sistem de producie de tip repetitiv: este un sistem de producie la care produsele finale se produc
n cantiti medii spre mari. Comenzile pentru aceste produse se rennoiesc n proporie de 100% i relaia
cu clienii dureaz civa ani. Mrimea loturilor variaz n limite largi, produsele fiind de complexitate
medie i necesitnd un efort de proiectare mic. Amplasarea facilitilor de producie poate fi de tip:
proces/grup tehnologic sau de tip flux de producie (maini specializate sau centre de lucru (workcenters)
amplasate n lungul unei linii de producie). Mainile mai poart denumirea de maini de transfer.
Cantitatea de munc i specializarea forei de munc sunt medii, o parte din aceasta specializare fiind
preluat de maini. Un exemplu de companii cu structura de producie de acest tip sunt companiile
subcontractoare ale companiilor din industria auto.

Exemplu de amplasare a facilitatilor de productie de tip flux/linie de productie

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

A.4) Structura de producie de tip linie: este o structur la care volumul de producie este mare, produsele
finale avnd multe variante sau opiuni. Timpul de livrare cerut de clieni este de obicei mai mic dect timpul
de fabricaie, ceea ce necesit un inventor de subansambluri. Caracteristicile sistemului sunt: procese cu
vitez mare, la care coninutul i specializarea muncii este mic. Se utilizeaz maini de transfer specializate
care nlocuiesc specializarea forei de munc. Preul produselor finale este ridicat necesitnd un efort ridicat
de proiectare. Produsele finale au un numr ridicat de subcomponente. Amplasarea facilitailor de producie
este de tip flux/linie de producie. Exemple de companii cu structura aceasta de producie sunt cele din
industria auto.

Exemple de sisteme de productie de tip linie: Ford model A 1927 si Toyota 2002

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

A.5) Sistem de fabricaie cu producie continu: este un sistem la care volumul de producie este foarte
mare, produsele finale avnd un pre foarte mic, puine opiuni i componente. Efortul de proiectare este foarte
mic, ntregul efort de fabricaie concentrndu-se pe volumul ct mai mare de producie ntr-un timp ct mai
scurt. Durata de fabricaie a produsului este mult mai mare dect durata dorit de client pentru livrarea mrfii.
Materia prim intr continuu n sistem n timp ce la captul liniei de producie ies produsele finale. Comenzile
clienilor sunt predictibile pe o perioad lung de tip. Se utilizeaz metode de prognoz pentru dimensionarea
volumului de producie i se utilizeaz fabricaia pe stoc (n avans). Exemple de astfel de sisteme de producie
se gsesc n industria productoare de bunuri de larg consum.
Caracteristicile sistemelor de fabricaie prezentate sunt sintetizate n urmtorul tabel:

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Dup cel de-al doilea criteriu sistemele de fabricaie se mpart n:


B.1) Sisteme de tip Inginerie la comand (ETO Engineering To Order): sunt sisteme la care produsele necesit
proiectare, fiind n primele stadii ale ciclului de via, introducere/cretere. La aceste sisteme este caracteristic ca
durata de livrare a produsului s fie mai mare sau egal cu durata de fabricaie. Clientul accept durate mai lungi de
livrare deoarece produsul este fie un prototip fie un produs cu complexitate ridicat realizat ntr-un sistem de
fabricaie de tip proiect.
B2) Sistem de tip Fabricaie la comand (MTO Make To Order): sunt sisteme la care faza de proiectare este
executat i procesele de fabricaie sunt validate. Durata de fabricaie este egal cu durata de livrare cerut de clieni
i comenzile nu sunt predictibile. Strategia de fabricaie este de a lansa n producie lotul doar la primirea comenzii.
Un exemplu este cazul companiilor care livreaz calculatoare dup specificaiile clienilor.
B3) Sisteme de fabricaie de tip Asamblare la comand (ATO Assemble To Order): sunt sistemele care fabric
produse finale la care durata de livrare cerut de clieni este mai mic dect durata de fabricaie. Sistemele de
fabricaie din aceast categorie sunt cele de tip linie. Strategia de fabricaie este folosit cnd producia este mixt,
produselor finale au multe opiuni i volumul i tipul loturilor poate fi bine prognozat. Este necesar un inventar de
subansambluri i se fabric n mici cantiti pe stoc.
B4) Sisteme de fabricaie pe stoc (MTS Make To Stock): sunt sisteme la care volumul de producie este foarte
mare, produsele au puine opiuni i durata de ateptare a clienilor este mult mai mic dect durata de fabricaie.
Strategia aceasta de fabricaie se utilizeaz cnd cererea de produse finale poate fi foarte bine prognozat, se
utilizeaz un inventar de materii prime i o strategie de gestionare a inventarului cu un stoc de rennoire a ciclului,
un stoc de salvare (safety stock, pentru cazul comenzilor nepredictibile) i un stoc de anticipare (anticipation stock,
pentru cazul comenzilor sezonale). De obicei produsele finale fabricate n aceste sisteme sunt n faza de maturitate,
volumele de producie fiind maxime.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Cretere

Maturitate

Declin

Vnzri

Introducere

Timp
ETO

MTO/ATO

MTS

Relaia dintre ciclul de via al produselor i strategia de fabricaie


In urmtorul table se face o comparative intre tipurile de sisteme de fabricaie si strategii
EOT
Proiect

MTO

MTS

Atelier

Repetitive

Linie
Continuu

ATO

x
x

x
x

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

1.8 Organizarea ntreprinderii


O afacere, denumit ntreprindere sau companie este o organizaie implicat in comercializarea bunurilor
sau serviciilor ctre consumatori. Organizarea intern reprezint modul in care aceasta este structurat pentru a
duce la ndeplinire activitile. Structura companiei este necesar sa fie determinat de obiectivele organizaiei.
Modalitatea principal de structurare a organizaiei depinde de:
funcia companiei,
produsele fabricate,
procesele de fabricaie,
aria geografica si
tipul clienilor.
Din aceste motive o structur general a unei companii de fabricaie este greu de dat i, in literatur, se
regsesc foarte multe variante de modele. De asemenea nu exist dou sisteme de fabricaie care s fie identice,
dar totui anumite elemente generale se regsesc la toate companiile si modelele prezentate. Unul din aceste
modele este ilustrat in figura urmtoare, unde prin blocuri sunt reprezentate departamente grupate funcional i
prin sgei circuitul informaional intre blocuri.
Schema reprezint structura de baza a unei ntreprinderi, implementrile de tip CIM suplimentnd fiecare
din departamentele funcionale cu componentele CIM ce le deservesc.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Finane i management

Vnzri i
promoie

Ingineria produciei

Proiectare produs

Lansare fabricaie

Distribuie

Producie
(shop floor)

Recepie

Transport
Calitate
Ctre toate funciile
sistemului

Furnizori

Planificarea i
controlul
fabricaiei

Suport
organizaii

Structura organizatorica a unei companii de fabricaie


Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Sectorul de vnzri i promoie


Obiectivul principal este de a crea cumprtori. Acest obiectiv este atins prin nou funcii interne:
- vnzri,
- serviciul clieni,
- publicitate,
- cercetare dezvoltare produs,
- preturi, ambalare,
- Relaii publice,
- distribuie produse
- prognoz.
Interfaa cu serviciul Clieni ndeplinete trei funcii importante :
- procesarea comenzilor,
- schimbarea/modificarea comenzilor
- desfacere produselor i preturi.
Schimbarea comenzii implic schimbri n specificaiile produsului, n cantitatea comandat i n
datele de livrare.
Serviciul de Vnzri i marketing furnizeaz informaii strategice i de planificare a produciei ctre
sectorul Financiar i de management, specificaiile produsului i reacia cumprtorilor ctre sectorul de
Proiectare Produs i informaii privind elaborarea planului de producie ctre sectorul de Planificare si control
al fabricaiei. Interfaa cu sectorul Lansare n fabricaie asigur ca orice schimbare propus a produsului sa fie
revzuta de sectorul de Vnzri si promoie, nainte de a fi implementate.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Sectorul financiar-contabil i de management


Responsabiliti: stabilete obiectivele companiei n ceea ce privete sectorul financiar i se
ocup de planificarea
Sectorul financiar:
- managementul lichiditilor
- planificarea financiar (planificarea pe termen lung a afacerii)
- analiza financiar (stabilete direcia de dezvoltare n viitor pe baza: balanei, intrrilor i
variaiilor financiare ale companiei)
- planificarea strategic (lucreaz cu prognozele pe termen mediu i lung)
Prognoza pe termen mediu cuprinde:
- bugetul anual alocat pentru obiectivele de producie,
- structura companiei,
- infrastructura necesar
Sectorul contabil
- contabilitatea general
- contabilitatea costurilor
- funcii suplimentare
Domenii acoperite: conturile de plti, conturile ncasrilor, nivelul general i conturile de
costuri: costuri de fabricaie, produse i suplimentare pe termen mediu i lung.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Definirea proceselor produsului/proceselor (product/process)


Unitatea include: proiectarea produsului, ingineria produciei i lansarea n fabricaie. Proiectarea
produsului necesit urmtoarele funcii primare: proiectarea i conceptualizarea, selecia materialelor,
documentaia de proiectare. Se stabilesc la acest nivel urmtoarele standarde: de munc, de proces i de calitate.
Planificarea i controlul fabricaiei.
Are rolul interfeei datelor i informaiilor cu celelalte uniti i departamente. Responsabiliti : stabilirea
direciilor ntreprinderii prin trecerea planului managerial n indicatori de producie, elaborarea unei planificri
detaliate pentru fluxul materialelor i capacitilor care sunt necesare, execuia acestor planuri prin programarea
detaliat a operaiilor de achiziie i de fabricaie.
Cererea
planificat
Producia
planificat

Planul de
producie
(MPS)

Planificarea
necesarului de
materiale
(MRP)
Planificarea
detaliat a
capacitilor

Planificarea
materialelor si
a capacitilor

Sistemul de
control al
activitilor de
producie
Sistemul de
control
financiar

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Shop floor
Aceast unitate se identific cu producia. Activitile includ planificarea operaiilor i rapoartelor,
micarea materialelor, procesele de fabricaie, controlul activitii de producie, controlul calitii.
Organizatia de support
Functiile include departamentele de: personal, de paza, de intretinere, resurse umane, dezvoltare si servicii de
calculator.
1.9 Exemple de sisteme de fabricatie
NewVWFactoryinGermany.pps
Mercedes Benz Factory.flv
Lean Enterprise Case Study DELL Example [clipnabber.com].flv
Google.pps
Componente ale sistemelor flexibile de fabricatie:
AGV.mpg
ASRS.wmv

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

1.9 Indicatori de producie


-

Timpul de fabricaie (TF) Un model al sistemului de producie este cel n care fabricaia are loc printr-o
serie de procesri sau asamblri, realizate pas cu pas. Intre operaii sunt alte activiti precum:
manipularea/transportul materialelor, stocarea materialelor, inspecie i alte activiti neproductive.

Activitile se clasific n:
activiti productive pe care le vom denumi operaii i
activiti neproductive, denumite non-operaii. Non-operaiile se refer la activitile neproductive
atunci cand o parte n prelucrare este la o main. Acestea sunt surse de ntrziere n procesul de producie.
Se noteaz To timpul unei operaii, Tno timpul unei non operaiii timpul de set-up la fiecare main notat cu
Tsu. Se presupune c parile n prelucrare parcurg n serie nm maini, producia n loturi, mrimea lotului fiind
notat cu Q uniti.
Timpul de fabricaie se exprim prin relaia :
T

QT

unde i reprezint o operaie din secvena de nm operaii.


Formula de mai sus se simplific dac lum n considerare valorile medii ale timpilor :
T

n
T

T
T

QT
T

T
T

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

In cazul produciei de tip proiect (Q=1) timpul de fabricaie devine :

Iar pentru cazul produciei de mas (Q>>1) :


T

max T

Timpul operaiei se poate descompune n urmtoarele subcomponente: Tp timpul de procesare efectiv, Tm timpul
de manipulare i Tms timpul de manipulare a sculelor i dispozitivelor:
T

- Rata de producie. Rata de producie calculat pentru un proces de fabricaie sau pentru o operaie de asamblare
este exprimat ca numrul de uniti produse/ unitatea de timp. Dac notm cu TQ timpul n care se produce un lot
de Q uniti :
T
T
QT
n
Timpul mediu de producie a unei uniti din lot pe o main este TQ/Q. Rata de producie se calculeaz ca
inversul acestui raport :
Q
R
T
QT

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Formula este corectat dac se ia n considerare procentul de rebuturi q%,


T
n
R

Q
1

Q
T

Capacitatea de producie. Prin capacitatea de producie (notat cu Cp) a unui sistem de fabricaie se
nelege rata maxim a ieirilor pe care sistemul este capabil s le ofere n anumite condiii de operare.
Condiiile de operare se refer la : numrul de schimburi de lucru/zi (notat cu Ns), numrul de ore de
lucru/schimb (notat cu Hs), numrul de centre de lucru (notat cu W, centrul se consider format dintr-o main i
un muncitor).
C
WNsH R
Dac se consider procesul de fabricaie prin nm maini nseriate, capacitatea de producie a sistemului se
calculeaz cu urmtoarea formul:
WNsH R
C
n
Capacitatea de producie trebuie s acopere cererea sptmnal, notat cu Ds, rezultnd ecuaia:
WNsH

nmD
R

Ecuaia scoate n evident c pentru satisfacerea cererii, capacitatea de producie se poate adapta prin
modificarea numrului de centre de lucru, creterea numrului de schimburi/sptmn sau creterea numrului
de ore/schimb.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Dac cererea este pentru mai multe produse, care au rate de producie diferite atunci formula se
generalizeaz :
D nm
WNsH
R
- Gradul de utilizare i gradul de disponibilitate al unui echipament. Gradul de utilizare, notat cu U se
definete ca ieirea unui sistem/facilitate de producie raportat la capacitatea acelui sistem/facilitate.
U

ieire
C

Gradul de disponibilitate al unui echipament se refer la procentul din timpul total de funcionare al unei
maini n care aceasta este n bune condiii de funcionare. Gradul de disponibilitate se exprim prin relaia :

Disp%

TMFR TMR
TMFR

TMFR este timpul mediu de funcionare fr reparaii, TMR este timpul mediu al reparaiei. Indicatorul este
o msur a eficienei echipei de mentenan.
- Producia neterminat (WIP work in process). WIP reprezint cantitatea de produse care se afl la un
moment dat n locaia sistemului de producie n diferite stadii de prelucrare. O evaluare aproximativ a acestui
indicator este dat de urmtoarea expresie :
C U
WIP
T
NH
Ecuaia exprim faptul c nivelul WIP este egal cu rata cu care prile parcurg sistemul.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

WIP reprezint o investiie care nu este returnat i o strategia de fabricaie eficient urmrete s
menin cantitatea WIP la valoarea minim i timpul de fabricaie ct mai scurt. Timpii lungi de fabricaie pot
fi i o cauz a ineficienei folosirii mainilor din sistem. Pentru a evalua acest lucru se calculeaz numrul
mainilor n procesare cu ajutorul relaiei :
Nr. maini n procesare

WU

QT
T

QT

unde : W - numrul centrelor de lucru disponibile, U - gradul de utilizare al mainilor din sistem, Q
cantitatea medie a lotului, Tsu, To Timpii medii de set-up i operaie.
Cei doi indicatori pot fi exprimai sintetic prin raportul lor numit i raportul WIP:
Raportul WIP

WIP
Nr. maini n procesare

In cazul ideal acest raport este 1 :1, dar n cazuri reale ale unor sisteme de producie se poate calcula i
un raport de 50 -60 :1, ceea ce indic msura ineficienei sistemului.

- Timpul n procesare. Timpul n procesare sau TIP este o msur a timpului pe care l pierde o parte n
prelucrare n sistemul de producie relativ la timpul n care aceea parte este n procesare efectiv. Se exprim
sub forma unui raport :

TIP
Ideal raportul TIP este 1 :1, dar n cazuri reale se pot obine i rapoarte de 20:1.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

1.10 Strategii de automatizare

Strategie

Efect

1. Specializarea operaiilor

Reduce : To

2. Combinarea operaiilor pe aceeai main

Reduce: nm, Tm, Tno

3. Realizarea operaiilor simultan

Reduce: nm, Ts Tm, Tno

4. Integrarea operaiilor prin legarea staiilor de lucru i utilizarea


Reduce: nm, Ts Tm, Tno
dispozitivelor de manipulare/transfer a prilor ntre centre automat.
5. Creterea flexibilitii mainilor

Reduce: Tsu, TF, WIP. Crete U

6. mbuntirea sistemelor de transport i manipulare

Reduce: Tsu, TF, WIP.

7. Inspecie on-line.

Reduce: q, Tno

8. Optimizarea i controlul proceselor

Reduce: q, To

9. Controlul operaiilor la nivelul ntregului sistem de producie

Reduce: Tsu, TF, WIP. Crete U

Reduce: TF. timpul de proiectare,


10. Fabricaia integrat pe calculator (integrarea tuturor, proceselor i
timpul de planificare a produciei.
activitilor ntr-un sistem unitar)
Crete U

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

1.11 Costuri de producie


- Costuri fixe i variabile
Costurile de fabricaie pot fi clasificate n costuri fixe (valoarea lor nu depinde de volumul de
producie) i costuri variabile (sunt liniar dependente de volumul de producie.
Costuri

Costuri
totale
Costuri
variabile

Costuri
fixe
Cantitate

Costurile fixe sunt costurile care includ : costurile aferente cldirii, asigurare, impozite pe proprietate
i costurile cu echipamentul i mainile de producie.
Costurile variabile includ: costul muncii directe, costul materiilor prime, costul energiei electrice
pentru funcionarea mainilor.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Costuri suplimentare

Clasificarea costurilor n fixe i variabile nu este totdeauna convenabil pentru contabilitate. O alt metod
utilizat este aceea n care contabilitatea se gndete n termenii: costurile muncii directe, costuri materiale i
costuri suplimentare.
Costul muncii directe este suma salariilor pltite muncitorilor pentru operarea mainilor, costurile materiale
sunt costurile cu materiile prime, costurile suplimentare sunt toate celelalte costuri implicate n procesul de
producie.
Costurile suplimentare pot fi mprite n costurile suplimentare cu producia i costurile suplimentare ale
companiei.
Costurile suplimentare cu producia include: costurile de operare pentru realizarea produciei si altele dect
costurile muncii directe.
Costurile suplimentare ale companiei sunt costurile companiei altele dect costurile de producie.
Costurile suplimentare de producie pot depi de cteva ori costurile muncii directe. Se stabilete un factor
numit rata costurilor suplimentare de producie i acesta caracterizeaz de cte ori costurile suplimentare de
producie depesc costul muncii directe:
Factor cost suplim. prod.

Costuri suplim prod


Costul muncii directe

Similar se definete un factor de multiplicarea a costurilor muncii directe, pentru activitile companiei
(costurile de management, salariul angajailor, ingineri, contabili, etc.).

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

1.12 Analiza costurilor (metoda punctului de intersecie ( metoda break-even)


Aceasta este o metod de stabilire a efectului schimbarilor volumului de producie asupra costurilor,
ncasrilor i profitului.

- Analiza profitului

Costuri, Incasari

- Analiza costurilor comparative

Costuri totale

Incasari

Costuri totale in
varianta manuala

Profit
Costuri totale

Costuri totale in
varianta
automatizata

Volum producie
Qmin

Volum producie
Qmin

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Costurile pe unitatea de produs

Analiza soluiei de investiie pe baza comparii preurilor pe unitate de produs

Costul pe unitate de produs (Cu) se calculeaz mprind costurile totale (Ct) la mrimea lotului (Q). Costurile
totale se calculeaz sumnd costurile fixe (Cf) cu costurile variabile (Cv) nmulite cu mrimea lotului :
C
C

C
Q

C Q
C C Q
Q

Costuri/unitate
de produs
Variatia costurilor
unitare in varianta
manuala
Variatia costurilor
unitare in varianta
automatizata

Qmin

Volum producie

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Costurile producie

La momentul to costurile de producie sunt egale cu costurile materiilor prime (Cm). Durata unei operaii este:
TFi=Tsu+QTo+Tno, iar costurile pentru fiecare operaie se calculeaz cu relaia : Ci=CoTp+Cno, unde Ci este costul
operaiei i, Co este costul operaiei, Tp este timpul de fabricaie al lotului:
T

QT

i Cno este costul non operaiilor. Variaia costurilor la fiecare operaie se ilustreaz n urmatorul grafic:

Costul
fabricatie

CoTo+Cno
Tsu+QTo+Tno
(CoTo+Cno)

Cm
t
1

Timpul de fabricatie

nm-1

nm

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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 prin integrarea 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 calcul i a filozofiilor
manageriale cu scopul de a mbunti eficiena organizatoric; utilizarea calculatoarelor pentru a interfaa
diverse sisteme de calcul i conectarea acestora coerent ntr-un tot unitar. De exemplu sectorul financiar,
CAD/CAM, controlul proceselor, sistemele grupului tehnologic, MRPII, sistemul de raportri financiare sunt
legate prin interfee.
Mediul informational al unei intreprinderi suporta schimbari frecvente in configuratie si tehnologie. O
arhitectura CIM este un sistem informatic care permite intreprinderilor industriale sa integreze informatiile si
procesele afacerii, oferind o structura flexibila care ii permite sa reactioneze rapid la aceste schimbari. Structura
se bazeaza pe un numar de elemente modulare care se pot modifica usor si se pot dezvolta dupa cerintele
intreprinderii.
Modelul conceptual al unui sistem CIM este ilustrat de Society of Manufacturing Engineers in figura
urmatoare.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Transformari
ciclu de viata
Vanzari si produs

Definirea
afacerii

promotie

Proiectare
sistem
Imbunatatire
continua

Organizatii
globale
Sevicii
clienti

Documentatie
si lansare

(1)
Clienti

Planificare
resurse

Productie
componente

Asamblare
si testare

Planificare
operatii

Modelul conceptual al unui sistem CIM ilustrat de Society of Manufacturing Engineers


Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Conceptul CIM are o dezvoltare pe niveluri :

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

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

nivelul 3: se refer la partajarea cunotinelor, sistemelor i a bazelor comune de date utilizate pentru a
ajuta personalul i procesele. Resursele includ instrumente manuale sau de calcul pentru a ajuta proiectarea
cercetarea, elaborarea documentaiei luarea deciziilor i controlul tuturor activitilor.

nivelul 4: Sunt trei categorii principale de procese : definirea produsului i a proceselor, fabricaia i
suportul clienilor.
Definirea produs/proces: Definirea afacerii, proiectarea produsului, proiectarea componentelor,
perfecionarea proiectului, documentaia i lansarea produs.
Fabricaie: Managementul materialelor, asamblare i testare, fabricaia componentelor,
Planificarea: 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 ctre angajai, 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 de cercetare.
In figura urmatoare este o alta reprezentare a structurii CIM ce evidentiaza: procesele datele si resursele
sistemului.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Managementul
resurselor umane

Proiectare

Productie

Planificarea si
controlul
fabricatiei
(MPC)

Modelul sistemului CIM cu evidentierea proceselor datelor si resurselor sistemului


Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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

Proiectare i elaborarea documentaiei, denumit product/process i care include: definirea afacerii,


proiectarea sistemului, proiectarea componentelor, mbuntirea continu, documentaie i 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 de reprezentare,
seciuni, vederi pariale a prilor i 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, planificarea capacitilor, necesare pentru desfurarea eficient a fabricaiei. Procesul
include: managementul materialelor, elaborarea specificaiilor de asamblare i 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 de maini i scule,
parametrii de fabricaie, tolerane, criterii de inspecie). Inteligena artificial i sistemele de codificare
i clasificare sunt utilizate n generarea planului de procesare.
CAM Utilizarea programelor de calculator pentru programarea, comanda controlul echipamentelor
de produciei pentru fabricaia componentelor.
CNC O tehnic prin care controlerele mainilor unelte utilizeaz calculatoare sau microprocesoare
pentru stocarea i execuia instruciunilor numerice.
PAC (Production activity control): funcia de rutare i lansare n fabricaie a operaiilor care trebuie
executate pe facilitile de producie i realizarea controlului furnizorilor. PAC cuprinde tehnicile
necesare de programare, control, msur i evaluare a eficienei operaiilor de producie.
MRPII Manufacturing resource planning O metod pentru planificarea eficient a tuturor
resusrselor de fabricaie ale companiei. Este compus din: planificarea afacerii, planificarea vnzrilor
i a operaiilor, planificarea produciei, planul de producie, planificarea necesarului de materiale,
planificarea capacitilor.

Productie: Ultimul proces include activitile asociate cu producia sau cu shop floor.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Computer Integrated Manufacturing (CIM)

Nivelul strategic
Managementul asistat de calculator

Sistemul de luare a
deciziilor

Sisteme informatice
de fabricaie

- AI: Inteligena
artificial
- DSS: Sisteme de
support al deciziei
- DBMS: Sistemul de
management al bazei
de date

- MIS: Sistemul
informatic de
management
- MRP: Planificarea
necesarului de
materiale
- BOM: Lista de
materiale

Nivelul tactic
Ingineria asistat de calculator (CAE)

Proiectare
- CAD
- GT

Analiza
- FEA
- FEM

Asigurarea Ingineria
calitatii
fabricatiei
-CAQ
-- SPC

- CAP
- GT
- NC

Nivelul operational
Fabricatia asistata de
calculator (CAM)

Controlul shop-floor
- CNC
- Roboti
- FMS
- WIP
- AS/RS

Modelul sistemului CIM cu evidentierea nivelurilor ierarhice

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

CAD/CAM
Plan
productie
Planificare
materiale

MRP
CAP

CAD

Plan de
lucru
Programe
NC

Pregatirea
fabricatiei
Colectare
date proces

Comanda
Transport

CAM

Realizare

Comanda si
planificarea
productiei

Planificare
capacitati

Proiectare

CAE

Asamblare

Control
montaj

Asamblare

Comanda
expeditie

Control
calitate

Realizare

Planificare

MPS

Ciclul de
productie

Planificare

PPS

CAQ

Modelul in Y a sistemului CIM

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

2.2 Etapele introducerii conceptului CIM:

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

Analiza nivelului tehnologic i gradul de sofisticare a proceselor utilizate n fabricaie.


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 se obin beneficii
48%, planificare inadecvat sau lips de viziune 46%, metode inadecvate de analiz a costurilor
43%, lipsa de fonduri 36%, frica eecului implementrii 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 i eficienei departamentelor i
organizaiei.

3. Implementarea cu msurarea performanelor. Parametrii evaluai: timpul ciclului de producie, durata de


staionare n inventar, timpii de pregtire a fabricaiei, eficiena fabricaiei, calitatea, productivitatea
angajailor.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

2.3 Componente tehnologice in structura CIM


Structura flexibila a sistemului se bazeaza pe utilizarea urmatoarelor componente tehnologice:
comunicatiile si distribuirea datelor, managementul datelor (definirea, stocarea, securitatea si gestionarea
modului de utilizare a datelor) si prezentarea datelor utilizatorilor si dispozitivelor din componenta
intreprinderii.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Comunicatiile prin rolul lor de a distribui datele intreprinderii catre utilizatori, sisteme si dispozitive,
reprezinta un aspect critic al arhitecturii, sistemul de fabricatie utilizand o gama larga de sisteme de calcul,
tehnologii, arhitecturi de sisteme, sisteme de operare si aplicatii. Aceasta diversitate creaza o dificultate
deosebita in realizarea comunicatiei dintre oameni si masini, in special cand utilizeaza formate diferite
pentru date. Plecand de la aceasta problema IBM dezvolta sistemul SNA- System Network Architecture, cu
rolul de a permite comunicatia dintre diferite sisteme IBM. In decursul anilor sistemul a devenit un standard
de comunicatii in multe companii industriale. Cerintele CIM necesita o integrare mai larga decat cea oferita
de sistemul SNA. De exemplu la nivelul sistemului de productie (shop-floor), solutia oferita de IBM este
IBM Plant Floor Series, un set de produse software. O componenta a setului, Distributed Automation
Edition (DAE) este un sistem ce permite functii de comunicatie 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 alertar
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 protocolul CSMA/CD, TOP (Technical
Office Protocol). Aceste functii ii permit sistemului DAE sa asiste ingineria fabricatiei in dezvoltarea
programelor, controlul centrelor de lucru si sa ofere capabilitati de comunicatie intre sistemele zonale si
sistemul central.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Managementul si prezentarea datelor


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

Aria de depozitare a datelor


Stocarea datelor intreprinderii
Fisiere de date locale
Functiile principale ale managementului datelor sunt implementate de Consolidated Design File (CDF),
functii stabilite prin IBM Data Communication Service (DCS). CDF opereaza cu baze de date relationale si
este construit pe limbajul SQL. Un exemplu de utilizare este la nivelul bazei de date care integreaza
componentele CAD/CAM cu cerintele afacerii prin functiile de management al proceselor ingineresti. In
acest mediu, 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.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Prezentarea datelor in mediul CIM


Functia aceasta asigura ca datele sa ajunga in formatul corespunzator la utilizatori si dispozitive. Aceasta
functie este critica datorita faptului ca sistemul de fabricatie contine o gama foarte larga de dispozitive si de
cerinte informationale, trebuie sa asigure 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 date pentru aplicatii de
proiectare inginereasca.
Sistemele sunt distribuite si informatia trebuie trimisa in locatiile in care este ceruta de utilizatori sau
dispozitive.
Echipamentele utilizate pentru prezentarea datelor sunt display-uri care utilizeaza diferite tehnologii. Unele
sunt ne-programabile in timp ce altele sunt statii de lucru programabile 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 aplicatia Listei de materiale, a
sistemului de Planificare a Productiei, ca un desen in CAD sau ca o componenta in proiectarea rutelor
Planului de Operatii.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

2.4 Concepte IT i sisteme informaionale pentru conducerea fabricaiei.

Sistemul informaional - cuprinde ansamblul mijloacelor i procedurilor de prelucrare, clasificare,


stocare, difuzare i valorificare a datelor i informaiilor la nivelul unei entiti economico-sociale.
Obiectivul principal este acela al furnizrii de informaii sub form utilizabil la momentul oportun, n
scopul asigurrii bunei funcionri a sistemelor operaionale, precum i lurii deciziilor la diferite niveluri.
Acest obiectiv este susinut de doua caracteristici principale ale sistemului informaional:
- 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 mai multe tipuri:

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

de conducere: Management Information System (MIS) - Sistemul Informaional al Managementului,


Integrated Information System (IIS) Sistem Informaional Integrat i Enterprise Wide Systems (WIS)
Sistemul Lrgit al ntreprinderii (o aplicaie in care logistica este considerata ca parte a sistemului),

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

pentru conducere executiva:

Executive Information System (EIS).

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Functiile sistemelor informationale:


TPS - preia datele generate de activitatea intern economico-social n baza de date intern i constituie
infrastructura unuia din nivelurile sistemului informaional.
MIS pleac de la TPS i sintetizeaz informaiile, in rapoarte periodice cu un format predefinit.
DSS Deoarece rapoartele oferite de MIS nu sunt suficient de relevante pentru luarea deciziilor, mai ales
la nivelurile superioare, s-au dezvoltat sistemele DSS. n general exista mai multe DSS intr-o ntreprindere
deoarece, de exemplu, controlul tactic financiar este foarte diferit n ceea ce privete cerinele informaionale de
controlul tactic al produciei.
EIS (CIS) Sistemul de sprijinire a deciziilor la nivelurile superioare de conducere este denumit 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 externe ntreprinderii i permit
managerilor s controleze i s dispun de informaiile necesare lurii deciziilor, prezentate intr-un mod
personalizat.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Sistemul informaional la care operarea este asistat de calculator sau decurge automat poart denumirea de
sistem informatic.
Sistemul informatic este structurat ierarhic pe nivelurile:

tranzacional (se prelucreaz evenimente elementare ce reprezint activitile ntreprinderii),

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 puin repetitive).

Funciile sistemelor informatice in procesele manageriale sunt: nregistrarea tranzaciilor, gestiunea i


stocarea operaiilor, sprijinirea in luarea deciziilor si comunicarea.
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.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

2.5 Sistemul de management al informaiilor (MIS)

Definiie: Un sistem informatic care permite ca informaia, sub forma rapoartelor periodice, rapoartelor speciale
sau rezultate din simulare, sa fie accesibil utilizatorilor de la aceeai arie funcional, de la acelai nivel de
management sau utilizatorilor, manageri sau non-manageri care au aceleai cerine. MIS este o resurs organizaional
care furnizeaz informaii din trecut, prezent i elaboreaz informaii referitoare la evoluii viitoare. A constituit prima
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 afacerii ce acopera aplicatiile
utilizatorilor, documente, tehnologii si proceduri utilizate de managerii contabili pentru a solutiona probleme ale
afacerii precum: costurile produsului, servicii sau strategii de afacere.
Sistemele MIS sunt utilizate pentru a analiza alte sisteme de informatii aplicate in activitatile operationale ale
organizatiei. Termenul este folosit uzual pentru a se face referire la grupuri de metode de managementul informatiei
folosite pentru automatizarea sau suportul uman in luarea deciziei.
La inceput, in afaceri sau in alte organizatii, rapoartele interne pe produse erau facute manual si numai periodic,
de sistemul contabil. Acestea aveau adaugiri statistice si ofereau informatii limitate si intarziate sistemului de
management. Apoi datele au fost separate individual pe persoane, in functie de cerintele informatice individuale ale
departamentelor 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

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Avantaje:
Aduce contribuii prin faptul c formeaz o resurs de management a informaiei la nivel organizaional (arie
functionala, manageri, etc)
Asigur furnizarea continu de informaii ctre manageri pentru identificarea i nelegerea problemelor.
Modelul MIS:
Baza de date:
- Date i informaii despre mediu

Sistemul de informaii intra-organizaional:


- Modele matematice
- Software pentru elaborarea rapoartelor

Rezolvarea problemelor
organizaiei

Software pentru
elaborarea rapoartelor

Modele matematice

Baza de
date

Mediu

Sistemul de Management
al Informaiilor (MIS)

Date

Informaii

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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 grafica
Se 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

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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
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
Exemple de rapoarte furnizate de sistem:
Raport de vnzri
pentru sfritul sptamnii
16-10
16-11
16-12
16-13
16-14
16-15
16-16

Receptii
Inspectie
Manipulari materiale
Scule
Asamblare
Plating
Livrare
TOTAL:

$ 2,305.00
$ 1,025.60
$ 3,392.50
$ 78.00
$
0.00
$ 3,504.90
$ 5,219.16
$15,525.16

$ 5,319.20
$ 4,386.12
$12,629.00
$ 1,049.00
$ 792.80
$12,635.20
$18,294.16
$55,105.48

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Vanzari pe produs
pentru luna iunie
NUMAR
PRODUS

NUME
PRODUS

VANZARI
LUNA CURENTA

VANZARI
Cumulate

129875
087235
118320
250067
228203
576000
516012
090407

CUTIE CENTRU GASKET


AX PRINCIPAL
AX 1 DE MISCARE
GARNITURA ULEI
REDUCTOR
HUB 5
MANETA FURCA
INEL DE SINCRONIZARE 2

$ 5,090.23
4,760.01
1,789.45
11,560.24
8,369.34
.00
450.95
2,243.27

$ 31,764.00
29,329.45
28,243.59
23,450.07
14,709.03
13,623.68
12,634.44
9,963.58

282130
576301

MANETA DE LEVIER
GARNITURA POMPA ULEI

.00
.00

490.00
11.50

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

GRAFIC DE LINII MULTIPLE GRUPATE

GRAFIC TIP BARE GRUPATE


Profit vanzari

Profit vanzari

90
80
70
60
50
40
30
20
10
1980

1981

Apples

1982

1983

Oranges

1984

Peanuts

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

GRAFIC CU SEGMENTE DE BARE DIVIZATE

Vnzri Beneficiu

200

Milioane dolari

150
100

50
0
1980

1981

1982

1983

1984
Legenda:
Apples
Oranges
Peanuts

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

2.6 Sisteme de suport in luarea deciziilor


Definitia unui Sistem de suport al deciziei (DSS)
Definitia (Gorry si Scott-Morton 1971) un DSS este un sistem interactiv bazat pe calculator 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 indivizilor cu capabilitatile
calculatorului pentru a imbunatati calitatea deciziei. Este un sistem bazat pe calculator pentru, managementul luarii
deciziilor, care este utilizat in probleme semistructurate.
Definitie: un sistem ce furnizeza atat rezolvarea-problemelor cat si capabilitati de comunicare pentru probleme
semistructurate.
In particular un sistem care suporta un singur manager sau un grup relativ mic de manageri care lucreaza in
echipa pentru rezolvarea unei probleme semistructurate prin furnizarea unor 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 si le revizueste dupa caz.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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

Scoaterea
elementelor
de
informatie

Mic

Analiza
intregului
fisier

Pregatire
rapoarte
din
fisiere
multiple

Estimarea
consecintelor
deciziei

Gradul de complexitate
in rezolvarea
problemelor

Propunere
decizii

Luare
decizii

Gradul de
suport in
rezolvarea
problemelor

Mare

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Tipuri de probleme

Probleme structurate constau din elemente si relatii intre elemente intelese de rezolvitorul problemei.
Problemele structurate pot fi rezolvate prin algoritmi si reguli de decizie

Probleme nestructurate sunt problemele care nu contine elemente sau relatii intre elemente care sa fie
intelese de rezolvitor. Problemele nestructurate nu prezinta activitati in luarea deciziei

Probleme semi-structurate sunt problemele care contine unele elemente si relatii care sunt intelese de
rezolvitor si unele nu. Problemele semi-structurate au faze structurate si nestructurate

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

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Gradul de structurare a problemelor la diferite nivele


de management, dupa Gorry si Scott Morton

Nivele de management
Controlul
managementului

Planificare
strategica

Intrare ordine

Bugetul de
costuri analizainginerie produs

Structura
productiei

Controlul
inventarului

Prognoza pe termen
scurt

Controlul
operatiilor
Contul de plati
Structurate

Gradul de
structurare a
problemelor

Magazii si
locatie fabrici

Semistructurate
Programarea
productiei
Nestructurate

Analiza variatiilor
bugetului global

Managementul
lichiditatilor

Pregatire
buget

Sisteme
PERT/COST

Vanzari si
productie

Aliante si achizitii
Planificare noi produse
Planificare
cercetare dezvoltare

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

DSS se focalizeaza pe probleme semistructurate

Manager + Calculator
Solutie (DSS)
Solutii gasite
de
calculator

Structurate

Solutie
manager

Semi-structurate

Nestructurate

Gradul de structurare a problemei

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Functiile DSS
Sistemele DSS s-au dezvoltat din doua domenii principale de cercetare:

- 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 mijlocul anilor 1970 si au crescut in intensitate in anii 1980.
Dupa 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 care permiteau utilizarea bazelor de date si modele pentru
rezolvarea problemelor nestructurate.

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

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Caracteristici suplimentare au fost adaugate pentru a permite rezolvitorilor de probleme sa lucreze in grup,
asa numitul sistem de suport al deciziei in grup.
Tendintele recente au adaugat elemente de inteligenta artificiala si programarea analitica online (OLAP).
Modele DSS

Mediu

Rezolvitori individuali
de probleme

Software elaborare
rapoarte

Alte grupuri
membre

Modele
matematice

GDSS software

Legenda:
Data

Baza de date
Sistem de
suport al deciziilor

Comunicatie
Informatie

Mediu

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Date externe

Alte sisteme de
calcul

Date interne

Managementul
datelor

Sisteme bazate pe
cunostinte
organizationale

Internet, intranet,
extranet

Managementul
modelului

Modele externe

Subsisteme bazate pe
cunostinte

Interfata utilizator

Manager (utilizator)
Tipuri de sisteme DSS:
- Sisteme care sugereaz decizii
- Sisteme care optimizeaz
- Modele de reprezentare
- Modele de contabilitate
- Sisteme informatice de analiza
- Sisteme de analiza datelor
- Sisteme care extrag fisiere
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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

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 soluie alternativ, 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 surse de informaii)

Modele contabile: folosesc date contabile i furnizeaz capabiliti de modelare contabil fr a 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, folosind prognoza. Poate fi
folosit pentru lrgirea capabilitilor modelelor contabile i pot ncorpora incertitudini.
Ex: Folosete datele privind cererea 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 decizie pe baza
modelelor de optimizare i pot ncorpora incertitudini.
Ex: Asigneaz personalul de vnzri pe un anumit teritoriu. Asigur cea mai bun programare relativ la un
indice de performan.

Sisteme de sugestii: folosesc un model descriptiv care poate fi utilizat pentru sugerarea celei mai bune
aciuni sistemului de luarea deciziiilor. Au un model prescriptiv care poate fi folosit pentru a sugereza
sistemului cea mai bun aciune i pot ncorpora un sistem expert.
Ex: Clienii unei bnci aplic pentru un mprumut. Se folosete sistemul pentru a recomanda o decizie.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

2.6 Sistemul informatic executiv (Executive Information Systems EIS)


O companie fr un EIS
Informaii i date din mediu

Manageri
de nivel nalt

Sistemul
informatic de
marketing

Sistemul
informatic de
fabricaie

Sistemul
informatic
contabil

Sistemul
informatic al
resurselor
umane

Informaii i date din mediu

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

O companie cu un sistem informatic executiv - EIS

Informaii i date din mediu

E I S

Sistemul
informatic de
marketing

Sistemul
Sistemul
informatic de informatic
fabricaie
contabil

Sistemul
informatic al
resurselor
umane

Informaii i date din mediu

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Modelul unui sistem informatic EIS

Statie de lucru executiva


Cereri de
informatii
Baza de
date
executive

Calculator

Afisare
informatie
Catre
alte statii
executive

Catre
alte statii
executive

Corporate
database
Electronic
mailboxes
Software
library

Face disponibila
informatia de la
nivelul corporatiei

Noutati,
explicatii

Corporatie
Date si informatii
externe
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

2.7 Sisteme informatice de planificare


Evoluia acestora a plecat de la metoda:

controlului inventarului - Inventory Control (IC), prin care comanda unui lot era lansat ori de cate ori
cantitatea din inventar se reducea sub un nivel fixat, cunoscut sub numele de punctul de lansare a comenzii.
planificarea necesarului de materiale Material Requirements Planning (MRP), care este caracterizat de
un set de tehnici ce utilizeaz datele din lista de materiale i planul de productie pentru a calcula necesarul
de materiale; se genereaz recomandri de lansare sau replanificare a comenzilor la anumite intervale de
timp i se reprogrameaz data la care este necesar satisfacerea comenzii, fr ca aceasta s fie corelat cu
data lansrii comenzii. Sistemul MRP utilizeaz lista de materiale a produselor din planul de producie i
determin cantitile necesare ale tuturor componentelor si materialelor necesare pentru fabricaia acelor
produse, mpreun cu toate datele necesare, la fiecare increment de timp din orizontul considerat.
planificarea necesarului de materiale II, (MRPII) este o metod efectiv de planificare a tuturor resurselor
unei companii de fabricaie. Aceasta implic planificarea operaional, cu capabiliti de simulare de tip cese-ntampl-dac.

Un astfel de sistem este constituit dintr-o varietate de funcii, interconectate, ca de exemplu: planificarea
afacerii, planificarea operaiilor i a vnzrilor, planificarea produciei i a sistemului de suport al execuiei, etc.
Ieirea sistemului este integrat cu rapoartele financiare, ca de exemplu planul de afaceri, raportul
achiziiilor contractate, proiecia cheltuielilor de transport, a bugetului i a inventarului.
MRPII este astfel o dezvoltare si extensie a MRP in bucl-nchis, care conduce spre o utilizare mai
eficienta a resurselor, o reducere a inventarului, micorarea timpilor de inactivitate, micorarea strangulrilor in
procesul de producie, o mbuntire a planificrii, o micorare a timpilor de lansare a fabricaiei i flexibilitate
n programarea produciei.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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

Sinteza aplicatiilor software pentru planificarea fabricatiei

IC Inventory Control Controlul inventarului


Material Requirement Planning (MRP) Sistemul de planificare a necesarului de materiale
Material Resource Planning II (MRPII) Sistemul de planificare a resurselor materiale II
Enterprise Resource Planning (ERP) Sistemul de planificare a resurselor intreprinderii
O alta terminologie utilizata este: Money Resource Planning (MRPIII) Planificarea resurselor financiare
III

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Definitia ERP: O solutie software proiectata in vederea satisfacerii cerintelor intreprinderii, avand viziunea
proceselor acesteia cu scopul satisfacerii obiectivelor prin integrarea stransa a tuturor functiilor.
Ce este ERP:

O modalitate de integrare pe scara


larga a sistemelor informatice ale companiei

Realizeaza nucleul activitatilor companiei si creste


gradul serviciilor catre client in scopul cresterii
imaginii companiei.
Ce integreaza ERP:

Bazele de date

Aplicatii

Interfete

Instrumente

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

De ce ERP:

O integrare completa a sistemelor din cadrul departamentelor cat si a companiei ca un 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

Problemele inventarului

Imbunatatirea productivitatii

Managementul lichiditatilor
Probleme de calitate
Serviciul clientilor

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Integrarea sistemelor informatice

Departamentul
central
Fabricaie

Sisteme informatice

Comenzi locale,
verificare comenzi
Managementul inventarului
Vanzari interne,
livrare, preuri
Analiz profit/pierdere
Utilizarea capacitilor

Managementul proiectelor
Inventar
Achiziii
Vnzri
Buget
Colectare lichiditi

Departamentul
Marketing vnzri
Vnzri, livrare, preuri
Achiziii mrfuri
Managementul inventarului
Serviciul clieni

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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 relatii 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).
Baza de
date 1

Aplicatie 1
DML

DBMS
Aplicatie 2
DML
Utilizator
on-line

Utilizator
on-line

Nivel extern

(Sistemul de
management al bazei
de date)

Baza de
date 2

DML
QL

Baza de
date n

DML

DDL
DBA
Nivel conceptual

Nivel intern

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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 urmatoarele facilitati:
- 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 limbaj 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 extragere se pot deosebi doua tipuri de limbaje DML:
- procedurale (acestea specifica cum se va obtine rezultatul unei instructiuni DML)
- neprocedurale (descriu numai ce date vor fi obtinute). Cel mai obisnuit limbaj neprocedural
este limbajul structurat de interogare SQL.
Principala diferenta consta in faptul ca limbajele procedurale trateaza bazele de date inregistrare cu inregistrare, in
timp ce limbajele neprocedurale opereaza asupra unor seturi de inregistrari.
Sistemul DBMS are o vedere:

- logica (schema si subschema datelor)


- fizica (metode de acces, clustere de date, limbajul de definire al datelor DDL,
limbajul de manipulare a datelor DML, utilitare: managementul tranzactiilor si
controlul concurentei accesului, integritatea datelor, recuperarea datelor in cazul
caderii sistemului si securitatea).
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Datele sunt structurate dupa o schema.


Schema datelor contine o descriere canonica a tipurilor de date ale aplicatiei, cu
atributele, relatiile si restrictiile lor. Schema datelor este un model static al structurii logice a bazei de
date. Baza de date este o instantiere a acestei scheme, fiind un model temporal al mediului pe care il
reprezinta.
O subschema 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 si
a constrangerilor asupra datelor. Acesta cuprinde un set de notatii si concepte operationale pentru
expresiile schemei 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).

Nivelul logic:

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 doua
dimensiuni. Toate datele unei coloane se presupun a fi valori similare si toate valorile unui rand sunt in
relatii unele cu altele.
Modelul ierarhic : datele sunt organizate intr-o structura de tip arbore, in care fiecare tabel child are o
singura tabela de tip parent si fiecare tabel de tip parent poate avea mai multe tabele de tip child. Se
utlizeaza concepte precum entitate, atribut si relatie. O entitate este un obiect abstract distinct, care va fi
reprezentat in baza de date. O colectie de entitati similare formeaza o multime de entitati. Un atribut este o
proprietate 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 acces
trebuie sa se faca incepand de la nodul radacina.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai


Modelul retea: datele reprezentate prin noduri numite inregistrari conectate prin legaturi etichetate. Spre
deosebire de modelul ierarhic, un tabel de tip child poate avea mai multe tabele de tip parent.

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.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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.
Tipurile de modele conceptuale de date sunt: Entitate-relatie
Semantic
Functional
Orientat spre obiecte
Schema bazei de date este structurata de administratorul bazei de date (DBA), dupa anumite proceduri
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
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Nivelul fizic:
Aplicatii si utilizatori care 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 sau
software (un catalog accesibil care contine descrieri ale datelor din baza de date).

Un obiectiv major il reprezinta asigurarea independentei de date (nivelurile superioare nu sunt afectate de
modificarile facute la cele inferioare). Exista doua tipuri de independenta de date:
- Logica se refera la imunitatea schemelor externe 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 contin date.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Vedere externa 2

Vedere externa 1
Nr_Personal

Nivel
conceptual

Nivel
intern

Prenume

Nume

Nr_Personal

Varsta

Prenume

Salariu

Nume

DDN

Struct PERSONAL {
int Nr_Personal;
int Nr_Filiala;
int Varsta;
char Prenume[15];
char Nume [15]
struct data DDN;
float Salariu;
struct PERSONAL *next;
};
Index Nr_Personal; index Nr_Filiala;

Varsta

Nr_Personal

Nume

Salariu

Nr_Filiala

Nr_Filiala

/*Pointer la urmatoarea inregistrare


/* Defineste indexurile pentru personal */

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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 pentru implementarea 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 pentru baze de date centralizate cat si pentru cele distribuite.
a) Modelarea conceptuala a datelor. Cerintele datelor sunt analizate si modelate folosind diagrame ER sau
UML, care includ semantica relatiilor optionale, relatii ternare, supertipuri, subtipuri. Procesarea cerintelor este
specificata in mod tipic pe baza limbajului 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-o singura vedere globala.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Cerinele informaionale

Determinarea cerinelor

Proiectarea logic
[vederi multiple]

Model

Integrarea vederilor

[o singur vedere]

Transform n tabele SQL


Normalizare
Proiectarea fizic

Selecteaz indeci
[cerine speciale]

Denormalizare

[else]

Implementare

Implementare

[else]

Monitorizare
[defunct]

Figura 3.2 Diagrama de activitati in proiectarea unei baze de date

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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
specifice DBMS. Aceste transformari se 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 DML
este 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.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

1. Cerintele informationale
Products

Salepersons

Customers

Orders

2. Modelarea logica
a) proiectarea conceptuala
customer

orders

product
N

sold-by

served-by

salesperson
N

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

b) integrarea vederilor
customer

customer

places

order

places

order

for

N
served-by

salesperson

product

fills-out

c) transformarea modelelor conceptuale in tabele SQL


customer
cust_no

cust_name

cust_addr

sales_name

product

prod_no

order

prod_no

prod_name

qty_in_stock

order_no

addr

sales_name

cust_no

prod_no

order-product

salesperson
sales_name

create table customer


(cust_no integer,
cust_name char(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);

dept

job_level

vacantion_days

order_no

prod_no

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

d) Normalizarea tabelelor SQL


Decompozitia tabelelor si actualizarea anomaliilor.
Salesperson
sales_name

addr

Sales_vacantions
dept

job_level

job_level

vacantion_days

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 bazelor de
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 relevan pentru baza de date.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

In modelul relaional o entitate este analog unui tabel. Entitile se clasific n: independente (o entitate care
nu se bazeaz pe 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 stabili 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 aplic
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 unic o instanta a 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.
Domeniul unui atribut este o colecie de valori posibile pe care le poate avea atributul.
relaia reprezint o asociere dintre dou sau mai multe entiti, 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
cu ea 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 sunt one sau many.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Elementele modelului relational


Concept
entitate
entitate slaba

Reprezentare
Employee
Employee_job_history

relatie
Works-in

atribute:
- identificator (cheie)
- descriptor
- descriptor multivaloare
- descriptor complex

emp_id
emp_name
degrees
degrees

street
city
country

Cardinalitatea 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 entiti. Tipurile de baz pentru conectivitatea relaiilor sunt: one-to-one, one-tomany 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.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Exemple ilustrative a unor relatii cu diferite grade si conectivitati


Grad

Reprezentare
1

binar-recursiv

manager

employee

ternar

department

employee

department

is_mana
ged_by

is_ocupi
ed_by

subordinate
1

is_sub
unit_of

Reprezentare

optional

manages
N

binar

Existenta

division

mandatory
office

uses

employee

employee

project

N
skill

Conectivitate

one-to-one

one-to-many

many-tomany

Reprezentare

department

department

employee

is_mana
ged_by

1
has

works_
on

employee

employee

project

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Report

has-abbr

Abbreviati
on

Has
allocated

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 engineer
on delete set null on update cascade);

is_manag
ed_by

Employee

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));

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);

Engineer

Department

Desktop

department

1
has

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);

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Department

publishes

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);

1
engineer
N

Report

engineer

Belongs
-to

Prof-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);

is-groupleader-of

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);

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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
disjuncte si cu subtipuri cu suprapunere si constrangeri complete.
individual

supertype

employee

o
d

subtypes

employee
manager

engineer

technician

customer

maintenance

3.3.4 Agregarea
Agregarea este o forma de abstractizare intre o entitate supertip si una subtip, diferita de generalizare.
Astfel daca 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 faceparte din. Un exemplu este prezentat in urmatoarea diagrama.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

software_product

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. Conectivitatea fiecarei entitati poate fi descrisa fie de one fie de many. Exemple:

engineer

uses_
noteb
ook

project

1
notebook

Dependentele functionale in relatia ternara


one-to-one-to-one :

Un inginer foloseste exact un


notebook
pentru
fiecare
proiect. Fiecare notebook
apartine unui inginer pentru
fiecare proiect. Un inginer
poate lucra la mai multe
proiecte dar are notebook-uri
diferite
pentru
diferite
proiecte.

eng_id,project_name -> notebook_no


eng_id,notebook_no-> project_name
project_name, notebook_no-> eng_id

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

proiect

Assign
ed_to

employee

1
location

Dependentele functionale in relatia


ternara one-to-one-to-many:
emp_id, loc_name -> project_name
emp_id, project_name-> loc_name

Fiecare employee asignat la


un proiect lucreaza numai
intr-o location pentru acel
project, dar poate fi in
location diferite pentru
diferite project. La o
location particulara pot fi
mai
multi
employee
asignati la un project dat.

employee

skill_u
sed

project

N
skill

Mai multi employee pot


folosi mai multe skill
pentru fiecare din mai multe
project si fiecare project
are mai multi employee cu
diferite skill.
Dependentele functionale in relatia
ternara many-to-many-to-many :

manager

manag
es

engineer

N
project

Dependentele functionale in relatia


ternara one-to-many-to-many :

Un engineer care lucreaza


cu un manager, poate lucra la
mai multe project. Un
proiect, sub conducerea unui
manager poate avea mai multi
muncitori. Un engineer care
lucreaza la un project
trebuie sa aiba numai un
singur manager..

Nu sunt!

project_name, emp_id -> mngr_id

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Exemple: 1.

division
1
contains
N
department
1

is_mana
ged_by

has
skill

project

1
N
N

skill_
used

employee
N

manages

assigned
_to

location

is_head
ed_by

N
N

manager

secretary

engineer

is_alloc
ated

is_allo
cated

has_all
ocated

1
desktop

workstation

technician
N

belongs
_to
N
prof_association

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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 la


constrangeri. Acestea se clasifica in:

- integritatea entitatii Randurile sau t-uplele dintr-o relatie reprezinta entitati si fiecare din ele trebuie sa fie
identificate in mod unic. Astfel cheile primare trebuie sa aiba o valoare unica, nenula pentru fiecare rand.
- integritatea referentiala Aceasta restrictie se refera la cheile straine. Relatiile se stabilesc prin intermediul
cheilor straine si este esential ca legaturile sa fie corecte. O cheie straina poate fi nula sau valoarea sa trebuie sa
fie aceeasi cu valoarea cheiei din celalalt capat al relatiei.

Redondanta datelor:

- directa: daca datele se pot gasi in doua locuri diferite apartinand 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

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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 singur set de valori pentru atributele din partea dreapta.
Fie relatia:
si dependenta functionala:
Semnificatia:

R(matric_no, firstname, surname, tutor_no, tutor_name)


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

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Reguli de Inferenta (axiomele lui Armstrong)


1.

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

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


Cazul banal: X X
2. Augmentarea - Daca X Y 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.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Exemplu de normalizare a relatiilor bazei de date


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

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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 de inserare, 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.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Student2
matric_no

name

date_of_birth

subject

grade

960100

Smith, J

14/11/1977

Databases

960100

Smith, J

14/11/1977

Soft_Dev

960100

Smith, J

14/11/1977

ISDE

960105

White, A

10/05/1975

Soft_Dev

960105

White, A

10/05/1975

ISDE

960120

Moore, T

11/03/1970

Databases

960120

Moore, T

11/03/1970

Soft_Dev

960120

Moore, T

11/03/1970

Workshop

960145

Smith, J

09/01/1972

Databases

960150

Black, D

21/08/1973

Databases

960150

Black, D

21/08/1973

Soft_Dev

960150

Black, D

21/08/1973

ISDE

960150

Black, D

21/08/1973

Workshop

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.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Student

Record

matric_no

name

date_of_birth

matric_no

subject

grade

960100

Smith,J

14/11/1977

960100

Databases

960105

White,A

10/05/1975

960100

Soft_Dev

960120

Moore,T

11/03/1970

960100

ISDE

960145

Smith,J

09/01/1972

960105

Soft_Dev

960150

Black,D

21/08/1973

960105

ISDE

...

...

...

960150

Workshop

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.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Forma normala 2 (2NF)


O relatie este in forma 2NF daca si numai daca este in forma normala 1NF si fiecare atribut care nu este
cheie este complet functional dependent de intreaga cheie.
Astfel, relatia este in forma 1NF fara grupuri repetitive si toate atributele care nu sunt cheie trebuie sa
depinda de intreaga cheie, nu doar de o parte a ei. Altfel spus, nu trebuie sa existe dependente partiale de cheie.
Problemele apar cand cheia este compusa (de exemplu in relatia Record, cheia compusa matric_no, subject). In
acest caz este posibil ca atributele care nu sunt chei sa depinda numai de o parte a cheii (de exemplu numai de
una din chei). Acest lucru incearca sa previna forma 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 de fiecare 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_no grade (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:

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

matric_no

name

date_of_birth

subject

grade

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

Student_details

Student

matric_no

name

matric_no

subject

date_of_birth

grade

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

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Forma normala 3 (3NF)


3NF este o forma normala mai stricta si inlatura virtual toate redondantele datelor. O relatie este in 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.
project_no

manager

address

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 dependentele functionale
tranzitive. Atributul address depinde de valoarea manager. Din tabel se poate propune relatia:
Project(project_no, manager, address)
cu dependenta functionala: manager address.

In acest caz address este tranzitiv dependenta functional de manager. Cheia primara este project_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 valoare identica pentru mai multe proiecte. Daca
trebuie schimbata valoarea address aceasta trebuie facuta in mai multe intrari, putand conduce la erori.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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 in relatia
Manager. Cheia originala este cheia primara a atributelor non-tranzitive ramase in acest caz project_no ramane
cheia noii tabele Project.
Acum trebuie sa stocam address numai o data. Daca trebuie sa cunoastem adresa managerului putem cauta
in relatia manager. Atributul manager este legatura intre cele doua tabele si in tabelul Project este acum cheia
primara. Aceste relatii sunt acum in forma 3NF.

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

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)

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Boyce-Codd Normal Form (BCNF)


Cand o relatie are mai mult de o cheie candidat, pot rezulta anomalii chiar daca relatia este in 3NF. Forma
3NF nu rezolva satisfacator cazul unei relatii cu suprapunerea cheilor candidat. De exemplu cazul cheilor
candidat compuse cu cel putin un atribut in comun. BCNF se bazeaza pe conceptul determinantului. Un
determinant este un atribut (simplu sau compus) pe baza caruia alte atribute 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,d
a,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

09:00

Zarra

Kerr

09:00

Kate

Adam

10:00

Zarra

Robert

13:00

Kate

Zane

14:00

Zarra

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

DB(Patno,PatName,appNo,Time,doctor)
Determinanti:
Patno PatName
Patno,appNo Time,doctor
Time appNo
Sunt 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.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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 de cheie?
Patno,appNo
este cheia, astfel incat este o cheie candidat.
Time appNo
Time este prezent si la fel appNo, deci este relevanta. Este ocheie?
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)
Time-> appNo, Time,Patno->appNo,Patno (A2), cum Patno,appNo->Time,doctor rezulta (A3) Time,Patno->Time,doctor si Time,Patno->doctor (C6)

In aceasta varianta Time este suficient sa lucreze cu appNo corespunzator pacientului. Forma BNCF este
astfel satisfacuta acesta fiind rezultatul final.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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 fiecare determinant este un candidat de cheie. Este
determinantul un candidat de cheie? Avem dependentele functionale:
Patno PatName
Patno,appNo Time,doctor
Time appNo

- Patno este prezent in DB, dar nu PatName astfel incat este irelevanta.
- Lipsesc atribute in membrul stang deci, nu este relevanta.
- Time este prezent dar nu appNo, astfel incat este irelevanta.

Relatiile sunt in BCNF.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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, Major Advisor
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)

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

- 1NF inlatura grupurile repetitive


Student(StudNo, StudName)
StudMajor(StudNo, Major,Advisor)
StudCourse(StudNo, Major, CourseNo, Ctitle, InstrucName, InstructLocn, Grade)
- 2NF inlatura dependentele partiale de cheie
Student(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.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

- 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 student care sa fie
la COMPUTING si caruia sa-i fie asignat WATSON ca advisor.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Se imparte tabelul in doua tabele in forma BCNF.

Student

Advisor

Advisor

Major

123

EINSTEIN

EINSTEIN

PHYSICS

123

MOZART

MOZART

MUSIC

456

DARWIN

DARWIN

BIOLOGY

789

BOHR

999

EINSTEIN

BOHR

PHYSICS

Legatura cu modelul relational


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

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

3.4 Limbajul SQL


SQL este un limbaj de interogare structurat, folosit pentru a interactiona cu DBMS. Acest limbaj este
standardizat ISO si are la baza algebra relationala.
Limbajul SQL permite:
Crearea de scheme in DBMS
Modificarea schemei datelor
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: CAR si DRIVER.
Fiecare masina poate fi detinuta de un sofer. Un sofer poate avea mai multe masini.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

MAKE
REGNO

COLOUR

NAME
1

DRIVER

drives

PRICE

CAR

DOB
OWNER

CAR

DRIVER
NAME

DOB

REGNO

MAKE

COLOUR

PRICE

OWNER

Jim Smith

11 Jan 1980

F611 AAA

FORD

RED

12000

Jim Smith

Bob Smith

23 Mar 1981

J111 BBB

SKODA

BLUE

11000

Jim Smith

Bob Jones

3 Dec 1986

A155 BDE

MERCEDES

BLUE

22000

Bob Smith

K555 GHT

FIAT

GREEN

6000

Bob Jones

SC04 BFE

SMART

BLUE

13000

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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, care
atunci cand sunt considerate impreuna identifica in mod unic o inregistrare in tabel. Nici o parte a cheiei
primare 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 primara
NAME!.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Exemple ale comenzii SELECT


SELECT column FROM tablename
SELECT column1,column2,column3 FROM tablename
SELECT * FROM tablename
SELECT * FROM CAR;
REGNO

MAKE

COLOUR

PRICE

OWNER

A155 BDE

MERCEDES

BLUE

22000

Bob Smith

F611 AAA

FORD

RED

12000

Jim Smith

J111 BBB

SKODA

BLUE

11000

Jim Smith

K555 GHT

FIAT

GREEN

6000

Bob Jones

SC04 BFE

SMART

BLUE

13000

SELECT regno FROM CAR;

SELECT colour,owner FROM CAR;


REGNO
A155 BDE
F611 AAA
J111 BBB
K555 GHT
SC04 BFE

COLOUR

OWNER

BLUE

Bob Smith

RED

Jim Smith

BLUE

Jim Smith

GREEN

Bob Jones

BLUE

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

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

A155 BDE

REGNO

F611 AAA

F611 AAA

J111 BBB
K555 GHT
SC04 BFE
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Comparatii

Comparatiile valide include: =,!=,<>,<,<=,>,>=


Colour = RED
Culoarea trebuie sa fie RED
Colour != RED
Culoarea nu este RED
Colour <> Red
La fel ca mai sus
Price > 10000
Mai mare ca 10000
Price >= 10000
Mai mare sau egal cu10000
Price < 10000
Mai mic decat 10000
Price <=10000
Mai mic sau egal cu 10000
Numerele se pot scrie 10000 sau 10000. Sirurile sunt totdeauna scrise intre ghilimele
simple.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Date calendaristice
Compararea datelor calendaristice poate creea probleme
Se pot utiliza aceiasi operatori si pentru date calendaristice.
Ex:
SELECT name,dob
from driver

SELECT name,dob from driver


where DOB = 3 Dec 1986

NAME

DOB

NAME

DOB

Bob Jones

3 Dec 1986

Bob Jones

3 Dec 1986

Bob Smith

23 Mar 1981

Jim Smith

11 Jan 1980

Datele calendaristice sunt considerate de valoare mai mare cu cat sunt in viitorul mai indepartat.
Astfel, DATE1>DATE2 indica DATE1 in viitor dupa DATE2.
SELECT name,dob from driver
WHERE DOB >= 1 Jan 1981

NAME

DOB

Bob Jones

23 Mar 1981

Bob Smith

3 Dec 1986

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Sintaxa datelor calendaristice

Trebuie sa fie intre apostrof


Fiecare DBMS utilizeaza datele intr-un mod propriu
De exemplu 1 Jan 2003 este scris corect.
Oracle permite date in format 1-Jan-2003 si de asemenea scrise: 1-Jan-03
Trebuie totdeauna specificata o zi si o lun, altfel DBMS va indica eroare.

BETWEEN

Uneori se doreste testarea valorii uni camp daca se gaseste intre doua date calendaristice.
Acest lucru se face cu BETWEEN.
Ex: Gasiti toti soferii nascuti intre 1995 si 1999
SELECT name,dob from driver
WHERE DOB between 1 Jan 1985 and 31 Dec 1999
Between se foloseste si pentru alte tipuri de date:
SELECT regno from CAR
where price between 5000 and 10000;

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

NULL
NULL indica ca ceva nu are nici o valoare
Nu este o valoare si deci nu poate fi utilizat cu operatori de comparatie.
Ex:
Gresit:
SELECT regno from car where owner = NULL
Gresit:
SELECT regno from car where owner = NULL

Sunt in schimb operatori speciali: IS NULL si IS NOT NULL

SELECT regno from car


WHERE OWNER is null

REGNO
SC04 BFE

REGNO
SELECT regno from car
WHERE OWNER is not null

K555 GHT
A155 BDE
F611 AAA
J111 BBB

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

LIKE

Cateodata sunt dorite reguli care implica siruri partiale, subsiruri sau wildcards
LIKE face acest lucru, fiind un inlocuitor pentru =
Daca sirul contine % sau _, LIKE le foloseste ca suport pentru wildcards.
% - inlocuieste 0 sau mai multe caractere din sir
_ - inlocuieste numai un caracter din sir

Exemple:

Name LIKE Jim Smith


Name LIKE _im Smith
Name LIKE ___ Smith
Name LIKE % Smith
Name LIKE % S%
Name LIKE Bob %
Name LIKE %

e.g. Jim Smith


e.g. Tim Smith
e.g. Bob Smith
e.g. Frank Smith
e.g. Brian Smart
e.g. Bob Martin
i.e. match anyone

LIKE face mai mult ca =


Daca nu se folosesc wildcards, atunci mai bine folositi = decat LIKE.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Operatori Logici

Permit combinarea regulilor intr-un singur WHERE


AND si OR permit acest lucru
NOT permite modificarea comportamentului regulii Exemplu:

SELECT regno from car


where colour = BLUE

SELECT regno from car


WHERE regno LIKE %5%

SELECT regno from car


WHERE colour = BLUE and
regno LIKE %5%;

REGNO

REGNO

A155 BDE

K555 GHT

A155 BDE

J111 BBB

A155 BDE

REGNO

SC04 BFE

Reguli AND multiple


SELECT regno
FROM car
WHERE colour = BLUE
AND regno like %5%
AND owner like Bob %

REGNO
A155 BDE

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

OR
Exemplu:
SELECT regno,colour from CAR
WHERE colour = RED OR colour = BLUE

NOT

REGNO

COLOUR

A155 BDE

BLUE

F611 AAA

RED

J111 BBB

BLUE

SC04 BFE

BLUE

NOT inverseaza regula in fata careia este pus


De exemplu: WHERE colour = RED
Poate fi inversata:
WHERE colour != RED
WHERE NOT colour = RED

Precedenta

Precedence este ordinea in care regulile sunt evaluate.


Aceasta nu este in ordinea in care sunt scrise!
Regulile sunt grupate impreuna la inceput de AND, apoi OR si in final de NOT.
Exemplu : Masina care are 5 in reg si este fie red sau blue.

SELECT regno,colour from car


WHERE colour = RED
OR colour = BLUE
AND regno LIKE %5%

-- Line 1
-- Line 2
-- Line 3
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Paranteze
Poate fi mai clar:
SELECT regno,colour from car
WHERE ( colour = RED OR colour = BLUE )
AND regno LIKE %5%
DISTINCT
Exemplu: Gasiti toate culorile folosite la masini.
SELECT colour from car;

SELECT DISTINCT colour from car;

COLOUR

COLOUR

BLUE

BLUE

RED

RED

BLUE

GREEN

GREEN
BLUE

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

ORDER BY
Ordonarea ascendenta este implicita
SELECT make from car;
SELECT make from car
ORDER BY make;

SELECT make from car


ORDER BY make DESC;

MAKE

MAKE

MAKE

MERCEDES

FIAT

SMART

FORD

FORD

SKODA

MERCEDES

MERCEDES

SKODA

FORD

SMART

FIAT

SKODA
FIAT
SMART

Ordonarea multi-coloana
SELECT make,colour FROM car
ORDER BY colour,make;

MAKE

COLOUR

MERCEDES

BLUE

SKODA

BLUE

SMART

BLUE

FIAT

GREEN

FORD

RED

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

IN

Cand este o lista de OR, toate asupra aceluiasi atribut, atunci IN poate fi o modalitate mai
simpla.

Decat:
SELECT regno,make FROM car
WHERE make = SKODA or make = SMART
Se poate utiliza:
SELECT regno,make FROM car
WHERE make in (SKODA,SMART);
Agregarea functiilor
Agregaarea functiilor permite scrierea interogarilor care produc calcule statistice asupra
datelor din baza de date.
Aceste functii sunt denumite functii SET si includ:
AVG
SUM
MAX
MIN
COUNT
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Exemple: SELECT price FROM car;


PRICE
22000
12000

SELECT avg(price) FROM car;


AVG(PRICE)
12800

11000
6000
13000

SELECT sum(price) FROM car;


SELECT max(price) FROM car;
SELECT min(price) FROM car;
SELECT count(price) FROM car;
SELECT count(colour) from car;
SELECT count(DISTINCT colour) from car;
GROUP BY

Agregarea functiilor s-a facut doar in interogari cu o singura agregare in linia SELECT, dar se
pot combina functii si non-functii in linia SELECT prin GROUP BY.
Exemplu:
Intrebare: Care este cea mai scumpa masina pentru fiecare culoare.
Intuitive ar parea ca varianta de mai jos este corecta, dar nu va fi executata!
SELECT colour,max(price)
FROM car;
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

SELECT colour,price
FROM car;

SELECT colour,max(price)
FROM car
GROUP BY colour;

COLOUR

PRICE

COLOUR

PRICE

BLUE

22000

BLUE

22000

RED

12000

GREEN

6000

BLUE

11000

RED

12000

GREEN

6000

BLUE

13000

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

HAVING

WHILE permite reguli pentru fiecare rand.


HAVING permite reguli pentru fiecare grup din GROUP BY.

Exemplu: Cine are mai mult de o masina?.


Aceasta s-ar spune:
SELECT owner from car where count(owner) > 1;
Interogarea de mai sus nu functioneaza deoarece:
Functiile agregate nu sunt permise in WHERE!.
Ele sunt permise in HAVING.
SELECT owner,count(regno)
FROM car
GROUP BY owner
HAVING count(regno) > 1
OR
SELECT owner
FROM car
GROUP BY owner
HAVING count(regno) > 1
count(*) se poate folosi in acest caz.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

SQL JOIN si VIEW


Surse multiple de tabele
Deseori este necesara folosirea mai multor tabele. O metoda este de a lista toate tabelele dorite in linia
FROM, dar DBMS va trebui sa stie cum sa alature tabelele.
Conditii JOIN
SELECT * from driver;

SELECT * from car;

NAME

DOB

REGNO

MAKE

COLOUR

PRICE

OWNER

Bob Jones

3 Dec 1986

A155 BDE

MERCEDES

BLUE

22000

Bob Smith

Bob Smith

23 Mar 1981

F611 AAA

FORD

RED

12000

Jim Smith

Jim Smith

11 Jan 1980

J111 BBB

SKODA

BLUE

11000

Jim Smith

K555 GHT

FIAT

GREEN

6000

Bob Jones

SC04 BFE

SMART

BLUE

13000

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

SELECT *
FROM car,driver

REGNO

MAKE

COLOUR

PRICE

OWNER

NAME

DOB

A155 BDE
A155 BDE
A155 BDE
F611 AAA
F611 AAA
F611 AAA
J111 BBB
J111 BBB
J111 BBB
K555 GHT
K555 GHT
K555 GHT
SC04 BFE
SC04 BFE
SC04 BFE

Mercedes
Mercedes
Mercedes
Ford
Ford
Ford
Skoda
Skoda
Skoda
Fiat
Fiat
Fiat
Smart
Smart
Smart

Blue
Blue
Blue
Red
Red
Red
Blue
Blue
Blue
Green
Green
Green
Blue
Blue
Blue

22000
22000
22000
12000
12000
12000
11000
11000
11000
6000
6000
6000
13000
13000
13000

Bob Smith
Bob Smith
Bob Smith
Jim Smith
Jim Smith
Jim Smith
Jim Smith
Jim Smith
Jim Smith
Bob Jones
Bob Jones
Bob Jones

Bob Jones
Bob Smith
Jim Smith
Bob Jones
Bob Smith
Jim Smith
Bob Jones
Bob Smith
Jim Smith
Bob Jones
Bob Smith
Jim Smith
Bob Jones
Bob Smith
Jim Smith

3 Dec 1986
23 Mar 1981
11 Jan 1980
3 Dec 1986
23 Mar 1981
11 Jan 1980
3 Dec 1986
23 Mar 1981
11 Jan 1980
3 Dec 1986
23 Mar 1981
11 Jan 1980
3 Dec 1986
23 Mar 1981
11 Jan 1980

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

FOREIGN KEY link

REGNO

MAKE

COLOUR

PRICE

OWNER

NAME

DOB

A155 BDE
A155 BDE
A155 BDE
F611 AAA
F611 AAA
F611 AAA
J111 BBB
J111 BBB
J111 BBB
K555 GHT
K555 GHT
K555 GHT
SC04 BFE
SC04 BFE
SC04 BFE

Mercedes
Mercedes
Mercedes
Ford
Ford
Ford
Skoda
Skoda
Skoda
Fiat
Fiat
Fiat
Smart
Smart
Smart

Blue
Blue
Blue
Red
Red
Red
Blue
Blue
Blue
Green
Green
Green
Blue
Blue
Blue

22000
22000
22000
12000
12000
12000
11000
11000
11000
6000
6000
6000
13000
13000
13000

Bob Smith
Bob Smith
Bob Smith
Jim Smith
Jim Smith
Jim Smith
Jim Smith
Jim Smith
Jim Smith
Bob Jones
Bob Jones
Bob Jones

Bob Jones
Bob Smith
Jim Smith
Bob Jones
Bob Smith
Jim Smith
Bob Jones
Bob Smith
Jim Smith
Bob Jones
Bob Smith
Jim Smith
Bob Jones
Bob Smith
Jim Smith

3 Dec 1986
23 Mar 1981
11 Jan 1980
3 Dec 1986
23 Mar 1981
11 Jan 1980
3 Dec 1986
23 Mar 1981
11 Jan 1980
3 Dec 1986
23 Mar 1981
11 Jan 1980
3 Dec 1986
23 Mar 1981
11 Jan 1980

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Traditional JOIN
SELECT *
FROM car,driver
WHERE owner = name;
REGNO
K555 GHT
A155 BDE
F611 AAA
J111 BBB

MAKE
Fiat
Mercedes
Ford
Skoda

COLOUR
Green
Blue
Red
Blue

PRICE
6000
22000
12000
11000

OWNER
Bob Jones
Bob Smith
Jim Smith
Jim Smith

NAME
Bob Jones
Bob Smith
Jim Smith
Jim Smith

DOB
3 Dec 1986
23 Mar 1981
11 Jan 1980
11 Jan 1980

OWNER
Bob Jones
Bob Smith
Jim Smith
Jim Smith

NAME
Bob Jones
Bob Smith
Jim Smith
Jim Smith

DOB
3 Dec 1986
23 Mar 1981
11 Jan 1980
11 Jan 1980

Cu ajutorul lui JOIN


SELECT *
FROM car JOIN driver ON ( owner = name );
REGNO
K555 GHT
A155 BDE
F611 AAA
J111 BBB

MAKE
Fiat
Mercedes
Ford
Skoda

COLOUR
Green
Blue
Red
Blue

PRICE
6000
22000
12000
11000

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

OUTER JOIN

Sa consideralm ultima linie a unui join fara constrangeri


REGNO

MAKE

COLOUR

PRICE

SC04 BFE

SMART

BLUE

13000

OWNER

NAME

DOB

Jim Smith

11 Jan 1980

Este o masina fara un proprietar.


Cateodata se doreste sa se vada randurile care nu satisfac conditia JOIN din cauza campurilor
NULL.
Pentru a vedea NULL in JOIN se foloseste OUTER JOIN.
Deci JOIN care a fost discutat este cunoscut ca INNER JOIN.
Astfel OUTER JOIN forteaza toate liniile sa apara in rezultat.
Sunt unele variante ale OUTER JOIN, care depind de care randuri dorim sa le pastram.
Se considera:
FROM car JOIN driver on (driver = name)
To the RIGHT of the JOIN

To the LEFT of the JOIN


Daca dorim toate randurile in CAR sa apara in raspuns trebuie folosit LEFT OUTER JOIN
Daca dorim toate randurile in DRIVER sa apara in raspuns trebuie folosit RIGHT OUTER
JOIN

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

In exemplu, OWNER este NULL in tabela CAR.


CAR este la stanga cuvantului JOIN
Ne trebuie LEFT OUTER JOIN (care este scris LEFT JOIN).

SELECT *
FROM car LEFT JOIN driver ON ( owner = name )
;
REGNO

MAKE

COLOUR

PRICE

OWNER

NAME

DOB

K555 GHT

FIAT

GREEN

6000

Bob Jones

Bob Jones

3 Dec 1986

A155 BDE

MERCEDES

BLUE

22000

Bob Smith

Bob Smith

23 Mar 1981

F611 AAA

FORD

RED

12000

Jim Smith

Jim Smith

11 Jan 1980

J111 BBB

SKODA

BLUE

11000

Jim Smith

Jim Smith

11 Jan 1980

SC04 BFE

SMART

BLUE

13000

FULL OUTER JOIN

Cu LEFT OUTER join, se tin toate randurile de la stanga.


Cu RIGHT OUTER join, se tin toate randurile de la dreapta..

Daca se doreste tinerea randurilor de la ambele capete se utilizeaza FULL OUTER join, cunoscut ca

FULL JOIN.

Sa consideram un nou rand in DRIVER, David Davis, care nu are nici o masina.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

NAME

DOB

Bob Smith

23 Mar 1981

Bob Jones

3 Dec 1986

David Davis

1 Oct 1975

Jim Smith

11 Jan 1980

LEFT
SELECT *
FROM car LEFT JOIN driver ON ( owner = name )
;

REGNO

MAKE

COLOUR

PRICE

OWNER

NAME

DOB

K555 GHT

FIAT

GREEN

6000

Bob Jones

Bob Jones

3 Dec 1986

A155 BDE

MERCEDES

BLUE

22000

Bob Smith

Bob Smith

23 Mar 1981

F611 AAA

FORD

RED

12000

Jim Smith

Jim Smith

11 Jan 1980

J111 BBB

SKODA

BLUE

11000

Jim Smith

Jim Smith

11 Jan 1980

SC04 BFE

SMART

BLUE

13000

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Right
SELECT *
FROM car RIGHT JOIN driver ON ( owner = name )

REGNO

MAKE

COLOUR

PRICE

OWNER

NAME

DOB

A155 BDE

MERCEDES

BLUE

22000

Bob Smith

Bob Smith

23 Mar 1981

F611 AAA

FORD

RED

12000

Jim Smith

Jim Smith

11 Jan 1980

J111 BBB

SKODA

BLUE

11000

Jim Smith

Jim Smith

11 Jan 1980

K555 GHT

FIAT

GREEN

6000

Bob Jones

Bob Jones

3 Dec 1986

David Davis

1 Oct 1975

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Example: Full
SELECT *
FROM car FULL JOIN driver ON ( owner = name );
In MySQL nu functioneaza FULL JOIN, acelasi rezultat se poate obtine cu:
SELECT *
FROM car LEFT JOIN driver ON ( owner = name )
UNION
SELECT *
FROM car RIGHT JOIN driver ON ( owner = name );
;

REGNO

MAKE

COLOUR

PRICE

OWNER

NAME

DOB

F611 AAA

FORD

RED

12000

Jim Smith

Jim Smith

11 Jan 1980

J111 BBB

SKODA

BLUE

11000

Jim Smith

Jim Smith

11 Jan 1980

A155 BDE

MERCEDES

BLUE

22000

Bob Smith

Bob Smith

23 Mar 1981

K555 GHT

FIAT

GREEN

6000

Bob Jones

Bob Jones

3 Dec 1986

SC04 BFE

SMART

BLUE

13000
David Davis

1 Oct 1975

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Numele
Cateodata coloana nume poate fi ambigua daca de exemplu se face referire la doua tabele, ambele avand o
coloana NAME:
SELECT name from ALPHA,BRAVO;
Aceasta interogare esueaza din motivele aratate, dar se poate rezolva prin:
SELECT alpha.name from ALPHA,BRAVO;
In unele cazuri este incomod a se repeta denumiri lungi de tabele.
SQL permite redenumirea tabelelor pe durata interogarii.
Se pune noul nume imediat dupa numele tabelului in FROM, separat de spatiu.
In loc de:
SELECT car.owner FROM car;

Se poate scrie:

SELECT c.owner FROM car c;

Aceasta se poate folosi si cu JOIN.


SELECT c.regno, c.owner, d.dob
FROM car c JOIN driver d on (c.owner = d.name)
Selfjoin

Un selfjoin, sau un echi JOIN apare atunci cand acelasi tabel este folosit de doua ori intr-o linie FROM.
Se indica necesitatea utilizarii unei singure tabele in doua moduri simultan.
Se considera intrebarea: Cine conduce o masina de aceeasi culoare cu a lui Bob Smith?

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

SELECT colour FROM car WHERE owner = Bob Smith;

Colour
BLUE

SELECT owner FROM car


WHERE colour = BLUE
AND owner != Bob Smith
AND owner IS NOT NULL;
SELECT other.owner
FROM car bobsmith, car other
WHERE bobsmith.colour = other.colour
AND bobsmith.owner = Bob Smith
AND bobsmith.owner != other.owner
AND other.owner IS NOT NULL
;

owner
Jim Smith

-- 1
-- 2
-- 3
-- 4

owner
Jim Smith

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

VIEWS

VIEWS este pentru baza de date ce este subrutina intr-un limbaj de programare.
Aceasta permite sa se pastreze o interogare in baza de date, astfel incat sa putem s-o accesam la un moment
ulterior prin nume.
Cand se scrie o interogare, acestea se trateaza ca tabelele, prin nume,.
Nu toate implementarile SQL suporta VIEW; MySQL nu suporta VIEW.
Sa presupunem ca scriem o interogare care sa ne spuna cati soferi si cate masini sunt in baza de date.
Se pot scrie separat

SELECT count(*) from DRIVER;


SELECT count(*) from CAR;

Sunt doua interogari si dorim sa facem intr-o singura interogare. Sa stocam cele doua interogari in doua
vederi diferite.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

CREATE VIEW count1 (total) AS select count(*) from driver;


CREATE VIEW count2 (total) AS select count(*) from car;
Select * from count1;
Select * from count2;

Total
4
Total
5

Select count1.total,count2.total
from count1,count2;
Total

Total

Stergerea unei vederi


Vederea se poate sterge cu comanda DROP VIEW.

De exemplu
DROP VIEW count1;
DROP VIEW count2;

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Subqueries

Subquery o declaratie select in interiorul alteia


Folosita in clauze WHERE
Subqueries pot returna mai multe randuri
Subqueries pot returna numai o coloana.
Folosite ca un inlocuitor pentru view sau selfjoin.
Principalul inconvenient, pot fi mai lente decat selfjoin sau view.

Exemple:

Cine din baza de date este mai in varsta decat Jim Smith?
SELECT dob FROM driver WHERE name = Jim Smith;
Dob
11 Jan 1980
SELECT name FROM driver WHERE dob > 11 Jan 1980;

name
Bob Jones
Bob Smith

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Combinate:

SELECT name
FROM driver
WHERE dob > (SELECT dob
FROM driver
WHERE name = Jim Smith)
;

NAME
Bob Jones
Bob Smith

Aceasta solutie va functiona daca este doar 1 Jim Smith.


ANY and ALL

Pentru a suporta subqueries care returneaza mai mult de 1 rand sunt necesari operatorii aditionali ANY si
ALL.
ANY schimba regula astfel incat aceasta trebuie sa fie adevarata pentru macar unul din randurile returnate
de subquery.
ALL schimba regula astfel incat aceasta trebuie sa fie adevarata pentru fiecare si oricare din randurile
returnate de subquery.
Operatorii ANY sau ALL se folosesc imediat inaintea parantezei deschise a subquery.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Examplu 1: Ce masina este de aceeasi culoare ca masina detinuta de Jim Smith?


Jim detine 2 masini, una este RED si cealalta BLUE. Cautam masini care sunt fie RED fie BLUE.
SELECT regno FROM car
WHERE colour = ANY ( SELECT colour
FROM car
WHERE owner = Jim Smith
);

REGNO
A155 BDE
F611 AAA
J111 BBB
SC04 BFE

Exemplu 2:

Listati soferii mai tineri decat toti soferii care detin o masina albastra.

Se cauta varsta soferilor care detin o masina BLUE si se listeaza soferii care sunt mai tineri decat toate
aceste varste.
SELECT name,dob FROM driver
WHERE dob < ALL (
SELECT dob
FROM car JOIN driver ON (owner=name)
WHERE colour = BLUE
);

NAME
DOB
David Davis 1 Oct 1975

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

IN and NOT IN

O subquery returneaza rezultatul ca o multime.


Astfel putem utiliza IN si NOT IN in subqueries.

Intrebare: Care masini au aceeasi culoare ca masina lui Jim Smith?

SELECT regno FROM car


WHERE colour IN (SELECT colour FROM car
WHERE owner = Jim Smith);

REGNO
A155 BDE
F611 AAA
J111 BBB
SC04 BFE

Exemplu cu NOT IN

Intrebare: Care masini nu au aceeasi culoare ca masina lui Jim Smith?

SELECT regno FROM car


WHERE colour NOT IN (SELECT colour FROM car
WHERE owner = Jim Smith)

REGNO
K555 GHT

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

EXISTS

Daca o intrebare implica descoperirea unor unicitati, atunci este probabil sa fie mai usor
rezolvata cu operatorii EXISTS sau NOT EXISTS.
Operatorul EXISTS testeaza rezultatul unei subquery, si daca este returnat cel putin un rand
este TRUE, altfel este FALSE.
Operatorul NOT EXISTS este opusul lui EXISTS.

Exemplu:
Intrebare: Listati culorile care sunt folosite o singura data in baza de date.

SELECT colour
FROM car a
WHERE exists (
SELECT colour
FROM car b
WHERE a.colour = b.colour
AND a.regno != b.regno
);

-- The row does not matter


-- unique name from a
-- Same colour as a
-- Different car from a

COLOUR
BLUE
BLUE
BLUE

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

UNION

Cate odata doua sau mai multe interogari produc acelasi rand si se doreste combinarea
rezultatelor intr-unul singur.
UNION face aceasta si permite alaturarea unor selectii diferite.
UNION automat scoate randurile duplicate.
Pentru exemplul urmator presupunem ca un rand a fost adaugat in tabela DRIVER. Acest rand
contine inregistrarea David Davis, dar proprietarul nu detine nici o masina.
Intrebare: Listati toti soferii din tabela DRIVER, impreuna cu cate masini detin.

SELECT name,count(*)
FROM driver JOIN car on (name = owner)
GROUP BY owner;
NAME

Count(*)

Bob Jones

Bob Smith

Jim Smith

David Davis lipseste deoarece nu satisface conditia din JOIN.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Scrieti o interogare numai pentru David Davis

SELECT name,0
FROM driver
WHERE name NOT IN (select owner from car)
NAME
David Davis

Legati cele doua interogari impreuna:


SELECT name,count(*)
FROM driver JOIN car on (name = owner)
UNION
SELECT name,0
FROM driver
WHERE name
NOT IN (select owner
from car)

NAME

Count(*)

Jim Smith

Bob Smith

Bob Jones

David Davis

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Modificatori ai datelor

Alti operatori utili sunt:


INSERT
DELETE
UPDATE
INSERT
INSERT INTO table_name
[(column_list)] VALUES (value_list)
column_list poate fi omisa daca fiecarei coloane i se va asigna o valoare, altfel trebuie listate
coloanele carora li se vor asigna valori.value_list este o multime de valori literale ce dau
valoarea fiecarei coloane in aceeasi ordine ca column_list, daca sunt specificate sau cum sunt
coloanele definite in CREATE TABLE.
Ex:
insert into driver
values (Jessie James,31 Nov 1892);
insert into driver (name,dob)
values (John Johnstone,1 Aug 1996);

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

DELETE
DELETE FROM table_name [WHERE condition];
Randurile table_name care satisfac conditia sunt sterse.

Exemple:
DELETE FROM car;
;

-- Delete all rows from CAR

DELETE FROM car


WHERE owner is null

-- Delete rows for cars without owners;

UPDATE
UPDATE table_name
SET column_name = expression,{column_name=expression}
[WHERE condition]
Set all BLUE cars to GREEN
UPDATE car SET colour = GREEN
WHERE colour = BLUE
Add VAT/Purchase Tax at 17.5% to all prices
UPDATE car SET price = price * 1.175

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

CREATE TABLE

A Tipuri de date:
INTEGER
REAL
DECIMAL : Including DECIMAL(5) and DECIMAL(4,2)
VARCHAR
CHAR : Pads out strings with spaces
DATE

Sintaxa:
CREATE TABLE tablename (
colname type
optionalinfo
,colname type
optionalinfo
,other optional info
);

Optionalinfo pot fi
O INTEGER REFERENCES b(c)
PRIMARY KEY
NOT NULL

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Alte optional info de la sfarsitul definitiei tind sa fie reguli cu impact asupra a mai mult de un
atribut:
PRIMARY KEY (col1,col2,)
FOREIGN KEY (col1,col2,) REFERENCES othertable

CREATE table driver (


name varchar(30) PRIMARY KEY,
dob date IS NOT NULL
);
CREATE TABLE car (
regno varchar(8) PRIMARY KEY
,make varchar(20)
,colour varchar(30)
,price decimal(8,2)
,owner varchar(30) references driver(name)
);
CREATE table driver (
name varchar(30)
,dob date IS NOT NULL
,PRIMARY KEY (name)
);
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

CREATE TABLE car (


regno varchar(8)
,make varchar(20)
,colour varchar(30)
,price decimal(8,2)
,owner varchar(30)
,FOREIGN KEY(owner)
,PRIMARY KEY(regno)
);

references driver(name)

DROP TABLE
Pentru stergerea tabelei se foloseste DROP TABLE.
DROP TABLE tablename
Dificultatea principala la stergerea tabelului consta in integritatea referentiala. Tabelul CAR
se refera la DRIVER deci trebuie sters intai CAR si apoi DRIVER. Daca se face invers
DBMS va raporta eroare.
DROP TABLE car;
DROP TABLE driver;

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Modificarea tabelului

Pentru a schimba o tabela care exista se foloseste MODIFY TABLE.


Aceasta este o comanda complexa cu multe optiuni.
Un exemplu simplu este de a adauga un camp de adresa la tabela DRIVER.

ALTER TABLE driver ADD address varchar(50)


Ordinea evaluarii in SELECT
SELECT [DISTINCT] column_name
FROM
label_list
[WHERE condition ]
[GROUP BY column_list
[HAVING condition ]]
[ORDER BY column_list[DESC]]

5,6 elimina datele nedorite


1 Produsul Cartezian
2 elimina randuri nedorite
3 grupeaza randuri
4 elimina grupuri nedorite
7 sorteaza randuri

Ultimele patru componente sunt optionale

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Data mining
Data Mining este o tehnologie noua ce vizeaz descoperirea cunotinelor in baze de date. Aceasta a fost
definita ca analiza automata a unor seturi de date complexe si de volum mare, cu scopul de a descoperi noi
informaii (tipare semnificative ale datelor sau tendine ale acestora).
Procesul de extragerea cunotinelor se realizeaz n urmtorii pai:

Analiza problemei - care const n achiziia unor cunotine despre starea iniial, precum si despre scopul
aplicaiei. Aceast etap identific urmtoarele faze:

- Determinarea obiectivelor. Declanarea unui astfel de proces este determinat de sesizarea unei oportuniti
sau necesiti de afaceri, ceea ce impune delimitarea exact a ceea ce se urmrete de rezolvat prin data miting,
care sunt obiectivele urmrite i rezultatele ateptate. Problemele pot fi diverse: optimizarea rspunsului clienilor
n cadrul unei campanii de marketing, prevenirea utilizrii frauduloase a cardurilor bancare, detectarea intrrilor
ostile ntr-un sistem informaional.
- Definirea criteriilor de succes. O dat problema conturat, se recomand definirea unor criterii ce pot
asigura reuita proiectului; aceste criterii pot fi, att de natur obiectiv (cantitativ): mbuntirea numrului
abaterilor detectate, mbuntirea gradului de rspuns al clienilor la campaniile de marketing, ct i de natur
subiectiv (calitativ), situaie n care expertul domeniului apreciaz rezultatele utilizrii tehnicilor data mining
corespunztor obiectivelor problemei de rezolvat.
- Evaluarea situaiei impune o analiz a costurilor implicate i a beneficiilor viitoare, a experienei deinute n
rezolvarea problemei propuse.
Determinarea scopurilor Data Mining. Etapele anterioare au stabilit problema i criteriile de succes pentru o
soluionare corect a acesteia, astfel nct n acest moment este necesar o traducere a scopurilor problemei de
rezolvat n termeni data mining. Practica a demonstrat adesea, c scopul general al unei probleme este diferit de
scopul data mining, exemplele din tabelul 1. evideniind acest aspect:

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Scopul general al
problemei de rezolvat

Scopul data mining

Creterea vnzrilor

Determinarea caracteristicilor clienilor n funcie de


puterea acestora de cumprare

Prevenirea fraudrii
crilor de credit

Determinarea modelelor critice de utilizare frauduloas a


crilor de credit, sau construirea unui algoritm precis
pentru detectarea automat a fraudelor

Scopul data mining este ntr-o relaie direct cu principalele categorii de operaii, ce caracterizeaz acest
proces: descrierea datelor, clasificarea, predicia, analiza dependenelor, analiza clusterelor, analiza excepiilor.
- Elaborarea unui plan al proiectului. Finalitatea acestei etape se rezum n descrierea unui plan de
aciune, cu toate lucrrile ce se vor executa, tehnicile ce se vor utiliza n cadrul acestora i obiectivele urmrite.
Identificarea surselor de date. Odat problema definit, este necesar stabilirea structurii generale a
datelor ct i delimitrii surselor acestor date. Practica a demonstrat adeseori c este vorba de date dispersate n
diverse sisteme operaionale, stocate n formate diferite, administrate cu produse software diferite, uneori
disponibile doar pe hrtie. Etapa n sine implic realizarea urmtoarelor aciuni: colectarea iniial a datelor,
descrierea datelor i verificarea calitii acestora. Aceste aciuni, n ansamblul lor, permit extragerea i plasarea
tuturor datelor ntr-o baz comun ce urmeaz a fi folosit, verificarea coninutului fiecreia dintre surse pentru
o identificare a eventualelor incoerene sau probleme de definire, elemente care ar putea compromite
rezultatele analizelor viitoare.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Pregtirea datelor. Datele selectate n etapa anterioar trebuie supuse unui proces preliminar de
pregtire nainte de a fi realizat extracia prin data mining. Aciunile importante ce caracterizeaz aceast etap
se pot rezuma la: selectarea datelor, curirea datelor, obinerea noilor date i formatarea lor. Curirea
datelor se distinge ca o faz important a etapei, recunoscut ca mare consumatoare de timp datorit tehnicilor
diversificate ce pot fi implementate pentru asigurarea fiabilitii datelor. Aceste tehnici vizeaz:
- normalizarea datelor
- omogenizarea datelor
- administrarea valorilor care lipsesc. Absena anumitor valori influeneaz negativ exploatarea optim a
tehnologiilor Data Mining, precum i aplicarea unor metode statistice. n general realizarea unor experimente cu
i fr aceste atribute n etapa de modelare, evideniaz importanta valorilor lips. O soluie simpl de rezolvare
a problemei presupune fie:
nlocuirea tuturor valorilor lips cu o constant total unic,
nlocuirea unei valori lips cu caracteristica sa medie,
nlocuirea unei valori lips cu caracteristica previzionat.
Adesea, aceast soluie nu asigur valoarea optim fapt pentru care datele vor fi afectate. Dac valorile
lips pot fi reduse la doar cteva caracteristici, atunci se poate ncerca o soluionare prin tergerea exemplelor
coninnd valori lips, sau tergerea atributelor ce conin majoritatea valorilor lips. O alt soluie este de a se
ncerca predicia valorilor lips cu ajutorul unui instrument data mining. n acest caz previzionarea valorilor
lips reprezint un caz special al problemei de predicie data mining.
- reducerea datelor. Motivele pentru reducerea datelor sunt n majoritatea cazurilor duble: fie volumul
datelor este prea mare pentru aplicaie, fie timpul estimat pentru obinerea soluiei este prea lung. Tehnicile
pentru reducerea datelor sunt de regul eficiente, dar imperfecte.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Cel mai frecvent algoritm pentru reducerea dimensiunilor datelor este de a se examina atributele i de a lua
n considerare doar potenialul predictiv. n general, o parte dintre atribute pot fi n mod obinuit ignorate, fie
pentru c sunt slab predictive, fie pentru c sunt suplimentare n raport cu alte atribute bune.
Modelarea este etapa de construire a unui model informatic pe baza cruia se va efectua explorarea
propriu-zis a datelor. Analiznd noutatea i abundena tehnicilor i algoritmilor utilizai n cadrul acestei etape,
se poate considera c ea este cea mai interesant parte a procesului Data Mining. Selectarea tehnicii de modelare
este hotrtoare pentru construcia modelului n sine, fapt pentru care n tabelul urmtor sunt prezentate cele mai
importante tehnici de modelare asociate aciunilor uzuale Data Mining.

Clasificare

Modele de inducie a regulilor, arbori de decizie, retele


neuronale, metoda celor mai apropiai k vecini,
raionament bazat pe cazuri

Predicie

Analiza regresiei, reele neuronale, metoda celor mai


apropiai k vecini

Analiza dependenelor

Analiza corelaiei, analiza regresiei, reguli de asociere,


reele Bayesiane

Descrierea datelor
Analiza clusterelor

Tehnici statistice OLAP


Tehnici de clustering, reele neuronale, vizualizarea
datelor

Construirea modelului este nsoit de o faz de testare, care verific calitatea i valabilitatea modelului. De
exemplu, n aciunile de clasificare a datelor este uzual folosirea valorilor eronate ca o msur a calitii
modelelor de data mining. Astfel, datele colectate n etapele anterioare vor fi divizate n seturi de date de
pregtire i seturi de date pentru testare.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Prima categorie de date va reprezenta baza construirii modelului, iar estimarea calitii sale va fi abordat
prin prisma celei de-a doua categorii. Odat ales instrumentul/tehnicile de modelare, acestea se vor utiliza pe
setul de date de pregtire, genernd diferite tipuri de modele. n general, toate instrumentele de modelare au un
numr de parametri ce conduc procesul de generare al modelului, coeficieni ce pot fi modificai pn la
obinerea rezultatelor scontate.
Evaluarea modelului. Aceast etap valideaz modelul din punct de vedere al datelor analizate. n
fazele anterioare, cu precdere n faza de modelare, evaluarea presupunea o analiz a fiabilitii i generalitii
modelelor generate, n timp ce in aceast etap se realizeaz o evaluarea a modelelor prin prisma obiectivelor
iniiale ale problemei. Se vor analiza i interpreta att rezultatele direct legate de obiectivele de soluionare a
problemei ct i alte constatri efectuate, acest lucru putnd oferi sugestii pentru modelele viitoare i alte
informaii suplimentare.
Integrarea noilor cunotine. Aceast etap finalizeaz procesul prin expansiunea modelului obinut i a
rezultatelor sale la nivelul sistemului informatic al organizaiei.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Metode de data mining


Regresia este o metod folosit n explorarea datelor preluat din statistic, algoritmii liniari i neliniari, fiind
utilizai pentru corelarea datelor. Algoritmul const n nvarea unei funcii care mapeaz un set de date peste
variabila estimat a valorii reale. Prin folosirea acestei metode este posibil s se obin cunotine calitative despre
relaiile de intrare-ieire. Dac nu sunt cunotine apriorice, este necesar de gsit funcia cea mai probabil prin
ncercri succesive, ceea ce poate fi consumatoare de timp. Exemple de acest tip sunt estimarea cererii de consum
pentru un nou produs ca o funcie de publicitate a vnzrilor i estimarea seriilor de timp n care variabilele de
intrare pot fi versiuni ntrziate ale variabilelor estimate.
Clasificarea este cunoscut i ca segmentarea, fiind un proces de examinare a grupurilor de date pentru a
determina care caracteristici pot fi utilizate pentru a identifica (sau estima) apartenena la grup. Exemple de
clasificri includ clasificarea tendinelor n pieele financiare, gruparea clienilor pe baza tranzaciilor realizate i
estimarea rspunsului acestora la promoia unui anumit produs. Aplicarea metodei necesit gruparea nregistrrilor
n clase pe baza proprietilor comune (atributelor). Algoritmii de clasificare sunt:
algoritmi statistici (analiza discriminatorie discriminant analysis, regresia logistic);
arbori de decizie sau segmentarea bazat pe arbori, (folosind metoda divide-et-impera, CHAID sau arbori
de clasificare i regresie: C&RT, QUESt, CART i C4.5/ C5.0).
nvarea regulilor de clasificare - implic gsirea regulilor sau a arborilor de decizie care petiioneaz seturi
de date n clase predefinite. Se aplic n cazul volumelor mari de date la care mulimea arborilor de decizie posibili
este prea mare pentru o cutarea exhaustiv.
Algoritmi din aceast clas sunt:
- ID3 este un algoritm de construire a arborilor de decizie care clasific obiectele prin testarea valorilor
proprietilor. Acesta construiete arborele ntr-o manier top-down, plecnd de la mulimea obiectelor i
specificaia proprietilor;
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

- C4.5 algoritmul genereaz arborele de clasificare-decizie pentru un anumit set de date prin partiionarea
recursiv a datelor, lund n considerare toate testele posibile i selectnd pe cel care d cea mai bun
informaie. Pentru fiecare atribut se consider un test i acesta produce attea ieiri ct numrul valorilor
distincte ale atributelor testate.
- SLIQ (Supervised Learning In QUEST) algoritmul este un clasificator bazat pe arbori de decizie proiectat s
clasifice seturi mari de date. Acesta folosete o tehnic de presortare n faza de cretere a arborelui, ceea ce i
permite evitarea costurilor cu sortarea n fiecare nod. SQLIP pstreaz o list separat pentru fiecare atribut
continuu i a list separat numit lista claselor. O intrare n lista claselor corespunde unui articol data (data
item) are o etichet de clas i numele nodului cruia i aparine n arborele de decizie.
- reele neuronale cu dezavantajul c necesit un timp ndelungat de antrenare pentru procesare fat de arborii de
decizie. Timpul de antrenare variaz depinznd de numrul de cazuri de antrenare, ponderile n reea i de
fixarea parametrilor de nvare;
- algoritmi genetici sunt tehnici de optimizare care folosesc procese de combinare genetic, mutaii i selecie
natural ntr-o proiectare bazat pe conceptele evoluiei naturale;
- metoda vecintii celei mai apropiate clasific fiecare nregistrare dintr-un set de date pe baza unei combinaii
de clase a nregistrrii k;
- inducia regulii, extracia datelor utile pe baza unor reguli de tipul dac atunci aplicate datelor pe baza
semnificaiei statistice.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Reguli de asociere - Ideea de baz a asocierii regulilor este de a cuta tipare de date de urmtoarea form:
IF (unele condiii sunt adevrate) THEN (alte condiii sunt probabil adevrate). Fiecare condiie extras din
prelucrarea datelor este numit o regul asociat, sau simplu o regul. Regulile de asociere genereaz modele
bazate pe reguli i au dou caracteristici principale asociate, care le msoar valoarea: acoperirea i nivelul de
ncredere. Acoperirea descrie ct de mult eviden este n setul datelor de antrenare pentru a salva regula. Uzual
domeniul este ntre 0 i 1 (0% i 100%). n plus, algoritmul regulilor de asociere folosete suportul unei reguli
care este numrul de nregistrri sau tranzacii care confirm regula. Algoritmul clasic de explorare a datelor
prin Regula de asociere a fost dezvoltat pentru a gsi toate regulile de asociere ntr-o baz de date a crei suport
este mai mare dect suportul minim i a crei confiden este mai mare dect confidena minim. Acest algoritm
folosete conceptul setului de articole (item set concept), definit ca o mulime nevidat de articole. Setul de
articole este numit frecvent, dac suportul su este mai mare dect suportul minim. Un set de articole frecvent
care este maximal este numit mare (large). Problema regulii de asociere n explorarea datelor este descompus n
urmtorii pai:
gsirea tuturor combinaiilor de articole care au tranzacii suport peste suportul minim,
apelarea acelor combinaii ale setului de articole frecvent, folosirea seturilor de articole frecvent pentru a
genera regulile dorite,
pstrarea regulii care are confidena mai mare sau egal cu confidena minim i suportul mai mare sau
egal cu suportul minim.
Metode de clustering La fel ca segmentarea, metoda identific grupuri de cazuri similare, dar nu
estimeaz ieirile sau categoriile int. Din acest motiv algoritmii de clustering sunt denumii algoritmi de
clasificare nesupervizat i acetia proceseaz un grup de obiecte fizice abstracte n clase de obiecte similare.
Analiza clustering permite identificarea unor colecii de obiecte dat, similare, incluse n structura de date
analizat. Similaritatea este exprimat prin funcii distanta i se urmrete maximizarea similariti lor dintre
cazurile asignate aceluiai grup i maximizarea diferenei dintre grupuri.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Tipare secveniale metoda este o parte component a analizei secveniale, scopul principal fiind acela de
a gsi toate tiparele secveniale cu suport minim predefinit reprezentat de secvena de date. Datele de intrare sunt
reprezentate de o list de tranzacii secveniale, deseori fiind asociate tranzacii-timp.
Tehnici combinate metoda combin diferii algoritmi, precum cei de extragere a cunotinelor pe baza
regulilor cu reelele neuronale, cu raionamentul bazat pe cazuri. nvarea bazat pe cazuri reprezint procesul
de achiziie a cunotinelor printr-un raionament bazat pe analogii. Aceast metod este util n cazul procesrii
datelor cu structur complex.
Procesarea analitic on-line (OLAP) este considerat o metod complementar metodelor de explorare
a datelor pentru analiza unor date de volum foarte mare, multi-dimensionale n baze de date relaionale. n
comparaie cu metodele de explorare a datelor, OLAP nu are capabiliti de nvare, nu creeaz noi cunotine
i nu pot cuta soluii noi. OLAP se combin cu metodele de explorare a datelor n dou moduri: explorarea
datelor se poate include ntr-o main OLAP existent, cele dou tehnici fiind aplicate intercorelat pentru analiza
aceluiasi set de date sau metoda de explorarea datelor se aplic naintea analizei OLAP.

ARBORI DE DECIZIE
Un arbore de decizie este o reprezentare vizual a alegerilor, consecinelor, probabilitilor i
oportunitilor, prin care se simplifica modelul sistemului printr-un mod facil de a nelege o structur.

Definitie: Un arbore decizional este o structur sub form de arbore n care fiecare nod poate fi:
nod terminal (nod frunza)
nod decizional (contine un test pentru o anumit proprietate)

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Arcele sunt etichetate cu o valoare a proprietii testate din nodul din care pleac, iar frunz este etichetata
cu clasificaii (daca clasificatiile sunt simple cu YES i NO atunci arborele se numeste boolean). Nodurile
intermediare sunt etichetate ca atribute.

Nod_radacina

v1

v2

Nod_frunza

Nod_frunza

Set raspunsuri posibile

Arcele reprezint conexiunile ntre nodurile printe i nodurile fii iar numrul lor este legat de setul de
rspunsuri valide pe care le poate furniza utilizatorul pentru o ntrebare. Arcele care pleac dintr-un nod A sunt
etichetate cu valorile posibile ale atributului A. Parcurgerea arborelui se face de sus n jos, dar exist i situaii
cnd poate fi necesar i deplasarea de jos n sus (de exemplu, ntr-un arbore care nva, atunci cnd setul de
ntrebri trebuie modificat, deoarece au fost gsite soluii noi sau vechile ntrebri nu sunt bine formulate).
Metoda arborilor de decizie este cea mai popular metoda de clasificare i predicie. Constructia arborelui se
face prin alegerea pentru fiecare ntrebare a unui rspuns dintr-un set de rspunsuri valide. n funcie de aceste
rspunsuri sunt eliminate o serie de soluii din setul curent de soluii posibile ale problemei. Cu ct se coboar n
arbore, cu att acest set de soluii posibile se micoreaz. Fiecare nod neterminal este conectat la un test care
mparte setul sau de raspunsuri posibile ntr-o submulime corespunznd rezultatelor de test diferite. Fiecare
ramur duce rezultatul testului la un alt nod i fiecare nod este conectat la un set de rspunsuri posibile n final
soluia furnizat corespunde nodului frunz n care s-a ajuns.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Atractivitatea arborilor de decizie se datoreaz faptului c reprezint reguli. n unele aplicaii acurateea
clasificrii sau prediciei este singurul lucru care conteaz.
Sunt o multime de algoritmi pentru a construi arbori de decizie care mpart calitatea interpretrii.
Metoda arborilor de decizie are numeroase aplicatii in domenii precum: medicina, prognoza vremii,
predictia stocurilor, gestiunea creditelor financiare, analiza greelilor.
Majoritatea algoritmilor care au fost creai pentru nvarea arborilor de decizie sunt variaii ale unui
algoritm de baza care implic o parcurgere top-down greedy prin mulimea arborilor de decizie posibili.
Programele de acest tip construiesc un arbore decizional pornind de la un set de situaii, cazuri.
Ordinea testelor este important, punndu-se accent pe criteriul alegerii testului din rdcina arborelui de
decizie.
nvarea regulilor de clasificare - implic gsirea regulilor sau a arborilor de decizie care partiioneaz
seturi de date n clase predefinite. Se aplic n cazul volumelor mari de date la care mulimea arborilor de decizie
posibili este prea mare pentru o cutarea exhaustiv.
n aceast clas intr urmtorii algoritmi:
- ID3 este un algoritmul care construiete arbori de decizie n manier top-down. Pentru fiecare proprietate,
putem partiiona multimea de exemple de nvtare n submultimi disjuncte, n fiecare submultime aflndu-se
obiecte cu o anumit valoare a acelei proprieti. Algoritmul selecteaz o proprietate pentru a o testa n nodul
curent al arborelui i folosete aceast proprietate pentru a partiiona multimea de exemple. Algoritmul se aplic
recursiv pentru construirea subarborilor corespunztori fiecrei partiii. Acest procedeu continu pn cnd toi
membrii unei partiii sunt n aceeasi clas. Clasa devine o frunz n arborele de decizie;
- C4.5 algoritmul genereaz arborele de clasificare-decizie pentru un anumit set de date prin partiionarea
recursiv a datelor, lund n considerare toate testele posibile i selectnd pe cel care d cea mai bun
informaie. Pentru fiecare atribut se consider un test i acesta produce attea ieiri ct numrul valorilor
distincte ale atributelor testate.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

SLIQ (Supervised Learning In QUEST) algoritmul este un clasificator bazat pe arbori de decizie
proiectat s clasifice seturi mari de date. Acesta folosete o tehnic de presortare n faza de cretere a arborelui,
ceea ce i permite evitarea costurilor cu sortarea n fiecare nod. SLIQ pstreaz o list separat pentru fiecare
atribut continuu i a list separat idem
ALGORITMUL ID3 (Itemized Dichotomizer 3)
Ideea de baz este de a construi un arbore de decizie printr-o cautare greedy de sus n jos ntr-un set dat de
date, pentru a testa fiecare atribut la fiecare nod. n loc s selecteze atributul care este cel mai folositor pentru a
clasifica setul de date, introduce o informatie cheie.
ID3 este un algoritm neincremental, nsemnnd c i deriveaz clasele dintr-un set fix de date de antrenare.
Clasele create de ID3 sunt inductive, ceea ce nseamn c dnd un mic set de date de antrenare, clasele specifice
create de ID3 sunt scutite de a lucra pentru alte instante viitoare. Clasele induse nu pot fi facute sa funcioneze
pentru toate cazurile din moment ce pot clasifica un numar infinit de instane. Datele folosite de ID3 trebuie sa
corespund unor cerine i anume:
descrierea valorii atributelor: acelai atribut trebuie sa descrie fiecare exemplu i s aib un numr fix de
valori;
clase predefinite: un exemplu de atribut trebuie s fie deja definit, ceea ce nseamn ca nu este nvat de
ID3;
clase discrete: clasele trebuie sa fie foarte bine descrise. Clasele continue mprite n categorii vagi pot
creea suspiciuni (de ex: greu, putin greu, normal, usor, foarte usor);
exemple suficiente: din moment ce este utilizat inducia generalizat trebuie sa fie destule cazuri de test
pentru a putea distinge modele.
Pentru a gsi metoda optimal pentru a clasifica setul de nvare trebuie s minimizm ntrebarea pus
(minimizm adncimea arborelui). Avem nevoie de nite funcii care s faca cea mai bun mprire. Algoritmul
ID3 aduce dou noi mbuntairi algoritmilor de clasificare: vizualizare i informaia teoretica euristic.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

- Vizualizarea poate fi folosit dac setul de antrenare este foarte mare. Un subset din setul de antrenare este ales la
ntmplare pentru a construi arborele iniial. Cazurile rmase sunt ulterior clasificate folosind arborele. Dac
arborele ne ofer clasificarea corect pentru setul de date de intrare atunci este acceptat pentru ntreg setul de date i
procesul ia sfrit.
- Informaia teoretic euristic este folosit pentru a produce arbori superficiali deciznd ordinea n care s fie
selectate atributele. Primul stagiu este calcularea proporiei cazurilor pozitive i negative care sunt disponibile ntrun nod. O valoare cunoscut ca entropia atributului tinta S, relativ la clasificarea in c valori este definita ca:

unde c este numarul de valori (clase) ale atributului tinta S, iar pi reprezinta proportia din S care apartine clasei i.
Valoarea entropiei E(S) se utilizeaza pentru a determina cantitativ efectul mpririi setului de date, folosind un
atribut particular.
De notat ca Entropy este 0 daca toti membrii lui S apartin aceleiasi clase (data este perfect clasificata). Multimea
valorilor entropiei este de la 0 (perfect clasificata) la 1 (total aleatoare).
Pentru aceasta se foloseste o msura numit Castigul informational (Information Gain) care calculeaz reducerea
entropiei care ar rezulta din mprirea datelor dupa atributul A.
Pentru un anumit atribut A, ctigul informaional produs de selectarea acestuia ca rdcin a arborelui de decizie
este egal cu continutul total de infomaie din arbore minus continutul de informatie necesar pentru a termina
clasificarea (construirea arborelui), dup selectarea atributului A ca radacina.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Information gain - ctigul informaional reprezint reducerea ateptat n entropie cauzata de segmentare.
Mai precis, information gain, Gain(S,A) a unui atribut A n raport cu o colectie S a atributului tinta este definit
ca:
,

unde:
Valori(A) este un set de posibile valori pentru atributul A
Sv este o submultime a lui S pentru care atributul A are valoarea v, Sv = {s S | A(s) = v}
E (S) este entropia lui S
cel de-al doilea termen e valoarea ateptat pentru entropie, dupa ce S este segmentat folosind atributul A,
deci este suma entropiilor pentru fiecare submultime Sv, nmulit cu fracia |Sv|/|S|.
|Sv| numarul de elemente in Sv
|S| numarul de elemente in S
Exemplu:
Presupunem ca S este o multime de 14 exemple in care unul din atribute este wind_speed. Valorile acestui
atribut sunt : Weak sau Strong. Clasificarea acestor 14 exemple contine: 9 YES si 5 NO. Pentru atributul Wind,
presupunem ca sunt 8 aparitii ale Wind = Weak si 6 aparitii ale Wind = Strong. Pentru 6 aparitii Wind = Weak,
le corespund valoarea atributului tinta YES si pentru 2 aparitii NO. Pentru Wind = Strong, 3 sunt YES si 3 sunt
NO.
Se calculeaza:
Entropy(S) = - (9/14) Log2 (9/14) - (5/14) Log2 (5/14) = 0.940

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

E (Sweak) = - (6/8)*log2(6/8) - (2/8)*log2(2/8) = 0.811


E (Sstrong) = - (3/6)*log2(3/6) - (3/6)*log2(3/6) = 1.00
Gain(S,Wind) = E(S)-(8/14)*Entropy(Sweak)-(6/14)*Entropy(Sstrong) = 0.940 - (8/14)*0.811 - (6/14)*1.00 = 0.048
Pentru fiecare atribut, se calculeaza castigul si se alege in nodul de decizie cel cu castigul cel mai mare. Algoritmul
continu alegnd un nou atribut i repetnd segmentarea cu fiecare nod neterminal.
Procesul se repeta pn cnd una din cele dou condiii este satisfcut:
- toate atributele au fost deja incluse in parcurgerea arborelui;
- exemplele antrenate asociate cu nodul frunz au toate aceeai valoare de atribut.
wind _speed

Yes No Total

Entropie

Weak

Entropy(Sweak) = - (6/8)*log2(6/8) - (2/8)*log2(2/8) = 0.811

Strong

Entropy(Sstrong) = -(3/6)*log2(3/6)-(3/6)*log2(3/6) = 1.00

Total

14

Entropy(S) = - (9/14) Log2 (9/14) - (5/14) Log2 (5/14) = 0.940

Gain

Gain(S,wind_speed) = Entropy(S) -(8/14)*Entropy(Sweak)(6/14)*Entropy(Sstrong) = 0.940 - (8/14)*0.811 - (6/14)*1.00 = 0.048

Exemplu de aplicare a algoritmului ID3 Estimarea riscului de credit


ntr-un prim exemplu ncercm s analizm problema estimrii riscului acordrii unui credit unei anumite
persoane, bazat pe anumite proprieti: comportamentul anterior al persoanei atunci cnd i-au fost acordate credite
(istoria creditului), datoria curent, garanii i venit. Problema este una de clasificare simpl: a prezice dac un
solicitant prezint sau nu un risc mare sau mic pentru credit. Urmatorul tabel prezint multimea de date de antrenare
pentru aceasta problema.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Nr.
Crt.

Nume Client

Istoria
creditului

Datorii

Garanii

Venit

Clasificarea
Riscului

Andrei

Rea

Mari

Fara

0 15k

Mare

Ion

Necunoscuta

Mari

Fara

15 35 k

Mare

Marius

Necunoscuta

Mici

Fara

15 35 k

Vlad

Necunoscuta

Mici

Fara

0 15k

Bogdan

Necunoscuta

Mici

Fara

> 35k

Mic

Sorin

Necunoscuta

Mici

Adecvate

> 35k

Mic

Alex

Rea

Mici

Fara

0 15k

Mihai

Rea

Mici

Adecvate

> 35k

Lucian

Buna

Mici

Fara

> 35k

Mic

10

Rares

Buna

Mari

Adecvate

> 35k

Mic

11

Samir

Buna

Mari

Fara

0 15k

12

Petru

Buna

Mari

Fara

15 35 k

13

Marcel

Buna

Mari

Fara

> 35k

14

Sorin

Rea

Mari

Fara

15 35 k

Moderat
Mare

Mare
Moderat

Mare
Moderat
Mic
Mare

Calculm entropia medie a setului de date complet pentru fiecare din cele 4 atribute (Istoria creditului, Datorii,
Garantii, Venit):

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Calculm entropia medie a setului de date complet pentru fiecare din cele 4 atribute (Istoria creditului, Datorii,
Garantii, Venit):
Istoria creditului:

Istoria
creditului

Risc
Mare

Risc
Moderat

Risc
Mic

Total

Necunoscuta

Rea

Buna

Total

14

Entropie

Gain

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Datorii:
Datorii

Risc
Mare

Risc
Moderat

Risc
Mic

Total

Mari

Mici

Total

14

Entropie

Gain

Garantii

Risc
Mare

Risc
Modera
t

Risc
Mic

Total

Fara

11

Adecvate

Total

14

Garantii:

Entropie

Gain

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Venit:

Venit

Risc
Risc
Mare Moderat

Risc
Mic

Total

0-15k

15-35k

>35k

Total

14

Entropie

Gain

Max(0,266;0,063;0,206;1,047)=1,047 Deci se alege radacina: Venit si pe 0-15k se inchide ramura pentru ca


entropia este 0.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Nr.
Crt.

Nume Client

Istoria
creditului

Datorii

Garanii

Venit

Clasificarea
Riscului

Ion

Necunoscuta

Mari

Fara

15 35 k

Mare

Marius

Necunoscuta

Mici

Fara

15 35 k

Moderat

12

Petru

Buna

Mari

Fara

15 35 k

Moderat

14

Sorin

Rea

Mari

Fara

15 35 k

Mare

Istoria creditului

Risc Mare

Risc Moderat

Risc Mic

Total

Entropie

Necunoscuta

Rea

Buna

Total

Gain

0.5

Datorii

Risc Mare

Risc Moderat

Risc Mic

Total

Entropie

Mari

0.918

Mici

Total

Gain

0,311

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Garantii

Risc Mare

Risc Moderat

Risc Mic

Total

Entropie

Fara

Adecvate

Total

14

Gain

Max(0,5;0,311;0)=0,5 Deci se alege Istoria creditului. Entropiile pentru ramurile: Rea si Buna sunt 0 si se
inchid cu riscul corespunzator, Risc Mare si respectiv Risc Moderat.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Nr.
Crt.

Nume Client

Istoria
creditului

Datorii

Garanii

Venit

Clasificarea
Riscului

Bogdan

Necunoscuta

Mici

Fara

> 35k

Mic

Sorin

Necunoscuta

Mici

Adecvate

> 35k

Mic

Mihai

Rea

Mici

Adecvate

> 35k

Moderat

Lucian

Buna

Mici

Fara

> 35k

Mic

10

Rares

Buna

Mari

Adecvate

> 35k

Mic

13

Marcel

Buna

Mari

Fara

> 35k

Mic

Istoria creditului

Risc Mare

Risc Moderat

Risc Mic

Total

Entropie

Necunoscuta

Rea

Buna

Total

0.65

Gain

0.65

Datorii

Risc Mare

Risc Moderat

Risc Mic

Total

Entropie

Mari

Mici

0,811

Total

0.65

Gain

0.109

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Garantii

Risc Mare

Risc Moderat

Risc Mic

Total

Entropie

Fara

Adecvate

0.918

Total

0.65

Gain

0.191

Max(0,65;0,109;0,190)=0,65 Deci se alege Istoria creditului. Cum entropia pentru ramurile: Necunoscuta,
Rea si Buna sunt 0 se inchid cu riscul corespunzator: risc Mic, Risc Moderat si respectiv Risc Mare.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Nr.
Crt.

Nume Client

Istoria
creditului

Datorii

Garanii

Venit

Clasificarea
Riscului

Ion

Necunoscuta

Mari

Fara

15 35 k

Mare

Marius

Necunoscuta

Mici

Fara

15 35 k

Moderat

Datorii

Risc
Mare

Risc
Moderat

Risc
Mic

Total

Entropie

Garantii

Risc
Mare

Risc
Moderat

Risc
Mic

Total

Entropie

Mari

Fara

Mici

Adecvate

Total

Total

Gain

Gain

Max(1;0)=1 Deci se alege Datorii. Cum entropia pentru ramurile: Mari, Mici sunt 0 se inchid cu riscul
corespunzator: Risc Mare si respectiv Risc Moderat.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Algoritmul C4.5
Algoritmul C4.5 aparine unei succesiuni de arbori de decizie de nvare. Este o versiune mai avansat i
mbuntit a algoritmului ID3. C4.5 genereaz un arbore de decizie clasificat pentru un set de date dat prin
partiionarea recursiv a datelor. Arborele este construit folosind strategia Depth-first. Algoritmul consider
toate testele posibile care pot splita setul de date i selecteaz un test care ne ofer ce-a mai bun soluie.
Noutile aduse de C4.5 sunt urmtoarele: Criteriul raportului catigtor: Noiunea de informaia maxim
catigtoare este folosit n algoritmul ID3 pentru a determina ce atribut este selectat. Quinlan a remarcat c
dac un atribut are valori distincte pentru fiecare nregistrare, atunci acest atribut va fi reinut ca informaia
maxim catigtoare, iar setul de antrenare va fi mprit conform cu acest atribut. C4.5 folosete raportul
catigator. In general, daca este data o distributie de probabilitate P = {p1, p2, ,pn} atunci Informatia extrasa
din distributie, notata: Info(P) este entropia lui P:

Daca un set de S inregistrari este partitionat in clase disjuncte si exhaustive S= {S1, S2, ,Sn}, pe baza
valorilor v ale unui atribut A (non tinta) si p este multimea probabilitatilor partitiilor {S1, S2, ,Sk}: p={|S1|/|S|,
|S2|/|S|, , |Sn|/|S|}, atunci informatia necesara identificarii unei clase corespunzatoare unui element din S,
notata cu Info(S,A), devine media ponderata a informatiei necesare identificarii clasei valorii v a atributului Sv,
Info(Sv):
,

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Se noteaza cu Gain(S,A) castigul informational definit:


,

GainRatio a fost introdus sa favorizeze atributele care au un numar mare de valori si se defineste:
,

unde:

SpiltInfo(A) este informatia obtinuta prin splitarea atributului non-tinta A pe baza valorilor proprii. Astfel
SplitInfo(A)=I{|A1|/|A|, |A2|/|A|,, |Am|/|A|} unde {A1, A2, ,Am} sunt partitiile lui A induse de valorile sale.
Valorile necunoscute ale atributelor: Algorimul C4.5 poate lucra cu baze de date care au nregistrri cu
valori necunoscute, considerand Gain ratio doar pentru nregistrrile unde valoarea atributelor este cunoscut.
Valorie continue ale atributelor: C4.5 poate lucra cu valori continue ale atributelor. De exemplu, dac un
atribut A are un rang continuu, iar valorile sunt n ordine cresctoare C1, C2, ..., Ci ; atunci pentru fiecare valoare
Cj = 1,2,3..., m algoritmul mparte valorile n cele care au valorile Ai mai mari sau egale cu Aj i cele care au
valori mai mici decat Aj. Pentru fiecare dintre aceste separri informaia catigtoare este calculat i este
selectat partea care maximizeaz catigul.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Funcia C4.5 (R: mulimea atributelor neclasificate; C: cheia de sortare; S: setul de antrenare)
Returneaz arborele de decizie.
begin
dac S este vid,
atunci avem nod unic
dac toate nregistrrile din S au aceeai valoare pentru cheia de sortare,
atunci avem un singur nod cu acea valoare
dac R este vid,
atunci returneaz un singur nod cu cea mai frecvent valoare a cheii de sortare din nregistrrile din S
dac R nu este vid,
atunci reinem in D cheia cu cea mai bun valoare din mulimea R
fie {dj | j = 1,2, ... m} valorile atributului D fie {sj | j = 1,2, ... m} submulimile din S corespunztoare
valorilor respective din dj
se returneaz un arbore cu noduri surs D i cu arcele d1, d2, ..., dm
C4.5(R\{D},C,S1), C4.5(R\{D},C,S2), .... C4.5(R\{D},C,Sm);
end;

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Exemplu de calcul:
Info(Play) = Info{9/14,5/14}=0,9402
Outlook

Temp

Humidity

Windy

Play

sunny

85

85

false

yes

sunny

80

90

true

yes

overcast

83

78

false

no

rain

70

96

false

no

rain

68

80

false

no

rain

65

70

true

overcast

64

65

true

sunny

72

95

false

sunny

69

70

false

no

rain

75

80

false

no

sunny

75

70

true

no

overcast

72

90

true

no

overcast

81

75

false

no

rain

71

80

true

yes

Outlook

yes

no

Total

sunny

Info(Play,sunny)=Info(3/5,2/5) = 0,9709

overcast

Info(Play,overcast)=Info(0,4/4) = 0

rain

Info(Play,rain)=Info(2/5,3/5 ) = 0,9709

Total

14

SplitInfo(Outlook) = -5/14*log(5/14) 4/14*log(4/14) - 5/14*log(5/14) = 1.5774

no

Info(Play,Outlook) =

yes

yes

Entropie

5/14*Info(Play,sunny) +
4/14*Info(Play,overcast)+
5/14*Info(Play,rain) = 0.6935
Gain

Gain(Play,Outlook) = Info(Play) -

Ratio

Info(Play,Outlook) = 0.9402 - 0.6935 =


0.2467
GainRatio(Play,Outlook) =
0,2467/1,5774=0,1564

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Temperature

64

65

68

69

70

71

72

Play

no yes no

no

no

yes no

72

81

83

85

yes no no yes no

no

yes

[4/no, 2/yes]

75

75 80

[5/no, 3/yes]

71,5
Info(Temperature) = Info(6/14,8/14)=0,985
Info(Play,Temperature) = 6/14*Info(2/6,4/6) +
8/14*Info(3/8,5/8) = 6/14*0.918 +8/14*0,954=0,939
<71.5

yes

no

>71.5

yes

no

Gain(Play,Temperature) = Info(Temperature) Info(Play,Temperature) = 0.985 0.939 = 0.046


SplitInfo(Temperature) = -6/14*log(6/14) - 8/14*log(8/14) =
0,985
GainRatio(Play,Temperature) = 0,046/0,985=0,0467

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Humidity

65

70

70

70

75

78

80 80

Play

no yes no

no

no

yes no

80

85 90 90

95

96

yes no yes no yes yes no

[6/no, 3/yes]

82,5

[2/no, 3/yes]

Info(Humidity) = Info(9/14,5/14)=0,940
Info(Play,Humidity) = 9/14*Info(3/9,6/9) +
5/14*Info(3/5,2/5) = 9/14*0.918 +5/14*0,971=0,937
<82.5

yes

no

>82.5

yes

no

Gain(Play,Humidity)= Info(Humidity) Info(Temperature,S) = 0.940 0.937 = 0.003


SplitInfo (Humidity)= -6/14*log(6/14) - 8/14*log(8/14) =
0,985
GainRatio(Play,Humidity )= 0,003/0,985=0,003

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Info(Windy) = I{8/14,6/14}=0,985
Info(Play,Windy) = 8/14*Info(2/8,6/8) + 6/14*Info(3/6,3/6) = =8/14*0.811+6/14*1=0,892

false

yes

no

true

yes

no

Gain(Play, Windy) = Info(Play) - Info(Play,Windy) = 0.985 0.892 = 0.093


SplitInfo(Windy) = -8/14*log(8/14) - 6/14*log(6/14) - 5/14*log(5/14) = 0,985
GainRatio(Play,Windy) = 0,093/0,985=0,094

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Algoritmul SLIQ
Algoritmul SLIQ (Supervised Learning In QUEST) este un algoritm de data mining rapid i masurabil
dezvoltat de ctre Centrul de Cercetare Almaden al IBM n 1996. Folosete o tehnic rapid de presortare pentru
a construi arborele de decizie atunci cnd datele din setul de antrenare sunt prea multe.
SLIQ nu impune nici o restricie asupra cantitii de date sau a numrului de atribute din exemple. De
aceea, SLIQ poate obine o acuratee mai mare clasificnd seturi mari de date care nu pot fi fcute cu ali
algoritmi.
Pentru atribute numerice, timpul de sortare este factorul determinant cnd cutm cea mai bun mprire a
nodurilor arborelui de decizie. Ca urmare, prima tehnic folosit n SLIQ este de a implementa o schem care
elimin nevoia de a sorta datele la fiecare nod al arborelui de decizie. n schimb, setul de date este sortat o
singur dat pentru fiecare atribut numeric la nceputul fazei de creare a arborelui.
Structura algoritmului arat astfel:
CreareArbore (Setul de date T)
Partiionare(T)
Partiionare (Data S)
Dac toate punctele din S sunt din aceeai clasa
Atunci intoarce
Evaluare mprire pentru fiecare atribut A;
Folosete cea mai bun mprire pentru a partiiona S n S1 i S2;
Partiionare(S1);
Partiionare(S2);

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Pentru a evalua ct de bun este alternativa mparirii unui atribut se folosete un index numit gini. Aceste se
folosete pentru a msura intrri inegale, dar se poate folosi pentru a msura orice form de distribuii inegale.
Indexul gini este un numr ntre 0 i 1 si masoara gradul de impuritate al unui nod T. Valoarea minima este 0
cand toate inregistrarile apartin aceleasi clase i 1 corespunde cu inegalitatea perfect cand toate inregistrarile
apartin unor clase diferite.
Dac un set de date S conine exemple din n clase, Gini(S) este definit ca:
1

unde pj este frecvena relativ a clasei j n S. Exemple:

C1

C1

C2

C2

Gini = 1-(0/6)^2 - (6/6)^2 = 0


C1

C2

C3

Gini = 1-(1/6)^2-(5/6)^2 = 0,278

Gini = 1-(2/6)^2-(1/6)^2-(3/6)^2 = 0,611

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Dup splitarea S n dou subseturi S1 i S2 indexul gini este definit ca:

In general pentru un nod splitat in k partitii:

unde: ni este numarul de copii ai descendentului i si n numarul de inregistrari in nodul p


Exemplu:
S
v1

v2

v3
Node N3

Node N2

Node N1

Atribut
N1 (valoare1)

N2 (valoare2)

N3 (valoare3)

C1

C2

Gini(N1)=1(1/5)^2(4/5)^2=0,32

Gini(N2)=1(2/3)^2(1/3)^2=0.444

Gini(N3)=1-(1/2)^2(1/2)^2=0,5

Gini_split=(5/10)*Gini(N1)+(3/10)*Gini(N2)+2/10*Gini(N3)=0,393

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Pentru evaluarea mpririi se folosete urmtorul algoritm:


Evaluaremprire()
Pentru fiecare atribut A, Execut
Parcurge lista de atribute a lui A
Pentru fiecare valoare v din lista de atribute,
Execut
Gsete intrarea corespunztoare n lista de clase i de aici clasa corespunztoare i ramura nodului 1
Actualizeaz histograma clasei n ramura 1
Dac A este un atribut numeric atunci
Calculeaz indexul de splitare pentru test (Av) pentru 1
Dac A este un atribut direct atunci
Pentru fiecare ramur a arborelui
Execut
Gsete subsetul din A cu cea mai bun splitare
Pentru actualizarea listei de clase se folosete urmtorul algoritm:
UpdateLabels()
Pentru fiecare atribut A folosit ntr-o splitare Execut
Parcurge lista de atribute a lui A
Pentru fiecare valoare v din lista de atribute, Execut
Gasete intrarea corespunztoare n lista de clase e Gsete noua clas c de care aparine v aplicnd
testul de splitare nodului referin din e.
Actualizeaz eticheta clasei de la e la c
Actualizeaz nodul referin n e copilului corespunztor clasei c
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Exemplu de aplicare a algoritmului SLIQ Estimarea riscului de credit


Nr.
Crt.

Nume Client

Istoria
creditului

Datorii

Garanii

Venit

Clasificarea
Riscului

Andrei

Rea

Mari

Fara

0 15k

Mare

Ion

Necunoscuta

Mari

Fara

15 35 k

Mare

Marius

Necunoscuta

Mici

Fara

15 35 k

Vlad

Necunoscuta

Mici

Fara

0 15k

Bogdan

Necunoscuta

Mici

Fara

> 35k

Mic

Sorin

Necunoscuta

Mici

Adecvate

> 35k

Mic

Alex

Rea

Mici

Fara

0 15k

Mihai

Rea

Mici

Adecvate

> 35k

Lucian

Buna

Mici

Fara

> 35k

Mic

10

Rares

Buna

Mari

Adecvate

> 35k

Mic

11

Samir

Buna

Mari

Fara

0 15k

12

Petru

Buna

Mari

Fara

15 35 k

13

Marcel

Buna

Mari

Fara

> 35k

14

Sorin

Rea

Mari

Fara

15 35 k

Moderat
Mare

Mare
Moderat

Mare
Moderat
Mic
Mare

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Datorii

Garantii

Mari

Mici

RM

Mod

Rm

Fara

Adecvate

RM

Mod

Rm

Gini=0,571

Gini=0,653

Gini=0,595

Gini=0,44

Gini_split=0,612

Gini_split=0,563

Istorie credit

Venit
0-15k

15-35k

>35k

RM

Mod

Rm

Gini=0,375

Gini=0,56

Gini=0

Gini=0,5

Gini=0,278

Necunnoscuta

Rea

Buna

RM

Mod

Rm

2
Gini=0,64

Gini_split=0,536

Gini_split=0,262

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Nr.
Crt.

Nume Client

Istoria
creditului

Datorii

Garanii

Venit

Clasificarea
Riscului

Andrei

Rea

Mari

Fara

0 15k

Mare

Vlad

Necunoscuta

Mici

Fara

0 15k

Mare

Alex

Rea

Mici

Fara

0 15k

Mare

11

Samir

Buna

Mari

Fara

0 15k

Mare

Nr.
Crt.

Nume Client

Istoria
creditului

Datorii

Garanii

Venit

Clasificarea
Riscului

Ion

Necunoscuta

Mari

Fara

15 35 k

Mare

Marius

Necunoscuta

Mici

Fara

15 35 k

Moderat

12

Petru

Buna

Mari

Fara

15 35 k

Moderat

14

Sorin

Rea

Mari

Fara

15 35 k

Mare

Istorie credit
Necunnoscuta

Rea

Garantii

Datorii
Buna

Mari

Fara

Mici

Adecvate

RM

RM

RM

Mod

Mod

Mod

Rm

Rm

Rm

Gini=0,5

Gini=0

Gini=0

Gini=0,444

Gini=0

Gini=0,5

Gini=0

Gini_split=0,25

Gini_split=0,267

Gini_split=0,5

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Nr.
Crt.

Nume Client

Istoria
creditului

Datorii

Garanii

Venit

Clasificarea
Riscului

Ion

Necunoscuta

Mari

Fara

15 35 k

Mare

Marius

Necunoscuta

Mici

Fara

15 35 k

Moderat

12

Petru

Buna

Mari

Fara

15 35 k

Moderat

14

Sorin

Rea

Mari

Fara

15 35 k

Mare

Istorie credit
Necunoscuta

Rea

Buna

RM

Mod

Rm

Gini=0,5

Gini=0

Gini=0

Gini_split=0,25

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Nr.
Crt.

Nume Client

Istoria
creditului

Datorii

Garanii

Venit

Clasificarea
Riscului

Ion

Necunoscuta

Mari

Fara

15 35 k

Mare

Marius

Necunoscuta

Mici

Fara

15 35 k

Moderat

Garantii
Fara

Adecvate

RM

Mod

Rm

Gini=0,5

Gini=nedef

Gini_split=0,5
Datorii
Mari

Mici

RM

Mod

Rm

Gini=0

Gini=0

Gini_split=0

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Nr.
Crt.

Nume Client

Istoria
creditului

Datorii

Garanii

Venit

Clasificarea
Riscului

Bogdan

Necunoscuta

Mici

Fara

> 35k

Mic

Sorin

Necunoscuta

Mici

Adecvate

> 35k

Mic

Mihai

Rea

Mici

Adecvate

> 35k

Moderat

Lucian

Buna

Mici

Fara

> 35k

Mic

10

Rares

Buna

Mari

Adecvate

> 35k

Mic

13

Marcel

Buna

Mari

Fara

> 35k

Mic
Garantii

Datorii

Istorie credit

Fara

Adecvate

Mari

Mici

RM

RM

Mod

Mod

Rm

Rm

Gini=0

Gini=0

Gini=0

Gini=0

Gini=0,444

Gini=0

Necunoscuta

Rea

Buna

RM

Mod

Rm

2
Gini=0

Gini_split=0

Gini_split=0,167

Gini_split=0,148

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Determinarea arborelui de decizie cand avem valori numerice

Crt.

Stare
civila

Venit
impozabil

necasatorit

125k

no

casatorit

100k

no

necasatorit

70k

no

casatorit

120k

no

divortat

95k

casatorit

divortat

no

220k

no

necasatorit

85k

casatorit

75k

10

necasatorit

90k

65

yes

60k

55

Eludeaza
plata
impozit

Stare civila

yes
no

necasatorit

casatorit

yes

no

Gini_split=0,3

yes

72

87

divortat

92

97

110

122

172

230

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

<=

>

yes

no

Gini_
split

0,42

0,4

0,375

0,417

0,4

0,3

0,343

0,375

0,4

0,42

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

<=97k

Crt.

Stare
civila

Venit
impozabil

Eludeaza
plata
impozit

necasatorit

70k

no

divortat

95k

yes

casatorit

60k

necasatorit

9
10

>97k

no

Crt.

Stare
civila

Venit
impozabil

Eludeaza
plata
impozit

no

necasatorit

125k

no

85k

yes

casatorit

100k

no

casatorit

75k

no

casatorit

120k

no

necasatorit

90k

yes

divortat

220k

no

55

65

72

87

92

<=

>

<=

>

<=

>

<=

>

<=

>

yes

no

0,5

Gini_
split

0,4

0,25

0,4

0,5

Stare civila
necasatorit

casatorit

divortat

yes

no

Gini_split=0,222

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Venit
impozabil

<=97k

>97k

Stare
civila
no
necasatorit
divortat

casatorit

Crt.

Stare
civila

Venit
impozabil

Eludeaza
plata
impozit

necasatorit

70k

no

necasatorit

85k

yes

10

necasatorit

90k

yes

65

72

87

necasatorit

Venit
impozabil
<=72k

92

>

<=

>

<=

>

<=

>

yes

no

0,444

0,333

Stare
civila

<=97k

>97k

no

<=

Gini_
split

Venit
impozabil

yes

no

no

casatorit

no

divortat
yes

>72k
yes

0,444

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

4. Sistemul CAD (Computer Aided Design Proiectarea asistat de calculator)


4.1 Procesul de proiectare
Activitatea de proiectare este una din principalele activiti care influeneaz eficiena sistemului de fabricaie.
Intrarea n acest sistem poate fi iniiat din exterior de ctre o comand client, fiind preluat prin intermediul
serviciului de marketing i prognoz, sau din interior, ca urmare a unor studii de prospectare a pieei. n ambele
cazuri, la nivelul sistemului CAD intrarea se materializeaz sub forma unor specificaii de proiectare, concepute
astfel nct produsul proiectat s satisfac urmtoarele cerine:
de form (form), (proprieti legate de forma produsului, stilul i caracterul acestuia);
de potrivire (fit) cu cerinele pieei din punctul de vedere al criteriului de ctigare a comenzii, cu alte
produse aflate deja n fabricaie i cu cerinele segmentului int cruia i se adreseaz;
funcionale (function) - nglobeaz caracteristicile care definesc produsul din punctul de vedere al
performanelor, fiabilitii, ntreinerii, precum i al altor criterii generale de ctig a comenzii).
Specificaiile de proiectare sunt preluate simultan/concurent de echipe cu atribuii diverse dup cum urmeaz:
proiectare (product engineering), preiau specificaiile de proiectare i le materializeaz sub forma
proiectului produsului;
analiz (analyse engineering) testeaz i simuleaz funciile produsului;
dezvoltare (development engineering) se ocup de realizarea prototipului i testarea acestuia;
cercetare, susin activitile de mai sus, sub aspect teoretic, al standardizrii activitilor i al modului de
organizare.
Modul n care aceste echipe interacioneaz definesc un prim model al sistemului i anume modelul
activitilor de proiectare. n literatur sunt prezentate mai multe astfel de modele propuse de diveri autori.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Principalele activiti sunt: conceptualizarea, sinteza, analiza, evaluarea i realizarea documentaiei.

Elaborarea
conceptului

Sinteza

Analiza

Evaluarea

Documentaia

Fig. 1 nlnuirea etapelor n modelul desfurrii proiectrii

Elaborarea conceptului reprezint clarificarea sarcinii de proiectare sub aspectul elaborrii cerinelor de
form, potrivire i funcie (form-fit-function) ale produsului final.
Pn la aceast etap, se analizeaz dac problema de proiectare este similar cu alte probleme de
proiectare anterioare, clasificndu-se ca tipic sau atipic. n cazul unei probleme atipice trebuie elaborat
conceptul de proiectare aplicarea metodelor de proiectare pentru crearea unui produs nou cu caracteristici
unice. Aceast activitate este preponderent creativ, dar se ia n considerare utilizarea unor subansamble
standard sau a unor rezultate anterioare obinute. Spre deosebire de cazul problemelor atipice, n cazul
problemelor tipice se folosete proiectarea repetitiv (se aplic concepte de proiectare sau pri componente
elaborate anterior, la alte produse similar, sau adaptri minore ale acestora). Proiectarea repetitiv necesit un
sistem de clasificare a produselor curente pe baza cruia s se identifice asemnrile (criteriile de clasificare se
bazeaz pe analiza parametrilor produselor sau subansamblelor cu form i funcii asemntoare, dar diferite
prin mrime i detalii) i utilizarea unor modele de proiectare grafice i analitice care s poat fi transmise i
recepionate printr-un sistem de comunicaie adecvat.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Sinteza continu faza de elaborare a conceptului prin adugarea specificaiilor de material, a unor noi
caracteristici geometrice i detalierea dimensiunilor geometrice. Aceast etap este important pentru c urmrete
s raionalizeze detaliile geometrice ale produsului i caracteristicile de material, aspecte care influeneaz
substanial costurile de fabricaie fr a contribui la valoarea de pia a acestuia. Pentru aceasta se utilizeaz
conceptele de proiectare pentru asamblare i proiectarea pentru fabricaie, care au fost amintite la impactul
tehnologiilor specifice de fabricaie. La acest nivel se stabilete 70% din preul final al produsului, ceea ce determin
parcurgerea mai multor iteraii prin care se optimizeaz soluia final.
Analiza este metoda de determinare sau descriere a naturii unui lucru prin separarea n prile componente. n
urma analizei se studiaz varianta sau variantele furnizate n cadrul sintezei, stabilindu-se gradul de satisfacere a
cerinelor din specificaiile de proiectare. Este un proces intens interactiv, n care se utilizeaz analiza proprietilor
de mas (calculul masei, a volumelor, i suprafeelor, a centrelor de greutate i a momentelor de inerie etc., analiza
toleranelor i interferena ansamblului stabilirea faptului c operaiile de asamblare vor decurge corespunztor) i
metoda elementului finit (se determin limitele la efort, transferul cldurii i limitele teoretice de funcionare).
Evaluarea const n verificarea proiectului relativ la specificaiile de proiectare. Pe lng verificarea soluiei
provenit n urma sintezei i analizei se evalueaz relaia dintre capacitile de producie i specificaiile de
asamblare i fabricaie ale proiectului. Evaluarea necesit de multe ori realizarea unui prototip.
Realizarea rapid a prototipului (Rapid prototyping) este conceptul modern utilizat pentru evaluarea
performanelor operaionale. Dac proiectul satisface toate criteriile se nainteaz pentru elaborarea documentaiei.
Elaborarea documentaiei ansamblul activitilor prin care se elaboreaz toate vederile prilor componente,
adugarea detaliilor de proiectare (note de fabricaie, dimensiuni i tolerane), elaborarea documentelor, asignarea
codurilor prilor componente, elaborarea listei de materiale i tabelei de referine, realizarea fiierelor de date ce vor
fi transmise spre planificarea i controlul fabricaiei, spre producie i controlul calitii.
Desfurarea activitilor de proiectare simultan/concurenial implic proiectarea produsului cu luarea n
considerare a ciclului de via al acestuia. Introducerea acestui concept n modelul organizatoric al activitilor de
proiectare este ilustrat nurmatoarea figura.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Cercetarea pieei

Echipa de proiectare
concurent
- ingineri tehnologi
- furnizori de echipamente
- proiectani
- controlul produciei
- programatori CNC
- proiectani scule i
dispoziive
- controlul calitii
- furnizori componente
- proiectani scule
- achiziie
- marketing

Stabilirea costurilor i a
sarcinilor de producie
Procesul de proiectare
a produsului
Proiectare
simultan/concurent

Se obin costurile
planificate?

- conceptualizare
- sintez
- analiz
- evaluare
- documentaie

Nu

Da
Dezvoltarea sistemului de
fabricaie

Operarea sistemului de
fabricaie

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

4. 2 Rolul comunicrii i al modelelor n sistemul CAD


Activitatea de proiectare este una creativ i abstract (produsul este virtual pn n faza de realizare a
prototipului). Din acest motiv este necesar introducerea unui sistem de reprezentare a ideilor proiectului.
Sistemul de reprezentare este compus din totalitatea modelelor utilizate pentru reprezentarea
caracteristicilor produsului i a prilor componente. n funcie de complexitatea proiectului, modelul produsului
reprezint o modalitate de fixare a ideilor, dar i un mijloc de comunicare ntre participanii la aceast activitate.
n urma comunicrii, modelul este analizat de participani pe baza unor protocoale standardizate sau a unui set
de reguli i n urma acestei activiti se completeaz cu elemente noi care genereaz alte modele.
Modelul este un suport pentru evaluarea informaiilor i generarea de noi informaii. Pentru aceeai
component a unui produs pot exista simultan mai multe tipuri de modele diferite ntre ele, n funcie de ce
proprietate a proiectului trebuie modelat i de receptor.
De exemplu, la un subansamblu mecanic se poate modela forma, cinematica, comportamentul la efort,
transferul cldurii etc.
Uzual n procesul de proiectare se modeleaz:

funcia,
forma,
structura,
proprietile de material,
condiiile impuse suprafeelor,
tolerane sau dimensiuni ale produsului.

Receptorii sunt participanii la acest proces.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Dintre toate proprietile modelate o importan deosebit o au forma i structura. Acestea influeneaz n
mod diferit modul n care se face reprezentarea.
Forma se reprezint prin desenarea acesteia n timp ce structura se reprezint folosind simboluri abstracte
care modeleaz modul intern de conectare i circuitul fluxului de informaii, energie sau materiale. Structura se
modeleaz prin scheme sau diagrame. O parte semnificativ a procesului de proiectare a structurii poate avea loc
fr a detalia forma. Aceast metod de proiectare poart denumirea de ingineria sistemelor.
Relativ la buna comunicare ntre participani, o alt condiie este legat de limbajul de comunicare folosit.
Complexitatea proiectelor poate conduce la dificulti de interpretare, ambiguiti de reprezentare i erori de
evaluare. n consecin, proiectarea modelelor trebuie s se raporteze la o serie de standarde care definesc
sintaxa limbajului de comunicare.
Modelarea cu ajutorul calculatoarelor trebuie s suporte o modalitate de elaborare progresiv a proiectului,
activitile de proiectare detaliate anterior, metodele de evaluare i s furnizeze un mijloc de comunicare. Rolul
calculatorului este de a automatiza i asista activitile de elaborare a desenelor, a genera lista de materiale a
produsului i la un nivel superior de a facilita noi tehnici de elaborare i asistare a procesului de proiectare.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

4.3 Arhitectura sistemelor CAD


n cele prezentate anterior sistemele CAD au fost descrise logic. Fizic, un sistem CAD este compus din:
structura hardware (calculatorul i dispozitivele periferice), structura software (programele care ruleaz pe
structura hardware), structura de date (structura de date creat i manipulat de software) i operatorii umani (care
pe baza cunotinelor desfoar activiti). Arhitectura sistemelor CAD este reprezentat n fig. 3.

Definire model

Funcii

Structura de date

Baza de date
- Modelele componentelor
- Desene
- Standarde
- Biblioteci
- date

Date de lucru
- Date geometrice
- Date asociate

Manipulare
model
Generare grafic
Utilitare

Intrare/
ieire

Utilizatori

Managementul
bazei de date
(DBMS)
Aplicaii

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Funciile CAD sunt:

definire model (adugarea componentelor geometrice unui desen)


manipulare model (operaiile move, copy, delete, edit, sau orice alte comenzi care modific elementele
desenului)
generare grafic (algoritmii de generare a imaginilor pe ecran sau pe un dispozitiv de imprimare)
interfa utilizatori (sistemul de preluare a comenzilor date de utilizatori i de prezentare a ieirii ctre
utilizatori sub un anumit sistem de operare)
managementul bazei de date (managementul fiierelor care alctuiesc baza de date)
aplicaii (aceste elemente de software nu modific modelul proiectului, ci l utilizeaz pentru generarea
informaiilor de evaluare, analiz sau fabricaie)
utilitare (termen generic ce definete toate modulele software care nu afecteaz direct modelul, dar modific
modul de operare al sistemului ntr-un anumit fel, de exemplu: selectarea culorii afiate, unitile de msur
utilizate, etc.)
Aceste funcii se vor studia n laborator, n cazul unor CAD-uri particulare.
4.4 Definirea modelului i reprezentarea structurii

Tehnica reprezentrii formelor 3D n spaiul cu dou dimensiuni, prin intermediul desenului tehnic pe hrtie
sau cu ajutorul calculatorului poart denumirea de geometrie descriptiv. Primele nceputuri aparin lui Albrecht
Durer n sec. 15-16, dar n forma n care se utilizeaz astzi, dezvoltarea aparine inginerului militar francez
Gaspard Monge (1764-1818). Monge a introdus o metod de reprezentare a formelor prin proiecia acestora n
dou planuri mutual perpendiculare. Esena metodei lui Monge se utilizeaz i astzi. Formele 3D sunt
reprezentate n dou dimensiuni prin punerea n coresponden a punctelor obiectului cu punctele proieciilor
acestuia n mai multe planuri mutual perpendiculare, prin utilizarea proieciilor paralele, perpendiculare pe
planurile de proiecie. Din proiecia punctelor se obine proiecia muchiilor i din muchii suprafeele. Proiecia n
2D se obine prin desfurarea planurilor perpendiculare ntr-un singur plan, vezi figura de mai jos

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

n aceast metod se utilizeaz o serie de convenii descrise detaliat n standarde. De exemplu: ntr-un
desen se utilizeaz diferite tipuri de linii cu semnificaii diferite, seciunile se reprezint ca i cum o anumit
parte a obiectului este nlturat, proieciile se realizeaz n dou moduri proiecia paralel (care pstreaz scara
obiectelor) i proiecia de perspectiv (care creeaz impresia de profunzime pentru interpretarea desenului).
Diagramele sau schemele sunt reprezentate printr-o serie de simboluri conectate prin conexiuni. Modalitatea de
reprezentare a simbolurilor i a conexiunilor este de asemenea stabilit prin standarde. n figura de mai jos se
prezint un exemplu de modelare a structurii prin simboluri i conexiuni n ORCAD.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

O modalitate de reprezentare n astfel de modele este reprezentarea de tip top-down. Iniial sunt prezentate
numai relaiile dintre blocuri. Prin selectarea unui bloc urmeaz o detaliere a acestuia i, prin selecii consecutive
se determin continuarea detalierii structurii. Modalitile descrise utilizate n reprezentarea formei i structurii
au avantaje incontestabile validate n timp prin utilizarea acestora. Practic, orice produs poate fi reprezentat prin
aceste metode. Totui sunt i o serie de dezavantaje: n cadrul unor produse complexe documentaia poate
conine un numr foarte mare de desene, interpretarea modelelor necesit cunotine avansate pe care trebuie s
le aib toi participanii la aceast activitate, pot apare erori n generarea modelelor, curbe complexe pot fi foarte
greu de reprezentat prin tehnicile convenionale, extragerea informaiilor din desene s-a dovedit a fi subiectiv i
n unele situaii reprezentrile prezint ambiguiti.
4.5 Reprezentarea desenelor i schemelor cu calculatorul
4.5.1 Realizarea schielor
Se refer la reprezentarea geometriei. Modalitatea este n general asemntoare cu cea clasic. Se utilizeaz
aceleai standarde i geometria conturului se reprezint printr-o serie de elemente geometrice precum puncte,
linii, arce, cercuri, elipse, elementele geometrice individuale purtnd numele de entiti geometrice, fig.6. Aceste
entiti vor fi definite de sistem prin valori numerice, reprezentnd punctele de coordonate sau alte date. De
exemplu, o linie este definit prin coordonatele x i y ale punctelor extremitilor, sau un arc de cerc prin
coordonatele centrului cercului, raz i unghiul de start i de stop. n reprezentarea manual dimensiunea
desenului reprezint o constrngere.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

n reprezentarea pe calculator aceast restricie dispare. Modelul este construit printr-o serie de proceduri
de calcul care sunt condiionate numai de numrul entitilor ce pot fi stocate i manipulate de calculator. n
consecin n CAD desenele pot fi reprezentate n vedere complet, indiferent de mrimea lor. De asemenea,
calculatorul furnizeaz utilizatorului un numr mare de variante de definire a entitilor geometrice. De exemplu,
n AUTOCAD un cerc se poate defini prin centru i raz, centru i diametru, 2 puncte, 3 puncte, tangent
tangent i raz, tangent tangent tangent. De asemenea, definirea unor entiti se poate face pe baza entitilor
deja definite. Coordonatele pot fi introduse prin valori numerice sau prin localizarea cu mouse-ul a punctului pe
ecran.
O parte din comenzile de manipulare a desenului n AUTOCAD sunt: erase, copy, mirror, move, rotate,
scale, strech (fig. 7), trim (fig. 8), extent, join entities.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Desenarea schemelor const n asistarea de ctre calculator n procesul de producere a schemelor. i acest tip de
reprezentare folosete entiti geometrice. Diferena const n faptul c acestea sunt agregate sub form de simboluri
i conexiuni.
Programele au facilitatea de a grupa o colecie de entiti care mai sunt cunoscute sub numele de pattern,
template sau symbol. Schema este construit dintr-o serie de pattern-uri conectate prin polilinii. Simbolurile cu care
se construiete schema au puncte de conexiune i conectori care permit realizarea legturilor. Programul permite
extragerea dintr-un astfel de desen a listei simbolurilor i a modului cum sunt conectate. Aceasta din urm poart
denumirea de netlist.
O astfel de reprezentare este util pentru identificarea conexiunilor neutilizate, sau a conexiunilor incomplete. n
plus intrrile schemei pot fi modelate i sistemul simulat, fig.9.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Modelarea corpurilor prin metoda WIREFRAME


Principiul de reprezentare consta in memoreaza pozitiile liniilor 2D sau 3D
Folositor pentru realizarea schitelor, fiind usor de realizat vederi multiple si de editat.
Ambiguitate in reprezentarea suprafetelor, ceea ce limiteaza posibilitatile de interfatare cu sistemul de
fabricatie asistata de calculator (nu permite masurarea volumelor sau generarea traiectoriilor de prelucrare
pentru NC.
Un exemplu de reprezentare prin wireframes este indicat in figura de mai jos, corpul reprezentat in stanga.
Interpretarea acestuia poate conduce la multiple solutii sugerate in figura de mai jos dreapta.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Modelarea suprafetelor
Permite reprezentarea ecuatiilor suprafetelor
Cele mai multe biblioteci grafice 3D folosesc tehnica de
modelarea suprafetelor.
Avantaje:
- permit vizualizarea suprafetelor complexe
si generarea automata a traiectorieie de
prelucrare pe NC.
Dezavantaje: informatiile privind volumul corpurilor sau
materialul sunt ambigue sau dificil de determinat.
In fig. alaturata sunt diferite reprezentari prin aceasta tehnica.
Modelarea solidului
Aceasta se realizeaza prin diverse tehnici:
crearea unor primitive
operatii Booleane
operatii de baleiere
operatii de suprafata
modelarea pe baza caracteristicilor ingineresti
modelarea parametrica

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Crearea primitivelor
Primitivele sunt forme solide elementare cu suprafete
matematice simple.
Pot fi controlate printr-un numar mic de parametrii si
pozitionate prin transformari matriciale (vezi fig. alaturata).
Operatii Booleene
Operatiile Booleene sunt utilizate pentru realizarea unor
corpuri mai complicate prin combinarea primitivelor.
Sunt posibile trei tipuri de operatii:
reuniune sau join
intersectie
diferenta

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Operatii de baleiere
Folosesc reprezentari wireframe 2D ale sectiunilor pentru a
genera solidul 3D.
Aceasta include operatii ca:
extrude (extruziune)
revolve (generarea suprafetelor de revolutie)
sweep (generarea suprafetelor prin baleiere)
loft

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Operatii asupra suprafetelor


Acestea opereaza direct asupra modelului suprafetelor
corpului solid, asupra muchiilor sau colturilor pentru a crea
modificarile dorite
Exemple:
chamfering
rounding/filleting
drafting
shelling
Modelarea pe baza caracteristicilor
Caracteristicile sunt forme care au anumite semnificatii
ingineresti. De obicei ele sunt reprezentari geometrice ale
operatiilor de prelucrare pe masina sau functia unei
componente
Exemple:
hole pocket (gaura - buzunar)
slot - boss
Se utilizeaza termenul de caracteristica pentru orice
operatie de modelare a corpului solid.
Unele sisteme furnizeaza caracteristici gata definite.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Tehnici de modelare geometric


Reprezentarea geometriei corpurilor cu ajutorul programelor de proiectarea asistat de calculator,
implic stabilirea unei metode matematice de modelare a entitilor geometrice adecvate scopului problemei.
Considernd cazul cel mai simplu al unei entiti geometrice 2D, reprezentarea matematic se poate face
prin utilizarea ecuaiilor explicite sau a celor implicite.
Dezavantajele acestor metode in reprezentarea grafica sunt scoase in evidenta, considerandu-se
urmatoarele exemple:
(ecuatia explicita a unei drepte)
0
2

(ecuatia implicita a unei drepte)


0 (ecuatia implicita a unei conice)

Pentru cazul formei implicite de reprezentare a dreptei, dac aceasta este vertical panta este infinit,
dreptele foarte aproape de cazul dreptelor verticale (paralele cu axa y) au valori foarte mari ale pantei;

dreapta reprezentat implicit este o dreapta de lungime infinit. In cazul unui program de desenare asistat
de calculator utilizatorul este interesat de ecuaia dreptei ntre dou puncte sau a unei drepte care satisfice
anumite condiii fat de alte elemente geometrice deja definite.

In cazul ecuaiei implicite a unei curbe pentru o anumit valoare a coordonatei y se pot obine mai multe
valori ale lui x. De asemenea, n CAD este necesar s se evalueze uor coordonatele unor puncte de pe
entitatea geometric cu anumite proprieti. Acest lucru este dificil de realizat pentru reprezentrile
explicite i implicite.

Apare n concluzie, necesitatea utilizrii altei metode matematice care s rezolve eficient toate
problemele enumerate. Aceasta este metoda parametric de reprezentare a entitilor geometrice.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Reprezentarea parametric a entitilor geometrice


Reprezentarea parametric a unei entiti geometrice implic reprezentarea coordonatelor unui punct de pe
curb funcie de unul sau mai muli parametri. In cazul general n care p este vectorul coordonatelor unui punct de
pe entitatea geometric, n spaiul cu n-dimensiuni:
si




cu:
, este vectorul parametrilor, atunci relaia funcional:
definete o entitate m dimensional pe
spatiul n dimensional. Fiecare din componentele (coordonatele) vectorului p este o funcie de vectorul u.
De exemplu, considernd spaiul tridimensional (n=3) i notnd componentele vectorului p cu x, y, z, ecuaia
parametric a unei curbe este:
,
,
,

O suprafata n spaiul tridimensional este reprezentat de ecuaiile :
,

i un corp n spaiul 3D va fi reprezentat de ecuaiile :


,

Un punct de pe entitatea geometric se poate identifica uor printr-un set de valori particulare date
componentelor vectorului u. Convenia utilizat pentru valorile parametrilor ui este ca acetia s varieze ntre 0 i
1. Coordonatele x0, y0, z0 ale unei entiti la care valorile parametrilor sunt 0 corespund punctului iniial.
Coordonatele xF, yF, zF , corespunztoare cazului n care toi parametrii au valoarea 1, punctului final.
De exemplu, pentru reprezentarea unei linii n spaiul 3D:

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

pentru :

0 se obin coordonatele punctului iniial al dreptei (


1 se obin coordonatele punctului final al dreptei (
0.5 se obin coordonatele mijlocului dreptei (

,
,
,

,
,
,

)
)
).

Reprezentarea parametric a curbelor polinomiale cubice


Reprezentarea corpurilor n CAD necesit posibilitatea de reprezentare a curbelor n spaiul 3D. Curbele
polinomiale cubice pot descrie curbe non-planare, avnd avantajul c utilizeaz polinoame de gradul cel mai mic,
ceea ce ofer un avantaj din punctul de vedere al calculelor.
Cum dou puncte pot fi legate printr-o dreapta i trei puncte printr-un arc de cerc, patru puncte pot fi legate
printr-o curb polinomial cubic. Determinarea unei curbe prin patru puncte poart denumirea de interpolare
Lagrange. Problema determinrii curbei de interpolare printr-un polinom de ordinul 3 se poate formula si in alt
mod: fiind date dou puncte i pantele n cele dou puncte. Aceast variant a problemei este cunoscut sub
numele de interpolare Hermite i este utilizat atunci cnd se dorete controlul pantei curbei n diferite puncte.
Interpolarea Lagrange
Se consider o curb polinomial de gradul trei n spaiul 3D. Aceasta poate fi descris de urmtoarele
ecuaii :

Rezolvarea acestui sistem implic determinarea celor 12 necunoscute (ai, bi, ci cu i=1,3) ceea ce necesita
cunoasterea coordonatelor a patru puncte (sistem de 12 ecuaii cu 12 necunoscute). In cazul interpolarii Lagrage
curba determinate trece prin cele patru puncte alese. Acest lucru este un avantaj, dar complexitatea calculelor face
ca metoda sa prezinte dezavantaje.
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Interpolarea Hermite
In cazul interpolarii Hermite se specifica
vectorii p0 si p1 la care curba este tangent
interpolare este descrisa de ecuatia:
2
3
, cu 0,1 si
necunoscutelor se scriu ecuatiile
si
obtine sistemul urmator:

doar punctul initial p0 si punctual final p1, precum si


in punctual initial si respectiv, punctual final. Curba de
si panta tangentei la curba:
k0, k1, k2, k3 vectorii necunoscuti. Pentru determinarea
in punctual initial (u=0) si in punctual final (u=1). Se

a carui soluie este:

2
Se inlocuiesc vectorii ki determinati in expresia
1

:
2

Expresia de mai sus poate risa matriceal dupa cum urmeaza:

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Functiile de combinare in parametrul u

1 0 0 0
0 0 1 0

3 3 2 1
2 2 1 1

Functia de interpolare Hermite

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Curbe Bezier
Curbele de interpolare Hermite au dezavantajul necesitatii cunoasterii vectorilor tangenti la curba in
punctual initial si final. Bezier propune utilizarea unui poligon de control format din patru puncte: p0, p1, p2, p3.
Vectorii tangenti la curba in punctual initial si final se clculeaza cu relatiile:
3
3
Se obtine sistemul:

3
2

Solutia sistemului este:

3
3

3
3

Inlocuind in expresia lui p(u) se obtine:


1

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Sub forma matriceala

are urmatoarea forma

Functiile de combinare in parametrul u

1 0 0 0
3 3 0 0

3 6 3 0
1 3 3 1

Functia de interpolare Bezier

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Expresia polinomului Bezier poate fi scrisa sub forma:


3!
3
cu:

! !

0,1 .

In cazul in care se utilizeaza curbe de interpolare de ordin mai mare ca 3, atunci expresia generala poarta
numele de polinomul Bezier-Bernstein si are forma:
!
! !

Unde, in acest caz, pi cu i=1,n sunt vectorii de pozitie ale celor n+1 colturi ale poligonului characteristic
generalizat.
De exemplu, folosind polinoame de interpolare de ordinul 5,

1
5
10
10
5
1

0
5
20
30
20
5

se poate scrie matriceal:


0
0
10
30
30
10

0
0
0
10
20
10

0
0
0
0
5
5

0
0
0
0
0
1

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Sistemul CAD/CAM

Geometrie

CAM

CAD

Strategia de
fabricatie

Prioritati

Geometrie

Cerere
piata

Fabricatie

Rute

CAPP

CAPM

Profilul
capabilitatilor
celulei de
fabricatie

Profilul
capacitatii
celulei de
fabricatie

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

CAD
Format
nativ

Fisier

Fisier

Fisier

.dxf

IGES

STEP

Translator
IGES

Translator
STEP

Translator
.dxf

Programarea
asistata de
calculator

Fisier format CAM

Fisier sursa
Compilare
Elaborarea
manuala a
codului

Translator
PDES

Fisier
parametri
tehnologici

Fisierul locatiilor
cutitului (CLDATA)
Post-procesare

Fisier
scule

Fisier
PDES

Fisierul locatiilor
cutitului (CLDATA)

Fisier geometria traseului

Codul masina (MCD)


Introducere
manuala a
datelor (MDI)

Transmiterea la
distanta

Afisare animata a
traseului prelucrat

Transmiterea la
masina

Plotter

CAM
Comanda numerica (NC)

Masina unealta
(MU)
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Limbaje simbolice

Limbajul APT: Automatic Programmed Tool


Alte limbaje:
IFAP (Germania)Waldo (1ier)PROMO (Franta)
EXAPT (Germania)COMPAC (Bendix)ELAN
MINIAPTSYMPAC (Univac)PAM
SYMAPNUMERISCRIPTGTL
AUTOPROGSPLITPSI
AUTOAPTCINAPCOMPACT II
ADAPTAUTOSPOTNEL (Ferranti)
AUTOPROPSAUTOPRESS (Anglia)NUCOM
PROFILEDATASNAPAUTOPIT (Germania)

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Limbajul APT
Introducere
Cel mai utilizat limbaj
Standardizat ANSI X3.37-1980
Suporta toate tipurile de prelucrari pe masini unelte:
Punct cu punct, Conturare, 2 axe, 2 1/2 axes sau mai multe axe (3,4,5)
Convenabil pentru diverse procese
Uzinare
Electro-eroziune
Sudura
Masini de desenare
Principii
Total independent de MUCN (Masina Unealta cu Comanda Numerica)
Utiliseaza propriul reper si nu sistemul de axe al MUCN

Caracteristici principale
Referinte simbolice (variabile cu nume)
Variabile scalare, vectoriale, matriciale, geometrice
Entitati geometrice (curbe si suprafete)
Descrierea sculei (forma cutitului, orientarea, precizia pe traiectorie)
Calcul scalar, matricial, geometric
Structurat (salt conditionat, bucle, macro-uri)
Instructiuni de control (tiparire, post-procesare, etc.)
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Arhitectura

Editor de texte

Sistem CAD

Program sursa
Instructiuni APT

Program sursa
Instructiuni APT
+
Referinte erori

Interpretor
Calcul
geometric

Calcul
deplasari scula
Cutter location File
CL File

Parametrii
(masina i)
Post-Procesor

Cod G
(masina i)

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Exemplu de program

LY

PARTNO EXEMPLE TYPE


CLPRNT
REMARK *** DEF. GEOM. ***
SETPT = POINT/ -1, -2, 1.5
ORIG = POINT/ 0, 0
LX = LINE/ XAXIS
LY = LINE/ YAXIS
C1 = CIRCLE/TANTO, LY, XLARGE, ORIG, RADIUS, 1.5
L1 = LINE/ (POINT/0, -2), RIGHT, TANTO, C1
C2 = CIRCLE/YSMALL, LX, YLARGE, L1, RADIUS, .5
C3 = CIRCLE/CENTER, ORIG, RADIUS, 1.5
C4 = CIRCLE/ YLARGE, LX, XLARGE, OUT, C3, RADIUS, .5
L2 = LINE/ LEFT, TANTO, C2, RIGHT, TANTO, C3
REMARK *** DEF. TOL., OUTIL, PARAMETRES ***
CUTTER/ 0.5
INTOL/ .005
OUTTOL/ 0.
SETP
SPINDL/2000,CLW
T
FEDRAT/20.0
COOLNT/ON
REMARK *** DEPLACEMENT OUTIL ***
.

C4
R=1.5

R=0.5
LX

ORIG
C3

R=0.5
C2

C1
L1
R=1.5

0,-2

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

L2

REMARK *** DEPLACEMENT OUTIL ***


FROM/ SETPT
INDIRV/ 1,0, 0
GO/ PAST, L1
TLRGT, GOFWD/ L1, TANTO, C2
GOFWD/C2,TANTO,LX
GOFWD/ LX, TANTO, C4
GOFWD/ C4, TANTO, C3
GOFWD/ C3, TANTO, L2
GOFWD/ L2, PAST, LY
GOBACK/ LY, TANTO, C1
GOFWD/ C1, TANTO, L1
TLLFT, GOBACK/ L1, PAST, LY
GOTO/ SETPT
END
FINI

LY

C4

LX

ORIG
C3

C2

C1
L1

L2
SETPT

0,-2

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Elementele limbajului
Sintaxa. Caractere utilizate.
,separator de baza
/separator de cuvant major
*semn de multiplicare
**semn de ridicare la putere
+numar cu semn pozitiv sau semn de adunare
-numar cu semn negativ sau semn de scadere
$caractere de continuare de linie
$$comentariu
=semn de asignare
.Punct zecimal
()incadreaza parametrii functiei, indici de tabel,
expresii ale unui IF, definitii imbricate
)eticheta unei linii

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Cuvinte cheie
Tipuri de entitati geometrice: POINT, SPHERE, PLANE, etc.
Operatori si functii: IF, SINF, COSF, etc.
Instructiuni post-procesor: STOP, SPINDL, END, etc.
Modificatori: XLARGE, ON, LEFT, etc.
Cuvinte de miscare: GO, GODLTA, etc.
Moduri de operare: NOPOST, CLPRNT, etc.
Sintaxa
Numeretratate ca numere reale, toate formele traditionale de notatie
(totdeauna . Inaintea lui E , ex: 1.E3)
Simbolurinume de variabile de 1 pana la 6 caractere alfanumerice
Eticheta 1 la 6 caractere alfanumerice la stanga liniei care urmeaza
SYN/definirea de sinonime (ex: SYN/PT, POINT, CI, CIRCLE)

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Calcul
Operatori aritmetici+ - * / **
Functii scalare cele din Fortran IV
SINF, COSF, TANF, ATANF, ATAN2F, ABSF, SQRTF, LOGF, LOG10F, EXPF
Functii vectoriale
LNTHF (Vector)Norma vectoriala
DOTF (Vector 1, Vector 2)Produsul scala al Vector 1, Vector 2
Functii geometrice
ANGLF (Cerc, Punct)Unghiul in grade
Punct
ANGLF

Cerc

X+

DISTF (Plan1, Plan2)Distanta intre doua plane paralele


DISTF (Ligne1, Ligne2)Distanta intre doua plane paralele
NUMF (Pattern)Numar de puncte al unui pattern

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Tablouri
RESERV/Nume_tablou, N

Declara un tabel cu N elemente,

Exemple
RESERV/T,12
Tabloul T de 12 elemente
T(1) = 12.34
T(1, THRU, 5)T(1), T(2), , T(5)
T(THRU, 5)
idem
T(ALL)
Toate elementele tabloului
T(5, THRU, ALL)T(5), T(6), , T(12)
T(3,THRU, 8, INCR, 2) T(3), T(5), T(7)
T(ALL, DECR, 3)T(12), T(9), T(6), T(3)
P1 = POINT/ T(3, THRU, 5)$$ X = T(3), Y = T(4), Z = T(5)

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Entitati geometrice:

POINT punct (se poate utiliza deasemenea ca un vector)


LINE linie (plan orthogonal pe planul XY, trecand printr-o linie)
CIRCLE cerc (cilindru ortogonal pe planul XY, trecand printr-un cerc)
ELLIPS elipsa
HYPERB hiperbola
GCONICa x2 + bxy + cy2 + dx + ey + f = 0
curba plana,
LCONIC Loft conic, o conica definita prin 5 puncte
, 4 puncte + tangenta sau 3 puncte + 2 tangente
PLANE plan
CYLNDR cilindru
CONE cone
SPHERE sfera
QADRIC ax2 + by2 + cz2 + dyz + exz + fxy + gx + hy + iz + j = 0
TABCYL Cilindru tabulat,

RLDSRF Suprafata rulata

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

POLCON Polyconique, suprafata policonica


VECTOR Vector
MATRIX Matrice

Definitia unei entitati geometrice


Format generalIdent = Tip / Definitie
Ident: nume de variabila
Tip: tipul entitatii
Definitie:
metoda de definire a entitatii
ZSURF definirea unei valori implicite pentru Z ZSURF/Plan
ZSURF/a,b,c,d

Modificatori
Pentru ca definirea unei entitati poate conduce la mai multe solutii posibile, modificatorii permit
discriminarea solutiei dorite.
Exemplu: Intersectia unei linii cu un cerc = 2 solutii posibile

?
?

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

XSMALL, YSMALL, XLARGE, YLARGE, RIGHT, LEFT, LARGE, SMALL, etc.


A II-a intrare a definitiei
YLARGE
XSMALL
LEFT
Y
X

RIGHT
XLARGE
YSMALL

Prima intrare a definitiei

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Declaratii geometrice (definitii ale entitatilor geometrice ale conturului de prelucrat)

POINT
Coordonate rectangulare
PNT1 = POINT/ xcoord, ycoord [,zcoord]
Intersectia a doua linii
PNT2 = POINT/ INTOF, Linie1, Linie2
Intersectia unei linii cu un cerc
PNT3 = POINT/ *Mod, INTOF, Linie1, Cerc1
Intersectia a doua cercuri
PNT4 = POINT/ *Mod, INTOF, Cerc1, Cerc2
Pe un cerc la un unghi
PNT5 = POINT/ Cerc1, ATANGL, Degrees
Centrul cercului
PNT6 = POINT/ CENTER, Cerc1
Intersectia linie conica
PNT7 = POINT/ *Mod, INTOF, Linie1, Conica

PNT5
Degrees

Cerc1

* Mod = XLARGE, YLARGE, XSMALL, YSMALL

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Intersectia a trei plane


PNT8 = POINT/ Plan1, Plan2, Plan3
Coordonate polare
PNT9 = POINT/ RTHETA, *Pref, Raza, Unghi
PNT10=POINT/ THETAR, *Pref, Unghi, Raza
Intersectia linie TABCYL
PNT11=POINT/ INTOF, Line, TabCl1, Point
Point
TabCl1
Y

Line

PNT11
X

Punctul N dintr-un patern


PNT12=POINT/ Patt, N
* Mod = XLARGE, YLARGE,
XSMALL, YSMALL
*Pref = XYPLAN, YZPLAN,
ZXPLAN

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

POINT
Exemple

PF
C2
PG

PA = POINT/ 10,10
PB = POINT/ INTOF, L1, L2
PC = POINT/ YSMALL, INTOF, L1, C1
PE = POINT/ XSMALL, INTOF, C1, C2
PF = POINT/ C2, ATANGL, 45
PG = POINT/ CENTER, C2
PH = POINT/ YSMALL, INTOF, L2, K1
PI = POINT/ PL1, PL2, PL3
PJ = POINT/ THETAR, ZXPLAN, 45, 20

45
L2

Y
PE

10

C1

PC
PA

10

PH

45
PL3

PB

L1

K1
PJ

PI

PL2

PL1

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

LINE
Prin 2 puncte

LN1 = LINE/ x1, y1, z1, x2, y2, z2


LN2 = LINE/ x1, y1, x2, y2
LN3 = LINE/ Point1, Point2
Punct + cerc tangent
LN4 = LINE/ Point1, RL*, TANTO, Cerc1
Doua cercuri tangente

LN5 = LINE/*RL, TANTO,C1, *RL,TANTO, C2


C1
LN4
RIGHT
Cerc1
LEFT
LEFT

Point1
LN4
RIGHT

* RL = LEFT sau RIGHT

LN5
C2
LN5

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Printr-un punct si un unghi


LN6 = LINE/ Point1, ATANGL, Degrees, {[XAXIS], YAXIS}
Printr-un punct si un unghi
LN7 = LINE/ Point1, SLOPE, Tangte, {[XAXIS], YAXIS}
Axa X sau Y
LN8 = LINE/ {XAXIS, YAXIS}
Printr-un punct si o panta in raport cu o linie
LN9 = LINE/ Point1, SLOPE, Tangte, Linie1
Printr-un punct si o panta in raport cu o linie
LN10 = LINE/ Point1, ATANGL, Degrees, Linie1

Point1
Point1
Y

LN6
X

Degrees

LN10

Degrees
Ligne1

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Printr-un punct si paralel la o linie

LN11 = LINE/ Point1, PARLEL, Linie1


Printr-un punct si perpendiculer pe o linie
LN12 = LINE/ Point1, PERPTO, Ligne1
Paralel la o linie la o distanta

LN13 = LINE/ PARLEL, Ligne1, Mod*, Dist


Intersectia a doua plane
LN14 = LINE/ INTOF, Plan1, Plan2

XSMALL
YLARGE

Y
LN13

Linie1

LN13

LN13
X

YSMALL
XLARGE

* Mod = XLARGE, YLARGE,


XSMALL, YSMALL

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Panta si intersectia cu o axa


LN15 = LINE/ SLOPE, Tangte, INTERC, {YAXIS, [XAXIS]}, Val
Un unghi si intersectia cu o axa
LN16 = LINE/ ATANGL, Degrees, INTERC, {[YAXIS,] XAXIS}, Val
Y
Point2
Y
TabCyl1

Degrees
Degrees
X
Val
Val

X
LN16
Point1

LN15

Printr-un punct si tangenta la un TABCYL in planul XY


LN17 = LINE/ Point1, TANTO, TabCl1, Point2
Printr-un punct si perpendicular pe un TABCYL in planul XY
LN18 = LINE/ Point1, PERPTO, TabCyl1, Point2

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

LN17

Exemple
LA = LINE/ PT1, PT2
LB = LINE/ RIGHT, TANTO, CI1, LEFT, TANTO, CI2
LC = LINE/ PT1, RIGHT, TANTO, CI2
LD = LINE/ PT2, ATANGL, -30
LE = LINE/ XAXIS
LH
LF = LINE/ PT2, ATANGL, -60, LD
LG = LINE/ PT1, PARLEL, LD
LH = LINE / PT1, PERPTO, LD
LD PT2
LI = LINE/ PARLEL, LD, XLARGE, 10
LJ =LINE/ ATANGLE, -45, INTERC,XAXIS, 80

LB
LA

LI
-30
10
-60

PT1

CI1
LG
LF
LE
80
CI2

-45
LJ

LC
Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

CIRCLE
Prin coordonatele centrului si raza
C1 = CIRCLE/ xcoord, ycoord, zcoord, raza
C2 = CIRCLE/ xcoord, ycoord, raza
C3 = CIRCLE/ CENTER, Point1, RADIUS, raza
Prin centru si tangenta la o linie
C4 = CIRCLE/ CENTER, Point1, TANTO, Linie1
Prin centru si un punct de pe circumferinta
C5 = CIRCLE/ CENTER, Point1, Point2
Prin 3 puncte pe circumferinta
C6 = CIRCLE/ Point1, Point2, Point3
Prin centru si tangenta la un cerc
C7 = CIRCLE/ CENTER, Point1, {LARGE,SMALL}, TANTO, Cerc1

C7 LARGE

Cerc1

Point1

C7 SMALL

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Prin raza si tangenta la 2 linii


C8 = CIRCLE/ *Mod, Linie1,* Mod, Linie2, RADIUS, raza

XSMALL, Linie1, YLARGE, Linie2


YSMALL, Linie1, XLARGE, Linie2

Linie1
XLARGE, Linie1, YLARGE, Linie2
YLARGE, Linie1, XLARGE, Linie2

raza
Y

Linie2
X

XSMALL, Linie1, YSMALL, Linie2


YSMALL, Linie1, XSMALL, Linie2

XLARGE, Linie1, YSMALL, Linie2


YLARGE, Linie1, XSMALL, Linie2

* Mod = XLARGE, YLARGE, XSMALL, YSMALL

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Printr-un punct raza si tangenta la o linie


C9 = CIRCLE/ TANTO, Linie1, Mod*, Point1, RADIUS, raza
Prin raza si tangenta la o linie si un cerc
C10 = CIRCLE/ Mod*, Linie1, Mod*, {IN, OUT,} Cerc1, RADIUS, r

., XSMALL,,Cerc1
., YLARGE,, Cerl1

XSMALL, Linie1, .
YSMALL, Linie1, .

Cerc1

., XLARGE,,Cerc1
., YSMALL,, Cerl1

Y
,IN, Cerc1,...
,OUT, Cerc1,...

Linie1

X
C9
XSMALL
YLARGE

Linie1

raza

,OUT, Cerc1,...

C9
XLARGE
YSMALL

XLARGE, Linie1, .
YLARGE, Linie1, .

* Mod = XLARGE, YLARGE, XSMALL, YSMALL

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Prin raza si tangenta la doua cercuri


C11 = CIRCLE/ Mod*, IO*, Cerc1, IO*, Cerc2, RADIUS, raza

Cerc1

raza
, IN, Cerc1,
, OUT, Cerc2,

, OUT, Cerc1,
, OUT, Cerc2,
Cerc2

XLARGE, ..
YLARGE, ..

, IN, Cerc1,
, IN, Cerc2,
X

, OUT, Cerc1,
, IN, Cerc2,

XSMALL, ..
YSMALL, ..

* Mod = XLARGE, YLARGE, XSMALL, YSMALL

* IO

= IN, OUT

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Prin raza si tangenta la o linie si un TABCYL


C12 = CIRCLE/ TANTO, Linie1, Mod*, TabCl1, Mod*, Point1,

RADIUS, raza

Point1

TabC11

Ligne1
raza

* Mod = XLARGE, YLARGE, XSMALL, YSMALL

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

PLANE
Prin coeficientii ecuatiei canonice (ax + by + cz + d = 0)
PL1 = PLANE/ a, b, c, d
Prin trei puncte
PL2 = PLANE/ Point1, Point2, Point3
Printr-un punct si paralela la un plan
PL3 = PLANE/ Point1, PARLEL, Plan1
Paralel cu un plan la o distanta
PL4 = PLANE/ PARLEL, Plan1, Mod*, Dist
Printr-un punct si ortogonal pe un vector
PL5 = PLANE/Point1, PERPTO, Vect1
Prin doua puncte si ortogonal pe un plan
PL6 = PLANE/ PERPTO, Plan1, Point1, Point2
PL7 = PLANE/ Point1, Point2, PERPTO, Plan1
Printr-un punct si ortogonal pe 2 plane
PL8 = PLANE/ Point1, PERPTO, Plan1, Plan2

* Mod = XLARGE, YLARGE, ZLARGE, XSMALL, YSMALL,ZSMALL

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Exemple
PA = PLANE/ PT1, PT2, PT3
PB = PLANE/ PT4, PARLEL, PA
PC = PLANE/ PARLEL, PA, ZSMALL, 60
PE = PLANE/ PT5, PERPTO, VE1
PF = PLANE/ PERPTO, PE, PT6, PT5
PG = PLANE/ PT8, PERPTO, PE, PF

PT8

PT6

PF
VE1

PT5

PG
Z
PE
Y
PT1
PA

60

PT2

PT3
PT4

PB
X
PC

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

CYLNDR
Printr-un punct, o axa si o raza (formeacanonica)
CY1 = CYLNDR/ x, y, z, a, b, c, Raza
CY2 = CYLNDR/ Point1, a, b, c, Raza
CY3 = CYLNDR/ x, y, z, Vect1, Raza
CY4 = CYLNDR/ Point1, Vect1, Raza

CONE
Printr-un punct o axa si cosinusul jumatatii unghiului la varf
CO1 = CONE/ x, y, z, a, b, c, CosAng
CO2 = CONE/ Point1, Vect1, CosAng

Z
Y

Point1
Ang

Vect1

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

SPHERE
Prin centru si raza
SP1 = SPHERE/ x, y, z, raza
SP2 = SPHERE/ Point1, raza
SP3 = SPHERE/ CENTER, Point1, RADIUS, raza
Prin centru si un punct de pe suprafata
SP4 = SPHERE/ CENTER, Point1, Point2
Prin centru si un plan tangent
SP5 = SPHERE/ CENTER, Point1, TANTO, Plan1
Prin patru puncte pe suprafata
SP6 = SPHERE/ Point1, Point2, Point3, Point4
QADRIC
Prin coeficientii formei canonice
Q1 = QUADRIC/ a, b, c, f, g, h, p, q, r, d
cu ax2+by2+cz2+2fyz+2gxz+2hxy+2px+2qy+2rz+d = 0

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

VECTOR
Prin coordonate
VE1 = VECTOR/ CoordX, CoordY, CoordZ
Prin 2 puncte
VE2 = VECTOR/ Point1, Point2
Prin normala la un plan
VE3 = VECTOR/ PERPTO, Plan1, ModDir*
Printr-un vector multiplicat cu un scalar
VE4 = VECTOR/ Scal1, TIMES, Vect1
Prin produsul vectorial
VE5 = VECTOR/ Vect1, CROSS, Vect2
Prin normalizarea unui vector, a unui punct sau a trei coordonate
VE6 = VECTOR/ UNIT, Vect1
VE7 = VECTOR/ UNIT, Point1
VE8 = VECTOR/ UNIT, CoordX, CoordY, CoordZ
*ModDir = POSX, POSY, POSZ, NEGX, NEGY, NEGZ

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Prin coordonatele polare intr-un plan de baza


VE9 = VECTOR/LENGTH, Long1, ATANGL, Angle1, ModPlan*
Prin intersectia a doua plane
VE10 = VECTOR/ PARLEL, INTOF, Plan1, Plan2, ModPos*
Prin adunarea sau scaderea a doi vectori
VE11 = VECTOR/ Vect1, PLUS, Vect2
VE12 = VECTOR/ Vect1, MINUS, Vect2
Printr-un unghi in raport cu o linie din planul XY
VE13 = VECTOR/ ATANGL, Angle1, Linie1, Mod*

*ModPlan = XYPLAN, YZPLAN, ZXPLAN


*ModPos = POSX, POSY, POSZ, NEGX, NEGY, NEGZ
*Mod
= POSX, POSY, NEGX, NEGY, XLARGE, YLARGE, XSMALL, YSMALL

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Declaratii de miscare
Traiectoria de conturare

Principii de definire a conturului


PS: Part Surface (Suprafata piesei)
Controleaza miscarea sculei in directia axei. Este suprafata
care trebuie generata.
DS: Drive Surface (Suprafata conducatoare)
Controleaza miscarea sculei perpendicular pe directia de
deplasare. Este suprafata de ghidaj.
CS: Check Surface (Suprafata de verificare)
Controleaza sfarsitul miscarii. Este suprafata tinta.

DS

CS

Observatie:
In 2D, PS este in mod obisnuit un plan paralel cu XY si DS,
CS sunt curbe.

PS

CS
DS
PS

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

PS: Part Surface


Aceasta suprafata controleaza in general profunzimea trecerii.
Scula se gaseste continuu in contact cu PS cu toleranta definita.
Planul XY este implicit PS.
PS este modal si poate fi controlat prin:
PSIS / Surf1
Surf1 devine PS-ul curent
AUTOPS
PS este planul XY la cota curenta Z a sculei.
GO/
Defineste o traiectorie in relatie cu suprafetele 1, 2 su 3.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Pozitia sculei / PS

TLON PS
Centrul sculei in contact cu PS

PS

PS

Fara compensare de raza

DS

DS

TLOF PS
Un alt punct al sculei in contact cu PS

PS

Compensare de raza
la dreapta

Compensare de raza
la stanga

DS

DS

PS

DS

PS

DS

PS

Nota: TLOF PS are influenta numai la


masinile unelte multi - axa

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

DS: Drive Surface


Aceasta suprafata ghideaza scula in spatiu mentinand relatia cu suprafata
PS
Scula se gaseste in permanenta pe suprafata DS cu toleranta definita.
DS nu este modala si trebuie precizata explicit la fiecare deplasare de
conturare.

Pozitia sculei / DS
TLFT
TLRGT
TLON
TLNDON
DS
TLFT

DS
TLRGT

DS
TLON
TLNDON

Nota: TLFT, TLRGT, TLON si TLDNON sunt modali

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Pozitia sculei pe CS
TO
ON
PAST
TANTO, DSTAN
PSTAN

PS
DS

PSTAN

CS
CS

CS

CS
DS
TO

DS
ON

DS
PAST

DS
TANTO
DSTAN

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Sintaxa generala a unei miscari de conturare

[label]
Facultativ

Modifica pozitia
sculei in raport
cu DS

TLLFT
,
TLON
TLNDON
TLRGT

GOFWD
GOBACK
GORGT
GOLFT
GOUP
GODOWN

Modificator in raport
cu CS

Modifica directia in raport


cu miscarea precedenta

GOLFT
GOBACK

/DS , TO
, [n, INTOF,] CS
ON
Modificator
PAST
intersectii multiple
TANTO

GOFWD

GORGT

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Initializarea unei traiectorii

Deplasarea initiala nu poate fi realizata printr-o miscare de conturare


Scula nu poate fi in contact cu piesa
Originea deplasarii nu poate fi cunoscuta (pozitia curenta a sculei).
Directia de deplasare este nedefinita.
Definirea punctului initial
FROM/ Point1 [, Vect1] [,Avans]
FROM/ x, y, z [, i, j, k] [,Avans]
FROM/ x, y(combinat cu ZSURF/ )

Aceasta instructiune defineste un punct initial virtual, utilizat pentru calculul pozitiei sculei.
Atentie: Pozitia sculei nu este fortata in acest punct.
Vectorul defineste axa sculei (masini multiaxa).
Ultimul parametru defineste viteza de avans.
Aceasta instructiune nu genereaza nici o deplasare.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Definirea unei directii de deplasare initiale teoretice.


INDIRV/ Vect1
INDIRP/ Point1
Definirea primei miscari

, DS
[label] GO / TO
ON
PAST
optional

, PS ,
, TO
ON
PAST

TO
ON
PAST
TANTO

, CS

Pozitia sculei in raport cu suprafetele 1, 2 sau 3


DS nu are aceeasi semnificatie ca in conturare
Scula se deplaseaza pe traiectoria cea mai scurta intre pozitia reala si destinatia definita
prin instructiunea GO/.
In timpul deplasarii nu se verifica nici o toleranta.

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Exemple:

C1

FROM/P1
GO/ON,C1
P1

FROM/P1
GO/TO,L1

C2

L1

P2

FROM/P2
GO/PAST,C2

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Exemplu:

P3

SURF3

PL3
FROM/P3
GO/TO,SURF3,ON,PL3

SURF4

P4

PL4

FROM/P4
GO/PAST,SURF4,ON,PL4

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Exemplu:

FROM/P5
GO/TO,L5,ON,PL1,PAST,C5

P5

FROM/P5
GO/PAST,L5,ON,PL1,TO,C6

C5
P6
L5
C6

FROM/P6
GO/TO,L5,ON,PL1,TANTO,C6

PL1: Planul ecranului

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Exemplu:
FROM/P5
GO/PAST,L5,ON,PL1,TO,C6

FROM/P7
GO/TO,C7

L18

P7

C7

FROM/P8
INDIRP/P10
GO/TO,L8

P8

P10

FROM/P7
INDIRV/-1,-1,0
GO/TO,C7

L8
FROM/P8
INDIRP/0,0,0
GO/PAST,L18
(0,0,0)

FROM/P9
INDIRV/1,1,0
GO/PAST,L9,TO,PL1,PAST,C9
P9

C9
L9

FROM/P9
INDIRV/1,-1,0
GO/PAST,L9,TO,PL1,PAST,C9

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Traiectoria punct cu punct (interpolare liniara)

Traiectorie liniara printr-un punct in coordonate absolute sau relative.


In coordonate absolute
GOTO/ Point1 [,Vect1] [,Avans]
GOTO/ x, y, z [, i, j, k] [,Avans]
GOTO/ x, y
In coordonate relative
GODLTA/ Vect1
GODLTA/ dx, dy, dz
GODLA/ Dltaxe
Deplasarea pe un "PATTERN"
GOTO/ Pat1
Aceasta instructiune genereaza un ansamblu de GOTO/ cu coordonatele fiecarui punct din pattern.
Modificatorii (* INVERS, OMIT, RETAIN, AVOID, THRU, CONST) adauga flexibilitate acestei
instructiuni.
GOTO/ Pat1 [, MOD*, Num [, Nums]] [, ]

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Declaratii auxiliare

CLPRNT
Tipareste pozitiile cutitului la imprimanta
PARTNO/
Defineste numele piesei
FINI
Sfarsit fisier
H

CUTTER/ D, R, E, F, A, B, H
Definitia completa a cutitului sculei
R

B
D

Definitia simplificata
CUTTER/ D, R

CUTTER/ D

CUTER/ D, R

CUTTER/ D, R

Cu D = 2R

cu D > 2R

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Definitia tolerantelor

INTOL/ Val
Definirea unei tolerante prin lipsa.

Val

Cota masurata

OUTTOL/ Val
Definirea unei tolerante prin adaos.
Val

TOLER/ Val
Alte forme de definire echivalenta cu:
INTOL/0
OUTTOL/ Val

Cota masurata

Cota masurata

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai

Declaratii post-procesor
COOLNT/ {ON},{OFF},{FLOOD},{MIST}
Definirea modului de racire in prelucrare
RAPID
Defineste deplasarea cu avans rapid
SPINDL/
Defineste viteza de rotatie a cutitului
FEDRAT/
Defineste viteza de avans
TURRET/
Defineste scula folosita pentru prelucrare
MACHINE/
Defineste masina unealta care realizeaza prelucrarea
END
Sfarsitul program

Facultatea de Automatic i Calculatoare - Universitatea Tehnic Gh. Asachi - Iai