Oracle ID,PK和FK数据库模式

问题描述:

我有一个非常简单的问题。我想要做的就是创建一个数据库模式。Oracle ID,PK和FK数据库模式

Database Schema

  • PLANT有两列:PLANT_ID(主键)和NAME它来自KNIME
  • PRODUCTION也有两列:主键和NAME也来自KNIME

我想要的是PLANT_ID列也应该在PRODUCTION表中。我怎样才能做到这一点?

+0

我不清楚你在问什么。 “我该怎么做”的简单答案是 - 您在CREATE TABLE语句中包含该列。但我怀疑你真正的问题是别的。 –

+0

什么是KNIME?如果需要该列名称,请将PLANT_PLANT_ID重命名为PLANT_ID – eckes

+0

@Dave PLANT_ID设置为'自动递增',以便表名PLANT在添加名称时自动添加PLANT_ID。我希望在PRODUCTION表中看到PLAt_ID。例如 - 如果我想加入该表... – buechertasche123

目前还不清楚你想要什么;应根据实体工厂和生产之间的关系来规定要求。生产可以持有工厂的ID(如果生产实体可以有一个工厂)[反之亦然]。这实际上取决于工厂和生产之间关系的平等性。如果“生产”可以有唯一的工厂,那么只需将“工厂ID”列放入“生产”表(即外键)中即可。如果它是多对多的(即一个生产实体可以有多个工厂或者一个工厂实体可以与生产实体有很多关系),那么您需要一个“交集实体”,比如说说Plant_Production只有plant_id和Production_id(可能是一个如果业务要求规定,则描述关系)。

+0

我认为你的意思是“基数”。虽然我有点像“关系的狂欢”。 –

+0

@DaveCosta好的一个!这就是我在午夜左右回答问题所得到的结果。 –

我想你在问什么是如何创建一个数据库约束,使得PRODUCTION.PLANT_PLANT_ID始终引用PLANT中的一行。

要做到这一点,你需要:

  1. 添加主键到PLANT表。对于这两种Alter Table Oracle Documentation
  2. 添加一个外键从PRODUCTION(PLANT_PLANT_ID)PLANT

见。