68
CURS 4

CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

  • Upload
    others

  • View
    30

  • Download
    2

Embed Size (px)

Citation preview

Page 1: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

CURS 4

Page 2: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Introducere în CSS

Page 3: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

• Odată cu apariția HTML 3.2 au fost introduse și atributele de

personalizare a tag-urilor precum "font", "color" etc.

• Fiecare pagină a website-ului trebuia luată separat și modificate

proprietățile elementelor principale.

• Această problema a fost rezolvată în versiunea HTML 4.0.

Noţiuni introductive

Page 4: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Noţiuni introductive

• Toate atributele de personalizare pot fi scoase și salvate într-un fișier

extern cu extensia ".css".

• Modificând un singur fișier se poate schimba forma în care sunt afișate

toate paginile unui website, culoarea și formatarea textului, etc.

• CSS (Cascading Style Sheets) permite separarea conținutul de modul

de prezentare

Page 5: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Sintaxa CSS

Sintaxa CSS constă din trei părți: selector, proprietate și valoare.

selector {proprietate: valoare}

• Selector - identificarea elementelor HTML pentru care aplicăm stilul respectiv

• Proprietate – aspect al stilului ce se dorește a fi modificat

• Valoare – ce se atribuie proprietății respective

Comentariile :

/*Un comentariu se marchează așa*/

Page 6: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Sintaxa CSS

Dacă proprietatea are valori multiple acestea sunt separate prin punct si

vigulă.

Dacă o valoare individuală are mai mult decât un cuvânt se folosesc

ghilimele.

p {

text-align:right;

color:red;

font-family:"times new roman";

}

Dacă mai multe elemente au aceleași proprietăți acestea se pot grupa astfel:

h1, h2, h3, p {

font-family:arial, batang;

color:green;

}

Page 7: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Sintaxa CSS

Dacă mai multe elemente au aceleași proprietăți acestea se pot grupa astfel:

h1, h2, h3, p {

font-family:arial, batang;

color:green;

}

Page 8: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Tipuri de selectori

1. selector HTML

2. selector de tip clasă

3. selector de tip ID

Page 9: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Selector de tip HTML

• rescrie forma de afişaj a tag-urilor html.

• Acest tip de declaraţie modifică afişarea tag-ului care este selectorul

css conform cu proprietăţile declarate.

h1 { font-family: Arial, Batang;

font-size: 14px;}

Page 10: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

• poate fi aplicat oricăror taguri .

• se folosesc pentru a stabili stilul la mai multe elemente

• poate fi folosit de câte ori se dorește

• începe cu caracterul punct “.”

• se recomanda folosirea de nume de clase descriptive.

.text { font-family: Arial;

font-size: 10px;

color:green;}

În codul html la diverse tag-uri poate apărea un atribut "class" care să

primească valoarea "text" .

<p class=“text”> Text verde scris cu arial </p>

Selector de tip clasă

Page 11: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

• se aplică obiectelor care se identifică printr-un ID.

• O dată ce ID – ul a fost desemnat, el nu poate folosit din nou în același fișier

HTML.

• Este folosit pentru a stabili stilul unui element unic.

# exemplu {font-family: “Times New Roman”;

font-size: 10px}

<div id=“exemplu”> Acesta este un exemplu scris cu Times New Roman 10.

</div>

Selector de tip ID

Page 12: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Modalități de inserare a CSS

• CSS inline (în linie)

• CSS intern

• CSS extern

Page 13: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

CSS inline

• CSS în interiorul tagului HTML.

• Folosind CSS-ul sub această formă se pierd toate avantajele pentru care a

fost creat și anume pentru a nu amesteca tagurile HTML cu formatarea și

prezentarea lor.

<body>

<p style ="text-align:right; color:green; font-family:`times new roman`;

margin-left:15px;" > Acesta este un paragraf formatat cu ajutorul

CSS.</p>

</body>

Page 14: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

CSS intern

• codul CSS este adăugat, în interiorul fiecărei pagini html unde se dorește

folosirea stilurilor respective, în cadrul elementului head

• se plasează între tagurile <style> și </style> .

<head>

<title>titlu pagina</title>

<style type="text/css">Aici se definesc stilurile CSS</style>

</head>

Page 15: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

CSS intern

• fiecare fișier HTML va conține codul CSS folosit la stilizare.

