Tenho um cenário em que preciso projetar uma estrutura de banco de dados SQL no MariaDB, mas não sou arquiteto de banco de dados e quero fazer certo na primeira tentativa.
Então, eu tenho uma tabela de produtos que, para fins de legibilidade, tem 2 campos, id e name. Não tenho ideia de como fazer esse gráfico, então usarei json para defini-lo:
productColumns = {
id: "INTEGER",
name: "STRING",
}
Então eu tenho a tabela de variantes:
variantsColumns = {
id: "INTEGER",
name: "STRING",
product_id: "INTEGER",
}
Agora o objetivo. Preciso adicionar Bundles e Carts . Bundles precisam conter vários produtos com uma variante especificada. Carts precisam conter vários produtos com uma variante especificada e também bundles. Agora preciso da capacidade de também adicionar descontos a carrinhos e bundles como um todo, mas também adicionar descontos a produtos específicos do carrinho ou do bundle.
O que eu pensei:
bundlesColumns: {
id: "INTEGER",
name: "STRING",
discount_type: "PERCENTAGE|ABSOLUTE"
discount: "INTEGER"
}
bundleItems: {
id: "INTEGER",
bundle_id: "INTEGER",
discount_type: "PERCENTAGE|ABSOLUTE",
discount: "INTEGER",
product_id: "INTEGER",
variant_id: "INTEGER",
quantity: "INTEGER",
}
carts: {
id: "INTEGER",
discount_type: "PERCENTAGE|ABSOLUTE"
discount: "INTEGER"
}
cartItems: {
id: "INTEGER",
cart_id: "INTEGER",
discount_type: "PERCENTAGE|ABSOLUTE",
discount: "INTEGER",
product_id: "INTEGER",
variant_id: "INTEGER",
bundle_id: "INTEGER",
quantity: "INTEGER"
}
Eu já projetei alguns bancos de dados antes, mas algo sobre essa estrutura parece estranho, parece que vai ser uma dor de cabeça para desenvolvimento futuro e queria saber sua opinião sobre isso. Existe uma maneira melhor de fazer isso?