create table USERS (
USER_ID bigint not null primary key,
USERNAME varchar(15) not null unique,
NAME varchar(50) not null,
...
)
create table BILLING_DETAILS (
BILLING_DETAILS_ID bigint not null primary key,
ACCOUNT_NUMBER VARCHAR(10) not null unique,
ACCOUNT_NAME VARCHAR(50) not null,
ACCOUNT_TYPE VARCHAR(2) not null,
USER_ID bigint foreign key references USERS
)
This is one-to-many associations:
Table associations, on the other hand, are always one-to-many or one-to-one. You can
see the multiplicity immediately by looking at the foreign key definition. The following
is a foreign key declaration on the BILLING_DETAILS table for a one-tomany
association (or, if read in the other direction, a many-to-one association):
USER_ID bigint foreign key references USERS
These are one-to-one associations:
USER_ID bigint
unique foreign key references USERS
BILLING_DETAILS_ID
bigint
primary key foreign key references USERS
the two are equals.
many-to-many associations:
If you wish to represent a many-to-many association in a relational database, you
must introduce a new table, called a link table. This table doesn’t appear anywhere
in the domain model. For our example, if we consider the relationship between
the user and the billing information to be many-to-many, the link table is defined
as follows:
create table USER_BILLING_DETAILS (
USER_ID bigint foreign key references USERS,
BILLING_DETAILS_ID bigint foreign key references BILLING_DETAILS,
PRIMARY KEY (USER_ID, BILLING_DETAILS_ID)
)
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。