• când se dorește realizarea unei schimbări de stil (mărimea fontului,

culoare, etc) trebuie operată modificarea în toate paginile ce conţin acel

stil.

• această metodă este potrivită dacă există o singură pagină sau fiecare

pagina are stiluri separate

• dacă există site-uri de zeci sau sute de pagini este destul de greoi să se

modifice toate paginile.

Page 16: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

CSS extern

• declararea stilurilor externe ale unui document html se face într-un fişier text

care apoi se include în documentul care utilizează stilurile declarate în acel

fişier

• un fișier CSS extern poate fi realizat cu orice editor de text.

• Fișierul CSS conţine doar cod CSS. Fişierul trebuie salvat cu extensia .css.

• inserarea fișierului extern in paginile HTML se face prin plasarea unei

legături în secţiunea <head> </head> a fiecărei pagini pentru care dorim să

folosim stilul respectiv.

<link rel="stylesheet" type="text/css" href=" fisierul.css" >

sau

<style type="text/css">@import url(fisierul.css )</style>

Page 17: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

CSS extern

• fișierele externe de CSS sunt cele mai folosite.

• pentru prezentatea paginilor toate fișierele HTML apelează un singur fișier CSS

• este de recomandat să folosiți această metodă pentru o mai simplă modificare a

întregului website - se poate modifica un site întreg schimbând conținutul unui

singur fisier .css.

Page 18: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Modalități de inserare a CSS

În cazul folosirii în același timp a tuturor celor 3 variante ordinea de

reproducere în browser va fi următoarea:

1. Formatare CSS inline (în interiorul tag-ului HTML)

2. Formatere CSS internă (în secțiunea head a documentului)

3. Formatare CSS externă (fisier extern salvat cu extensia " * .css ")

Browserele nu afișează întotdeauna în același fel stilurile.

Page 19: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Unități de măsură

• absolute: cm, mm, in, pt (punct – 1pt = 1/72 inci)

• relative: - px - dimensiunea pixelului pentru dispozitivul curent

- % - procent

- em - 1em = marimea fontului pentru elementul curent, valoarea

finala va fi in functie de parintele ei

• pentru unghiuri: deg, grad, rad

• culori: - numele culorii

- rgb(x,y,z) – lime = rgb(0,255,0) – cod decimal

- #00ff00 – cod hexazecimal

Page 20: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Formatarea textului

• Proprietatea font

• Se pot stabili valorile pentru stil, pondere, variantă, mărime, mărimea

randului si familia fontului:

o font

o font – family – de ex. Times New Roman

o font-size

o font-style – de ex. normal, italic, oblic

o font-variant - normal sau small-caps

o font-weight – de ex: normal, bold

Page 21: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Formatarea textului

• pentru a stabili culoarea textului: color: valoare;

• pentru spațierea textului: letter-spacing: valoare;

• pentru alinierea textului: text-align: valoare;

• pentru indentarea primii linii dintr-un element HTML (valoarea poate fi

lungime sau procentaj): text-indent: valoare;

Page 22: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Modelul dreptunghiular

• Toate elementele HTML pot fi considerate drept cutii.

•Elementele bloc:

- au valori definite pentru dimensiunile spatiului ocupat

- incep pe o linie noua cu exceptia cazului cand sunt flotante si sunt

alaturate altor elemente bloc flotante.

- pot contine la randul lor alte elemente bloc sau de linie.

- sunt folosite de obicei pentru portiuni mai mari de continut;

display: block;

Page 23: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Modelul dreptunghiular

Elementele de linie:

• nu au valori definite pentru dimensiunile spatiului ocupat

• nu este obligatoriu sa inceapa pe o linie noua

• nu pot contine elemente bloc

• pot contine alte elemente de linie

• sunt folosite pentru portiuni mai mici de continut

display: inline;

Page 24: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Modelul dreptunghiular

Page 25: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Modelul dreptunghiular

•În CSS, termenul "model de cutie" este folosit atunci când vorbim despre design și

aspect.

• Modelul cutiei CSS este în esență o cutie care înfășoară în jurul fiecărui element

HTML.

Page 26: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Modelul dreptunghiular

Content - conținutul casetei, unde apar text și imagini

Padding - declara spatiul dintre chenarul (border) unui element si continutul din el,

este transparent

Border

Margin

Page 27: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Baze de date

Page 28: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

1. Bănci şi baze de date

O bază de date reprezintă un ansamblu de date integrat, anume

