0

たとえば、1 人の顧客に複数のアドレスを取得する方法がわかりません。これを実装する方法についてのアイデアはありますか?

ありがとう

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)
)

これは、 1 対多の関係を実装するために使用できます。

たとえば、George がいる場合、GeorgeCustomerC_ID=55新しいアドレスを与えたい場合は、C_ID として 5 の値を持つエントリをアドレス テーブルに挿入します。

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 に答える