Hallo, ich habe leider wenig Erfahrung in der Softwareentwicklung und muss für mein Studium ein Projekt abschließen. Es geht um folgende Situation: Wir müssen eine Datenbank für einen e-Commerce Shop aufstellen. Die Produkte werden entweder über einen Paketdienstzusteller (Parcel) oder Auslieferungspartner (Distributor) zugestellt, was in der Bestellliste angezeigt werden muss. Es existieren bereits 2 Tabellen mit allen Attributen zu den Paketdienstzustellern sowie Auslieferungspartnern. Meine Frage lautet wie es möglich ist, in der Bestellliste unter Shipping_ID auf beide Tabellen zuzugreifen, sodass in der Spalte Shipping_ID entweder der Primary Key der Tabelle Parcel oder der Tabelle Distributor angezeigt wird. Ist es überhaupt möglich einen Foreign Key zu erstellen, der auf den Primary Key aus 2 verschiedenen Tabellen zugreift und entweder das eine, oder andere anzeigt?
Folgenden Code habe ich bereits zum Erstellen der Tabelle:
die Idee ist, dass in der Spalte Shipping_ID entweder PA1, PA2, PA3,.. oder DI1, DI2, DI3,.. angezeigt wird
Folgenden Code habe ich bereits zum Erstellen der Tabelle:
SQL:
create table Orders (
Orders_ID varchar(255),
Customer_ID varchar(255),
Employee_ID varchar(255),
Product_ID varchar(255),
Shipping_ID varchar(255),
Quantity int,
Order_date date,
Order_weight decimal(7,2),
Status varchar(255),
Cost decimal(7,2),
Discount varchar(255),
Total_cost decimal(7,2),
constraint PK_Orders primary key(Orders_ID),
constraint FK_CustomerOrders foreign key (Product_ID) references Customer(Customer_ID),
constraint FK_EmployeeOrders foreign key (Employee_ID) references Employee(Employee_ID),
constraint FK_ProductOrders foreign key (Product_ID) references Product(Product_ID),
//hier gehört die Verknüpfung zu den Tabellen Parcel und Distributor, welche den korrekten Primary Key über Shipping_ID ausgibt
);
die Idee ist, dass in der Spalte Shipping_ID entweder PA1, PA2, PA3,.. oder DI1, DI2, DI3,.. angezeigt wird