Php
Concepte ale bazelor de date relationaleCONCEPTE ALE BAZELOR DE DATE RELATIONALE 1. Structura unei baze de date relationale O baza de date este o colectie de date organizata astfel incat acestea sa poata fi usor gasite si actualizate. O baza de date contine toate informatiile necesare despre obiectele ce intervin intr-o multime de aplicatii, relatiile logice intre aceste informatii si tehnicile de prelucrare corespunzatoare. In bazele de date are loc o integrare a datelor, in sensul ca mai multe fisiere sunt privite in ansamblu, eliminandu-se pe cat posibil informatiile redundante. De asemenea, se permite accesul simultan la aceleasi date, situate in acelasi loc, sau distribuite spatial, a mai multor persoane de pregatiri diferite, fiecare cu stilul personal de lucru. Sistemul de programe care permite construirea unei baze de date, introducerea informatiilor in bazele de date si dezvoltarea de aplicatii privind bazele de date se numeste Sistem de Gestiune a Bazelor de Date (SGBD). Un SGBD da posibilitatea utilizatorului sa aiba acces la date folosind un limbaj de nivel inalt, apropiat de modul obisnuit de exprimare, pentru a obtine informatii, utilizatorul facand abstracttie de algoritmii aplicati pentru selectionarea datelor implicate si a modului de memorare a lor. SGBD-ul este o interfata intre utilizatori si sistemul de operare. Sistemele de baze de date au in vedere mai multe tipuri de structuri de reprezentare a informatiilor la nivel logic si de operare cu ele dintre acestea, modelul relational fiind cel mai folosit. Acest model a fost dezvoltat de un matematician de la IBM, E.F. Codd, prin anii 1960, iar bazele de date organizate be baza acestui model se numesc baze de date relationale. Un model relational de baze de date cuprinde trei componente principale: - Structura datelor - prin definirea unor domenii si a relatiilor n-are. - Integritatea datelor - prin impunerea unor restrictii.
- Prelucrarea datelor - prin operatii din algebra relationala sau calculul relational. Modelul relational se bazeaza pe notiunea matematica de relatie, asa cum este definita in teoria multimilor, si anume ca o submultime a produsului cartezian a unei liste finite de multimi numite domenii. Elementele unei relatii se numesc tupluri, iar numarul de domenii din produsul cartezian se numeste aritatea relatiei. De obicei relatiile sunt reprezentate sub forma unor tabele in care fiecare rand reprezinta un tuplu si fiecare coloana reprezinta valorile tuplurilor dintr-un domeniu dat al produsului cartezian. Coloanelor si, respectiv, domeniilor corespunzatoare lor li se asociaza nume intitulate atribute. Accesul la informatii se face pe baza cheilor. O cheie este o coloana (sau un grup de coloane) care identifica in mod unic un rand dintr-un tabel. 2. Normalizarea tabelelor Pentru a deosebi anumite calitati specifice ale unor relatii, s-au facut mai multe clasificari, dintre acestea, cea mai frecvent utilizata fiind clasificarea in forme normale. Se spune ca o relatie (un tabel) este intr-o forma normala particulara daca satisface o multime data de constrangeri. Transformarea unei relatii intr-o multime de relatii de un anumit tip se numeste normalizare. Exista cinci forme normale, primele trei au fost definite de Codd, iar a patra si a cincea au fost definite de Fagin. Principalele scopuri urmarite in procesul de normalizare sunt: eliminarea unor redundante, evitarea unor anomalii de reactualizare, realizarea unui proiect care sa reprezinte cat mai fidel modelul real (usor de inteles si eventual de modificat), stabilirea unor constrangeri de integritate simple si altele. 3. Structured Query Language SQL (Structured Query Language) este un limbaj relational de cereri care formeaza nucleul multor sisteme de gestiune a bezelor de date. SQL a fost dezvoltat de IBM in anii '70 - '80 si standardizat la sfarsitul anilor '80. In ciuda simplitatii sale, SQL este un limbaj foarte puternic, care poate obtine accesul la date stocate in mai multe tabele, poate filtra datele dorite si poate sorta, rezuma si afisa rezultatele. In general, nu se pot anticipa toate modalitatile in care utilizatorii pot dori sa obtina acces la date si sa le vizualizeze. Ca atare, nu se pot scrie programe de aplicatie care sa satisfaca fiecare potentiala necesitate de informatii. Este aproape sigur ca vor aparea unele cereri de date neprevazute (sau ad-hoc). Utilizand SQL, este posibil accesul la datele stocate intr-o baza de date relationala fara a scrie un program de aplicatie, permitand frecvent evitarea intarzierilor si a costurilor implicate de programarea personalizata. Astfel, bazele de date relationale permit satisfacerea tuturor cererilor ad-hoc de informatii, care ar ramane fara raspuns in alte situatii. In functie de intrebuintarea sa, SQL poate fi impartit in trei componente: - DDL - Data Definition Language – folosit pentru a crea bazele de date. - DML - Data Manipulation Language - folosit la actualizarea datelor. - DQL - Data Query Language - folosit pentru extragerea informatiilor din baze de date.
|