Mein Lehrer sagte, ich sollte zwei Fremdschlüssel zu einem einzigen Primärschlüssel kombinieren. Aber mein Denkprozess ist, dass das nur eine Kombination jedes Fremdschlüssels erlauben würde.Wann sollte ich zwei Fremdschlüssel als einen einzigen Fremdschlüssel kombinieren?
Stellen Sie sich vor, ich habe ein Produkt, Kauf, KaufDetail.
In PurchaseDetail habe ich zwei Fremdschlüssel, einen für das Produkt und einen für den Kauf. Mein Lehrer sagte, dass ich diese beiden Fremdschlüssel zu einem einzigen kombinieren sollte. Aber kann ein Produkt nicht in vielen verschiedenen Käufen sein? Und viele Einkäufe haben viele Produkte?
Ich bin verwirrt.
Danke!
Edit: Dies ist die SQL, die mein Lehrer sah und gab dann Feedback. Danke für die Anleitung Jungs. (Ich änderte das Wesentliche zu Englisch)
create table Purchase
(
ID int primary key identity(1,1),
IDCliente int foreign key references Cliente(ID),
IDEmpleado int foreign key references Empleado(ID),
Fecha datetime not null,
Hora datetime not null,
Amount float not null,
)
create table PurchaseDetail
(
ID int primary key identity(1,1),
IDPurchase int foreign key references Purchase(ID),
IDProductOffering int foreign key references ProductOffering(ID),
Quantity int not null
)
create table Product
(
ID int primary key identity(1,1),
IDProveedor int foreign key references Proveedor(ID),
Nombre nvarchar(256) not null,
IDSubcategoria int foreign key references Subcategoria(ID),
IDMarca int foreign key references Marca(ID),
Fotografia nvarchar(1024) not null
)
create table ProductOffering
(
ID int primary key identity(1,1),
IDProduct int foreign key references Product(ID),
Price float not null,
OfferDate datetime not null,
)
Vielleicht bin ich über gutes Datenbankschemadesign verwirrt. Danke noch einmal!
Warum möchten Sie das in dem von Ihnen erwähnten Szenario tun? Jedes Beispiel oder Grund? –
Entweder hast du deinen Lehrer falsch verstanden, oder er ist falsch. –
Ja stimme ich Mitch –