DBMS...

Hello world!

DBMS...

Messaggioda clros » mer dic 31, 2008 12:59 am

Ragazzi ho un dubbio che c'entra poco con amiga...
quando invio una stringa SQL ad un database, per esempio "INSERT INTO tabella VALUES (3,4,"pippo");", come cavolo fa il motore del DB a sapere come devono essere considerati i primi due valori (quelli numerici)? Intendo....qual'è il loro corretto tipo?

ad esempio, il primo valor, potrebbe essere un intero a 8,16,32,64 bit (ma potrebbe anche essere un float o un double anche se io nn l'ho indicato nella insert into), per cui, se inserito in una colonna di tipo TINYINT andrebbe bene (e verrebbe trattato come un intero a 8 bit) ma anche in una colonna di tipo INT (ma in questo caso verrebbe trattato come un intero a 32 bit sprecando eventualmente spazio...).

Quello che voglio dire è che...in una colonna TINYINT dovrei convertire il mio numero 3 in un int8_t, ma quel 3 che invio con la insert into, di che tipo sarà??
Potrei farlo di tipo string (c++) e poi convertirlo al tipo di arrivo?

Mah, ho parecchia confusione per l testa...
Only AMIGA makes it possible !!
La colpa è sempre del Kernel!!
...un bit è formato da 8 byte...

Claudio "CP" La Rosa
Avatar utente
clros

Supremo
 
Messaggi: 3473
Iscritto il: ven mag 07, 2004 2:41 pm
Località: SYS 64738

Re: DBMS...

Messaggioda scusscus » mer dic 31, 2008 10:09 am

Da quanto ne so la conversione viene fatta in base al tipo che hai definito nella struttura della tabella. Non ho utilizzato conversioni particolari; se sai che ci va un certo dato glielo prepari prima magari convertendolo nel linguaggio che usi per interagire con DBMS.

INSERT INTO tabella VALUES (3,4,"pippo");


Al posto delle virgolette usa gli apici singoli per descrivere le stringhe cioè nel tuo caso:

INSERT INTO tabella VALUES (3,4,'pippo');
Puoi alzarti molto presto al mattino, anche all'alba... ma il tuo destino si alza sempre mezzora prima di te. -proverbio africano-

"Stampando una notizia a grandi lettere, la gente pensa che sia indiscutibilmente vera" (J.L. Borges)

Android Software Developer & iOS Developer

Packard Bell and Amiga Enter Android Tablet Fray 9-4-2011
Avatar utente
scusscus

Eroe
 
Messaggi: 1087
Iscritto il: dom apr 18, 2004 5:54 pm
Località: Alpe Adria

Re: DBMS...

Messaggioda clros » mer dic 31, 2008 6:25 pm

scusscus ha scritto:Da quanto ne so la conversione viene fatta in base al tipo che hai definito nella struttura della tabella. Non ho utilizzato conversioni particolari; se sai che ci va un certo dato glielo prepari prima magari convertendolo nel linguaggio che usi per interagire con DBMS.


Uhmmm, si ok, ma il tipo "di partenza" qual'è?


INSERT INTO tabella VALUES (3,4,"pippo");


Al posto delle virgolette usa gli apici singoli per descrivere le stringhe cioè nel tuo caso:

INSERT INTO tabella VALUES (3,4,'pippo');
[/quote]

Si si., questo nn è un problema!
Only AMIGA makes it possible !!
La colpa è sempre del Kernel!!
...un bit è formato da 8 byte...

Claudio "CP" La Rosa
Avatar utente
clros

Supremo
 
Messaggi: 3473
Iscritto il: ven mag 07, 2004 2:41 pm
Località: SYS 64738

Re: DBMS...

Messaggioda scusscus » sab gen 03, 2009 2:45 pm

clros ha scritto:Uhmmm, si ok, ma il tipo "di partenza" qual'è?

Quello che hai definito quando hai stabilito la struttura della tabella.
Puoi alzarti molto presto al mattino, anche all'alba... ma il tuo destino si alza sempre mezzora prima di te. -proverbio africano-

"Stampando una notizia a grandi lettere, la gente pensa che sia indiscutibilmente vera" (J.L. Borges)

Android Software Developer & iOS Developer

Packard Bell and Amiga Enter Android Tablet Fray 9-4-2011
Avatar utente
scusscus

Eroe
 
Messaggi: 1087
Iscritto il: dom apr 18, 2004 5:54 pm
Località: Alpe Adria

Re: DBMS...

Messaggioda clros » dom gen 04, 2009 12:40 pm

scusscus ha scritto:
clros ha scritto:Uhmmm, si ok, ma il tipo "di partenza" qual'è?

Quello che hai definito quando hai stabilito la struttura della tabella.


Ok, ma la struttura della tabella è memorizzata da qualche parte nel DBMS, mentre l'INSERT INTO potrei farla da qualsiasi altra parte, senza conoscere la struttura della tabella e/o i vincoli intrarelazionali.
Voglio dire...Se mi scrivo un programma che si connette al DBMS e gli invia delle stringhe SQL, questo programma nn potà mai sapere in partenza (quando l'utente/programmatore scrive la sua insert into) se i valori che ha messo corrispondono ai "tipi" delle singole colonne della tabella in cui inserire i dati.
Il controllo deve essere fatto dal DBMS una volta che la stringa SQL gli arriva.

E questo il punto...in che "formato" arrivano i dati al DBMS?
Nella mia Insert Into, i valori numerici, come devo considerarli? come interi a 8,16,32,64 bit?
Only AMIGA makes it possible !!
La colpa è sempre del Kernel!!
...un bit è formato da 8 byte...

Claudio "CP" La Rosa
Avatar utente
clros

Supremo
 
Messaggi: 3473
Iscritto il: ven mag 07, 2004 2:41 pm
Località: SYS 64738

Re: DBMS...

Messaggioda scusscus » mer gen 07, 2009 8:15 pm

Il discorso è lungo e articolato...
Prova a vedere qui: http://www.robertoforlani.it/blog/repos ... LIntro.pdf
Puoi alzarti molto presto al mattino, anche all'alba... ma il tuo destino si alza sempre mezzora prima di te. -proverbio africano-

"Stampando una notizia a grandi lettere, la gente pensa che sia indiscutibilmente vera" (J.L. Borges)

Android Software Developer & iOS Developer

Packard Bell and Amiga Enter Android Tablet Fray 9-4-2011
Avatar utente
scusscus

Eroe
 
Messaggi: 1087
Iscritto il: dom apr 18, 2004 5:54 pm
Località: Alpe Adria

Re: DBMS...

Messaggioda scusscus » sab gen 10, 2009 2:29 pm

Hai dato un occhiata al PDF? Ti è stato utile?
Puoi alzarti molto presto al mattino, anche all'alba... ma il tuo destino si alza sempre mezzora prima di te. -proverbio africano-

"Stampando una notizia a grandi lettere, la gente pensa che sia indiscutibilmente vera" (J.L. Borges)

Android Software Developer & iOS Developer

Packard Bell and Amiga Enter Android Tablet Fray 9-4-2011
Avatar utente
scusscus

Eroe
 
Messaggi: 1087
Iscritto il: dom apr 18, 2004 5:54 pm
Località: Alpe Adria


Torna a Programmazione su Amiga

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti

cron