PDA

Visualizza la versione completa : phpmyadmin:relazioni molti a molti


informatici
27-11-2008, 19:54
salve gente!!!!!!!
ho un problema con le relazioni molti a molti in phpmyadmin....
esempio.
ho queste due tabelle:
STUDENTI(cod_studente(chiave primaria),nome,cognome)
PROVE(cod_prova(chiave primaria),materia,descrizione)
poichè è una relazione molti a molti si crea una "nuova tabella"che la chiamo SOSTIENE in cui compaiono le chiavi primarie delle due tabelle più eventuali attributi, ossia
SOSTIENE(cod_studente,cod_prova, voto) qui le chiavi primarie sono 2: cod_studente,cod_prova.
a questo punto passo a creare la tabella SOSTIENE(in precedenza ho già creato le altre 2):
CREATE TABLE sostiene (
cod_studente char(16) not null,
cod_prova char(16) not null,
voto char(2) not null,
primary key(cod_studente,cod_prova),
foreign key cod_studente references studenti(cod_studente),
foreign key cod_prova references prove (cod_prova)) engine=innodb;
è giusto fare così????????
domando questo perchè su easyphp mi vede solo una chiave esterna e non due.

informatici
27-11-2008, 21:39
help me!!!!!!!!!!!
:master:

informatici
28-11-2008, 09:12
nessuno se ne intende di database??????????

LeleFT
28-11-2008, 15:24
Ho dato una letta veloce e mi pare giusto.
Che EasyPHP ti veda pure quel che gli pare: a mio modestissimo parere è un prodotto scadente, adatto solo a chi vuole giocare con i DB senza saperne nulla, tanto che il DBMS che solitamente viene installato è un MySQL mal configurato per qualunque cosa ci si voglia fare sopra.

Ad ogni modo, dovresti prima di tutto studiare un po' le fondamenta dei DB. Quando affermi che per creare una relazione molti a molti si deve definire una nuova tabella con 2 chiavi primarie dici, da un lato una cosa giusta, dall'altro un'emerita fesseria.

E' giusto creare una nuova tabella che implementa la relazione, ma in tutte le tabelle di questo mondo può esserci al massimo sempre e solo una chiave primaria (se ce ne fosse più di una sarebbe un controsenso e non la si potrebbe chiamare "primaria"). Quindi, anche in una tabella che implementa una relazione la chiave primaria è unica ed è formata dalla coppia (chiave1, chiave2) dove chiave1 e chiave2 sono, rispettivamente, le chiavi primarie delle due tabelle in relazione.


Ciao. :ciauz:

informatici
28-11-2008, 17:07
chiave primaria composta se ci sono 2 chiavi primarie in una tabella...

Loading