Cas*_*erT 2 sql entity-relationship foreign-keys primary-key
我只做过没有关系的数据库,但现在我需要做一些更严肃和正确的事情。
这是我的 SQL (SQLite) 架构:
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
);
Run Code Online (Sandbox Code Playgroud)
它应该可以正常工作。
但我对Product_Orders.
如何创建订单?例如,2 个产品使用SQL INSERT INTO? 我什么都做不了。
迄今为止:
只有当我手动将产品和数据插入Product_Orders,然后添加该数据以Orders =使其完整时。或者反过来(使用 1 个 SQL 创建订单,然后Product_orders - 1为每个条目手动将产品插入SQL)
您应该首先创建一个订单,然后在表 Product_Orders 中插入产品。这是必要的,因为您需要一个带有 id 的实际订单以将其与表 Product_Orders 相关联。
在能够在当前表中创建一个记录之前,您总是应该在外键表中创建一个记录。这样你应该创建一个“帖子”、客户、类型、产品、订单和产品订单。
| 归档时间: |
|
| 查看次数: |
16179 次 |
| 最近记录: |