structurat şi dotat cu o descriere a acestei structuri.

Baza de date poate fi privită ca o colecţie de fişiere interconectate care

conţin nucleul de date necesare unui sistem informatic.

Page 29: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

1. Bănci şi baze de date

• poate fi considerată drept un model al unor aspecte ale realităţii unei

unităţi economice, modelată prin intermediul datelor.

•Diferitele obiecte din cadrul realităţii ce prezintă interes sunt denumite clase

sau entităţi.

•Pentru aceste obiecte sunt achiziţionate şi memorate date referitoare la

diferite caracteristici (atribute).

•Baza de date se constituie ca un ansamblu intercorelat de colecţii de

date, prin care se realizează reprezentarea unei realităţi.

Page 30: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Datele constituie orice mesaj primit de un receptor, sub o anumită formă.

Informaţiile reprezintă cantitatea de noutate adusă de un mesaj din exterior

(realitate).

Un fişier este un ansamblu de înregistrări fizice, omogene din punct de vedere al

conţinutului şi al prelucrării.

Page 31: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

O înregistrare fizică este o unitate de transfer între memoria internă şi cea externă

a calculatorului.

O înregistrare logică este unitatea de prelucrare din punct de vedere al

programului utilizator.

O înregistrare se compune din câmpuri (atribute) care descriu anumite aspecte ale

realităţii.

Page 32: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

O bază de date trebuie să asigure:

• abstractizarea datelor (baza de date fiind un model al realităţii),

• integrarea datelor (baza de date este un ansamblu de colecţii de date intercorelate, cu

redundanţă controlată),

• integritatea datelor (se referă la corectitudinea datelor încărcate şi manipulate astfel

încât să se respecte restricţiile de integritate),

• securitatea datelor (limitarea accesului la baza de date),

• partajarea datelor (datele pot fi accesate de mai mulţi utilizatori, eventual în acelaşi

timp),

• independenţa datelor (organizarea datelor să fie transparentă pentru utilizatori,

modificările în baza de date să nu afecteze programele de aplicaţii).

Page 33: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

1.2. Sisteme de baze de date

Arhitectura sistemului de bază de date este formată din următoarele componente:

• baza de date – reprezintă componenta de tip date a sistemului (colecţiile de date

propriu-zise);

• sistemul de gestiune a bazei/bazelor de date – ansamblul de programe prin care se

asigură gestionarea şi prelucrarea complexă a datelor şi care reprezintă componenta

software a sistemului de baze de date (Sistem de Gestiune a Bazelor de Date – SGBD);

• alte componente – proceduri manuale sau automate, inclusiv reglementări

administrative, destinate bunei funcţionări a sistemului, dicţionarul bazei de date

(metabaza de date) care conţine informaţii despre date, structura acestora, elemente de

descriere a semanticii, statistici, documentaţii, mijloacele hardware utilizate, personalul

implicat.

Page 34: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

1.3. Nivelul de organizare a datelor într-o bază de date

Datele dintr-o bază de date pot fi structurate pe 3 niveluri, în funcţie de categoria de

personal implicată:

• nivelul conceptual (global) – exprimă viziunea administratorului bazei de date

asupra datelor. Acestui nivel îi corespunde structura conceptuală (schema) a

bazei de date, prin care se realizează o descriere a tuturor datelor, într-un mod

independent de aplicaţii, ce face posibilă administrarea datelor.

• nivelul logic – exprimă viziunea programatorului de aplicaţie asupra datelor. La

acest nivel se realizează o descriere a datelor corespunzătoare unui anumit

program de aplicaţie.

• nivelul fizic – care exprimă viziunea inginerului de sistem asupra datelor.

Corespunde schemei interne a bazei de date prin care se realizează o descriere a

datelor pe suport fizic de memorie.

Page 35: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

SGBD-urile actuale au 3 niveluri de

reprezentare a datelor din bazele de

date:

- nivelul extern care face

referire la datele necesare

utilizatorilor;

- nivelul conceptual care

rezultă din nivelul extern prin

analiza schemelor externe şi prin

eliminarea redundanţelor;

- nivelul intern care se

realizează cu ajutorul efectiv al

SGBD-ului pornind de la schema

conceptuală.

Page 36: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

1.4. Modelarea la nivel logic a datelor într-o bază de date

• Modelul de date reprezintă ansamblul de concepte şi instrumente

