我只做了沒有關係的數據庫,但現在我需要做更嚴肅和正確的事情。如何插入關係表中?
這裏是我的數據庫設計: alt text http://i41.tinypic.com/27xqzxl.jpg
- 昆德=客戶
- 瓦爾=產品
- 勳章=訂單(讀:我想打一個數量級)
- VareGruppe = ehm..type? (閱讀:汽車,椅子,衣櫃等)
- VareOrdre = Product_Orders
這裏是我的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
);
它應能正常工作。
但我很困惑Product_Orders
。
如何創建訂單?例如,2款產品使用SQL INSERT INTO
? 我什麼都不能工作。
到目前爲止:
只有當我手動插入產品和數據到Product_Orders
,然後將數據添加到Orders =
這使得它完成。或者相反(使用1 SQL創建訂單,然後手動將產品插入到每個條目的SQL查詢中)
您是否考慮過查看第三方數據庫工具?我不確定你使用的是什麼語言,但.NET使用LINQ,Java使用Hibernate/OpenJPA /許多其他語言。很多程序員正在從編寫SQL開始轉向使用對象。 – Kieveli 2009-05-27 15:05:54
是的,我有 我真的很喜歡LINQ-TO-SQL。 不幸的是,我在一個團隊中工作,他們只是圍繞SQL提供舒適的服務 - 我不能讓他們學習一個新的工具,當涉及到數據庫 – CasperT 2009-05-27 15:08:15