fix datatypes, erd
This commit is contained in:
parent
60e1e72bff
commit
8092510098
2 changed files with 79 additions and 61 deletions
114
erd.dbml
114
erd.dbml
|
@ -1,61 +1,79 @@
|
|||
// Use DBML to define your database structure
|
||||
// Docs: https://dbml.dbdiagram.io/docs
|
||||
// https://dbdiagram.io/d/
|
||||
// Kraut&Rübel ERD
|
||||
|
||||
Table Kunde {
|
||||
KundenNr integer [primary key]
|
||||
Vorname string
|
||||
Nachname string
|
||||
Strasse string
|
||||
Geburstdatum timestamp
|
||||
HausNr string
|
||||
PLZ integer
|
||||
Email string
|
||||
Telefon integer
|
||||
Ort string
|
||||
Table Customer {
|
||||
id string [primary key]
|
||||
first_name string
|
||||
last_name string
|
||||
street string
|
||||
birth_date timestamp
|
||||
house_number string
|
||||
postal_code integer
|
||||
email string
|
||||
phone integer
|
||||
city string
|
||||
}
|
||||
|
||||
Table Bestellung {
|
||||
BestellNr integer [primary key]
|
||||
KundenNr integer
|
||||
Rechnungsbetrag integer
|
||||
Bestelldatum timestamp
|
||||
Table Order {
|
||||
id string [primary key]
|
||||
customer Customer
|
||||
invoice_amount integer
|
||||
order_date timestamp
|
||||
}
|
||||
|
||||
Table Zutat {
|
||||
ZutatenNr integer [primary key]
|
||||
Bezeichnung string
|
||||
Bestand integer
|
||||
Nettopreis integer
|
||||
Einheit string
|
||||
Kohlenhydrate integer
|
||||
Kalorien integer
|
||||
Protein integer
|
||||
Table Ingredient {
|
||||
id string [primary key]
|
||||
designation string
|
||||
stock integer
|
||||
net_price integer
|
||||
unit string
|
||||
carbonhydrates integer
|
||||
calories integer
|
||||
protein integer
|
||||
}
|
||||
|
||||
Table Lieferant {
|
||||
LieferantenNr integer [primary key]
|
||||
Ort string
|
||||
Strasse string
|
||||
Email string
|
||||
Telefon string
|
||||
Liferantenname string
|
||||
HausNr string
|
||||
PLZ integer
|
||||
Table Supplier {
|
||||
id string [primary key]
|
||||
city string
|
||||
street string
|
||||
email string
|
||||
phone string
|
||||
supplier_name string
|
||||
house_number string
|
||||
postal_code integer
|
||||
}
|
||||
|
||||
Table Lieferant_contains_Zutaten {
|
||||
LieferantenNr integer [primary key]
|
||||
ZutatenNr integer [primary key]
|
||||
Table Recipe {
|
||||
id string [primary key]
|
||||
preperation_time integer
|
||||
name string
|
||||
description string
|
||||
instructions string
|
||||
}
|
||||
|
||||
Table Bestellung_contains_Zutaten {
|
||||
BestellNr integer [primary key]
|
||||
ZutatenNr integer [primary key]
|
||||
Menge integer
|
||||
Table RecipeContainsIngredients {
|
||||
recipe string [primary key]
|
||||
ingredient string [primary key]
|
||||
amount integer
|
||||
}
|
||||
|
||||
Ref: Bestellung.KundenNr > Kunde.KundenNr
|
||||
Ref: Lieferant_contains_Zutaten.LieferantenNr > Lieferant.LieferantenNr
|
||||
Ref: Lieferant_contains_Zutaten.ZutatenNr > Zutat.ZutatenNr
|
||||
Ref: Bestellung_contains_Zutaten.BestellNr > Bestellung.BestellNr
|
||||
Ref: Bestellung_contains_Zutaten.ZutatenNr > Zutat.ZutatenNr
|
||||
Table SupplierContainsIngredients {
|
||||
supplier string [primary key]
|
||||
ingredient string [primary key]
|
||||
delivery_cost integer
|
||||
delivery_time integer
|
||||
}
|
||||
|
||||
Table OrderContainsIngredients {
|
||||
order string [primary key]
|
||||
ingredient string [primary key]
|
||||
quantity integer
|
||||
}
|
||||
|
||||
Ref: Order.customer > Customer.id
|
||||
Ref: SupplierContainsIngredients.supplier > Supplier.id
|
||||
Ref: SupplierContainsIngredients.ingredient > Ingredient.id
|
||||
Ref: OrderContainsIngredients.order > Order.id
|
||||
Ref: OrderContainsIngredients.ingredient > Ingredient.id
|
||||
Ref: RecipeContainsIngredients.recipe > Recipe.id
|
||||
Ref: RecipeContainsIngredients.ingredient > Ingredient.id
|
||||
|
|
|
@ -3,7 +3,7 @@ from dataclasses import dataclass, asdict
|
|||
|
||||
@dataclass
|
||||
class Customer:
|
||||
customer_id: int
|
||||
id: str
|
||||
first_name: str
|
||||
last_name: str
|
||||
street: str
|
||||
|
@ -20,8 +20,8 @@ class Customer:
|
|||
|
||||
@dataclass
|
||||
class Order:
|
||||
order_id: int
|
||||
customer: Customer
|
||||
id: str
|
||||
customer: Customer.id
|
||||
invoice_amount: int
|
||||
order_date: str # Assuming timestamp as a string for simplicity
|
||||
|
||||
|
@ -31,7 +31,7 @@ class Order:
|
|||
|
||||
@dataclass
|
||||
class Ingredient:
|
||||
ingredient_id: int
|
||||
id: str
|
||||
designation: str
|
||||
stock: int
|
||||
net_price: int
|
||||
|
@ -46,7 +46,7 @@ class Ingredient:
|
|||
|
||||
@dataclass
|
||||
class Supplier:
|
||||
supplier_id: int
|
||||
id: str
|
||||
city: str
|
||||
street: str
|
||||
email: str
|
||||
|
@ -60,7 +60,7 @@ class Supplier:
|
|||
|
||||
@dataclass
|
||||
class Recipe:
|
||||
recipe_id: int
|
||||
id: str
|
||||
preperation_time: int
|
||||
name: str
|
||||
description: str
|
||||
|
@ -70,15 +70,15 @@ class Recipe:
|
|||
return {k: str(v) for k, v in asdict(self).items()}
|
||||
|
||||
@dataclass
|
||||
class SupplierContainsIngredients:
|
||||
recipe: Recipe
|
||||
ingredient: Ingredient
|
||||
class RecipeContainsIngredients:
|
||||
recipe: Recipe.id
|
||||
ingredient: Ingredient.id
|
||||
amount: int
|
||||
|
||||
@dataclass
|
||||
class SupplierContainsIngredients:
|
||||
supplier: Supplier
|
||||
ingredient: Ingredient
|
||||
supplier: Supplier.id
|
||||
ingredient: Ingredient.id
|
||||
delivery_cost: int
|
||||
delivery_time: int
|
||||
|
||||
|
@ -88,8 +88,8 @@ class SupplierContainsIngredients:
|
|||
|
||||
@dataclass
|
||||
class OrderContainsIngredients:
|
||||
order: Order
|
||||
ingredient: Ingredient
|
||||
order: Order.id
|
||||
ingredient: Ingredient.id
|
||||
quantity: int
|
||||
|
||||
def dict(self):
|
||||
|
|
Loading…
Add table
Reference in a new issue