2012-11-11 67 views
1

在创建表和数据库时,外键需要是唯一的吗?只能有一个外键引用主键吗?

例如

表:清单

Manifest_Barcode - PK 
Vehicle_reg - FK 
weight 
description 

表:车辆

vechicle_reg - PK 
employee_ID - FK 
make 
model 

表:驱动

employee_ID - PK 
vechicle_reg - FK 
name 
adress 
phone_Number 
year 

或者,我可以在2个不同的表中使用相同的外键吗?像上面一样?

+0

是的,你可以有相同的外键多个表,并保持完整,它会使你的模式清晰读取和连接。请检查[本文后出](http://stackoverflow.com/questions/3349988/same-foreign-key-in-multiple-tables) – bonCodigo

+1

你可以请做3件事。 1)停止标记您的问题SQL Developer,除非您的问题与该程序的功能特别相关。您使用的数据库不是SQL Developer,而是Oracle。请使用该标签。 2)至少试图正确地拼写单词,这将是礼貌的。 3)提出更好的标题。他们是人们如何回答你的问题和_“sql开发人员密钥”_不是一个好标题,甚至不是你的实际问题的指示。 – Ben

+0

这实际上是一个多余的帖子,并没有显示他已经付出了最小的努力。 – bonCodigo

回答

3

拥有多个指向相同PRIMARY KEY的FOREIGN KEY是完全合适且相当正常的。它们不是相同的 FOREIGN KEY(它们将分别建立一个单独的索引用于执行密钥),它们是具有相似定义的不同FOREIGN KEY。

请注意,在声明任何一个FOREIGN KEY之前,您必须创建表vehicle1

+0

awsome谢谢:D – Michael

相关问题