例如,我无法弄清楚如何为一位客户获取多个地址。关于如何实现这一点的任何想法?
谢谢
在地址表中使用外键
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 Customer
,C_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/