necesare pentru a construi o schemă a bazei de date.

• Modelarea datelor poate viza totalitatea datelor din cadrul bazei de date

(schema/arhitectura datelor) sau o parte a acestora (subscheme ale bazei

de date).

• Exista mai multe tipuri de baze de date după modul de organizare,

modul de dispunere pe suport magnetic a informaţiei şi a elementelor

componente.

Page 37: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Modele primitive

• datele sunt organizate la nivel logic în fişiere, structura de bază este înregistrarea, mai

multe înregistrări fiind grupate în structuri de tip fişier;

Page 38: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Baze de date ierarhice

• legăturile dintre date sunt ordonate unic, accesul se face numai prin vârful ierarhiei, un

subordonat nu poate avea decât un singur superior direct şi nu se poate ajunge la el decât

pe o singură cale;

Page 39: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Baze de date în reţea

• datele sunt reprezentate ca într-o mulţime de ierarhii, în care un membru al ei poate avea

oricâţi superiori, iar la un subordonat se poate ajunge pe mai multe căi;

Page 40: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Baze de date relaţionale

• structura de bază a datelor este aceea de relaţie – tabel, limbajul SQL (Structured Query

Language) este specializat în comenzi de manipulare la nivel de tabel;

Page 41: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Baze de date distribuite

• Sunt rezultatul integrării tehnologiei bazelor de date cu cea a reţelelor de calculatoare. Sunt

baze de date logic integrate, dar fizic distribuite pe mai multe sisteme de calcul.

Page 42: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

1.5. Conceptul de sistem de gestiune a bazelor de date

Sistemele de gestiune a bazelor de date (SGBD) sunt sisteme informatice

specializate în stocarea şi prelucrarea unui volum mare de date, numărul

prelucrărilor fiind relativ mic.

Un SGBD trebuie să asigure următoarele funcţii:

• definirea – crearea bazei de date;

• introducerea datelor în baza de date;

• modificarea unor date deja existente în baza de date;

• ştergerea datelor din baza de date;

• consultarea bazei de date – interogare/extragerea datelor.

Page 43: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Funcții asigurate de un SGBD

• suport pentru limbaj de programare;

• interfaţă cât mai atractivă pentru comunicare cu utilizatorul;

• tehnici avansate de memorare, organizare, accesare a datelor din baza

de date;

• utilitare încorporate: sistem de gestiune a fişierelor, liste, tabele etc.;

• “help” pentru ajutarea utilizatorului în lucrul cu baza de date.

Page 44: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

• definirea şi descrierea structurii bazei de date – se realizează printr-un limbaj

propriu, limbaj de definire a datelor (LDD), conform unui anumit model de

date;

• încărcarea datelor în baza de date – se realizează prin comenzi în limbaj

propriu, limbaj de manipulare a datelor (LMD);

• accesul la date – se realizează prin comenzi specifice din limbajul de

manipulare a datelor. Accesul la date se referă la operaţiile de interogare şi

actualizare.

- Interogarea este complexă şi presupune vizualizarea, consultarea,

editarea de situaţii de ieşire (rapoarte, liste, regăsiri punctuale).

- Actualizarea presupune 3 operaţiuni: adăugare, modificare efectuate

prin respectarea restricţiilor de integritate ale BD şi ştergere.

Activități asigurate de un SGBD

Page 45: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

.

• întreţinerea bazei de date – se realizează prin utilitare proprii ale SGBD;

• reorganizarea bazei de date – se face prin facilităţi privind actualizarea

structurii de date şi modificarea strategiei de acces. Se execută de către

administratorul bazei de date;

• securitatea datelor – se referă la asigurarea confidenţialităţii datelor prin

autorizarea şi controlul accesului la date, criptarea datelor.

Funcții asigurate de un SGBD

Page 46: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Un SGBD are rolul de a furniza suportul software complet pentru dezvoltarea

de aplicaţii informatice cu baze de date.

El trebuie să asigure:

• minimizarea costului de prelucrare a datelor

• reducerea timpului de răspuns

• flexibilitatea aplicaţiilor

• protecţia datelor.

Rolul unui SGBD

Page 47: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

.

1. Asigurarea independenţei datelor – trebuie privită din două puncte de vedere:

- independenţa logică – se referă la posibilitatea adăugării de noi tipuri de înregistrări de

date sau extinderea structurii conceptuale, fără a determina rescrierea programelor de

