【问题标题】:How to create one-to-one relationship?(SQL)如何建立一对一的关系?(SQL)
【发布时间】:2014-11-22 01:38:01
【问题描述】:

我有两张桌子:

CREATE TABLE Goods
(
    GoodsCode           INTEGER PRIMARY KEY,
);

CREATE TABLE Complaint
(
    Num          INTEGER PRIMARY KEY,
);

它们之间如何一对一的关系?

【问题讨论】:

  • 可能这只是……好吧……不太好的例子。但在一对一的关系中,您只能对一件商品提出投诉

标签: mysql sql sql-server oracle oracle-sqldeveloper


【解决方案1】:

由于这两个列都是主键列,因此您不能在任一列中有重复项,但表 Complaint 中的列 Num 引用表 Goods 中的列 GoodsCode,因此它是 One-一对一关系。

CREATE TABLE Goods
(
    GoodsCode           INTEGER PRIMARY KEY,
);


CREATE TABLE Complaint
(
    Num          INTEGER PRIMARY KEY,
      FOREIGN KEY (Num) REFERENCES Goods(GoodsCode)
);

【讨论】:

  • 也许值得一提的是,使用此解决方案,您强制一对一关系的两个部分具有相同的主键。在一对一的关系中,这是有效的,但不是强制性的,甚至不是必要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多