Comment puis-je insérer dans des tableaux avec les relations?

J'ai seulement fait les bases de données, sans relations, mais maintenant j'ai besoin de faire quelque chose de plus sérieux et correct.

Voici ma conception de base de données:
Comment puis-je insérer dans des tableaux avec les relations?

  1. Kunde = Client
  2. Vare = Produit
  3. Ordre = Ordre (Lire: je veux faire une commande)
  4. VareGruppe = euh..type? (Lire: Voiture, chaise, penderie, etc.)
  5. VareOrdre = Product_Orders

Voici mon SQL (SQLite) schéma:

CREATE TABLE Post (
    Postnr INTEGER NOT NULL PRIMARY KEY,
    Bynavn VARCHAR(50) NOT NULL
);

CREATE TABLE Kunde (
    CPR INTEGER NOT NULL PRIMARY KEY,
    Navn VARCHAR(50) NOT NULL,
    Tlf INTEGER NOT NULL,
    Adresse VARCHAR(50) NOT NULL,
    Postnr INTEGER NOT NULL 
    CONSTRAINT fk_postnr_post REFERENCES Post(Postnr)
);

CREATE TABLE Varegruppe (
    VGnr INTEGER PRIMARY KEY,
    Typenavn VARCHAR(50) NOT NULL
);


CREATE TABLE Vare (
    Vnr INTEGER PRIMARY KEY,
    Navn VARCHAR(50) NOT NULL,
    Pris DEC NOT NULL,
    Beholdning INTEGER NOT NULL,
    VGnr INTEGER NOT NULL
        CONSTRAINT fk_varegruppevgnr_vgnr REFERENCES Varegruppe(VGnr)
);

CREATE TABLE Ordre (
    Onr INTEGER PRIMARY KEY,
    CPR INTEGER NOT NULL
        CONSTRAINT fk_kundecpr_cpr REFERENCES Kunde(CPR),
    Dato DATETIME NOT NULL,
    SamletPris DEC NOT NULL
);

CREATE TABLE VareOrdre (
    VareOrdreID INTEGER PRIMARY KEY,
    Onr INTEGER NOT NULL
        CONSTRAINT fk_ordrenr_onr REFERENCES Ordre(Onr),
    Vnr INTEGER NOT NULL 
        CONSTRAINT fk_varevnr_vnr REFERENCES Vare(Vnr),
    Antal INTEGER NOT NULL
);

Il devrait fonctionner correctement.

Mais je suis confus au sujet de Product_Orders.

Comment puis-je créer une commande? Par exemple, les 2 produits à l'aide de SQL INSERT INTO?
Je peut rien obtenir de travailler.

Jusqu'à présent:

Seulement quand j'ai insérer manuellement des produits et des données dans Product_Orders puis ajouter ces données à Orders = qui le rend complet. Ou l'inverse (créer un bon de commande avec 1 SQL, puis insérer manuellement des produits en Product_orders - 1 SQL pour chaque entrée)

  • Avez-vous pensé à regarder dans la 3ème partie, DB outils? Je ne suis pas sûr de ce que la langue que vous utilisez, mais .NET utilise LINQ, Java utilise Hibernate / OpenJPA / beaucoup d'autres. Beaucoup de programmeurs s'éloignent de l'écriture SQL en faveur de la manipulation d'objets.
  • Ouais, j'ai j'aime LINQ-to-SQL vraiment. Malheureusement, je travaille dans une équipe, et ils ne nourrissent à l'aise autour de SQL - je n'arrive pas à faire apprendre un nouvel outil quand il s'agit de bases de données
InformationsquelleAutor CasperT | 2009-05-27