如何在Oracle中设置主键和外键(oracle中主键 外键)

如何在Oracle中设置主键和外键?

在数据库设计中,主键和外键是非常重要的概念。主键用于唯一标识一个关系中的每一个元组,而外键用于建立关系之间的联系,从而实现数据的引用完整性。在 Oracle 数据库中,设置主键和外键是比较简单的,只需要按照以下步骤即可完成。

1.创建表时设置主键

创建表时可以使用 CONSTRNT 关键字设置主键,如下所示:

“`sql

CREATE TABLE customers (

id NUMBER,

name VARCHAR2(100),

age NUMBER,

CONSTRNT pk_customers PRIMARY KEY (id)

);


在上述示例中,我们使用 CONSTRNT 关键字来将 id 列设置为主键,pk_customers 是主键的名称。如果你不想指定主键的名称,Oracle 将自动为其命名,但在实际使用中最好指定一个有效的主键名称。

2.在已有表中添加主键

如果你已经创建了一个表,并希望为其添加主键,则可以使用 ALTER TABLE 语句,如下所示:

```sql
ALTER TABLE customers
ADD CONSTRNT pk_customers PRIMARY KEY (id);

在上述示例中,我们使用 ALTER TABLE 语句为名为 customers 的表添加了一个名为 pk_customers 的主键,主键的列为 id。

3.创建外键

在创建外键之前,需要先确保参照表已经创建了主键。在 Oracle 中,我们可以使用 CONSTRNT 关键字来创建外键,如下所示:

“`sql

CREATE TABLE orders (

id NUMBER,

customer_id NUMBER,

amount NUMBER,

CONSTRNT fk_orders_customers

FOREIGN KEY (customer_id)

REFERENCES customers(id)

);


在上述示例中,我们创建了一个名为 orders 的表,并设置了两个列:id 和 customer_id。我们使用 CONSTRNT 关键字为 customer_id 列创建了一个名为 fk_orders_customers 的外键。外键参照了 customers 表中的主键 id,从而建立了 orders 和 customers 表之间的联系。

4.在已有表中添加外键

如果你已经创建了一个表,并希望为其添加外键,则可以使用 ALTER TABLE 语句,如下所示:

```sql
ALTER TABLE orders
ADD CONSTRNT fk_orders_customers
FOREIGN KEY (customer_id)
REFERENCES customers(id);

在上述示例中,我们使用 ALTER TABLE 语句为名为 orders 的表添加了一个名为 fk_orders_customers 的外键,外键参照了 customers 表中的主键 id。

总结

在 Oracle 中设置主键和外键非常简单,只需要使用 CONSTRNT 关键字并指定相应的列即可。通过设置主键和外键,可以保证数据库中数据的完整性,并构建更强大的关系型数据库系统。


数据运维技术 » 如何在Oracle中设置主键和外键(oracle中主键 外键)