0

例如,我无法弄清楚如何为一位客户获取多个地址。关于如何实现这一点的任何想法?

谢谢

4

1 回答 1

2

在地址表中使用外键

CREATE TABLE Customers
(
C_Id int NOT NULL,
other_stuff whatever,
PRIMARY KEY (C_Id),
)

CREATE TABLE Addresses
(
 A_ID int NOT NULL,
 C_ID int NOT NULL,
 other_stuff whatever,
 FOREIGN KEY (C_Id) REFERENCES Customers(C_Id),
 PRIMARY KEY (A_ID)
)

这可用于实现一对多关系。

例如,如果您有 George CustomerC_ID=55那么如果您想给 George 一个新地址,那么您将在地址表中插入一个值为 5 作为 C_ID 的条目。

insert into addresses (C_ID,blah,blah) values (55,blah,blah)

然后如果你想得到乔治的所有地址,你会说:

select * from addresses where C_ID=55

如果这没有意义,这里有图片http://net.tutsplus.com/tutorials/databases/sql-for-beginners-part-3-database-relationships/

于 2012-12-04T21:13:12.180 回答