Documente Academic
Documente Profesional
Documente Cultură
I - IF.01 - Introducere in Baze de Date PDF
I - IF.01 - Introducere in Baze de Date PDF
IA.01.1. Introducere
Calculatoarele au fost folosite încă din anii '50 pentru stocarea şi procesarea cantităţilor mari de
date. Pentru gestionarea informaţiilor specifice unei activităţi se face de regulă apel la sisteme
informatice. Produsele software din componenţa acestora localizează şi prelucrează datele
conţinute într-un ansamblu de fişiere aflate pe diferite suporturi fizice.
O bază de date este constituită dintr-un ansamblu de informații memorate într-un set de tabele
interconectate.
Deşi orice întreprindere face apel la baze de date pentru păstrarea şi gestionarea informaţiilor,
câteva dintre aplicaţiile acestora sunt deosebit de spectaculoase:
o bazele de date ale liniilor aeriene care sunt accesate simultan din sute de agenţii pentru a
realiza rezervări şi vânzări de locuri pentru date şi zboruri diferite;
o bazele de date ale băncilor care permit realizarea a mii de tranzacţii zilnic;
o bazele de date ale supermagazinelor care sunt accesate atât de la casele de marcaj cât şi de la
echipamentele de inventariere;
o bazele de date ale bibliotecilor care păstrază milioane de titluri şi permit localizarea unei
lucrări folosind diferite criterii (cuvinte cheie, titlu, autori, domeniu).
Pentru realizarea unei aplicaţii care foloseşte baze de date se utilizează o aplicație specializată
denumită sistem de gestiune de baze de date (DBMS – Database Management System). O astfel
de aplicație permite realizarea unor funcții specifice bazelor de date: crearea unei baze de date,
adăugarea de informații, extragerea informațiilor, modificarea și ștergerea acestora.
Pentru realizarea interfeței utilizator a aplicației se poate face apel la un limbaj de programare
general (C++, Java, Visual Basic etc.) sau se pot folosi instrumente de dezvoltare adaptate, integrate
sistemului de gestiune de baze de date folosit.
Cele mai utilizate sisteme de baze de date sunt astăzi ORACLE, produs de Oracle Co., Microsoft
SQL Server MySQL (dezvoltat tot de Oracle Co.) și DB2, dezvoltat de IBM.
Oracle Database Express Edition (prescurtat Oracle XE) este o versiune gratuită a serverului
Oracle destinată instruirii dar și creării unor baze de date de dimensiuni mici sau medii. Ca și
versiunea normală, Oracle XE integrează aplicaţia destinată dezvoltării unei interfeţe sub forma
unui ansamblu de pagini .html denumit Oracle Application Express, ca alternativă la dezvoltarea
interfeței utilizator folosind limbajele menționate.
-4-
INFORMATICĂ*I* IF.01. Introducere în baze de date
În cadrul cursului se va folosi de altfel în special această aplicație, spre final prezentându-se însă
succint și soluția MySQL. Pentru realizarea aplicațiilor se vor folosi Oracle Application Express,
respectiv limbajele Java sau PHP. Aplicaţiile astfel construite prezintă trei avantaje majore:
o software-ul necesar este gratuit;
o aplicaţia astfel realizată poate fi folosită pe diferite platforme: Windows, Linux, Unix,
Solaris etc.
o decuplează partea aplicaţiei destinată stocării datelor (server de b.d.) de partea care le
accesează (interfaţa).
-5-
INFORMATICĂ*I* IF.01. Introducere în baze de date
Structura articolelor unui fişier de date dintr-o bază de date este fixă și este definită la crearea sa,
prin precizarea câmpurilor pe care le va conţine.
Un câmp conține o informație elementară și se caracterizează prin nume, tipul informaţiei conţinute,
lungime şi numărul de zecimale (pentru câmpuri numerice).
Datorită faptului că, în domeniul bazelor de date formatul articolului este fix, fișierele sunt
reprezentate tabelar şi în locul denumirii generale de fișier de date se foloseștea denumirea de tabel.
Articole
-6-
INFORMATICĂ*I* IF.01. Introducere în baze de date
o Daca se afișează o fereastră prin care se solicită introducerea adreselor porturilor care vor fi
folosite înseamnă că unul dintre porturile implicite:
o 1521 alocat implicit serverului Oracle XE şi
o 8080 alocat implicit serverului HTTP prin care se realizează conectarea la
Oracle XE folosind interfaţa grafică şi protocolul HTTP
este folosit de o altă aplicaţie. De exemplu portul 8080 ar putea fi folosit de exemplu de serverul
Apache Tomcat.
o În fereastra Specify Database Passwords se introduce parola pentru conturile SYSTEM şi
SYS. Acestea vor putea fi folosite de către administratorul Oracle XE pentru a realiza
activităţi specifice: creare/ştergere de utilizatori, salvări de siguranţă ş.a. Este bine să fie
păstrată undeva pentru că fără ea aplicația Oracle XE va fi inutilizabilă!
-8-
INFORMATICĂ*I* IF.01. Introducere în baze de date
Tot aceeaşi cale va fi folosită pentru a afişa în browser-ul implicit fereastra ORACLE
Database XE 11.2:
-9-
INFORMATICĂ*I* IF.01. Introducere în baze de date
(Start -> Programs ->Oracle database 11g Express Edition -> Get Started)
Această fereastră va fi punctul de plecare în crearea aplicațiilor folosind Oracle
Application Express.
- 10 -
INFORMATICĂ*I* IF.01. Introducere în baze de date
- 11 -
INFORMATICĂ*I* IF.01. Introducere în baze de date
După completarea cîmpurilor se va apăsa butonul Test și dacă rezultatul este pozitiv se va
apăsa butonul Connect.
Rezultat:
- 12 -
INFORMATICĂ*I* IF.01. Introducere în baze de date
Conectarea ca administrator este necesară de exemplu pentru a suprima, bloca, debloca sau
adăuga conturi. De exemplu, după instalarea serverului, utilizatorul HR existent deja în sistem este
implicit blocat (Locked). pentru a putea folosi contul HR acesta trebuie deblocat. Ca urmare se
selectează utilizatorul folosind contul system, (din Other Users, ca în figură) şi apoi, în fereastra cu
proprietăţi se impune Unlocked.
- 13 -
INFORMATICĂ*I* IF.01. Introducere în baze de date
În tabelul COPII se păstrează numele şi prenumele copiilor. Pe lângă cele două câmpuri
necesare păstrării acestor informaţii principale mai sunt două câmpuri: ID_copil care asociază
fiecărui copil un număr unic şi ID_ang. Câmpul ID_ang asociază fiecărui copil un articol din
tabelul de angajaţi. Folosind această structură se pot afişa mai multe rapoarte:
- 14 -
INFORMATICĂ*I* IF.01. Introducere în baze de date
o lista copiilor,
o lista copiilor unui angajat,
o lista angajaţilor care au copii,
o numărul de copii pe care îi are fiecare angajat şi probabil şi altele.
În fişierul COPII mai există însă un câmp, ID_ang. Acesta primeşte valori din coloana
ID_angajat din tabelul corespondent ANGAJAŢI. Primeşte deci valori ale cheii primare dintr-un
tabel corespondent. Din acest motiv el poartă numele de cheie străină, deoarece valorile sunt ale
unei chei primare, dar din alt tabel.
Într-un tabel al unei baze de date unele valori pot lipsi. De exemplu în tabelul pentru
angajaţi am putea avea un câmp destinat memorării adresei de e-mail. Dar nu toţi angajaţii au o
adresă de e-mail. La declararea caracteristicilor unui câmp se poate preciza dacă se acceptă valori
nule (lipsa valorii) sau dimpotrivă. Evident că valorile din câmpurile declarate chei primare sau
străine nu pot lipsi.
Integritatea referenţială
Un server de date are pe lângă rolul de a păstra date şi rolul de a menţine coerenţa acestora.
Dacă în exemplul dat angajatul Ionescu Valer (ID_angajat=2) ar pleca din firmă, deci linia
corespunzătoare din fişerul ANGAJAŢI ar fi ştearsă, ce se întâmplă cu înregistrările din tabelul
COPII pentru care ID_ang=2 ? Dacă serverul de baze de date verifică validitatea referinţelor va
trebui să suprime în mod automat şi liniile corespunzătoare din tabelul COPII. În termeni specifici
domeniului bazelor de date relaţionale spunem că serverul verifică şi asigură integritatea
referenţială a bazei de date. Deşi verificarea integrităţii referenţiale complică semnificativ
realizarea unui server de baze de date, toate aplicaţiile majore suportă această caracteristică.
- 15 -
INFORMATICĂ*I* IF.01. Introducere în baze de date
- 16 -
INFORMATICĂ*I* IF.01. Introducere în baze de date
După adăugarea tabelului Angajati, interfața expusă la adăugarea unui nou tabel este schimbată.
Continuarea definirii câmpurilor tabelelor se va iniția selectând opțiunea corespunzătoare din lista
Actions:
Tot folosind lista Actions pot fi adăugate cheile (cheia privată și cea străină):
- 17 -
INFORMATICĂ*I* IF.01. Introducere în baze de date
- 18 -
INFORMATICĂ*I* IF.01. Introducere în baze de date
În exemplul dat s-a ales varianta CASCADE, ceea ce va impune ștergerea din tabelul Copii a
articolelor corespunzătoare unui articol șters dein tabelul Angajați. Practic, dacă un angajat
părăsește instituția, copii săi vor fi automat șterși din tabelul Copii.
Alte variante ar fi fost RESTRICT (ștergerea angajatului nu este posibilă decât după ștergerea
copiilor acestuia din tabelul Copii) sau SET NULL (la ștergerea angajatului, în articolele
corespondente din tabelul Copii câmpul ID_PARINTE primește valoarea null.
- 19 -
INFORMATICĂ*I* IF.01. Introducere în baze de date
Rezultate:
IA.01.8 Aplicații
1. Porniți Oracle SQL Developer, conectați-vă ca administrator (system) și modificați
starea contului HR (blocat / deblocat).
Obs. cele trei câmpuri nu pot fi nule, deci fiecare linie din tabel va conţine în aceste câmpuri
informaţii.
Tabelul edituri :
- 20 -
INFORMATICĂ*I* IF.01. Introducere în baze de date
edituri
cod_edit number (4, 0)
nume varchar2 (100)
Tabelul carti:
carti
cod_carte number (4, 0)
titlu varchar2 (100)
cod_edit number (4, 0)
an_apar number (4, 0)
cheie primară : cod_carte
cheie străină : cod_edit
- 21 -