Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi A - F > Basi di dati ~ comunicazione digitale
 
[postgreSQL] Chiavi esterne?
Clicca QUI per vedere il messaggio nel forum
stell4r
Ragazzi scusate ho un problema:
non riesco ad inserire la chiave esterna su evento. La colonna locale è GiornoIn di MenuEv; la colonna che vorrei referenziare è DescrEv per Evento (giornoIn e oraIniz è chiave prim, DescrEv e Tipo è chiave prim.)

L'errore riscontrato è: ERROR: there is no unique constraint matching given keys for referenced table Eventi

ecco la mia logica:

Evento ( DescrEv, Tipo, Recapito, Piva o, NumPart, Resp o)
MenuEv( GiornoIn, OraIniz, OraFine, GiornoFine o, DescrEv^Evento,Tipo^Evento )


grazie per il vostro aiuto! ^_^

Zaknafein
Devi referenziare la chiave priamaria per intero. Se DescrEv+Tipo sono la chiave primaria di Evento, prova a referenziare anche Tipo oltre che a DescrEv.

stell4r
ho referenziato (giornoIn,Tipo) e (oraIniz,descrEv)

ora mi da 2 errori:

error:foreign_key constraint "menuEv_giornoIn_fkey" cannot be implemented
detail: Key columns "giornoIn" and "tipo" are of incompatible types: date and character varying

poi se provo a farlo con la chiave primaria ex: oraIniz e poi Recapito mi da il primo errore (quello del post sopra) perchèèèè

Zaknafein
Bbboh, vedendo il dettaglio del primo errore direi che non hai messo lo stesso tipo di dato nelle 2 tabelle per quegli attributi.

pinauz
non ci ho capito molto.. ma per referenziare quello che prendi deve essere chiave primaria

stell4r
Originally posted by Zaknafein
Bbboh, vedendo il dettaglio del primo errore direi che non hai messo lo stesso tipo di dato nelle 2 tabelle per quegli attributi.


hai ragione.. cmq ho risolto..
ragà ma voi le associazioni ennarie (1,n) (1,n) le avete costruite nel db?

ex: Piatto entità

Caratterizza relazione

Ingrediente entità

entrambi sono collegati da cardinalità 1,n...
ora: io so che le associazioni ennarie vanno costruite nel db.. quindi ho creato una nuova tabella "caratterizza" nel db..

voi come avete risolto?

grazie per il vostro aiuto... siete molto disponibili .. ^_^

pinauz
Originally posted by stell4r
hai ragione.. cmq ho risolto..
ragà ma voi le associazioni ennarie (1,n) (1,n) le avete costruite nel db?

ex: Piatto entità

Caratterizza relazione

Ingrediente entità

entrambi sono collegati da cardinalità 1,n...
ora: io so che le associazioni ennarie vanno costruite nel db.. quindi ho creato una nuova tabella "caratterizza" nel db..

voi come avete risolto?

grazie per il vostro aiuto... siete molto disponibili .. ^_^


è giusto così! o almeno dovrebbe...

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate