Aula 2
Banco de Dados Conversa Inicial
Prof. Ricardo Sonaglio Albano
1 2
Modelagem de banco de dados
Assuntos abordados:
Objetivos:
Modelo lógico ou relacional
Desenvolver o modelo lógico, aplicando
a normalização Normalização
Gerar o modelo físico Conversão para o modelo físico
Conhecer os modelos dimensionais Schemas
Introduzir os principais conceitos sobre Structured Query Language (SQL)
o Structured Query Language (SQL)
3 4
Modelo lógico ou relacional
Baseado na teoria dos conjuntos
(álgebra relacional)
Modelo lógico
Dados são estruturados em tabelas
ou relacional
(Sistema Gerenciador de Banco de Dados –
SGBD – específico)
Refinado pelo processo de normalização
Base para a criação do modelo físico
(banco de dados)
5 6
Elementos básicos do modelo relacional Álgebra relacional
Entidade / Relação / Tabela
CLIENTE
Linguagem de consulta formal
codigo nome
20001001 João da Silva
nascimento
01/01/1980
endereco
Sete de setembro, 1000
Campo
Atributo
Dados são representados como relações
Registro 20002100 Maria de Souza 30/01/1985 XV novembro, 10 Coluna matemáticas
Tupla 19992009 Paulo de Gil 01/01/1980 General Osório, 102
Linha 20039564 Maria de Souza 12/10/1990 Getúlio Vargas, 200 Operadores relacionais: unários, binários,
20093212 Ana de Jesus 26/09/1992 Sete de setembro, 1000
derivados e especiais
7 8
Álgebra relacional Restrições de integridade
Comparação
Seleção
Relação (consulta)
Integridade referencial
Restrição de unicidade
RESULTADO σ GENERO = ¨M¨ (CLIENTE)
Restrição de atributos e padrões
Nova relação Valor
Atributo Integridade de chave
Atribuição
9 10
Onde estamos no projeto Notação do DBDesigner
do banco de dados?
Primary Key
Regras de negócio
(visão do usuário)
Análise de Requisitos
Modelo Lógico Pertence
Banco
de
Dados n:1
Estamos aqui
Modelo Conceitual Modelo Físico
Atributos
Declaração do relacionamento
11 12
Normalização
Processo de refinamento aplicado ao modelo
lógico
Benefícios:
Normalização
Minimizar redundâncias e inconsistências
Reduzir o tamanho físico do banco de dados
Melhorar a manipulação com o banco de
dados
Formas Normais (FNs)
13 14
Primeira Forma Normal – 1FN Normalização – exemplo
FUNCIONARIO
nome cargo departamento habilidades
Regras: João da Silva Gerente RH Gestão, comunicação
Maria de Souza Desenvolvedor Python TI Python avançado, proatividade
Cada tupla de dados deve possuir um Paulo de Gil Suporte TI Suporte Proatividade, comunicação
identificador único (chave primária) Maria de Souza Analista de sistema TI Gestão de projeto, agilidade
Ana de Jesus Suporte TI Suporte Comunicação
Cada tupla de dados deve conter apenas Pedro da Silva Vendedor Vendas Comunicação
Luísa de Souza Vendedora Vendas Comunicação
dados atômicos (não repetidos)
15 16
Aplicação da 1FN Segunda Forma Normal – 2FN
FUNCIONARIO FUNCIONARIOHABILIDADE HABILIDADE
id nome departamento cargo id funcionario habilidade id descricao
1 João da Silva 1 1 1 1 1 1 Gestão
2 Maria de Souza 2 2 2 1 2 2 comunicação
3 Paulo de Gil 3 3 3 2 3 3 Python avançado
4
5
Maria de Souza
Ana de Jesus
2
3
4
3
4
5
2
3
4
4
4
5
proatividade
Gestão de projeto
Regras:
6 Pedro da Silva 4 5 6 3 2 6 agilidade
7 Luísa de Souza 4 5 Em conformidade com a 1FN
DEPARTAMENTO CARGO Ausência de atributos dependentes de
id
1
Descricao
RH
id
1
nome
Gerente parte da chave primária (chave composta)
2 TI 2 Desenvolvedor python
3 Suporte 3 Suporte TI
4 Vendas 4 Analista de sistema
5 Vendedor(a)
17 18
Aplicação da 2FN Terceira Forma Normal – 3FN
VENDA
pedidoId produtoId descricao quantidade valorUnitario total
1 1 HD externo 16g 2 500.00 1.000,00
1 2 Monitor 32 pol 1 1.200.00 1.200.00
Regras:
2 3 Notebook i9 2 4.000.00 8.000.00
2 1 HD externo 16g 1 500.00 500.00
3 3 Notebook i9 1 4.000.00 4.000.00
Em conformidade com a 2FN
Chave primária composta
Ausência de atributo dependente
pedidoId produtoId
VENDA
quantidade valorUnitario total produtoid
PRODUTO
descricao de outros atributos que não sejam
1
1
1
2
2
1
500.00
1.200.00
1.000,00
1.200.00
1
2
HD externo 16g
Monitor 32 pol chaves na relação
2 3 2 4.000.00 8.000.00 3 Notebook i9
2 1 1 500.00 500.00
3 3 1 4.000.00 4.000.00
19 20
Aplicação da 3FN Onde estamos no projeto
do banco de dados?
VENDA
pedidoId produtoId quantidade valorUnitario total
1 1 2 500.00 1.000,00 Regras de negócio
1 2 1 1.200.00 1.200.00 (visão do usuário)
2 3 2 4.000.00 8.000.00 Análise de Requisitos
2 1 1 500.00 500.00 Modelo Lógico Estamos aqui
3 3 1 4.000.00 4.000.00
Banco
de
Dados
VENDA
pedidoId produtoId quantidade valorUnitario
1 1 2 500.00 Modelo Conceitual Modelo Físico
1 2 1 1.200.00
2 3 2 4.000.00
2 1 1 500.00
3 3 1 4.000.00
21 22
Modelo físico
Implementação propriamente dita do banco
de dados
Considera as limitações do SGBD escolhido
Modelo físico
Criação das restrições
Resultado – modelo bem estruturado:
Dados com melhor qualidade
Menos complexidade nas atualizações
e manutenções no banco de dados
23 24
Modelo físico – exemplo simples Modelo físico – versão mais completa
25 26
Evolução do projeto de banco de dados
Aluno reside Cidade
codigo n:1 codigo
nome descricao
endereco uf
cidade_codigo
27 28
Terminologia
Modelo Conceitual Modelo Relacional Modelo Físico
Entidade Relação Tabela
Campo Atributo Coluna
Registro Tupla Linha
Entidade / Relação / Tabela Schema/Modelo
CLIENTE
codigo nome nascimento endereco Campo
20001001 João da Silva 01/01/1980 Sete de setembro, 1000 Atributo
Registro 20002100 Maria de Souza 30/01/1985 XV novembro, 10 Coluna
Tupla 19992009 Paulo de Gil 01/01/1980 General Osório, 102
Linha 20039564 Maria de Souza 12/10/1990 Getúlio Vargas, 200
20093212 Ana de Jesus 26/09/1992 Sete de setembro, 1000
29 30
Modelo dimensional Fontes de dados
Data Warehouse e Datamart
Dashboards
Excel
Implementação em banco de dados Data Warehouse Datamart
Marketing
relacionais
Json
Objetivo: rapidez na recuperação dos dados Datamart
Vendas
Desenvolvimento para Data Warehouse Redes
sociais
e Datamart Datamart
RH
Dois pilares: tabela fato e tabela dimensão
SGBD
31 32
Estrela (Star Schema) Floco de neve (Snowflake)
Modelo dimensional – fato versus dimensão Dimensão
Cliente Dimensão
Cliente
Tabela dimensão:
Dimensão Dimensão
Cidade Produto
Dimensão
Produto
Dimensão Dimensão Dimensão FATO
Classificação das medidas que descrevem Dimensão
FATO
VENDAS
Dimensão
País Estado Cidade VENDAS
Dimensão
Vendedor
os fatos
Estado Vendedor
Dimensão
Tempo
Exemplo: nome da cidade para visualizar
Dimensão Dimensão
País Tempo
o valor das vendas Constelação (Fact Constellation)
Dimensão
Tabela fato:
Dimensão
Cidade Tempo Dimensão
Produto
FATO FATO
VENDAS
Armazena as medidas que serão analisadas
Consolidadas
Dimensão Dimensão
Cliente Estado
Exemplo: valor das vendas Dimensão
Vendedor
Dimensão
País
33 34
Structured Query Language – SQL
Responsável por toda e qualquer operação
Structured Query Language – SQL em um banco de dados
Linguagem de Consulta Estruturada Por meio do SQL (criado pela IBM),
diferentes aplicações acessam um banco
de dados
Existem variações do SQL: Oracle, Microsoft,
entre outros
35 36
SQL – dialetos Structured Query Language – SQL
As empresas que desenvolvem o SQL criam uma Atualizações:
linguagem própria para desenvolvimento de
códigos mais avançados Inclusão dos tipos booleanos
(verdadeiro/falso)
Essas linguagens são conhecidas como dialetos
Savepoint para transações
Exemplo:
PL/SQL é a linguagem do Oracle e MySQL
Comando Merge
Transact-SQL (T-SQL): Microsoft e Sybase Campos autoincrementos
SQL/PL: DB2 da IBM, entre outras Suporte ao XML e extensões JSON
37 38
SQL – categorias SQL – Query/Script
• Select
DQL Linha ou bloco de instruções SQL que serão
executados por um SGBD
• Create • Insert
• Alter • Update Todo comando na query deve ser finalizado
• Drop DDL DML • Delete
• Truncate • Merge com ponto e vírgula (;)
SQL
• Commit
• Rollback DTL DCL •
•
Grant
Revoke
• Savepoint
39 40