Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 ITPS - Secondo Anno
 Progettazione di Basi di dati + Lab.
 Help comando ALTER
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

simbad_75
Nuovo Utente


Regione: Puglia
Prov.: Bari


Inserito il - 30/06/2010 : 17:27:34  Mostra Profilo  Visita l'Homepage di simbad_75  Clicca per vedere l'indirizzo MSN di simbad_75 Invia a simbad_75 un Messaggio Privato  Rispondi Quotando
Potreste spiegarmi come eseguire il comando ALTER TABLE
in questo caso: "Aggiungere alla tabella LibriAutori gli opportuni vincoli di chiave esterna." Grazie


Immagine:

29,84 KB

Dragon83
Padawan

linux_jedi


Regione: Puglia
Città: Foggia


Inserito il - 30/06/2010 : 20:45:33  Mostra Profilo  Visita l'Homepage di Dragon83  Clicca per vedere l'indirizzo MSN di Dragon83 Invia a Dragon83 un Messaggio Privato  Rispondi Quotando
penso che la guida ufficiale ti risolverà il problema ;)
http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

ALTER TABLE tbl_name
    ADD [CONSTRAINT [symbol]] FOREIGN KEY
    [index_name] (index_col_name, ...)
    REFERENCES tbl_name (index_col_name,...)
    [ON DELETE reference_option]
    [ON UPDATE reference_option]

dovrebbe essere più o meno così:

ALTER TABLE LibriAutori 
ADD FOREIGN KEY (Nro_autore) REFERENCES Autori(Nro_autore),
ADD FOREIGN KEY (Codice_libro) REFERENCES Libri(Codice_libro);

poi vedi tu se vuoi che si auto-aggiornino o cancellino.
Torna all'inizio della Pagina

simbad_75
Nuovo Utente


Regione: Puglia
Prov.: Bari


Inserito il - 01/07/2010 : 10:48:37  Mostra Profilo  Visita l'Homepage di simbad_75  Clicca per vedere l'indirizzo MSN di simbad_75 Invia a simbad_75 un Messaggio Privato  Rispondi Quotando
Grazie Dragon83 sei stato molto chiaro,

Altra cosa nella sintassi della guida vedo l'utilizzo anche del "[CONSTRAINT [symbol]]" è corretto applicarlo nel nostro caso e nel modo seguente:

ALTER TABLE LibriAutori
ADD CONSTRAINT FOREIGN KEY (Nro_autore) REFERENCES Autori(Nro_autore),
ADD CONSTRAINT FOREIGN KEY (Codice_libro) REFERENCES Libri(Codice_libro);

da mysql è stato accettato ...
Grazie!
Torna all'inizio della Pagina

Dragon83
Padawan

linux_jedi


Regione: Puglia
Città: Foggia


Inserito il - 01/07/2010 : 13:13:58  Mostra Profilo  Visita l'Homepage di Dragon83  Clicca per vedere l'indirizzo MSN di Dragon83 Invia a Dragon83 un Messaggio Privato  Rispondi Quotando
constraint dovrebbe riferirsi al vincolo di integrità referenziale anche se pensavo fosse sottintenso.
Praticamente non ti fa fare modifiche che creano problemi di coerenza tra le tabelle.

Ad esempio se cancello un libro c'è un problema di riferimento con l'altra tabella e non me lo fa fare.
Però ripeto: pensavo che questo vincolo venisse impostato in automatico.
Torna all'inizio della Pagina

simbad_75
Nuovo Utente


Regione: Puglia
Prov.: Bari


Inserito il - 01/07/2010 : 13:20:30  Mostra Profilo  Visita l'Homepage di simbad_75  Clicca per vedere l'indirizzo MSN di simbad_75 Invia a simbad_75 un Messaggio Privato  Rispondi Quotando
quindi posso usarlo senza problemi nella prova di lab?
Torna all'inizio della Pagina

Dragon83
Padawan

linux_jedi


Regione: Puglia
Città: Foggia


Inserito il - 01/07/2010 : 14:20:19  Mostra Profilo  Visita l'Homepage di Dragon83  Clicca per vedere l'indirizzo MSN di Dragon83 Invia a Dragon83 un Messaggio Privato  Rispondi Quotando
Citazione:
Messaggio inserito da simbad_75

quindi posso usarlo senza problemi nella prova di lab?


no, aspè. quello è un esame e quindi può darsi che il prof ti chieda di motivare; cosa che sul lavoro non ti chiedono. Io approfondirei prima di beccarmi un ca**iatone.
Questa è una caratteristica fondamentale delle InnoDB che durante gli esami viene presa in grande considerazione. Prova a leggere un po' la guida online e anche sul libro.
Torna all'inizio della Pagina

simbad_75
Nuovo Utente


Regione: Puglia
Prov.: Bari


Inserito il - 01/07/2010 : 14:47:55  Mostra Profilo  Visita l'Homepage di simbad_75  Clicca per vedere l'indirizzo MSN di simbad_75 Invia a simbad_75 un Messaggio Privato  Rispondi Quotando
Esempio: un quesito di una precedente appello (sempre sulla stessa base di dati) chiedeva : Aggiungere alla tabella Libri gli oppurtuni vincoli di chiave esterna
soluzione proposta:

ALTER TABLE Libri
ADD CONSTRAINT Libri
FOREIGN KEY (Codice_editore)
REFERENCES Editori(Codice_editore);

mi chiedevo se potevo fare lo stesso per il quesisto inzialmente proposto
Torna all'inizio della Pagina

Dragon83
Padawan

linux_jedi


Regione: Puglia
Città: Foggia


Inserito il - 01/07/2010 : 16:21:13  Mostra Profilo  Visita l'Homepage di Dragon83  Clicca per vedere l'indirizzo MSN di Dragon83 Invia a Dragon83 un Messaggio Privato  Rispondi Quotando
si, lo puoi fare ma siccome agli esami bisogna motivare e quindi capire cosa si sta scrivendo, ti ho consigliato di leggerti un po' la guida e il libro di testo.
Io l'esame di basi l'ho già fatto da un po' e ad informatica normale. ora, se devo creare dei db uso programmi visuali perchè mi scasso a scrivere tutto il codice ogni volta, a meno che non siano poche stringhe. Perciò non so dirti precisamente come funziona quella parola chiave. mi ricordo che riguarda il vincolo spiegato prima ma ricordo anche che le InnoDB danno automaticamente quel tipo di controllo. Può darsi che ricordi male.
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,25 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000