Grandissimo! certo che a te i null ti danno al voltastomaco
!!!
Ora pongo un' altra domanda un po' più impegnativa... o meglio è l'argomento ad essere decisamente più impegnativo...
la questione è la persistenza di una entità di business in un database relazionale, ho cercato su Forum, manuali, articoli e ne ho trovate di tutti i colori
(comprese le tue battaglie con Jannky - Giancarlo Sudano ), la cosa non mi sorprende dato anche io mi sono reso conto che la persistenza dei dati è uno dei punti cruciali
di tutte le applicazioni (forse ad esclusione di quelle di Business Intellingence).
con molto rammarico mi spiace non aver partecipato ai meeting sull'argomento...
Comunque alla fine sono riuscito a farmi una mia idea: e penso che il punto di contatto tra RDBMS e OOP è "meglio" che siano viste/SProc
... però non nascondo le mie difficoltà quando incontro relazioni 1:n
Un po' di conforto: il Data Access Layer è lo strato di software che si occupa della persistenza delle entità di Business? giusto??? 
Riprendendo sempre come esempio il tuo articolo sulla normalizzazione di una pseudobiblioteca
facciamo finta che alla bibliotecaria, è anche una bella ragazzuola, arriva un nuovo libro
la procedura "logica" di inserimento dovrà registrare solo l'entità libro
ma dietro le quinte si tratterà di effettuare l'inserimento "contemporaneo" come minimo
1)nella tabella Libri (ISBN,Titolo)
2)nela tabella AutoriLibri (ISBN,idAutore)
ora mi potresti spiegare qualè il modo corretto di passare a una SProc sia il libro che gli autori
per poter finalmente riuscire a mettere all'interno della stessa SProc usp_LibroCreate tutta la gestione della transazione?
Mi viene logico pensare che la transazione sia da gestire nella SProc usp_LibroCreate poichè....
In un database devono essere inseriti solo dati “reali” (e quindi veri) in quanto l’introduzione di un dato non corretto (e quindi falso) impedirebbe al motore del database (che è quindi un motore di inferenza logica) di dare risposte corrette. Appare quindi molto importante come durante la progettazione e la programmazione del database sia necessario definire anche tutta quella serie di meccanismi che impediscano a chiunque, indipendentemente dall’applicazione di accesso ai dati che verrà usata, di poter inserire dati non veri nel database.
(Parola di Davide Mauri... rendiamo grazie a Davide
)
ho sempre cercato di seguire questa regola (anche se io partivo non da megadefinizioni ma daI buonsenso) ma non sempre ci sono riuscito.
In ogni caso tornando alle entità composte da una serie di altre identità correlate (Libri - AutoriLibri) ho utilizzato vari barbatrucchi :
1)in SQL2000 per i casi più semplici,tipo il famoso "Libro", me la sono cavata mettendo nella usp_LibroCreate un parametro in input varchar(8000)
contenente una lista di idAutore separati da un carattere tipo "," 
mentre per i casi di entità più complesse era il DAL specializzato, nell' esempio quello sulla classe libro,
che iniziava la transazione e all'interno di questa eseguivo n SProc usp_AutoreLibroCreate tante volte quanti sono gli autori .
2)in SQL2005 "migliorerei" le cose grazie alle variabili di tipo XML
un po' più, passami il termine, "carine" dei varchar(8000) anche perchè con XML
è possibile definire relazioni e sequenze... tuttavia anche con SQL2005 nei casi un po' più complessi la transazione mi viene quasi automatico farla comandare dalla fuzione "Create"
del DAL dell'oggetto più corposo
... è sempre il "Libro"
Il fatto è che mi rendo conto di aver raggiunto un livello paradossale: per i casi semplici riesco a raggiungere il massimo delle (mie) potenzialità sia in termini di prestazioni che di coerenza con il database (inferenza logica!!!) ma per i casi più complessi mi riduco a ciclare liste e/o sottoliste e per ogni oggetto chiamare la rispettiva Create
praticamente un qualcosa che se utilizzassi un ORM forse avrei delle prestazioni migliori.
Ho detto castronate? Saper di aver capito la funzione del "DAL", credo sia già qualcosa...
Ma ora mi chiedo... come dovrebbe "funzionare" un DAL che gestisce la persistenza sul database in modo "corretto" del libro?...coi i miei barbatrucchi
?
Spero di non aver fatto troppa confusione nell'esporre il mio dubbio...
già che cero mi sono divertito un po' con le faccine...
ciao ciao.