Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Flfl
    Registrato dal
    Nov 2007
    Messaggi
    6

    Tipi di dato SQL: Quale scegliere?

    Ciao volevo sapere se qualcuno poteva togliermi del tutto alcuni dubbi facendomi degli esempi concreti dei seguenti tipi di dato (in modo da sapere quando usarne uno invece dell' altro):
    1) INTEGER
    2) SMALLINT
    3) BIGINT
    4) NUMERIC
    5) DECIMAL
    6) CHAR
    7) VARCHAR

    Grazie mille.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    47
    io in genere uso VARCHAR (comuni stringhe di cui imposto la lunghezza massima)
    e INT (con l'opzione UNSIGNED se è un id che devo incrementare)

  3. #3

    Re: Tipi di dato SQL: Quale scegliere?

    Originariamente inviato da Flfl
    Ciao volevo sapere se qualcuno poteva togliermi del tutto alcuni dubbi facendomi degli esempi concreti dei seguenti tipi di dato (in modo da sapere quando usarne uno invece dell' altro):
    1) INTEGER
    2) SMALLINT
    3) BIGINT
    4) NUMERIC
    5) DECIMAL
    6) CHAR
    7) VARCHAR

    Grazie mille.
    è un po come dire: uso un bicchierino da alcool, un bicchierino da caffe, un bicchiere piccolo, un bicchiere grande, un boccale di birra, un barile o una cisterna??

    E' ovvio che l'unica risposta, utile, che puoi avere è: "dipende da cosa ci devi fare".

    Se devi metterci:
    1) numeri in virgola mobile (xkè magari provenienti da qualche operazione matematica o perchè indicano un costo con precisione in centesimi [es 10.25 euro]) allora devi scartare gli interi (integer, smallint, bigint, ...)
    2) una frase, una parola o comunque una stringa alfanumerica usi varchar
    3) se ci devi mettere il numero del giorno in cui sei nato (o magari l'anno) userai un intero

    poi tra i vari tipi sceglierai quello più restrittivo che ti garantisce la possibilità di fare ciò che vuoi.

    Ad esempio se devi memorizzare un giorno (da 1 a 31 quindi) non andrai ad usare un BIGINT da diecimilamilioni di numeri...ma ti basta uno SMALLINT...

    non so se ho reso l'idea...cmq dipende da cosa ci devi fare.
    Administrator of NAMDesign.Net

  4. #4
    Utente di HTML.it L'avatar di Flfl
    Registrato dal
    Nov 2007
    Messaggi
    6

    Re: Re: Tipi di dato SQL: Quale scegliere?

    Originariamente inviato da LeaderGL
    è un po come dire: uso un bicchierino da alcool, un bicchierino da caffe, un bicchiere piccolo, un bicchiere grande, un boccale di birra, un barile o una cisterna??

    E' ovvio che l'unica risposta, utile, che puoi avere è: "dipende da cosa ci devi fare". :
    Devo creare tabelle e perciò per ogni elemento che devo catalogare devo indicare che tipo di dato è.
    es.
    CREATE TABLE Video
    (titolo Varchart (30) NOT NULL,
    tipo char );

    Lo so che la mia potrebbe sembrare una domanda banale ma non è cosi dato che le differenze tra i tipi che ho indicato precedentemente sono sottili e non sempre riesco a capire quale usare.

    Comunque grazie per l'aiuto

  5. #5
    Ti ho detto, dipende da quello che ci devi fare; ovvero dal tipo di dato.


    CREATE TABLE prova_tipi (
    idtipo INT(11),
    nome VARCHAR(64),
    codicefiscale VARCHAR(16),
    sesso_1 CHAR,
    sesso_2 ENUM('M', 'F'),
    data_nascita DATE,
    titolo VARCHAR(255),
    messaggio TEXT
    );
    ad esempio, ma dipende sempre da quello che ogni campo deve contenere. Se il "messaggio" sarà lunghissimo e potrebbe non entrare nel range del tipo "TEXT" puoi usare LONGTEXT, FULLTEXT, BLOB.

    "sesso" come vedi l'abbiamo rappresentato o con un CHAR o con un ENUM (enumerazione di possibilità).

    Ognuno di quei campi ha una dimensione massima e devi scegliere il più piccolo più grande per le tue possibilità.

    Se ti basta un INT non userai un LONGINT sarebbe uno spreco.
    Se ti basta TEXT non userai un BLOB.

    E così via...
    Administrator of NAMDesign.Net

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.