aplicaţie;

- independenţa fizică – modificarea tehnicilor fizice de memorare fără a determina

rescrierea programelor de aplicaţie.

2. Asigurarea redundanţei minime şi controlate a datelor – stocarea informaţiilor în

bazele de date se face astfel încât datele să nu fie multiplicate.

Obiective ale unui SGBD

Page 48: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

3. Asigurarea facilităţilor de utilizare a datelor – presupune ca SGBD-ul să aibă anumite

componente specializate pentru: folosirea datelor de către mai mulţi utilizatori în diferite

aplicaţii, accesul cât mai simplu al utilizatorilor la date, existenţa unor limbaje performante de

regăsire a datelor, sistemul de gestiune trebuie să ofere posibilitatea unui acces multicriterial

la informaţiile din baza de date.

4. Asigurarea securităţii datelor împotriva accesului neautorizat.

5. Asigurarea coerenţei şi integrităţii datelor împotriva unor ştergeri intenţionate sau

neintenţionate.

6. Asigurarea partajabilităţii datelor – asigurarea accesului mai multor utilizatori la

aceleaşi date şi posibilitatea dezvoltării aplicaţiilor fără a se modifica structura bazei de date.

7. Asigurarea legăturilor între date – corespund asocierilor care se pot realiza între

obiectele unei aplicaţii informatice. Orice SGBD trebuie să permită definirea şi descrierea

structurii de date, precum şi a legăturilor dintre acestea, conform unui model de date (de

exemplu modelul relaţional).

8. Administrarea şi controlul datelor – sunt asigurate de SGBD, în sensul că datele pot fi

folosite de mai mulţi utilizatori în acelaşi timp, iar utilizatorii pot avea cerinţe diferite şi care

pot fi incompatibile. SGBD trebuie să rezolve probleme legate de concurenţă la date,

problemă care apare mai ales în lucrul în mediu de reţea de calculatoare.

Obiective ale unui SGBD

Page 49: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

3. Asigurarea facilităţilor de utilizare a datelor – presupune ca SGBD-ul să aibă anumite

componente specializate pentru: folosirea datelor de către mai mulţi utilizatori în diferite

aplicaţii, accesul cât mai simplu al utilizatorilor la date, existenţa unor limbaje performante de

regăsire a datelor, sistemul de gestiune trebuie să ofere posibilitatea unui acces multicriterial

la informaţiile din baza de date.

4. Asigurarea securităţii datelor împotriva accesului neautorizat.

5. Asigurarea coerenţei şi integrităţii datelor împotriva unor ştergeri intenţionate sau

neintenţionate.

6. Asigurarea partajabilităţii datelor – asigurarea accesului mai multor utilizatori la

aceleaşi date şi posibilitatea dezvoltării aplicaţiilor fără a se modifica structura bazei de date.

Obiective ale unui SGBD

Page 50: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

7. Asigurarea legăturilor între date – corespund asocierilor care se pot realiza între

obiectele unei aplicaţii informatice. Orice SGBD trebuie să permită definirea şi descrierea

structurii de date, precum şi a legăturilor dintre acestea, conform unui model de date (de

exemplu modelul relaţional).

8. Administrarea şi controlul datelor – sunt asigurate de SGBD, în sensul că datele pot fi

folosite de mai mulţi utilizatori în acelaşi timp, iar utilizatorii pot avea cerinţe diferite şi care

pot fi incompatibile. SGBD trebuie să rezolve probleme legate de concurenţă la date,

problemă care apare mai ales în lucrul în mediu de reţea de calculatoare.

Obiective ale unui SGBD

Page 51: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

-funcţia de descriere a datelor – se face cu ajutorul limbajului de definire a datelor,

realizându-se descrierea atributelor din cadrul structurii BD, legăturile dintre entităţile BD, se

definesc eventualele criterii de validare a datelor, metode de acces la date, integritatea

datelor. Concretizarea acestei funcţii este schema BD.

- funcţia de manipulare – realizează actualizarea şi regăsirea datelor.

- funcţia de utilizare – asigură mulţimea interfeţelor necesare pentru comunicare a tuturor

utilizatorilor cu BD.

- funcţia de administrare – administratorul este cel care realizează schema conceptuală a

bazei de date, iar în perioada de exploatare a BD autorizează accesul la date, reface baza

în caz de incident.

