Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-04-2008, 19:22   #1
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
[basi di dati] relazioni 1 a 1

Stavo lavorando su una base di dati di un sito web e mi è saltato fuori un dubbio sulle relazioni 1 a 1.Allora ho aperto diversi libri e manuali ma i dubbi mi sono aumenti!V posto l' esempio classico del libro

stato(nome)

presidente(nome, stato)

presidente(stato) --> stato(nome)


Ora il dubbio è: in questo modo effettivamente presidente partecipa ad una sola relazione con stato, ma nulla impedisce di creare altre occorrenze presidente, stato dove il presidente è ovviamente diverso, essendo chiave, ma lo stato potrebbe essere sempre uguale!Non riesco a capire dove sbaglio a ragionare!
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2008, 19:57   #2
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Se vuoi forzare il vincolo 1 presidente 1 stato, metti una constraint sulla coppia di attributi.

E poi tieni a mente che il modello relazionale nella teoria non equivale alle varie implementazioni dei vari RDBMS. Non credo esista un db che soddisfi tutte le regole di Codd... a meno che non sia rimasto indietro (cosa probabile).
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2008, 20:23   #3
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Quello che mi serviva nella pratica l' ho forzato ponendo un attributo come chiave e l' altro con vincolo unique, però mi sembra strano come la teoria mostri questa mappatura che in realtà diventa 1 a molti invece di 1 a 1!

Infatti si potrebbe avere

STATO
Italia
Francia
Grecia

PRESIDENTE
Marco Italia
Luca Italia
Luigi Francia
Andrea Grecia

La doppia presenza di Italia consentita dalla mappatura viola la cardinalità!

Molto probabilmente sbaglio io, ma qualcosa non torna.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2008, 20:34   #4
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
E' proprio cosi'.
I vincoli 1:1 vengono realizzati con chiave primaria sulla tabella padre, e con chiave straniera piu' vincolo unique sulla tabella figlio.
Nel tuo esempio sarebbe vincolo unique sulla colonna IDStato della tabella Presidente

