Ich bin neu in mysql und ich habe die folgenden Spezifikationen für 3-Tabellen, um eine einfache Datenbank zu erstellen gemacht:Update-Tabellen mit Fremdschlüsseln
DROP TABLE IF EXISTS representative;
CREATE TABLE representative(
id_representative VARCHAR(15),
name VARCHAR(15),
PRIMARY KEY(id_representative)
)ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS congress;
CREATE TABLE congress(
id_congress INT,
PRIMARY KEY(id_congress)
)ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS representative_congress;
CREATE TABLE representative_congress(
id_ai INT AUTO_INCREMENT,
id_representative VARCHAR(15),
id_congress INT,
party VARCHAR(2),
PRIMARY KEY(id_ai),
FOREIGN KEY(id_congress) REFERENCES congress(id_congress) ON UPDATE CASCADE,
FOREIGN KEY(id_representative) REFERENCES representative(id_representative) ON UPDATE CASCADE
)ENGINE=InnoDB DEFAULT CHARSET=latin1;
Die Informationen in beiden Vertretern und Kongress Tabellen gewonnen ändere es nicht, wenn es einmal eingefügt wurde (ich hätte nicht zwei gleiche ID-Repräsentanten für zwei verschiedene Repräsentanten oder zwei gleiche ID-KONGRESS für zwei verschiedene Kongresse). Aber die representative_congress-Tabelle wird für die Fälle verwendet, in denen im selben Kongress (Zeitraum von 2 Jahren) ein bestimmter Vertreter die Parteien (oder noch mehr Felder, die in Zukunft in die Tabelle aufgenommen werden könnten) ändern würde haben denselben id_representative mit verschiedenen Parteien oder noch mehr Feldern für den gleichen Kongress verbunden.
, die mit im Auge, ich habe 2 Fragen:
Muss ich den Spezifikationen des Tabellen oder die Einführungs Abfragen keine Einschränkungen hinzufügen müssen? Beachten Sie, dass die Informationen einmal zu den Tabellen hinzugefügt werden und nur geändert werden, wenn die Tabelle/Datenbank gelöscht wird.
Gibt es eine Möglichkeit, mit nur einer INSERT-Abfrage die Informationen , die zu zwei verschiedenen Tabellen auf einmal gehören, wie ein Kaskadierungsbefehl in irgendeiner Form einzufügen? Zum Beispiel der id_representative, der sowohl zu repräsentativen als auch zu repräsentativen_Kongressen gehört.
Vielen Dank im Voraus