- funcţia de protecţie a bazei de date – ansamblul de măsuri necesare pentru asigurarea

integrităţii (semantică, acces concurent, salvare/restaurare) şi securităţii datelor (autorizare

acces, utilizare viziuni, criptare).

Funcțiile unui SGBD

Page 52: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector
Page 53: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

2. Etapele de realizare a unei bănci de date

2.1. Etapa de analiză

1. Studierea problemei de rezolvat - constă în studiul şi descrierea activităţilor pentru care

se va organiza baza de date (cerinţe şi resurse);

2. Proiectarea structurii bazei de date - are ca principale activităţi alegerea modelului de

SGBD, proiectarea funcţiilor bazei de date, stabilirea intrărilor şi ieşirilor aplicaţiilor;

3. Stabilirea modului de memorare a datelor – în memorie (temporare) sau pe disc în baza

de date, pentru care trebuie stabilită şi structura;

4. Stabilirea algoritmului general de rezolvare a problemei – la nivel de schemă bloc;

5. Stabilirea structurii meniului principal al aplicaţiei – acesta trebuie să conţină opţiuni

pentru toate funcţiunile sistemului informatic care sunt accesibile utilizatorului.

6. Împărţirea aplicaţiei pe programe – fiecare program urmăreşte rezolvarea unei părţi a

problemei generale.

Page 54: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

2.2. Etapa de programare

1. Elaborarea programelor: realizarea componentelor logice – programe/aplicaţii – începând cu

programul principal si continuând cu cele de introducere/actualizare a datelor, cu cele de prelucrare

şi terminând cu programele de interogare baza de date şi extragere de informaţii.

2. Testarea funcţionării corecte a programelor individuale şi a sistemului în ansamblu – pentru cât

mai multe situaţii posibile (ideal ar fi testarea în toate situaţiile posibile dar numărul acestora este

foarte mare) incluzând în mod obligatoriu şi situaţiile limită.

3. Înlăturarea erorilor depistate – şi reluarea pasului 2. Dacă nu mai sunt erori se continuă cu

următoarea etapă.

Page 55: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

2.3. Punerea în funcţiune şi exploatarea bazei de date

1. Încărcarea şi manipularea datelor – operaţii de actualizare şi consultare,

întreţinere (dezvoltare) a bazei de date.

2. Elaborarea documentaţiei de utilizare – care se predă beneficiarului, cât

şi documentaţia tehnică a sistemului (de preferat ca fiecare program să

aibă câte o fişă tehnică, pentru o mai uşoară depanare, întreţinere).

Page 56: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

3. Realizarea unei baze de date

Diagrama entitate-relaţie (diagrama ER)

O entitate este un obiect concret sau abstract care există şi poate fi distins de un alt obiect

(de exemplu o persoană, un concept, un sentiment etc.).

O mulţime sau o clasă de entităţi este un grup de obiecte concrete sau abstracte de

aceeaşi natură (de exemplu toate persoanele, toate conceptele, toate sentimentele etc.).

Un atribut reprezintă o proprietate caracteristică a entităţilor din aceeaşi clasă. De exemplu,

o persoană poate fi caracterizată prin următoarele caracteristici:

- nume;

- prenume;

- cod numeric personal (CNP);

- adresă;

- telefon.

Domeniul reprezintă mulţimea valorilor pe care le poate avea un anumit atribut.

O cheie primară (sau, mai simplu, o cheie) este un atribut sau un set de atribute care

identifică într-o manieră unică o entitate - de exemplu CNP (nu există două persoane care

au acelaşi CNP).

Page 57: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Relaţia leagă între ele două sau mai multe entităţi prin intermediul unor atribute cu acelaşi

domeniu.

În cazul în care o relaţie leagă două entităţi, ea se numeşte binară.

Dacă relaţia este între cel puţin trei entităţi, se spune că este o relaţie n-ară.

La rândul lor, relaţiile binare se împart în trei categorii:

-relaţii unul la unul (1:1), caz în care unei entităţi E nu-i poate corespunde prin relaţia A

decât o entitate F şi, invers, entităţii F nu îi poate corespunde decât entitatea E prin

relaţia A;

-relaţii unul la mai mulţi (1:n), caz în care unei entităţi E îi pot fi asociate mai multe

entităţi Fi dar, unei entităţi Fi îi este asociată prin aceeaşi relaţie o singură entitate (E);

