2010-03-12 14 views
0

J'ai la table A avec un ID primaire, une table B avec un ID de clé primaire aussi et un autre tableau C avec une clé primaire id et rangées et Offre où l'aide et l'offre sont des clés étrangères de C et les clés primaires de A et B respectivement. Une manière de peupler ces DB serait de peupler la table A, la table B et la table C séparément.Créer automatiquement une table qui est composée par sa clé primaire et 2 autres clés étrangères

Je voudrais savoir s'il y a une façon plus intelligente de le faire, où je pourrais remplir A d'abord et en même temps je remplis B, je peux indiquer qu'une entrée en C devrait également être créée.

Toutes les idées et suggestions sur la façon de les remplir sont les bienvenues. J'essaie de profiter de la structure des clés étrangères.

Merci.

+0

Une suite à une autre question pour supprimer des lignes de la table A pour le même schéma. Vous pourriez envisager de poser la plus grande question à la fois pour obtenir une meilleure approche. – Kangkan

+0

Je ne suis pas sûr si j'ai bien compris votre question. Comment savez-vous, quelles aides et offres devraient être regroupées dans le tableau C? Si vous utilisez deux clés étrangères uniques dans la table C, vous n'avez pas besoin de clé primaire supplémentaire pour autant que je sache. – Tobias

+0

Tobias, je pensais à l'insertion d'une ligne dans B, je pourrais indiquer une aide. Cela pourrait ne pas être possible. J'essaie juste de trouver la meilleure façon de le faire. Y at-il un moyen d'insérer une entrée sur A et B en même temps et d'indiquer de créer une entrée sur C. L'instruction d'insertion AFAIK permet seulement d'insérer des lignes dans une table à la fois pas multiple, rigt? – duduklein

Répondre

1

Vous pouvez utiliser un ORM qui va analyser votre structure et créer ceci pour votre. Des exemples de ORM sont:

Vous pouvez trouver un assez bon list of ORMs here.

+0

Merci. J'utilise Python, mais je ne suis pas familier avec les ORM. Je crains que le mettre en place et l'incliner serait plus cher que de l'implémenter de la manière la plus simple (chaque table séparément) – duduklein