我是SQL的新手,所以我很可能会问一个非常明显答案的问题。我正在制作一个简单的电话计划数据库,我的表依次是:
国家/地区,提供商,电话,计划,客户。
它们都有一个主键,除COUNTRY外都有引用上一个表的外键。
将值插入PHONE表时出现问题。这些是PROVIDER和PHONE表:
CREATE TABLE Provider_T(
Name VARCHAR(25),
Provider_ID CHAR(10) NOT NULL,
Country_Abbrev CHAR(3) DEFAULT NULL,
Website VARCHAR(50) DEFAULT NULL,
CService_Number VARCHAR(15) DEFAULT NULL,
CONSTRAINT Provider_T_PK PRIMARY KEY(Provider_ID),
CONSTRAINT Country_Abbrev_FK FOREIGN KEY(Country_Abbrev) REFERENCES Country_T(Abbreviation));
CREATE TABLE Phone_T(
Phone_Model VARCHAR(25) NOT NULL,
Provider_ID CHAR(3) NOT NULL,
Smartphone BOOLEAN,
CONSTRAINT Phone_Model_PK PRIMARY KEY(Phone_Model),
CONSTRAINT Provider_ID_FK FOREIGN KEY(Provider_ID) REFERENCES Provider_T(Provider_ID));
这是我对PHONE表的插入:
INSERT INTO Phone_T(Phone_Model, Provider_ID, Smartphone) VALUES ("Nexus 5", "ROG", TRUE);
INSERT INTO Phone_T(Phone_Model, Provider_ID, Smartphone) VALUES ("Nexus 5", "KOD", TRUE);
我知道我有重复的主键,我很难说我如何为多个PROVIDERS制作一个手机型号。我会喜欢一些建议,感谢任何帮助。