Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Tipuri de date

sql



+ Font mai mare | - Font mai mic



Tipuri de date

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



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 878
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved