[Python] Concatenazione lato DB => Rebus
Simone Federici
s.federici a gmail.com
Mer 21 Mar 2012 15:15:33 CET
2012/3/21 Daniele Varrazzo <piro a develer.com>
> Column | Type | Modifiers
> --------+---------------------**---+-----------
> name | character varying(100) | not null
> author | character varying(100) | not null <- nota: non ce l'ho
fantastico immagino che posso dire di essere un emerito cretino :-)
> test=> insert into book values ('titolo', null);
> ERROR: null value in column "author" violates not-null constraint
Sulla terra no. Postgres come vedi sopra forza le pkey a essere non null.
> Altri db forse non aggiungono questo vincolo, ma questo non vuol dire sia
> una cosa ragionevole da fare.
>
base terra chiama => marte
> Una relazione generica io non nego sia utile: quello che sostengo è che i
> db relazionali sono fatti *apposta* per prendere vantaggio dalle relazioni
> specifiche. In un db crei il modello di un dominio. Se vuoi una relazione
> specifica, vuol dire che stai modellando l'oggetto di base, l'"oggetto", e
> non gli oggetti che fai. Come dire, traslato in mondo Python, che le classi
> sono oggetti di primo ordine. Se tu nel database modelli "la classe" e
> "l'istanza" allora puoi fare relazioni generiche: praticamente metterai
> tutti i tuoi oggetti in una sola tabella e anzichè dire "seleziona tutti i
> libri" dirai "seleziona tutti gli oggetti che sono di tipo libro".
>
Fa cagare vero? Certo che lo fa. Ma così fai le cose generiche in un db.
> Dire "generico" e poi avere gli oggetti in diverse tabelle, cioè fare
> oggetti specifici, sono due modelli diversi, e non puoi applicare al
> secondo le caratteristiche del primo.
>
> Insomma: secondo me stai over-generalizzando dove non puoi - stai provando
> a trattare tabelle specifiche come oggetti generici. Sopra questo stai
> over-over-generalizzando considerando pkey composte. Sopra questo stai
> over-over-over-generalizzando considerando valori non ragionevoli per le
> pkey.
> E dici a me di restare a terra?
Non c'è che dire che ho preso na' toppa ponendomi un problema che non
esiste.
Per le relazioni generiche invece dissento.
L'utilità della relazione è indiscutibile, e anche se non è in una forma
che può essere definita "da manuale del vero DBA" è comunque uns tandard
che stà diventando de facto, ho visto parecchi shema che stanno evelvendo
con il concetto di content type.
E dai l'hai detto pure tu che il mono tabella fa cagare quindi perche
sputare su una soluzione ibrida?
comunque il mio proposito è quello di dare una features in più a Django che
adesso non ha, quindi non la posso dare dicendo:
"non usate le generic relation cretini :-)"
grazie della dritta, vuol dire che 1 stavo correndo a occhi bassi, 2 che la
soluzione che ho postato nella prima mail è già la soluzione definitiva
ciao
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120321/0b8e16af/attachment-0001.html>
Maggiori informazioni sulla lista
Python