-relaţii mai mulţi la mai mulţi (n:n), caz în care unei entităţi Ei îi pot corespunde mai

multe entităţi Fi şi reciproc.

Page 58: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Cardinalitatea unei perechi (E, A), unde E este o clasă de entităţi şi A este un set de relaţii,

este dată de perechea (m, M), unde m şi M sunt numărul minim respectiv maxim de legături

A ce leagă E de una sau mai multe clase de entităţi.

O diagramă ER este reprezentarea grafică a unei colecţii de entităţi, relaţii, constrângeri,

condiţionări etc. care descriu complet o bază de date.

Page 59: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

EXEMPLU : Bază de date elementară:

Page 60: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

CONTRA-EXEMPLU:

Prezentarea sub forma de tabelă unică:

Probleme:

- Repetarea unor informaţii în mai multe înregistrări

• Risipă de spaţiu,

• Risc de inconsistenţă a datelor (aceeaşi informaţie prezentată în moduri diferite)

• Gestiune dificilă (unele modificări trebuie efectuate în toate înregistrările)

- Structură rigidă, dificil de adaptat unor situaţii noi

- Riscul de alterare a informaţiilor la operaţii de:

• Înserarea unei noi înregistrări,

• Modificare,

• Ştergere (ex: daca se şterge înregistrarea 6, se pierde adresa de email a autorului, care era

prezent o singură dată în tabelă).

Page 61: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

SOLUŢIE: Împărţirea informaţiilor în mai multe tabele, legate între ele prin relaţii:

Page 62: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector
Page 63: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Normalizarea relaţiilor

În procesul de modelare a bazelor de date, o etapa importantă o constituie

normalizarea relaţiilor.

Normalizarea presupune perfecţionarea progresivă a schemei conceptuale

ţinând cont că trebuie asigurate următoarele cerinţe:

- trebuie garantată conservarea datelor;

- trebuie garantată conservarea dependenţelor;

- în urma normalizării, descompunerea relaţiilor iniţiale trebuie să fie una minimală.

Necesitatea normalizării poate fi cel mai uşor evidenţiată prin exemple de baze de

date nenormalizate.

Page 64: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Datorită structurii acestei baze de date apar ca evidente cel puţin următoarele anomalii:

1. Redundanţă – perechea de date (“Ionescu”, “Bogdan”) apare de 3 ori, (“Popa”, “Virgil”)

de două ori etc.

2. Anomalii la ştergere – dacă se şterge înregistrarea cu Nr_crt = 6 se pierd toate

informaţiile legate de studentul “Florea Ion”.

3. Anomalii la inserare – perechea (“Ionescu”, “Bogdan”, “Baze de date”, 9) este inserată

de două ori.

4. Anomalii la modificare – dacă prenumele studentului “Popa Virgil” este greşit,

modificarea lui presupune modificarea unui număr de înregistrări egal cu notele

studentului, ceea ce, între altele, poate conduce la noi erori de introducere a datelor.

Page 65: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

O structură a bazei de date discutate care elimină o parte din aceste

anomalii imparte tabelul anterior în două tabele, conform următoarei

reprezentări şi a diagramei entitate-relaţie asociate.

Page 66: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

În această structură se observă, totuşi, o redundanţă a unor date, dată de

apariţia repetată a numelor disciplinelor. Această redundanţă dispare prin

introducerea în structură a unei noi entităţi, adică a unui nou tabel care să

conţină denumirile disciplinelor.

Page 67: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Bibliografie:

1. http://www.w3schools.com/

2. http://tutorialehtml.com/

3. http://www.cssbasics.com/full.pdf

4. Lucian PETRESCU – Internet, HTML şi baze de date, Ed. Matrix Rom,

Bucuresti, 2015

5. Romică TRANDAFIR, Mihai Ştefan NISTORESCU, Bazele Informaticii şi

Limbaje de Programare - Note de Curs, 2006;

6. Cezar FLUERAŞU, Managementul Datelor şi al Cunoştinţelor - Note de

Curs, 2003;

7. Cătălin CONSTANTINESCU, Baze de Date, Note de Curs, 2006

Page 68: CURS 4 - elth.pub.roelth.pub.ro/~abordianu/cursIA4.pdf · Sintaxa CSS Sintaxa CSS constădin trei părți: selector, proprietate șivaloare. selector {proprietate: valoare} • Selector

Vă mulțumesc pentru atenție !