Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Criei a base de dados do Mini Mundo de Podologia

Nos dois cursos anteriores eu modelei o Mini Mundo de Podologia na forma conceitual e física, e agora decidi fazer a base dados. Segue abaixo:

-- this is an example
group: Loja de Podologia 

Loja = {
    cod_loja, cod_endereco, nome, telefone, cnpj
    1, 1, 'Pé & Pés', '2137651133', '44886583000175'
}

Servico = {
    cod_servico, nome, preco, cod_loja
    1, 'Amolar', 320.00, 1
}

Cutelaria_Servico = {
    cod_servico, cod_cutelaria, data, horario
    1, 1, '05/09/2023', '14:35'
}

Cutelaria = {
    cod_cutelaria, cod_endereco, cod_contato, nome, cnpj
    1, 2, 1, 'Amolado', '24182715000170'
}

Produto = {
    cod_produto, cod_loja, nome, preco
    1, 1, 'Alicate', 30.00
}

Revendedora_Produto = {
    cod_revendedora, cod_produto, data_compra
    1, 1, '24/08/2023'
}

Revendedora = {
    cod_revendedora, cod_endereco, cod_contato, nome, cnpj
    1, 3, 2, 'Casa do Seu Zé' , '92565974000130'
}

Agenda = {
    cod_loja, cod_cliente, cod_tratamento, cod_podologa, data_agendada, horario_agendado
    1, 1, 1, 1, '04/09/2023', '15:00'
}

Cliente = {
    cod_cliente, cod_contato, nome_completo
    1, 3, 'Fernando Lima'
}

Tratamento = {
    cod_tratamento, nome, preco, duracao
    1, 'Remoção de calos', 120.00, 60
}

Podologa = {
    cod_podologa, nome_completo
    1, 'Maria do Socorro'
}

Endereco = {
    cod_endereco, cep, cidade, estado, bairro, rua, numero
    1, '21520520', 'Rio de Janeiro', 'Rio de Janeiro', 'Pavuna', 'Rua F', '20'
    2, '21510420', 'Rio de Janeiro', 'Rio de Janeiro', 'Coelho Neto', 'Rua Guaiauna', '240'
    3, '26022281', 'Nova Iguaçu', 'Rio de Janeiro', 'Alto da Posse', 'Rua Cruz e Sousa', '300'
}

Contato = {
    cod_contato, telefone_1, telefone_2, celular, email, whatsapp
    1, '2133732135', '', '2133654357', 'amolado@hotmail.com', '2133654357'
    2, '2236546474', '', '2238541649', 'casadoseuze@hotmail.com', '2238541649'
    3, '2237204534', '', '2438764321', 'casadoseuze@hotmail.com', '2438764321'
}

O RelaX consegue fazer a intersecção das entidades pelos códigos delas? Por exemplo, na entidade Revendedora_Produto que possui as referências a chaves primárias do Produto e Revendedora, o ambiente de base dados consegue relacionar essas duas entidades como sendo uma junção de entidades se conectando?

1 resposta
solução!

Oi Lucas, tudo bem com você?

No seu exemplo, a entidade Revendedora_Produto é o que chamamos de tabela de junção. Essa tabela de junção contém chaves estrangeiras que referenciam a chave primária de ambas as tabelas (Produto e Revendedora), permitindo assim a intersecção das duas entidades.

Por exemplo, se você quisesse saber quais produtos uma determinada revendedora vende, você poderia fazer uma consulta SQL ou até mesmo em formato de Álgebra Relacional que une as tabelas Revendedora, Revendedora_Produto e Produto com base em suas chaves primárias e estrangeiras. O resultado seria uma tabela que mostra a correspondência entre a revendedora e os produtos que ela vende.

No Relax, se usarmos a aba SQL, faríamos essa intersecção da seguinte forma:

SELECT Revendedora.nome AS nome_revendedora, Produto.nome AS nome_produto
FROM Revendedora JOIN Revendedora_Produto ON Revendedora.cod_revendedora = Revendedora_Produto.cod_revendedora JOIN Produto ON Revendedora_Produto.cod_produto = Produto.cod_produto WHERE Revendedora.nome = 'Casa do Seu Zé';

Como resultado, descobriríamos que o produto vendido por essa revendedora 'Casa do Seu Zé' foi o 'Alicate'. Veja um exemplo de como aplicar essa teoria dentro do Relax, onde ressalto que ele gerará a álgebra relacional do SQL utilizado:

Imagem da consulta no relax

Resultado da consulta, mostrando o alicate

Todavia, imagino que você tenha essa dúvida a título de curiosidade, não necessariamente a título de aplicação, mas, quero te deixar tranquilo que conforme você for praticando e evoluindo ainda mais nos seus estudos de banco de dados todos esses códigos e conceitos ficarão ainda mais claros.

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!