Problematiche relative alla gestione di Database
 

DB- quesito di base - concettuale

eurofilattico 11 Mag 2015 20:07
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 11 Mag 2015 20:08
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 12 Mag 2015 09:09
eurofilattico <eurofilattico@eurofilattico123.org.invalid> wrote:

> 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?

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 12 Mag 2015 14:49
Il 11/05/2015 13:07, eurofilattico ha scritto:
> 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?
>

Dipende dal problema da risolvere
se un campo deve contenere sempre un valore basta un constraint not null
sul campo


> 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 18 Mag 2015 12:04
> 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 18 Mag 2015 14:40
Il 18/05/2015 05:04, eurofilattico ha scritto:
>
>> 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 21 Mag 2015 23:10
On Mon, 11 May 2015 20:07:45 +0200, eurofilattico wrote:

> 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`)


> 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

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Problematiche relative alla gestione di Database | Tutti i gruppi | it.comp.software.database | Notizie e discussioni software database | Software database Mobile | Servizio di consultazione news.