Tipul de date (baze de date)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În contextul bazelor de date, tipul de date , care în informatică indică valoarea semantică care trebuie atribuită unei variabile (vezi tipul de date), este un concept esențial în crearea unui tabel. Mai precis, vă permite să identificați tipul de valori (de exemplu un șir de caractere, un număr sau o dată) pe care le poate conține fiecare coloană.

Există o „valoare specială”, pe care o pot lua date de orice tip: este NULĂ. Există mai multe discuții academice asupra semnificației sale precise. Potrivit unor NULL reprezintă absența unei valori, în timp ce în opinia altora reprezintă o valoare necunoscută.

Fiecare sistem de gestionare a bazelor de date are diferite tipuri de date. Aici sunt câțiva dintre ei:

  • Șiruri de caractere alfanumerice
  • Numere matematice
  • Valorile booleene
  • La tine acasa
  • Date în cod binar
  • Rowid
  • Array și Multiset

Șiruri de caractere alfanumerice

  • CHAR (d): poate conține un șir de caractere cu lungime fixă, egal cu d (începând cu versiunea 7 a bazei de date Oracle). Dimensiunea maximă declarabilă este de 2000 de octeți (fiecare caracter ocupă 1 octet de memorie, în format ASCII extins). Dacă nu este specificat, este setat automat la 1. Fiind o lungime fixă, dacă este introdus un șir de n caractere (unde n este mai mic decât d ), SGBD adaugă la sfârșitul aceluiași caracter dn "(spațiu sau gol ) pentru a atinge lungimea maximă declarată.
  • VARCHAR2 (d): poate conține un șir de caractere cu lungime variabilă, egal cu d . Dimensiunea maximă este de 4000 de octeți.
  • VARCHAR (d): până la versiunea 8 este similar cu VARCHAR2. Cu toate acestea, utilizarea acestuia nu este recomandată de Oracle, deoarece caracteristicile sale pot varia în versiunile viitoare ale bazei de date a acestei companii.
  • LUNG: poate conține un șir de caractere, de dimensiuni variabile, până la maximum 2 gigaocteți . Este un tip de date supuse unor limitări severe: pentru fiecare tabel este posibilă definirea unei singure coloane de tip LONG, în plus nu este posibilă aplicarea anumitor funcții valabile pentru VARCHAR2 și CHAR pentru date.
  • VARCHAR LUNG: identic cu LONG.
  • CLOB: poate conține un șir de caractere, de dimensiuni variabile, până la maximum 4 gigaocteți .
  • NCLOB: ca CLOB, dar poate conține și caractere constând din mai mulți octeți fiecare.

Valorile numerice

  • NUMĂR (d, p): poate conține numere matematice ( numere întregi sau zecimale, pozitive și negative) formate din d cifre (până la maximum 38). Se poate indica precizia p , adică numărul maxim de cifre zecimale utilizabile, care este în orice caz un „din care” al dimensiunii d . Atât dimensiunea, cât și precizia sunt parametri opționali: dacă nu sunt expliciți, primul este setat automat la 38. 1 octet este întotdeauna rezervat pentru semn și 1 octet pentru separatorul zecimal.
  • ZECIMAL (d, p): identic cu NUMĂRUL
  • FLOAT: identic cu NUMBER.
  • INTEGER: identic cu NUMĂRUL (38). Nu este posibil să-l dimensionați (adică specificați lungimea acestuia în octeți). Poate conține doar numere întregi (fără zecimale).
  • SMALLINT: identic cu NUMĂRUL (38).

Valorile booleene

O dată booleană poate lua doar două valori: adevărat (ADEVĂRAT) sau fals (FALS). În general, o dată booleană ocupă doar un bit.

La tine acasa

  • DATA: caracterizează informațiile de tip data; poate conține și ore, minute și secunde. În cazul bazelor de date Oracle , o coloană de tip DATE poate conține doar valori aparținând intervalului arbitrar 1 ianuarie 4712 î.Hr. - 31 decembrie 4712 d.Hr.

Date în cod binar

  • BLOB: poate conține date în format binar până la maximum 4 gigaocteți. Este folosit pentru a stoca pe o masă imagini grafice sau programe de aplicații scrise în alte limbi.
  • RAW (d): poate conține date în format binar a căror dimensiune maximă d este de 2000 de octeți.

Rowid

Este un anumit tip de date care caracterizează valorile returnate de pseudo-coloana ROWID, existente pentru fiecare tabel, care reprezintă adresa fizică a înregistrării și o caracterizează în mod unic. Este afișat în mod normal în format hexazecimal.

Tipuri geometrice

Unele SGBD, cum ar fi PostgreSQL și MySQL , oferă și unele tipuri de date geometrice sau spațiale. Standardul OpenGIS definește următoarele clase:

  • Geometrie
  • Punct
  • Curbe
  • LineString
  • Suprafaţă
  • Poligon
  • GeometryCollection
  • MultiPoint
  • MultiCurve
  • MultiLineString
  • MultiSurface
  • MultiPolygon

Array și Multiset

Standardul SQL99 adaugă tipul de matrice; standardul SQL2003 îl extinde prin adăugarea de noi operatori și adaugă tipul Multiset. Aceste tipuri sunt extrem de criticate de comunitatea dezvoltatorilor, întrucât o bază de date normalizată nu poate conține mai multe informații pentru fiecare coloană, în timp ce tablourile și multiseturile sunt concepute pentru a stoca mai multe informații într-una.

Alte tipuri

PostgreSQL oferă tipuri de inet și cidr pentru a înregistra adrese IP și macaddr pentru a înregistra adrese MAC.
MySQL oferă tipurile de enumere și seturi. Ambele au o listă definită de utilizator cu posibile valori din când în când, dar comportamentul lor este diferit. O datum de tip enum poate presupune una dintre aceste valori sau niciuna (NULL); o datum de tip set poate asuma mai multe valori în același timp și este similară cu o mască de biți.

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT