CATEGORII DOCUMENTE |
Tipurile de date care apar in coloanele MySql, ar putea parea o complicatie inutila la prima vedere, dar la o analiza mai amanuntita ne vom da seama ca putem sa adaugam datele in ce forma avem nevoie.
MySQL aloca spatiu pe disc in functie de tipul de date solicitat de utilizator. Daca in tabelul "salariati" avem o coloana pentru numarul de zile de concediu legal, o vom seta ca fiind TINYINT, deoarece aceasta este valoarea numerica in care se incadreaza (un salariat nu va avea mai mult de 127 de zile de concediu legal pe an).
Pentru fiecare inregistrare in coloanal "zile_concediu", MySQL va aloca 1 byte de memorie, indiferent daca un angajat are 2 zile de concediu si altul are 18. Daca acelasi camp ar fi setat ca INT, MySQL ar aloca fiecarei inregistrari din coloana 4 bytes, indiferent de numarul de zile de concediu introduse si astfel pentru fiecare inregistrare (fiecare angajat) se vor pierde 3 bytes. Acesta este un exemplu simplu, dar daca am avea o baza de date cu 10.000.000 de inregistrari ne putem lesne da seama ca am pierde cateva zeci de mega-octeti.
Iata tipurile de date in bazele de date MySQL, spatiul pe care il ocupa precum si valorile minime si maxime pe care le pot avea.
Tabelul III.2.1. - Valori numerice
Tip | Octeti | De la | Pana la |
TINYINT | | | |
SMALLINT | | | |
MEDIUMINT | | | |
INT | | | |
BIGINT | | | |
Toate tipurile de mai sus au un atribut optional (nestandard), UNSIGNED. Putem folosi acest atribut in definirea tipului de date al unei coloane atunci cand dorim sa contina doar valori pozitive. Un camp de tip TINYINT va putea contine numere intre -128 si 127 in timp ce un tip TINYINT UNSIGNED va putea avea valori intre 0 si 255.
Daca intr-un camp TINYINT care are valori intre -128 si 127 vom incerca sa introducem o valoare mai mica de -128, ea va fi convertita in cea mai mica valoare admisa, adica -128. Daca se incearca introducerea unei valori mai mari de 127, ea va fi convertita in cea mai mare valoare admisa de tipul campului (127 in acest caz).
Tabelul III.2.2. - Data-Timp
Tip | Format |
DATETIME | 'YYYY-MM-DD hh:mm:ss' |
DATE | 'YYYY-MM-DD' |
TIMESTAMP | YYYYMMDDhhmmss |
TIME | 'hh:mm:ss' |
YEAR | 'YYYY' |
Tipul de camp TIMESTAMP ofera posibilitatea de a data automat operatiile de tip INSERT si UPDATE. El este compus implicit din 14 caractere in formatul YYYYMMDDhhmmss dar putem sa specificam la crearea unui tabel ca dorim sa contina mai putine caractere:
Tabelul III.2.3. - Timestamp
Tip | Format |
TIMESTAMP(14) | YYYYMMDDhhmmss |
TIMESTAMP(12) | YYMMDDhhmmss |
TIMESTAMP(10) | YYMMDDhhmm |
TIMESTAMP(8) | YYYYMMDD |
TIMESTAMP(6) | YYMMDD |
TIMESTAMP(4) | YYMM |
TIMESTAMP(2) | YY |
Tipurile de string-uri in MySQL sunt BLOB, TEXT, CHAR, VARCHAR, ENUM si SET. In tabelul urmator putem vedea marimea maxima admisa pentru cele mai folosite dintre ele, precum si spatiul alocat pe disc pentru fiecare.
Tabelul III.2.4. - Siruri de numere (String-uri)
Tip | Octeti | Spatiu maxim alocat |
TINYTEXT sau TYNYBLOB | | |
TEXT sau BLOB | | |
MEDIUMTEXT sau MEDIUMBLOB | | |
LONGBLOB | | |
Campul de tip BLOB poate contine o cantitate variabila de informatie, similar cu TEXT, insa diferit printr-un singur aspect: cautarea intr-un BLOB este case sensitive (se face diferenta intre majuscule si minuscule), iar intr-un camp TEXT nu.
Tipul VARCHAR este similar tipului TEXT cu deosebirea ca intr-o coloana de tip VARCHARR putem specifica numarul maxim de caractere admis.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 956
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved