Access - prezentarea 1

Download Report

Transcript Access - prezentarea 1

Slide 1

start

laborator 1


Slide 2

Generalităţi




SGBD – Sistem de gestiune a bazelor de date
 Instrument de asamblare, codificare, aranjare, protecţie şi regăsire a datelor dintr-o

bază de date
Exemple: dBase, FoxBase, FoxPro, Oracle, Access, SQLServer, MySql, PostrgeSql.


Funcţiile unui SGBD
 Memorarea (păstrarea datelor)
 Gestiunea datelor şi a legăturilor dintre ele
 Introducerea şi ştergerea datelor
Baza de date - definiţii
 O mulţime de informaţii ce modelează un univers
 Ansamblu de date elementare structurate, accesibile unei comunităţi de useri
 Colecţie de date (înregistrări) aflate in interdependenţă, împreună cu descrierea

generalitati





datelor şi a relaţiilor dintre ele.
În mod normal prin bază de date se înţelege orice colecţie partajată de date, între care
există relaţii logice, cu o descriere a datelor, proiectată pentru a satisface necesităţile
informaţionale ale unei organizaţii sau grup de utilizatori.

Modele de organizare a datelor
 Modelul relaţional (bazat pe teoria matematică a relaţiilor) - SGBDR
 Modelul ierarhic
 Modelul reţea


Slide 3

Exemple de SGBD












Oracle. Este realizat de firma Oracle Corporation USA. Sistemul este complet
relaţional, robust, bazat pe SQL standard extins. Permite lucrul cu obiecte şi
distribuit. Are BD Internet şi modul de optimizare a regăsirii.
DB2. Este realizat de firma IBM. Sistemul respectă teoria relaţională, este robust şi
se bazează pe SQL standard. Permite lucrul distribuit şi are modul de optimizare a
regăsirii.
Informix. Este realizat de firma Informix, respectă teoria relaţională şi permite lucru
distribuit.
Progress. Este realizat de firma Progress Software. Are limbaj propriu (Progress
4GL) dar suportă şi SQL. Rulează pe o gamă largă de calculatoare sub diferite
sisteme de operare.
SQL Server. Este realizat de firma Microsoft. Se bazează pe SQL şi rulează în
arhitectura client/server.
Ingress II. Este realizat de firma Computer Associates. Este un SGBDR complet,
implementează două limbaje relaţionale (întâi QUEL şi apoi SQL) şi este suportat
de diferite sisteme de operare (Windows, UNIX). Lucrează distribuit în arhitectura
client/server, are extensie cu facilităţi orientate obiect şi permite aplicaţii de tip
Internet. Organizarea fizică a tabelelor se face prin sistemul de operare.
Visual FoxPro. Este realizat de firma Microsoft. Are un limbaj procedural propiu
foarte puternic, o extensie orientată obiect, programare vizuală şi nucleu extins de
SQL.
Access. Este realizat de firma Microsoft. Se bazează pe SQL, are limbajul
procedural gazdă (Basic Access) şi instrumente de dezvoltare.
Paradox. Este realizat de firma Borland. Are limbaj procedural propiu (PAL) şi

Exemple de SGBD


Slide 4

Elemente specifice ale unei baze de date











Concepte utilizate în modelarea bazelor de date
Entitatea
 Obiect distinct al bazei de date, reprezentat prin proprietăţile sale (numite atribute)
 Substantivele sunt asociate entităţilor
 Nu pot exista două entităţi cu acelaşi nume şi nici o entitate cu două nume diferite
Atributul
 Atributul reprezintă o proprietate care descrie o anumită caracteristică a unei entităţi
Realizarea unei entităţi
 Mulţimea formată din câte o valoare pentru fiecare atribut al entităţii
Relaţiile dintre entităţi
 Exprimă legăturile, asociaţiile dintre entităţi, asigurând comunicarea între acestea
 Verbele sunt asociate relaţiilor dintre entităţii
Cheia primară
 Asigură posibilitatea identificării unice a unei entităţi
 Trebuie să nu conţină informaţii descriptive, să fie simplă, neambiguă, stabilă

Elementele BD


Slide 5

Cardinalitatea relaţiilor
Cardinalitatea relaţiilor
cardinalitatea este dată de numărul de tupluri (de elemente ale unei relaţii)
de exemplu:
Câţi studenţi sunt înscrişi într-o grupă?….. MULŢI
În câte grupe poate fi înscris la un moment dat un student? …UNA

Cardinalitate

Raportul de cardinalitate

unu la mai mulţi (one to many)
Relaţia “GRUPA – conţine – STUDENT” este “one to many”
O grupă conţine mai mulţi studenţi
Un student nu poate fi înscris în mai multe grupe
unu la unu (one to one)
Relaţia “STUDENT – conduce – GRUPA” este “one to one“
Un singur student poate conduce o grupă (şeful de grupă)
Un student nu poate conduce mai multe grupe
mai mulţi la mai mulţi (many to many)
Relaţia “STUDENT – învaţă – MATERIE” este “many to many“
Un student poate studia mai multe materii
O materie poate fi studiată de mai mulţi studenţi


Slide 6

