Discussione:
DB- quesito di base - concettuale
(troppo vecchio per rispondere)
eurofilattico
2015-05-11 18:07:45 UTC
Permalink
Sono un principiante dei databare e vorrei capire una cosa:


Considerando che, per avere relazioni e confronti di senso compiuto,
servono dei numeri definiti chiedo:
Un database corretto deve avere sempre i campi contenenti valori
definiti, o può restare vuoto?

Lo '0' che viene restituito da una query a un database deriva da un
campo vuoto, o si riscontra quando a esso è stato attribuito un valore
nullo?
eurofilattico
2015-05-11 18:08:41 UTC
Permalink
Sono un principiante dei database e vorrei capire una cosa:


Considerando che, per avere relazioni e confronti di senso compiuto,
servono dei numeri definiti chiedo:
Un database corretto deve avere sempre i campi contenenti valori
definiti, o può restare vuoto?

Lo '0' che viene restituito da una query a un database deriva da un
campo vuoto, o si riscontra quando a esso è stato attribuito un valore
nullo?
Jack
2015-05-12 07:09:19 UTC
Permalink
Post by eurofilattico
Considerando che, per avere relazioni e confronti di senso compiuto,
Un database corretto deve avere sempre i campi contenenti valori
definiti, o può restare vuoto?
pensa ad un db che contiene indirizzi.
se un indirizzo non contiene la via cosa succede?

Ciao Jack
--
Yoda of Borg am I! Assimilated shall you be! Futile resistance is, hmm?
enoquick
2015-05-12 12:49:59 UTC
Permalink
Post by eurofilattico
Considerando che, per avere relazioni e confronti di senso compiuto,
Un database corretto deve avere sempre i campi contenenti valori
definiti, o può restare vuoto?
Dipende dal problema da risolvere
se un campo deve contenere sempre un valore basta un constraint not null
sul campo
Post by eurofilattico
Lo '0' che viene restituito da una query a un database deriva da un
campo vuoto, o si riscontra quando a esso è stato attribuito un valore
nullo?
a meno di funzioni se un campo contiene 0 restituisce 0,se è nullo
restituisce null
eurofilattico
2015-05-18 10:04:44 UTC
Permalink
Post by enoquick
a meno di funzioni se un campo contiene 0 restituisce 0,se è nullo
restituisce null
Null può essere personalizzato in qualche maniera come 0,
o se ho 0 il campo può contenere solo uno 0?
Grazie
enoquick
2015-05-18 12:40:17 UTC
Permalink
Post by eurofilattico
Post by enoquick
a meno di funzioni se un campo contiene 0 restituisce 0,se è nullo
restituisce null
Null può essere personalizzato in qualche maniera come 0,
o se ho 0 il campo può contenere solo uno 0?
Grazie
tramite funzioni puo convertire null in quello che vuoi
Un campo puo contenere 0 (numero) se è numerico e non ci sono
constraints che ne limitano i valori
Il constraint not null su un campo impedisce a quel campo di contenere null
Pe default i campi (che nei db sono chiamati colonne) possono contenere null
Enrico Bianchi
2015-05-21 21:10:45 UTC
Permalink
Post by eurofilattico
Un database corretto deve avere sempre i campi contenenti valori
definiti,
o può restare vuoto?
Puo` avere dei campi null. Poi dipende da quello che devi mettere in quel
campo, ovviamente (e.g. un codice fiscale difficilmente e` null, mentre
un indirizzo alternativo lo e`)
Post by eurofilattico
Lo '0' che viene restituito da una query a un database deriva da un
campo vuoto, o si riscontra quando a esso è stato attribuito un valore
nullo?
Se stiamo parlando di una query semplice, allora si tratta di un valore
salvato su database. Una tabella con un valore nullo semplicemente non ha
niente dentro, e qualsiasi valore ritornato e` perche` stai agendo sul
campo null. Per fare un esempio:

sqlite> create table test(uno, due);
sqlite> insert into test values(1, null);
sqlite> select * from test;
1|
sqlite> insert into test values(null, 2);
sqlite> select * from test;
1|
|2
sqlite> insert into test values(3, 'tre');
sqlite> select * from test;
1|
|2
3|tre
sqlite> select ifnull(uno, 'campo null'), ifnull(due, 'campo null') from
test;
1|campo null
campo null|2
3|tre
sqlite>

Enrico

Loading...