Cursos / Informática para Internet / Plataformas de aplicações Web / Aula

arrow_back Aula 09 - PetTopStore - Admin - Parte 1

Modelo do banco de dados

Para o sistema, iremos utilizar o seguinte modelo de banco de dados:

Descrição imagem

As tabelas que iremos criar são:

  • employees
  • clients
  • products
  • categories
  • sales
  • items

A tabela employees representa os funcionários da loja com os campos email, password, name e um boleano chamado is_admin que determina se esse funcionário tem ou não acesso à área administrativa do sistema.

A tabela clients guarda a lista dos clientes da empresa, cadastrados pelo site ou por um funcionário que está operando o PDV (Ponto de Venda) da loja física.

A tabela products tem a lista de produtos da loja virtual com o nome, descrição, caminho para uma foto, preço e uma relação com a categoria desse produto pela chave category_id que aponta para o id da tabela categories.

A tabela categories armazena as categorias dos produtos e é utilizada no seu cadastro e também na loja virtual para apresentar o menu de produtos separado por categorias.

A tabela sales tem as vendas realizadas no site ou na loja física. Ela guarda somente o client_id e o employee_id (campo opcional pois em uma compra pelo site ele não é preenchido). Os itens (ids dos produtos) de uma venda(sales) serão armazenados em uma tabela que relaciona products e sales, chamada items.

A tabela items relaciona products e sales (N-N) armazenando dois ids (sale_id e product_id) e com ela conseguimos saber que produtos estão em cada venda.

Com o MySQL (ou MariaDB) já instalado na sua máquina, acesse o servidor e crie um banco de dados novo para a aplicação (somente o banco, sem as tabelas por enquanto):

Descrição imagem

Na imagem acima conectamos no banco de dados pelo Linux com o cliente "mysql" no modo texto usando o usuário root e com uma senha criada na instalação. Você pode utilizar a ferramenta/usuário/senha que desejar para realizar a mesma tarefa. O comando "create database pettopstore;" cria um novo banco de dados chamado "pettopstore".

Não precisa criar as tabelas agora pois vamos utilizar outra ferramenta para isso, o knex.js.


Versão 5.3 - Todos os Direitos reservados