Php
MySqlMySql MySQL este un sistem de gestiune a bazelor de date relational, produs de compania suedeza MySQLAB si distribuit sub Licenta Publica Generala GNU. Este cel mai popular SGBD open-source la ora actuala, fiind o componenta cheie a stivei LAMP (Linux, Apache, MySQL, PHP). MySQL este componenta integrata a platformelor LAMP sau WAMP (Linux/Windows-Apache-MySQL-PHP/Perl/Python). Popularitatea sa ca aplicatie web este strans legata de cea a PHP-ului care este adesea combinat cu MySQL si denumit Duo-ul Dinamic. In multe carti de specialitate este precizat faptul ca MySQL este mult mai usor de invatat si folosit decat multe din aplicatiile de gestiune a bazelor de date, ca exemplu comanda de iesire fiind una simpla si evidenta: „exit” sau „quit”. A. Tipuri de date Valori numerice:
Toate tipurile de mai sus au un atribut optional (nestandard), UNSIGNED. Se poate folosi acest atribut in definirea tipului de date al unei coloane atunci cand se doreste ca acel camp sa contina doar valori pozitive. Un camp de tip TINYINT va putea contine numere intre -128 si 127 in timp ce alt camp, TINYINT UNSIGNED va putea avea valori intre 0 si 255. La fel, pentru SMALLINT valorile sunt de la -32768 pana la 32767 in timp ce pentru SMALLINT UNSIGNED ele pot fi intre 0 si 65535. Daca intr-un camp TINYINT care are valori intre -128 si 127 se introduce o valoare mai mica de -128 ea va fi convertita in cea mai mica valoare admisa. Valori de tipul data / timp:
Tipul de camp TIMESTAMP ofera posibilitatea de a data automat operatiile de tip INSERT si UPDATE. Valori de tip sir de caractere(string):
Campul de tip BLOB poate contine o cantitate variabila de informatie, similar cu TEXT insa diferit printr-un singur aspect: cautarea intr-un camp BLOB este case sensitive (se face diferenta intre majuscule si minuscule), iar intr-un camp TEXT nu este. Tipul VARCHAR este similar tipului TEXT cu deosebirea ca intr-o coloana de tip VARCHAR putem specifica numarul maxim de caractere admis. B. Tipuri de tabele Aplicatia pentru baze de date MySql accepta diferite tipuri de tabele (tipul unui tabel este denumit si motor de stocare). Desi fiecare tip de tabel are diferite caracteristici, modul in care se interactioneaza cu tabelele ramane, in general neschimbat. Tipul: o MyISAM - tabelele de acest tip sunt potrivite pentru majoritatea aplicatiilor, deoarece permit rularea rapida a interogarilor SELECT si INSERT. Acest motor de stocare nu permite insa folosirea tranzactiilor. o InnoDB - accepta tranzactiile si ruleaza rapid actualizarile, dar foloseste mai mult spatiu pe server. o MEMORY (HEAP) - asigura cele mai bune performante deoarece stocheaza toate datele in memorie, nu in fisiere. Insa au dezavantaje foarte mari cum ar fi faptul ca pot contine numai coloane cu lungime fixa, nu permit folosirea optiunii AUTO_INCREMENT si datele se pierd in cazul caderii sistemului. Pentru specificarea motorului de stocare la definirea unui tabel se adauga clauza ENGINE la sfarsitul instructiunii de creare: CREATE TABLE nume_tabel (col1 tip_col, col2 tip-col ) ENGINE = INNODB; Pentru a schimba tipul unui tabel existent se foloseste comanda ALTER: ALTER TABLE nume_tabel ENGINE=MYISAM; C. Chei si indecsi O cheie dintr-un tabel al bazei de date face parte din procesul de normalizare folosit pentru proiectarea bazelor de date mai complexe. Exista doua tipuri de chei: primare si straine. Fiecare tabel trebuie sa contina o singura cheie primara care poate fi legata de o cheie straina dintr-un alt tabel. Cheia primara a unui tabel este o modalitate artificiala de referire a unei inregistrari si trebuie sa respecte urmatoarele reguli: o Trebuie sa aiba intotdeauna o valoare o Valoarea trebuie sa nu se schimbe niciodata o Valoarea trebuie sa fie unica pentru fiecare inregistrare din tabel Indexul este un sistem special folosit de bazele de date pentru cresterea performantelor. Prin stabilirea unui index intr-un tabel putem spune ca cerem aplicatiei MySql sa acorde o atentie speciala coloanei respective. MySql creeaza fisiere suplimentare pentru stocarea si urmarirea eficienta a indecsilor. MySql permite folosirea a 16 indexuri pentru fiecare tabel (insa numarul maxim depinde si de tipul de tabel) , iar fiecare index poate include pana la 15 coloane. Indecsii cresc viteza la citirile din bazele de date, dar scad viteza la actualizarea datelor, deoarece toate modificarile trebuie sa fie inregistrate si in indexuri. Se vor crea indecsi pentru coloanele folosite frecvent ca punct central pentru o uniune, folosite frecvent in clauzele WHERE si ORDER BY a interogarilor sau pentru coloanele care contin multe valori diferite, pe cand coloanele cu multe valori repetate nu ar trebui indexate. D. Comenzi MySql:
Pentru a administra bazele de date MySQL se poate folosi modul linie de comanda sau, prin descarcare de pe internet, o interfata grafica: MySQL Administrator si MySQL Query Browser. Un alt instrument de management al acestor baze de date este aplicatia gratuita, scrisa in PHP, phpMyAdmin. MySQL poate fi rulat pe multe dintre platformele software existente: AIX, FreeBSD, GNU/Linux, Mac OS X, NetBSD, Solaris, SunOS, Windows 9x/NT/2000/XP/Vista.
|