UC – 10: Resumo
Nesta UC, nós estudamos sobre banco de dados, focando
em temas com Modelo Entidade Relacionamento (MER),
atributos e a criação de um banco de datas e suas
configurações através do MySQL.
Alguns dos assuntos abordados abaixo:
MODELO ENTIDADE-RELACIONAMENTO - Modelo
descritivo conceitual, usado para descrever de forma
abstrata os objetos que existirão em um banco dedados. É
construído a partir dos objetos e conceitos de:
✔Entidade
✔Atributos
✔Relacionamentos
ENTIDADE:
✔Ao analisarmos os requisitos do sistema, mapeamos
objetos que são importantes para a solução e dos quais
precisamosguardar informações.
✔Estes objetos são chamados de entidades.
✔Imagine um sistema de Vendas. Precisamos guardar
informações sobre produtos e clientes de uma determinada
venda. Então teremos três entidades:
✔Produto
✔Cliente
✔Compra
ATRIBUTOS:
✔Uma entidade possui uma ou mais características, que
precisam ser guardadas no banco de dados.
✔Estas características são chamadas de atributos.
✔Sistema de vendas:
✔Produto – podemos ter os atributos código do produto,
nome do produto, preço.
✔Cliente – podemos ter os atributos código do cliente,
nome, documento, endereço.
✔Compra – podemos ter os atributos código da compra,
data da compra, valor total
ATRIBUTOS - TIPOS:
✔Atributo obrigatório – Aquele cujo preenchimento é
obrigatório quando a entidade é utilizada.
✔Entidade Cliente - atributo nome
✔Atributo identificador (chave primária) – identifica de
forma única cada registro da entidade.
✔Entidade Cliente - atributo código do cliente
✔Atributo composto – Atributo composto por mais de uma
informação, que pode ser quebrado para organizar melhor
obanco de dados.
✔Entidade Cliente - atributo endereço
✔Atributo derivado – Atributo derivado de cálculos.
✔Entidade Compra - atributo valor total
✔Atributo multivalorado – Atributos que podem conter mais
de um registro.
✔Entidade Cliente - atributo telefone (pode ser fixo e
móvel)
RELACIONAMENTOS E CARDINALIDADE:
✔As entidades do banco de dados se associam umas com
as outras, chamamos essa associação de relacionamento.
✔De acordo com a quantidade de entidades envolvidas no
relacionamento, definimos sua cardinalidade.
✔Um para um, ou unário (1:1) – um registro de uma
entidade pode ter ligação com somente um registro de
outra entidade.
✔Uma compra só pode ser relacionada a UM cliente.
✔Um para muitos (1:N) – um registro de uma entidade pode
ter ligação com um ou mais registros de outra entidade.
✔Uma compra pode ter um ou mais produtos.
✔Muitos para muitos, ou ternário (M:N) – uma entidade
pode conter várias referências de uma outra entidade, e
vice-versa.
✔Um produto pode ter vários fornecedores e vários
fornecedores podem fornecer o mesmo produto.
Aprendemos também a elaborar o Diagrama Entidade
Relacionamento após a criação do MER.
Também fomos introduzidos a conceitos como Primary Key
(PK) e Foregein Key (FK).
Com os conhecimentos que adquirimos, fizemos atividades
no programa MySQL, utilizando de diversos comandos.
Alguns exemplos explicativos abaixo:
✅ 1. CREATE DATABASE
CREATE DATABASE Banco;
📦 Cria um novo banco de dados chamado Banco.
✅ 2. USE
USE Banco;
🎯 Define o banco de dados Banco como o contexto ativo para os
próximos comandos SQL.
✅ 3. CREATE TABLE
CREATE TABLE Cliente (...);
CREATE TABLE Conta_Corrente (...);
CREATE TABLE Agencia (...);
CREATE TABLE Emprestimo (...);
🧱 Cria tabelas para armazenar dados com seus respectivos campos e
tipos de dados.
Cliente → informações dos clientes
Conta_Corrente → dados das contas bancárias
Agencia → dados das agências bancárias
Emprestimo → empréstimos realizados pelos clientes
✅ 4. AUTO_INCREMENT
🔢 Faz com que o valor da coluna (normalmente ID) seja incrementado
automaticamente a cada nova linha inserida.
CodCliente INT PRIMARY KEY AUTO_INCREMENT
✅ 5. PRIMARY KEY
🔐 Define a coluna que identifica unicamente cada linha da tabela.
✅ 6. FOREIGN KEY + REFERENCES
🔗 Define uma relação entre tabelas (chave estrangeira), garantindo
integridade referencial.
FOREIGN KEY (CodCliente)
REFERENCES Cliente(CodCliente)
✅ 7. ON DELETE NO ACTION / ON UPDATE NO ACTION
🚫 Impede que uma linha referenciada seja deletada ou modificada se
existir dependência em outra tabela.
✅ 8. INSERT INTO ... VALUES
INSERT INTO Cliente (...) VALUES (...);
📝 Insere registros (linhas) em uma tabela.
✅ 9. ALTER TABLE ... CHANGE
ALTER TABLE Cliente
CHANGE COLUMN NomCliente NomeCliente CHAR(60);
✏️Renomeia uma coluna e permite alterar seu tipo.
✅ 10. UPDATE ... SET ... WHERE
UPDATE Cliente SET NomeCliente = 'José Alves de Souza' WHERE
CodCliente = 3;
🔄 Atualiza dados em uma ou mais colunas de registros que atendem a
condição WHERE.
✅ 11. DELETE FROM ... WHERE
DELETE FROM Cliente WHERE NomeCliente = 'Luis Sampaio';
Remove linhas da tabela com base em uma condição.
✅ 12. SELECT
SELECT * FROM Cliente;
🔍 Recupera dados de uma ou mais tabelas.
✅ 13. JOIN
... FROM Emprestimo JOIN Cliente ON Emprestimo.CodCliente =
Cliente.CodCliente
🔗 Junta dados de duas tabelas com base em uma condição comum.
✅ 14. GROUP BY
SELECT COUNT(DISTINCT CodCliente) FROM Emprestimo;
📊 Agrupa resultados para aplicar funções agregadas (SUM, COUNT,
MAX etc).
✅ 15. ORDER BY
SELECT NomAgencia FROM Agencia ORDER BY NomAgencia ASC;
🧮 Ordena os resultados da consulta por uma ou mais colunas.
✅ 16. CREATE FUNCTION
CREATE FUNCTION TotalEmprestimosJoseAlves() RETURNS FLOAT ...
🧠 Cria uma função personalizada no banco que pode ser chamada
como um SELECT. Permite cálculos, agregações etc.
✅ 17. DROP FUNCTION
DROP FUNCTION IF EXISTS TotalEmprestimosJoseAlves;
❌ Remove uma função existente do banco.
✅ 18. DELIMITER
DELIMITER //
✂️Muda o delimitador temporário para comandos como CREATE
FUNCTION, onde o ; interno é necessário.