Tipuri de chei
Cheie (câmpul cheie)



Un câmp este considerat câmp cheie dacă poate fi folosit la

realizarea relaţiilor între tabele (conţine date pe care tabelele le
au in comun şi poate servi la identificarea unică a înregistrărilor

Tipuri de chei

dintr-o tabelă)

Tipurile de chei






Cheia primară (primary key)
Cheia compusă (composite key)

Chei candidate (candidate key)
Cheia externă (foreign key)


Slide 7

Cheia primară (primary key)




Fiecare tabel dintr-o bază de date relaţională trebuie să aibă un
identificator unic, constând din unul sau mai multe câmpuri, altfel nu
pot fi definite relaţiile între tabele.

Cheia primara

Câmpul sau grupul de câmpuri ce constituie identificatorul unic,
reprezintă cheia primară.



Cheia primară trebuie să poată asigura unicitatea, de aceea nu se
acceptă valori duplicate pentru acest câmp (se recomandă ca tipul
de dată folosit pentru câmpul ce constituie cheia primară să fie de tip
AutoNumber – dar se poate opta şi pentru folosirea aşa-ziselor chei
naturale - valorile, în acest caz, sunt coduri generate conform unei
anumite reguli, cum ar fi, de exemplu, codul numeric personal).



Chei candidate (candidate key) – câmpuri (altele decât cheia
primară) care îndeplinesc condiţiile necesare cheii primare.


Slide 8

Cheia compusă (composite key)






În unele cazuri o înregistrare nu poate fi identificată unic printr-un
singur câmp. În aceste cazuri se foloseşte o cheie compusă.
Grupul de câmpuri ce constituie identificatorul unic va reprezenta
cheia primară pentru tabelul respectiv, dar va fi o cheie compusă.

Cheia primara

Deşi în câmpurile unei chei compuse se acceptă valori duplicate, nu
se acceptă combinaţii de valori duplicate.
Exemplu: un eveniment poate fi reprezentat, pentru constituirea
situaţiei de ocupare a unei săli de conferinte, prin cheia compusă
formată din ziua si ora la care va avea loc. La o anumită oră, pentru
o zi dată, nu poate avea loc decât un anumit eveniment. Cu toate
acestea se permit valori duplicate pentru fiecare câmp în parte (zi şi
oră) – putem avea mai multe valori de “miercuri” a câmpului zi şi mai
multe valori de “14” pentru câmpul oră, dar un singur eveniment se
va tine “miercuri” la ora ”14” în sala respectivă.


Slide 9

Cheia externă (foreign key)



O cheie externă reprezintă un câmp sau un grup de câmpuri dintr-un
tabel ce fac legătura cu cheile primare ale altor tabele.



Prin cheile externe se realizează relaţiile dintre tabele.



Cheia externa

Exemplu:
Avem tabela “carti” ce contine şi un câmp numit “autor” – ce
reprezintă codul asociat unui autor. Avem o tabelă separată numită
“autori” ce conţine o cheie primară numită “id_autor”. Cele două
câmpuri fac legătura între tabele. Câmpul “autor” reprezintă o cheie
externă în tabela “carti” şi face legătura cu cheia primară a tabelei
“autori” – numită “id_autor”.


Slide 10

Normalizarea bazelor de date



Normalizarea – reprezintă conceperea tabelelor conform modelului relaţional.
Este o teorie construită în jurul conceptului de forme normale (FN), care
ameliorează structura BDR prin înlăturarea treptată a unor neajunsuri (anomalii
de inserare, modificare, ştergere) şi prin imprimarea unor facilităţi sporite privind
manipularea datelor




Scopul – îndepărtarea datelor redundante din tabele (forma de normalizare 1NF).
Rezultatul:

normalizarea

• Baza de date este mai flexibilă şi poate suporta mai bine eventualele
schimbări ale structurii sale.

• Se va economisi spaţiu – baza de date va ocupa mai puţin spaţiu.



Recomandări:

• Trebuie ca fiecare tabel să conţină cheie primară pentru identificarea unică a
înregistrărilor.

• Un câmp va conţine o informaţie unică (va fi atomic – nu se poate “sparge” în
mai multe câmpuri) – de exemplu nu se va păstra în acelaşi câmp şi numele
şi prenumele unei persoane.

• Se vor elimina datele redundante.


Slide 11

Etape de constituire a bazelor de date



Identificarea datelor necesare (a tipurilor de entităţi, de relaţii, cardinalitatea
relaţiilor)



Identificarea atributelor (a câmpurilor)








Gruparea datelor redundante în aşa-numitele tabele de alegere (lookup table), ce
vor fi legate la tabelele principale prin chei externe.

etape

Crearea unei diagrame a relaţiilor dintre date (relaţiile dintre tabele)
Normalizarea bazei de date
Identificarea datelor specifice câmpurilor







Identificarea cheilor candidat şi alegerea cheilor primare

numele câmpurilor, tabelelor
identificarea tipului de date potrivit fiecărui câmp

determinarea regulilor de validare, a valorilor implicite etc.

Crearea propriu-zisă a tabelelor (pentru Access – se va prefera crearea
tabelelor în modul design)