I vincoli 1:1 identificativi invece sono gia' di per loro natura a posto, essendo che la chiave straniera parte gia' da una chiave primaria (e punta ad un'altra chiave primaria).
Es: TabellaAzienda, TabellaFornitore e TabellaCliente.
La tabella padre vorrebbe essere la TabellaAzienda, con PK = IDAzienda
La stessa PK sarebbe la stessa delle tabelle figlie.
Potrebbero essere organizzate cosi' quando p.es. i campi dei fornitori possono essere diversi dai campi dei clienti, ma dove almeno c'e' un servizio che fa uso dei campi comuni (presenti tutti in TabellaAzienda)
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2008, 20:44   #5
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Effettivamete quella del vincolo unique è l' unico modo per forzare quetso tipo di relazione, ma come mai viene "taciuto" in tutti i libri?

Nel tuo secondo esempio se ho capito bene la PK è uguale per tutte le 3 tabelle?In pratica si tratta di una generalizzazione tradotta in relazioni!

Ultima modifica di nuovoUtente86 : 10-04-2008 alle 20:47.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2008, 20:47   #6
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
Effettivamete quella del vincolo unique è l' unico modo per forzare quetso tipo di relazione, ma come mai viene "taciuto" in tutti i libri?
Non so cosa ci sia sull'Atzeni-Nigro-Voci a riguardo, ma sull Inmon, sul Kimball e sulla Sql-Reference della Oracle me li ricordo abbastanza bene.

Quote:
Nel tuo secondo esempio se ho capito bene la PK è uguale per tutte le 3 tabelle?
Esatto. Ma non si possono fondere insieme perche' contengono appunto entita' con attributi diversi e non fondibili.
Esattamente come la derivazione tra oggetti.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2008, 21:14   #7
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Ecco cosa dice un riassunto estratto dall' Atzeni-Ceri-Paraboschi-Torlone a riguardo:

Quote:
Nel caso di associazione uno a uno con partecipazione obbligatoria per entrambe le entità (non (0,1) ma (1,1)), la traduzione segue le regole:
Una delle entita’ si traduce in una relazione (tabella) con lo stesso nome dell’entità, avente i suoi stessi attributi, per chiave il suo identificatore e che ingloba anche la chiave della altra entità (tale attributo diventa quindi una chiave esterna), più tutti gli eventuali attributi della associazione (come nel caso 1-n, l’associazione non avrà una tabella distinta).
L’entita’ restante si traduce in una relazione (tabella) con lo stesso nome dell’entità, avente i suoi stessi attributi, per chiave il suo identificatore

In base alle regole, sono possibili due soluzioni:
Direttore(Codice,Cognome,Stipendio,DipartimentoDiretto,InizioDirezione) Dipartimento(Nome,Telefono,Sede)
oppure
Direttore(Codice,Cognome,Stipendio)
Dipartimento(Nome,Telefono, Sede, Direttore, InizioDirezione)
Esiste in teoria l’opzione di fondere tutto in un’unica tabella; tale opzione viene però scartata perché se in sede di progettazione concettuale era stato deciso di avere due entità legate da una relazione, diventa inopportuno tornare indietro in sede di progettazione logica.

Qualora una delle entità partecipi alla associazione con cardinalità (0,1) ossia è un’entità con partecipazione opzionale, delle due soluzioni si preferisce quella in cui la associazione viene inglobata dall’altra entità (quella che partecipa con cardinalità (1,1)), questo per evitare i valori nulli che figurerebbero negli attributi relativi all’associazione qualora venissero inglobati nell’entità che partecipa con cardinalità (0,1):
Impiegato(Codice,Cognome,Stipendio)
Dipartimento(Nome,Telefono,Sede, Direttore,InizioDirezione)
Come dicevo questo è un riassunto del libro,ma ho controllato sul testo e neanche li si fa cenno al vincolo unique come unica strada per rispettare la cardinalità!
Lo stesso vale per molte dispense universitarie che nel 99% dei casi si rifanno proprio all' Atzeni.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2008, 23:41   #8
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
Come dicevo questo è un riassunto del libro,ma ho controllato sul testo e neanche li si fa cenno al vincolo unique come unica strada per rispettare la cardinalità!
Lo stesso vale per molte dispense universitarie che nel 99% dei casi si rifanno proprio all' Atzeni.
Pensa che io non mi ricordo neppure di averli studiati all'universita' i vincoli unique, al di fuori della chiave primaria.

Per essere ancora piu' precisi occorrerebbe addirittura specificare il vincolo "NOT NULL" sulla tabella figlia.
Senza il vincolo "NOT NULL" e' solo una relazione 1:0, ma il pezzo da te messo non l'ha imposto (magari c'e' altrove).

Inoltre non resta una vera 1:1 neppure aggiungendo quest'utlimo vincolo.
Nel tuo disegno "arricchito" di prima, potrebbe sempre esistere uno stato senza presidente.
Come la mettiamo?
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2008, 08:26   #9
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
Come dicevo questo è un riassunto del libro,ma ho controllato sul testo e neanche li si fa cenno al vincolo unique come unica strada per rispettare la cardinalità!
Lo stesso vale per molte dispense universitarie che nel 99% dei casi si rifanno proprio all' Atzeni.
Si ma fidati che si fa cosi come ti abbiamo detto.
All'università ti dicono che il modello relazionale è cosi, cosi e cosi...ma della PRATICA l'università non sa niente. Il modello ER va bene per pensare ai problemi e a come rappresentarli, ma poi la traduzione in un rdbms non è 1:1 col modello relazionale. Un esempio l'hai portato tu, un altro sono le relazioni N:M (che in un db si risolvono infilando una tabella in mezzo), ecc....
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2008, 12:00   #10
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Pensa che io non mi ricordo neppure di averli studiati all'universita' i vincoli unique, al di fuori della chiave primaria.

Per essere ancora piu' precisi occorrerebbe addirittura specificare il vincolo "NOT NULL" sulla tabella figlia.
Senza il vincolo "NOT NULL" e' solo una relazione 1:0, ma il pezzo da te messo non l'ha imposto (magari c'e' altrove).

Inoltre non resta una vera 1:1 neppure aggiungendo quest'utlimo vincolo.
Nel tuo disegno "arricchito" di prima, potrebbe sempre esistere uno stato senza presidente.
Come la mettiamo?
Si esatto non parla neppure del vincolo "NOT nULL"!Si concentra molto sulla struttura delle tabelle e sulle key,che in un corso di base forse sono le cose fondamentali, però a mio modo di vedere...resta troppo incompleta la trattazione!
Effettivamente puo esistere, anche imponendo i vincoli di Unique e NOTNULL,
uno stato senza presidente!Come si puo risolvere non lo so proprio, ma tu avrai certamente una risposta!
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2008, 12:13   #11
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Quote:
Originariamente inviato da shinya Guarda i messaggi
Si ma fidati che si fa cosi come ti abbiamo detto.
All'università ti dicono che il modello relazionale è cosi, cosi e cosi...ma della PRATICA l'università non sa niente.
Si mi fido, e del resto ero giunto alle stesse conclusioni ragionando un po sullo schema!Poi è evidente la vostra preparazione in materia![quote]

Quote:
Il modello ER va bene per pensare ai problemi e a come rappresentarli, ma poi la traduzione in un rdbms non è 1:1 col modello relazionale. Un esempio l'hai portato tu, un altro sono le relazioni N:M (che in un db si risolvono infilando una tabella in mezzo), ecc....
Giustissimo, anche perchè non tutti i dbms consentono poi le stessespecifiche!Nelle relazioni molti a molti anche nella traduzione relazionale si mette la tabella in mezzo solitamente!
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2008, 12:12   #12
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
E' proprio cosi'.
I vincoli 1:1 vengono realizzati con chiave primaria sulla tabella padre, e con chiave straniera piu' vincolo unique sulla tabella figlio.
Nel tuo esempio sarebbe vincolo unique sulla colonna IDStato della tabella Presidente

I vincoli 1:1 identificativi invece sono gia' di per loro natura a posto, essendo che la chiave straniera parte gia' da una chiave primaria (e punta ad un'altra chiave primaria).
Es: TabellaAzienda, TabellaFornitore e TabellaCliente.
La tabella padre vorrebbe essere la TabellaAzienda, con PK = IDAzienda
La stessa PK sarebbe la stessa delle tabelle figlie.
Potrebbero essere organizzate cosi' quando p.es. i campi dei fornitori possono essere diversi dai campi dei clienti, ma dove almeno c'e' un servizio che fa uso dei campi comuni (presenti tutti in TabellaAzienda)
Riuppo la discussione con un altra domandina:
Ipotizzando una situazione simile a quella descritta da te come potrei imporre il fatto che una' azienda si possa trovare solo nella tabelle fornitore o solo nella tabella cliente.?
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2008, 12:27   #13
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
Riuppo la discussione con un altra domandina:
Ipotizzando una situazione simile a quella descritta da te come potrei imporre il fatto che una' azienda si possa trovare solo nella tabelle fornitore o solo nella tabella cliente.?
Non ho capito se si tratta di OR logico o di OR esclusivo.

L'OR logico, piu' classico e usato, penso si possa applicare a questo caso, essendo che e' possibile tipicamente che un'azienda possa essere sia fornitore che cliente.
In questo caso puoi usare il classico "pattern" (non si chiamavano ancora cosi') delle superclassi.
Fai una tabella comune "Aziende", con gli attributi comuni tra clienti e fornitori.
Tipicamente ID (anzi, necessario), Nome, anagrafica geografica, etc.

Due tabelle "Fornitore" e "Cliente", figlie di Azienda, con FK verso di essa.

Nei grafici E-R diagrammati in UML questa situazione si trova con a simbologia specifica, che e' la linea che parte dal padre (la superclasse) con il pallino pieno e che si divide prima di entrare nei figli con il pallino vuoto. In pratica le FK si fondono ad un certo punto del tracciato.

Per quanto riguarda invece l'OR esclusivo, e' sufficiente aggiungere un attributo alla superclasse, ovvero "TIPO", che puo' valere solo "F" (fornitore) o "C" (Cliente). (Check constraint, oppure di nuovo una tabella normalizzata che pero' non consiglio dati i soli 2 valori)
Sta poi a te estendere del caso gli attributi NON-comuni dei fornitori o dei clienti nelle opportune tabelle figlie come nella soluzione precedente.

In entrambi i casi le tabelle che hanno un campo che e' un' "Azienda generica" punteranno alla superclasse, altrimenti all'una o all'altra delle tabelle figlie, a seconda dei casi.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2008, 14:54   #14
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
In pratica devo imporre che se un' azienda( presente nella tabella genitore ovviamente) è presente nella tabella fornitore, non puo poi essere presente in quella cliente!

Vista proprio in maniera pratica: se dall' applicazione cerco di compilare un form di inserimento di un' azienda come cliente, questo mi deve essere impedito se l' azienda risulta gia fornitore!Posso farlo con vincoli a livello DB o devo lavorare sul codice?
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2008, 15:26   #15
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
La soluzione

Quote:
Per quanto riguarda invece l'OR esclusivo, e' sufficiente aggiungere un attributo alla superclasse, ovvero "TIPO", che puo' valere solo "F" (fornitore) o "C" (Cliente). (Check constraint, oppure di nuovo una tabella normalizzata che pero' non consiglio dati i soli 2 valori)
Sta poi a te estendere del caso gli attributi NON-comuni dei fornitori o dei clienti nelle opportune tabelle figlie come nella soluzione precedente.
puo' andare bene?
Ogni Azienda sara' di un solo tipo. O fornitore oppure cliente.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2008, 15:43   #16
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Lo schema diventerebbe cosi

Azienda
MiaAzienda F
TuaAzienda C
SuaAzienda C
...........

Fornitori
MiaAzienda pane 10kg
TuaAzienda latte 10L //non dovrebbe stare qui

Clienti
SuaAzienda uova 10


Il vincolo di integrità referenziale è rispettato,per rispettare quello sul tipo dovrei utilizzare una assertion?
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2008, 16:28   #17
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
C'e' qualcosa che non mi piace nell'esempio che hai fatto.
cosa sarebbero quei "pane", "latte", "Uova".

Quello che bisognerebbe modellare e' un'anagrafica pura.
Al momento dell'inserimento di un'Azienda, viene inserito un record Nell'azienda e un record o nella tabella fornitori o nella tabella clienti.

Al momento dell'inserimento del record se l'azienda esiste gia', sia che sia un fornitore sia che sia un cliente, viene sollevata un'eccezione.

non vorrei che tu stessi gia' modellando qualche tipo di relazione tra le aziende e cio' che fanno (ordini o supply, immagino).
Quelli vanno in un'altra tabella.


In questo esempio ho supposto che le Aziende hanno tutte un descrittivo, una P.IVA, un telefono e un comune di registrazione
Solo i fornitori hanno un telefono e un nome del contatto da chiamare (per fare gli ordini)
Solo i clienti invece hanno un comune+indirizzo di spedizione dei beni
Fornitore e cliente sono semplicemente estensioni di Azienda.

Poi ho provato a mettere giu' tre relazioni che puntassero verosimilmente alle 3 tabelle anagrafiche:
Ordini: Contiene sia gli ordini dei clienti verso di noi che gli ordini nostri verso i fornitori. Se si ha l'accortezza di scrivere i prezzi negativi per gli ordini verso i fornitori si possono fare le somme su base temporale, ottenendo quello che e' tipicamente il Backlog (before tax) delle aziende, ovvero appunto l'aspettativa di introiti al netto delle spese, su base temporale. Quello che ci si aspetta si trasformera' in fatture di ingresso o di uscita

FidelizzazioneClienti: Un record in questa tabella indica che e' stato spedito in un dato anno la pubblicita' al cliente.
Ovviamente punta direttamente ai clienti

Supplier: Un record in questa tabella indica che il fornitore e' in grado di supplire un determinato bene.
Ovviamente punta direttamente ai fornitori.

Codice:
[Azienda]
IDAzienda
Desc
IDComune
Telefono
PIva
Tipo [F o C]

[Fornitore]
IDAzienda
TelContattoFornitore
NomeContattoFornitore

[Cliente]
IDAzienda
IDComuneDiSpedizione
IndirizzoSpedizione

[Ordini]
IDAzienda (FK Verso Azienda)
IDProdotto
Quantita'
Prezzo accordato
TempoLimite

[FidelizzazioneClienti]
IDAzienda (FK Verso Cliente)
Anno

[Supplier]
IDAzienda (FK Verso Fornitore)
IDProdotto
Per avere i soli ordini dei clienti e' sufficiente la
SELECT * FROM Ordini NATURAL JOIN Cliente

Per avere i soli ordini che abbiamo fatto ai fornitori e' sufficiente la
SELECT * FROM Ordini NATURAL JOIN Fornitore

Per avere tutti gli ordini, raggruppati per regione (della azienda interessata)

SELECT IDRegione,SUM(Prezzo)
FROM Ordini
NATURAL JOIN Azienda
NATURAL JOIN Regioni
GROUP BY IDRegione
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2008, 16:53   #18
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Scusa effettivamente mi sono accorto di aver sbagliato a spiegarti la situazione che è pressochè cosi

[Azienda]
IDAzienda
Desc
IDComune
Telefono
PIva
Tipo [F o C]


[FidelizzazioneClienti]
IDAzienda (FK Verso Azienda) (PK)
Anno

[Supplier]
IDAzienda (FK Verso Azienda) (PK)
IDProdotto

Non guardarla con la logica di business ma solo con lo schema tabelle...
Devo vincolare il fatto che se un' azienda si trova in fidelizzazione cliente non puo trovarsi in supply.
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2008, 16:57   #19
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Tenendo le tabelle cosi' non ce la fai se non facendo storture, tipo un FK di due campi, fatta con l'unione dei due campi IDAzienda e Tipo.

Perche' non valuti la derivazione? Aggiungi le 2 tabelle Cliente e Fornitore.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2008, 17:51   #20
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Tenendo le tabelle cosi' non ce la fai se non facendo storture, tipo un FK di due campi, fatta con l'unione dei due campi IDAzienda e Tipo.

Perche' non valuti la derivazione? Aggiungi le 2 tabelle Cliente e Fornitore.
Per ora vorrei risolvere velocemente con un' assertion del tipo

assertion ...... check(codAzienda non presente in Fidelizzazione)!
Per quello che mi serve dovrebbe bastare!
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Le sonde spaziali ESA ExoMars e Mars Exp...
Roscosmos: static fire per i propulsori ...
Alcune partite NBA saranno trasmesse in ...
Intel Core 13000 e 14000 aumentano uffic...
Gemini sta per arrivare in Google Maps: ...
2 minuti per vedere le 27 offerte imperd...
Ray-Ban Meta Display: tecnologia sorpren...
Un mini PC a prezzo stracciato, non cerc...
Al via i coupon nascosti di ottobre: qua...
Ferrari Elettrica si aggiorna solo in of...
Doppio sconto sugli smartphone top Xiaom...
Samsung è sempre più prota...
ChatGPT ha pregiudizi politici? Ecco cos...
Un solo iPhone rubato ha portato alla sc...
Xiaomi 17 Ultra sta arrivando: ecco come...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:13.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v