Selon la définition, est utilisé pour de nombreuses à plusieurs relations, quand il est utilisé comme celui-ci un Junction Table (table de bridge/table de liaison):Une table de jonction (table de jointure) peut-elle également être utilisée pour une relation un-à-plusieurs?
CREATE TABLE Users
(
UserLogin varchar(50) PRIMARY KEY,
UserPassword varchar(50) NOT NULL,
UserName varchar(50) NOT NULL
)
CREATE TABLE Permissions
(
PermissionKey varchar(50) PRIMARY KEY,
PermissionDescription varchar(500) NOT NULL
)
--This is the junction table.
CREATE TABLE UserPermissions
(
UserLogin varchar(50) REFERENCES Users (UserLogin),
PermissionKey varchar(50) REFERENCES Permissions (PermissionKey),
PRIMARY KEY (UserLogin, PermissionKey)
)
Mais ne pourrait-il être utilisé aussi tout aussi facilement pour une relation un à plusieurs, comme dans cet exemple dans lequel un utilisateur est associé à de nombreuses commandes:
(je ne comprends pas les bases de données si bien que s'il vous plaît me corriger si je l'ai mal compris quelque chose .)
CREATE TABLE Users
(
UserLogin varchar(50) PRIMARY KEY,
UserPassword varchar(50) NOT NULL,
UserName varchar(50) NOT NULL
)
CREATE TABLE Orders
(
OrderKey varchar(50) PRIMARY KEY,
OrderDescription varchar(500) NOT NULL
)
--This is the junction table.
CREATE TABLE UserOrders
(
UserLogin varchar(50) REFERENCES Users (UserLogin),
OrderKey varchar(50) REFERENCES Orders (OrderKey),
PRIMARY KEY (UserLogin, OrderKey)
)
Voulez-vous dire que c'est mauvais? –
Parfois, cela peut être pratique si vous voulez avoir la même structure de tables db mais décider du type de relation dans l'application: un à plusieurs ou plusieurs à plusieurs. (en tant que paramètre) Il y a des moments où vous développez une relation de un à plusieurs en sachant qu'il est très susceptible de changer de plusieurs à plusieurs. –
Je vois. Et si vous vouliez appliquer la fonction un-à-plusieurs ou plusieurs-à-plusieurs dans la base de données, vous utilisez plutôt un type de contrainte? –