CATEGORIA
| Atributo | Tipo | Restrição |
|---|---|---|
| codigo | INT | PK |
| descricao | VARCHAR(100) | UNIQUE, NOT NULL |
Prof. Adriano Cassiano
Uma representação conceitual e lógica para o controle de produtos, clientes e pedidos de uma empresa de produtos de limpeza.
Passe o cursor sobre uma entidade ou tabela para acompanhar sua correspondência entre os dois modelos. Clique para manter o destaque.
DER · 01
DER · 02
| Atributo | Tipo | Restrição |
|---|---|---|
| codigo | INT | PK |
| descricao | VARCHAR(100) | UNIQUE, NOT NULL |
| Atributo | Tipo | Restrição |
|---|---|---|
| codigo | INT | PK |
| nome | VARCHAR(100) | NOT NULL |
| preco_atual | DECIMAL(10,2) | NOT NULL |
| categoria_codigo | INT | FK (CATEGORIA.codigo), NOT NULL |
| Atributo | Tipo | Restrição |
|---|---|---|
| codigo | INT | PK |
| nome | VARCHAR(100) | NOT NULL |
| endereco | VARCHAR(200) | NOT NULL |
| telefone | VARCHAR(20) | |
| VARCHAR(100) | UNIQUE, NOT NULL | |
| limite_credito | DECIMAL(10,2) | NOT NULL |
| classificacao | VARCHAR(20) | NOT NULL, CHECK |
| Atributo | Tipo | Restrição |
|---|---|---|
| numero | INT | PK |
| data_pedido | DATE | NOT NULL |
| cliente_codigo | INT | FK (CLIENTE.codigo), NOT NULL |
| Atributo | Tipo | Restrição |
|---|---|---|
| pedido_numero | INT | PK, FK (PEDIDO.numero) |
| produto_codigo | INT | PK, FK (PRODUTO.codigo) |
| quantidade | INT | NOT NULL |
| preco_unitario | DECIMAL(10,2) | NOT NULL |
ENUNCIADO E REGRAS DE NEGÓCIO
Uma empresa especializada na comercialização de produtos de limpeza deseja desenvolver um sistema para controlar seus produtos, clientes e pedidos. Atualmente, essas informações são registradas de maneira descentralizada, dificultando o acompanhamento das vendas. Por esse motivo, a empresa pretende organizar seus dados em um banco de dados.
Para cada produto comercializado, devem ser armazenados um código de identificação, nome, preço atual e sua respectiva categoria. As categorias são definidas pela própria empresa e representam classificações como sabão em barra, sabão em pó, sabão líquido, detergente e desinfetante, entre outras. Cada categoria possui um código e uma descrição, sendo que não poderão existir duas categorias com a mesma descrição. Um produto deverá pertencer a uma única categoria, enquanto uma determinada categoria poderá classificar diversos produtos.
A empresa também mantém o cadastro de seus clientes. Para cada cliente devem ser armazenados um código de identificação, nome, endereço, telefone, e-mail, limite de crédito e sua classificação de relacionamento com a empresa. Essa classificação poderá assumir os valores “cinco estrelas”, “três estrelas” ou “uma estrela”. O e-mail informado para cada cliente não poderá estar associado a mais de um cadastro.
Os clientes poderão realizar diversos pedidos ao longo do tempo. Cada pedido deverá possuir um número de identificação, a data em que foi realizado e deverá estar obrigatoriamente associado ao cliente responsável pela compra. Um cliente poderá realizar vários pedidos, porém cada pedido deverá pertencer a somente um cliente.
Todo pedido deverá conter pelo menos um produto. Da mesma forma, um determinado produto poderá estar presente em diversos pedidos realizados por diferentes clientes. Para cada produto incluído em um pedido, deverá ser registrada a quantidade solicitada. Um mesmo produto não poderá aparecer mais de uma vez dentro do mesmo pedido. Caso o cliente solicite uma quantidade maior do mesmo produto, a quantidade registrada deverá ser atualizada em vez de criar uma nova ocorrência.
Para preservar o histórico das vendas, a empresa também deseja registrar o preço unitário praticado no momento em que cada produto foi incluído no pedido, pois o preço atual do produto poderá ser alterado futuramente.