Buscar

Módulo 2 - Modelagem de Banco e Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 303 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 303 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 303 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Juliana Mascarenhas
Tech Education Specialist DIO / Criadora de conteúdo no 
@Simplificandoredes e @SimplificandoProgramação
Mestre em modelagem computacional | Cientista de dados
@in/juliana-mascarenhas-ds/
Modelagem de Banco de 
dados com ER – Entidade
Relacionamento
Trilha de Banco de Dados Relacional
[1]
Objetivo deste módulo é apresentar o mundo da modelagem
de dados voltado para um sistema de banco de dados.
Objetivo Geral
[2]
Percurso
[3]
Etapa 1 Introdução à Modelagem e Projeto de BD
Etapa 2 Explorando o Modelo ER
Etapa 3 Esquema Conceitual Através de Diagramas
Etapa 4 Modelagem de dados complexa com ER
Etapa 5 Construindo seu Primeiro Projeto de BD
//Modelagem de Banco de Dados com ER -
Etapa 1
Introdução à Modelagem & 
Projeto de BD
[4]
Objetivo Geral
[5]
Conceitos de BD
Revisando
Como ocorre esse processo?
Design de BDs
Requisitos relacionados ao SGBD
Implementandoo Modelo
Aplicações & SGBDs
Exemplo de aplicação SGBD
Discursando sobre
as características de 
Banco de Dados
[6]
Relembrando
[7]
• Gerência de dados
• Isolamento data/program
• Integridade e Consistência
• Segurança
• Views
• Recuperação
• Recovery
• Concorrência
Mundo Fechado
[8]
Close World Assumption
Lógica formal do sistema que 
vai além de BD
Preposição
Predicado
Mundo Fechado
[9]
Verdade
Contexto do BD
Close World Assumption
Mundo Fechado
[10]
Close World Assumption
Open World Assumption
Mundo Fechado
[11]
Grau menor que PhD?
Completude
Mini-mundo
[12]
Mundo Real
Mini-mundo
Universe of Discourse
Mini-mundo
[13]
Mundo Real
Mini-mundo
Armazena
Modelo Lógico
Mini-mundo
[14]
Universidade
Amostra
Mundo real
Departamentos
cursos
Mini-mundo
[15]
Mini-mundo
CWA
Mini-mundo
[16]
Mini-mundo
Preposição
Lógica de Predicados
CWA
O predicado é a parte da oração que contém o verbo e que 
traz informações sobre o sujeito.
Álgebra Relacional
[17]
Lógica de Predicados
Critério
Having
Where
Linguagem formal para consulta/extração de dados
Álgebra Relacional
[18]
Teoria dos Conjuntos
Linguagem formal para consulta/extração de dados
Álgebra Relacional
[19]
Conjunto de operações
Teoria dos Conjuntos
Op. de conjuntos Op. de BD relacional
Conjunto de Funções
Álgebra Relacional
[20]
Conjunto de operações
Op. de conjuntos Op. de BD relacional
Exclusivos de SGBDs relacionais
Álgebra Relacional
[21]
Conjunto de Funções
SUM
COUNT
AVG
ANY
MAX
MIN
Alg. Relacinal
[22]
Álgebra Relacional
Resultado da ação
Alg. Relacinal
[23]
Lembra da dependência
aplicação/dados?
Alg. Relacinal
[24]
Lembra da dependência
aplicação/dados?
Consultas complexas
Tradeoff
[26]
INSERT
Tradeoff
[27]
INSERT
Disponibilidade Tempo de gravação
Clock do sistema
Processo
[28]
Projeto Conceitual
Projeto Lógico
Projeto Físico
Validação
Produção
Manutenção
Falando sobre
modelagem ...
[29]
Modelagem de dados
[30]Aplicação de BD
BD particular Softwares Queries & updates
Modelagem de dados
[31]Aplicação de BD
BD particular Softwares Queries & updates
GUI para users
Modelagem de dados
[32]
Aplicação de BD
BD particular Softwares Queries & updates
GUI para users
Modelagem de dados
[33]
Design
Implementação
Teste
Modelagem de dados
[34]
Design
Implementação
Teste
Engenheiro de Software
Desenvolvimento
[35]
Design de BDs
Engenharia de software
Desenvolvimento
[36]
Design de BDs
Engenharia de software
Modelo Entidade Relacionamento
Desenvolvimento
[37]
Não enrijeça o 
processo
Projeto: Como 
"nasce" um Banco 
de Dados?
[38]
Desenvolvimento
[39]
Como implementar um BD?
Desenvolvimento
[40]
Como implementar um BD?
• Entender o contexto e requisitos
• Perfil …
O que eu quero representar?
Desenvolvimento
[41]
O que eu quero representar?
Funcionalidades
Modelo
Arquitetura
Implementação
Processo evolutivo ou gradual
Cenários
[42]
Banco (Financeiro)E-commerce
Universidade
Produção Bibliotecas
Colaboradores
Farmácia
Desenvolvimento
[44]
Como resolver?
Modelagem
Design de BDs –
Projeto conceitual
[45]
Gráficas
Modelo de Alto Nível
Projeto Conceitual
[46]
Como criar o 
modelo?
Textuais
Linguagens de 
modelagem de 
dados
Gráficas
Modelo de Alto Nível
Projeto Conceitual
[47]
Como criar o 
modelo?
Textuais
Representação
Linguagens de 
modelagem de 
dados
Requisitos, perguntas a serem respondidas, visões ...
Projeto Conceitual
[48]
1° passo
Coleta de Dados Análise
Projeto Conceitual
[49]
Esquema Conceitual
Modelo Entidade Relacionamento
UML – Diagrama de classes
Fonte: livro de referência - Navathe
Projeto Conceitual
[50]
Esquema Conceitual
Modelo Entidade Relacionamento
UML – Diagrama de classes
DER
Fonte: livro de referência - Navathe
Projeto Conceitual
[51]
Requisições funcionais 
da aplicação
Foco do engenheiro de software
Operações
Modelo de Alto Nível
Projeto Conceitual
[52]
Requisitos
Funcionais
Não Funcionais
Segurança, desempenho ...
O que executar? Quais processos?
Modelo de Alto Nível
Projeto Conceitual
[53]
Independente do modelo de Banco de Dados
Requisitos
Funcionais
Não Funcionais
Como será armazenado?
Projeto Conceitual
[54]
Coleta Análise
Dados & Requisitos
Esquema conceitual
Design conceitual
Projeto Conceitual
[55]
Coleta Análise
Dados & Requisitos
Esquema conceitual
Design conceitual
Conceitos de Alto Nível
Projeto
Conceitual
[56]Fonte: livro de referência - Navathe
Projeto Conceitual
[57]
Coleta Análise
Dados & Requisitos
Esquema conceitual
Design conceitual
Conceitos de Alto Nível
Análise das queries
Processo
[58]
Projeto Conceitual
Projeto Lógico
Projeto Físico
O que vai ter?
Como estruturar?
Como implementar?
Processo
[59]
Projeto Conceitual
Projeto Lógico
Projeto Físico
Esquema conceitual Esquema lógico Esquema Físico
Requisitos
Implementação –
Projeto Lógico & 
Físico
[60]
Descrição do modelo conceitual
Projeto Lógico
[61]
Depende do modelo de Banco de Dados
Estrutura
Organização 
dos dados
Descrição do modelo conceitual
Projeto Lógico
[62]
Depende do modelo de Banco de Dados
Estrutura
Organização 
dos dados
Tabelas
Projeto Lógico
[63]
Projeto Conceitual
Projeto Lógico
Projeto Físico
Mapeamento
Design Lógico
Projeto Lógico
[64]
Projeto Conceitual
Projeto Lógico
Projeto Físico
Mapeamento
Design Lógico
Esquema do BD
Projeto Lógico
[65]
Como escolher?
Projeto Lógico
[66]
Como escolher? Mobile
Relacional
NoSQL
Distribuído
Estrutura
Projeto Lógico
[67]
Como escolher? Mobile
Relacional
NoSQL
Distribuído
Estrutura
Projeto Lógico
[68]
Percurso....
Criação do Esquema Lógico
Instalação e Configuração do SGBD
Criação do Esquema do BD
Projeto Lógico
[69]
Depende do modelo de Banco de Dados
Características do 
modelo de SGBD
Influência
Projeto Lógico
[70]
Coleta & Análise Esquema conceitual
Design conceitual
Esquema Lógico
EspecificandoConceitos de Alto Nível
Mapeamento
Projeto Lógico
[71]
Mapeamento ER para Modelo Relacional
Fonte: livro de referência - Navathe
Projeto
Lógico
[72]
Fonte: livro de referência - Navathe
Projeto
Lógico
[73]
Fonte: livro de referência - Navathe
Mapeamento ER x Relacional
[74]
Pontos de 
atenção
Entidades
Qual tipo de entidade?
Relacionamentos
Binário, n-ário?
Cardinalidade
[1:1, 1:n, n:1 ...]
Atributos
Multivalorados?
Mapeamento ER x Relacional
[75]
Pontos de 
atenção
Entidades
Qual tipo de entidade?
Relacionamentos
Binário, n-ário?
Cardinalidade
[1:1, 1:n, n:1 ...]
Atributos
Multivalorados?
Restrições
&
Integridade
Descrição do modelo conceitual
Projeto Físico
[76]
Independente do modelo de Banco de Dados
Como será implementado?
Parâmetros Físicos
• Estrutura e Índices
• Organização e Caminhos de Arquivos
• Segurança, performance ...
Projeto Físico
[77]
Diretamente ligado ao SGBD
Como será implementado?Parâmetros Físicos
• Estrutura e Índices
• Organização e Caminhos de Arquivos
• Segurança, performance ...
Projeto Físico
[78]
Diretamente ligado ao SGBD
Alocação de memória
Particionamento de tabelas
Projeto Lógico
[79]
Coleta & 
Análise
Esquema 
conceitual
Esquema 
Lógico
Esquema Lógico
Implementação
Descrição
Projeto Lógico
[80]
Coleta & 
Análise
Esquema 
conceitual
Esquema 
Lógico
Esquema Lógico
ValidaçãoProduçãoManutenção
Fases de 
desenvolviento de 
BDs e Aplicações
[81]
Desenvolvimento
[82]
Levantamento de requisitos
Análise Funcional
Especificação de Acesso
Projeto de Aplicação 
Implementação
Validação e Teste
Projeto Conceitual
Projeto Lógico
Projeto Físico
Desenvolvimento
[83]
Levantamento de requisitos
Análise Funcional
Especificação de Acesso
Projeto de Aplicação 
Implementação
Validação e Teste
Projeto Conceitual
Projeto Lógico
Projeto Físico
Premissas
Desenvolvimento
[84]
Levantamento de requisitos
Análise Funcional
Especificação de Acesso
Projeto de Aplicação 
Implementação
Validação e Teste
Projeto Conceitual
Projeto Lógico
Projeto Físico
Premissas
Fomentada pelas premissas
Desenvolvimento
[85]
Levantamento de requisitos
Análise Funcional
Especificação de Acesso
Projeto de Aplicação 
Implementação
Validação e Teste
Projeto Conceitual
Projeto Lógico
Projeto Físico
CRUD
Queries, Views ...
Regra 20x80
Desenvolvimento
[86]
Levantamento de requisitos
Análise Funcional
Especificação de Acesso
Projeto de Aplicação 
Implementação
Validação e Teste
Projeto Conceitual
Projeto Lógico
Projeto Físico
Privacidade
Desenvolvimento
[87]
Levantamento de requisitos
Análise Funcional
Especificação de Acesso
Projeto de Aplicação 
Implementação
Validação e Teste
Projeto Conceitual
Projeto Lógico
Projeto Físico
Implementação do BD
Conhece a aplicação
Desenvolvimento
[88]
Levantamento de requisitos
Análise Funcional
Especificação de Acesso
Projeto de Aplicação 
Implementação
Validação e Teste
Projeto Conceitual
Projeto Lógico
Projeto Físico
Integração
Clique para adicionar texto
Desenvolvimento
[89]
Levantamento de requisitos
Análise Funcional
Especificação de Acesso
Projeto de Aplicação 
Implementação
Validação e Teste
Projeto Conceitual
Projeto Lógico
Projeto Físico
Clique para adicionar texto
Classificação 
das aplicações
Aplicações
[90]
Levantamento de 
requisitos
Análise Funcional
Especificação de 
Acesso
Projeto de Aplicação 
Implementação
Validação e Teste
Projeto Conceitual
Projeto Lógico
Projeto Físico
Classificação 
das aplicações
OLTP OLAP
Uso dos dados
Aplicações
[91]
Levantamento de 
requisitos
Análise Funcional
Especificação de 
Acesso
Projeto de Aplicação 
Implementação
Validação e Teste
Projeto Conceitual
Projeto Lógico
Projeto Físico
Classificação 
das aplicações
OLTP OLAP
Uso dos dados
HTAP
Resumindo...
[92]Fonte: livro de referência - Navathe
Resumindo...
[93]Fonte: livro de referência - Navathe
Modelo ER
Modelo Relacional
SGBD Relacional
Aplicação -
Modelagem dos 
dados
[94]
Objetivo: rastreamento
Exemplo
[95]
Company
Empregados
Departamentos
Projetos
Objetivo: rastreamento
Exemplo
[96]
Company
Departamentos
Levantamento de 
dados e requisitos
Empregados Projetos
Organização:
• Nome, n°, gerente (empregado)
Rastrear?
• Data de início do gerente & locais
Exemplo
[97]
Company
Descrição do 
mini-mundo
Departamentos
Organização:
• Nome, n°, gerente (empregado)
Rastrear?
• Data de início do gerente & locais
Exemplo
[98]
Company
Descrição do 
mini-mundo
Departamentos
Qual a função?
• Projetos – 1 ou +
Características
• Nome, n°, localização
Exemplo
[99]
Company
Descrição do 
mini-mundo
Departamentos
Qual a função?
• Projetos – 1 ou +
Características
• Nome, n°, localização
Exemplo
[100]
Company
Descrição do 
mini-mundo
Departamentos
Projetos
Nome, seguro social
Endereço, salário,
Data de nascimento …
Exemplo
[101]
Company
Descrição do 
mini-mundo
Departamentos
Projetos
Empregados
Nome, seguro social
Endereço, salário,
Data de nascimento …
Exemplo
[102]
Company
Descrição do 
mini-mundo
Departamentos
Projetos
Empregados
Dependentes
[103]
Company
DER
Fonte: livro de referência - Navathe
[104]
Company
UML
Fonte: livro de referência - Navathe
[105]
Company
DR
Fonte: livro de referência - Navathe
[106]
Company
Instâncias
Fonte: livro de referência - Navathe
Etapa 2
Explorando o Modelo
Entidade Relacionamento
[107]
//Modelagem de Banco de Dados com ER -
Processo
[108]
Tipos de entidades
Atributos e chaves
Relacionamentos
Papéis e Constraints
Esquema relacional
Diagrama ER
Tipos de Entidades, 
Chaves e Atributos
[109]
ER Model
Domínio do Negócio
Modelo ER
[110]
Modelo Conceitual
AtributosEntidades
Relacionamentos
Domínio do Negócio
Modelo ER
[111]
Modelo Conceitual
AtributosEntidades
Relacionamentos
Estrutura
Como 
representar?
Domínio do Negócio
Modelo ER
[112]
Modelo Conceitual
AtributosEntidades
Relacionamentos
Estrutura
DER
Diagrama ER
[113]
Diagramas
• Raras modificações
• Facilidade de manipular
• Esquema ER do banco de dados
Fonte: Livro de referência - Navathe
Foco no 
esquema
• Componente básico
• Existencia independente
• Atributos
Entidades
[114]
Entidades Objetos
• Componente básico
• Existencia independente
• Atributos
Entidades
[115]
Entidades Objetos
Entidades
[116]
Entidades Objetos
• Características/Descrição das
entidade
• Atributos relacionados as
intâncias
Atributos
[117]
Atômicos x Composto
Atributos multivalorados
Armazenados e derivados
Atributos Nulos
Atributos Complexos
Atributos
[118]
Atômicos Compostos
Concatenação
Atributo Composto
[119]
Av. Sete de Setembro 
371 – Araraquara, SP, 
148000-390
Atributo Multivalorados
[120]
Atributos
Atômicos/Compostos Simples/Multivalorados
Valor
Estrutura
Entidade – possui 1 ou mais valores
Atributo Multivalorados
[121]
Atributos
Simples/Multivalorados
Valor
Idade Cores
Grau acadêmico
Intervalo
Atributo Stored/Derivados
[122]
Atributos
Armazenados
Valor
Derivados
Atributo Stored/Derivados
[123]
Armazenados
Valor
Atributos
Derivados
Data de nascimento
Idade
Atributo Nulos
[124]
Acadêmico
Grau (opcinal)
Atributo Nulos
[125]
CasaApartamento &
Rua A n° 23 apt 102 Rua B n° 490
Acadêmico
Grau (opcinal)
Atributo Nulos
[126]
UNKNOWN
ITEM FALTANTE
Atributo Complexos
[127]
Compostos
Multivalorados
Grupo Fonte: livro de referência - Navathe
Entidades
[128]
Esquema
Fonte: livro de referência - Navathe
Coleção
Tipo
Entidades
[129]
Fonte: livro de referência - Navathe
Elementos DER
• Entidades
• Atributos
• Chaves
Entidades
[130]
Fonte: livro de referência - Navathe
Elementos DER
• Entidades
• Atributos
• Chaves
Entidade
Set
Entidade Fraca
[131]
• Chave não obrigatória
• Depêndencia
• Exclusão cascata
Fonte: livro de referência - Navathe
Chaves
[132]
Fonte: livro de referência - Navathe
Elementos DER
• Entidades
• Atributos
• Chaves Constraint
Chaves
[133]
Elementos DER
• Entidades
• Atributos
• Chaves Constraint
Primary Key
Modelo Relacional
Domínio dos atributos
[134]
• Range de Valores
• Tipo de dados
• ER x UML
Fonte: livro de referência - Navathe
Exemplo
[135]
Exemplo - Company
[136]
Fonte: Livro de referência - Navathe
Exemplo - Company
[137]
Fonte: Livro de referência - Navathe
Exemplo - Company
[138]
Outras características:
• Projetos x empregados
• Número de horas por projeto
Fonte: Livro de referência - Navathe
Exemplo - Company
[139]
Outras características:
• Projetos x empregados
• Número de horas por projeto
Atributo composto
Fonte: Livro de referência - Navathe
[140]
Indo além …
Refinando
Fonte: Liv ro de ref erência - Nav athe
Relacionamentos, 
Papéis e Constraintsestruturais
[141]
ER Model
Relações implicítas
• Gerente do departamento
• Controle do projeto
• Supervisor
Relacionamentos
[142]
Empregado
Departamento Projeto
Departamentoempregado
Relacionamentos
[143]
Relacionamento
Relacionamento
Fonte: Liv ro de ref erência - Nav athe
Classificado
• Grau
• Auto-relacional ou não
• Cardinalidade
Relacionamentos
[144]Fonte: Livro de referência - Navathe
Relacionamentos
[145]
Classificado
• Grau - Ternário
• Auto-relacional ou não
• Cardinalidade
Fonte: Livro de referência - Navathe
Relacionamentos
[146]
Relacionamentos como atributos
Fonte: Livro de referência - Navathe
Papel | Atribuição
[147]
Papéis de cada 
entidade Significado
Fonte: Livro de referência - Navathe
Papel | Atribuição
[148]
Papéis de cada 
entidade
Fonte: Livro de referência - Navathe
Auto-relacionamento
[149]Fonte: Livro de referência - Navathe
Constraints de 
relacionamentos
binários
[150]
ER Model
Constraints - Cardinalidade
[151]
Cardinalidade corresponde ao n° máximo de instância que 
participam de um determinado relacionamento.
1:1
1:N
1:3
N:1
M:N
Constraints - Cardinalidade
[152]
1:1
Constraints - Cardinalidade
[153]
M:N
Constraints - Cardinalidade
[154]
N:1
Constraints - Participação
[155]
• Relação de dependência
• Minimum Cardinality Constraint
• Classificação: total e parcial
Empregado & 
departamento
Supervisor
Atributos de relacionamento
[156]
Decisão subjetiva de Design
Atributos de relacionamento
[157]
Decisão subjetiva de Design
Mandatório
Tipos de Entidades
Fracas
[158]
ER Model
Entidade Fraca
[159]
Tipos de entidades
• Fracas
• Fortes
Dependem de outra
Owner Entity Type
Relacionamento 
ID
Entidade Fraca
[160]
Tipos de entidades
• Fracas
• Fortes
Dependem de outra
Owner Entity Type
Relacionamento 
ID
Total Participation Constraint
Entidade Fraca
[161]
Tipos de entidades
• Fracas
• Fortes
DER
Entidade Fraca
[162]
Carteira de Motorista
Pessoa
Relacionamento
Total Participation
Constraint
Notações
[163]
• Entidades: classes/objetos
• Relacionamentos: agregações
• Atributos: propriedades elementares
Entidade
Relacionamento
Atributo
Notações
[164]
• Weak Entidades, relacionamentos
• Chave Parcial: Linha pontilhada
• Chave principal: linha continua
• Dependência de existência: ||
weak
..........
Relacionamentoweak
______
Notações
[165]
• Atributo derivado
• Atributo composto
• Participação total
• Cardinalidade
• Constraint estrutural
Construtores do Esquema
[166]
Convenção - Nomeando
• Entidade e Relacionamento
• Atributo
• função
Significado
Trivial?
Refinando o Design 
ER para COMPANY
[167]
ER Model
Exemplo - Company
[168]
Fonte: Livro de referência - Navathe
Refinando - Company
[169]
Relacionamentos
• Empregado x Departamento: Gerencia
• Empregado x Departamento: Trabalha para
• Departamento x Projeto: Controla
Fonte: Livro de referência - Navathe
Refinando - Company
[170]
Relacionamentos
• Empregado x Empregado: Supervisiona
• Empregado x Projeto: Trabalha em
• Empregado x Dependente: Dependentes de
Fonte: Livro de referência - Navathe
Exemplo - Company
[171]
Fonte: Livro de referência - Navathe
[172]
Alternativas - UML
[173]
ER Model
Outra Notação
[174]
• Linguagem para desenvolvimento
de software
• Trabalha com visões: interpretada e 
construída
Compreensão 
facilitada
Orientação à 
objeto
Liberdade para o 
desenvolvedor
Outra Notação
[175]
Outra Notação
[176]
Classe
Caso de uso
Interação
Principais
Outra Notação
[177]
Classificação
Outra Notação
[178]
• Desenvolvimento de software
• Paradigma OO
• Foco: Diagrama de Classes
Outra Notação
[179]
• Classe (entidade)
• Atributos
• Operações
• Associações
Outra Notação
[180]
• Atributo de Link
• Associação binária
• Associação reflexiva
• Multiplicidade *
Outra Notação
[181]
Relacionamentos
• Associação e
• Agregação
Direcional
Outra Notação
[182]
Weak
• qualified association
• Discriminator
Relacionamentos de 
alto grau
[183]
ER Model
Relacionamento N-ário
[184]
• Ternário, …, N-ário
• Perspectiva diferente do binário
Obs: 
• Instâncias refletem a visão
Trade-off na tomada 
de decisão
(s,j,p)
Relacionamento N-ário
[185]
Cenário
Estabelecimento (loja)
Fornecedor
Projeto
Produto
Relacionamento N-ário
[186]
(s,j,p)
Fonte: livro de referência - Navathe
Relacionamento N-ário
[187]
(s,j)
(j,p)
(s,p)
Fonte: livro de referência - Navathe
Relacionamento N-ário
[188]
Weak & Depêndencia
Fonte: livro de referência - Navathe
Relacionamento N-ário
[189]
Cenário
Consultas médicas
Médico
Exames
Paciente
Relacionamento N-ário
[190]
Exame
Com médico ou 
com paciente?
Relacionamento N-ário
[191]
Exame
Com médico ou 
com paciente?
Ternário??
Relacionamento N-ário
[192]
Agregação
Relacionamento N-ário
[193]
Ternário?
Relacionamento N-ário
[194]
Relacionamento N-ário
[195]
// Design e Projeto de Banco de dados
Etapa 3
Modelagem de 
dados Complexa com EER –
Enhanced Entity-Relationship
[196]
Modelo Enhanced ER
[197]
• Modelo ER – 1970Evoluir...
Modelo Enhanced ER
[198]
• Modelo ER – 1970
• EER: Novos conceitos semânticos
• Desenvolvidos fora da área de BDs
• Diagrama ERR
Evoluir...
Entidades Objeto
Classes superclasses
e Herança
[199]
Modelo Enhanced ER
[200]
• Generalização e Especialização
• Categoria ou Union Type
• Herança: Atributo e relacionamento
Subclasses
Superclasses
Herança
Modelo Enhanced ER
[201]
• Tipos de entidades
• Conjuntos de entidades
Subclasse & Subtipo
Modelo Enhanced ER
[202]
• Tipos de entidades
• Conjuntos de entidades
Subclasse & Subtipo
Empregados
Administradores
Suporte TI
Especialistas
Analistas
Marketing
Suporte Local
Modelo Enhanced ER
[203]
Subclasse & Subtipo
Objeto
Objeto
Objeto
Objeto
Objeto
Objeto
Objeto
Classe 1 Classe 2
Comportamento
e
Estado gerais
Modelo Enhanced ER
[204]
Subclasse & Subtipo
Classe mãe
Classe filho Classe filha
Comportamento e estado
Específicos
Modelo Enhanced ER
[205]
Subclasse
• Depende do contexto do BD
• Objeto distinto no BD
Empregados
Secretária Engenheiro Gerente
Empregados
Chefe de obras Engenheiro Arquiteto
Superclasse
Subclasse
Modelo Enhanced ER
[206]
Herança
"Princípio próprio à programação orientada a objetos (POO) 
que permite criar uma nova classe a partir de uma já
existente."
Agregar atributos e métodos
Reutilização de código
Especialização de classes
Modelo Enhanced ER
[207]
Fonte: livro de referência - Navathe
Especialização e 
Generalização
[208]
Modelo Enhanced ER
[209]
• Especialização: subclasses
• Conjunto de subclasses -> tipo de entidade
• Diferenciação: propriedade, atributos
Subclasse & Subtipo
Secretária Engenheiro
Gerente
Específico
Modelo Enhanced ER
[210]
• Instâncias das superclasse e 
subclasses
• Mesma representação de mundo
real
• Papel especializado
[1:1]
Fonte: livro de referência - Navathe
Modelo Enhanced ER
[211]
Fonte: livro de referência - Navathe
Modelo Enhanced ER
[212]
• Atributos aplicados a algumas
entidades
• Relacionamentos específicos com 
subclasses
Motivação
Fonte: livro de referência - Navathe
Modelo Enhanced ER
[213]
Generalização
• Inverso da especialização
• Propriedades comuns as 
entidades
Modelo Enhanced ER
[214]
Fonte: livro de referência - Navathe
Fonte: livro de referência - Navathe
Generalização
Modelo Enhanced ER
[215]Generalização
Fonte: livro de referência - Navathe
[216]
Generalização Especialização
Refinamento
Entidade
Superclasse
Entidade
Subclasses
Constraints de 
Generalização & 
Especialização
[217]
Constraints – Modelo EER
[218]
Constraint:
• Predicated-defined (condição)
• Attribute-defined Specialization
• User-defined
Constraints – Modelo EER[219]
Constraint:
• Predicated-defined (condição)
• Attribute-defined Specialization
• User-defined
Secretária
(Job_Type = 'Secretária')
Constraints – Modelo EER
[220]
Constraint:
• Predicated-defined (condição)
• Attribute-defined Specialization
• User-defined
Constraints – Modelo EER
[221]
Constraint:
• Predicated-defined (condição)
• Attribute-defined Specialization
• User-defined
Atributo definidor da especialização
Especialização definida por atributo
Constraints – Modelo EER
[222]
Constraint:
• Predicated-defined (condição)
• Attribute-defined Specialization
• User-defined
Constraints – Modelo EER
[223]
Constraint:
• Disjointness constraint
• Overlapping
• Completeness constraint
ESPECIALIZAÇÃO
Constraints – Modelo EER
[224]
Constraint:
• Disjointness constraint
• Overlapping
• Completeness constraint
Conjuntos disjuntos
Constraints – Modelo EER
[225]
Constraint:
• Disjointness constraint
• Overlapping
• Completeness constraint
Constraints – Modelo EER
[226]
Constraint:
• Disjointness constraint
• Overlapping
• Completeness constraint
Total
Parcial
Constraints – Modelo EER
[227]
Constraint:
• Disjointness constraint
• Overlapping
• Completeness constraint
Total
Parcial
Pertencimento 
mandatório
Particiação Opcional
Modelo Enhanced ER
[228]
Fonte: livro de referência - Navathe
Constraints – Regras
[229]
Deletar
• Superclasse -> subclasses
Inserção
• Entidade em superclasse -> predicated-defined
• Entidade em superclasse com total -> subclasse macth
Hierárquia & rede de 
especialização
[230]
Especialização
[231]
• Hierárquia de 
especialização
• Rede de 
especialização
[232]
Requisitos
• Rastreamento das 3 entidades & overlaping de entidades
• Tipos definidos de empregados
• Informação dos aluminis – grau acadêmico
• Estudantes graduados ou não
Exemplo
[233]
[234]
Herança
[235]
Subclasse 
compartilhada
Herança múltipla
Modelagem de 
union types usando
categorias
[236]
[237]
• Coleção de objetos de diferentes tipos de entidades
• Representação: subclasse
Union Type
[238]
Subclasse: 
• Papel dono do veículo
Union Type
Dona do 
carro
Fianciamento
[239]
Subclasse: 
• Papel dono do veículo
Union Type
Dona do 
carro
Financiamento
[240]
Union Type
[241]
Union Type
[242]
Subclasse: 
• Papel dono do veículo
Union Type
Dona do 
carro
Financiamento
Union Type
Parcial (||)
Total (|)
[243]
Union Type
Generalização/Especialização
Union Type/Categorização
Por qual 
optar?
Esquema EER & 
Definições formais
[244]
[245]
• Aplicação do Modelo Enchancer ER
• Descrição do esquema
• Definições formais
• Reafirmando conceitos
Exemplificação
Universidade
[246]
Rastrear:
• Estudantes, graduados, registros, trabalhos
• Oferta de cursos
Pessoas:
• Faculdade - rank(assitente, associado, pesquisador …)
• Estudante
Exemplificação
Departamento
[247]
Estudante:
• Class -> grau acadêmico
• Relacionados ao seu minor e major
• Trabalho final deve ser registrado
• Class = 5 ou 6 para ser Grad_Student
• Entrega a tese para o orientador (committee)
Exemplificação
Constraint
[248]
Exemplificação
Pessoas
[249]
Departamento:
• Uma pessoa acadêmica pertence a um departamento
• Pessoa coordenador – chairperson
• Atributos: nome, telefone, escritório ...
Exemplificação
Constraint
[250]
Curso:
• Atributos: nome, número, descrição
• Seções do mesmo curso são ofertadas aos alunos
• As seções são ofertadas a cada ano e possui um instrutor
Exemplificação
[251]
Exemplificação Departamento
[252]
Instrutor pesquisador:
• Agregado: Faculty (acadêmico) e Grad_Student (Mestrando
ou doutorando)
• Um instrutor pesquisador está associado a uma seção de um 
curso
Exemplificação
[253]
Universidade
Decisão sobre
design de BD & 
UML
[254]
[255]
Design
Generalização/Especialização
Union Type/Categorização
Por qual 
optar?
[256]
Guideline
• Sub/Superclasses: Acurácia x Desordem
• Merge de subclasse em uma superclasse: s/ 
relacionamentos e poucos atributos
• Union Types: evitados por padrão
• Escolhas guiadas pelo mini-mundo
Decisões de Design
[257]
Decisões de Design
Atributos?
[258]
• Foco na modelagem de dados
• Diagrama de classes
• Classes concretas
Nomenclatura
• Classe base e classes (nós) folha
Representando por UML
[259]
UML - Especialização
Terminologias
alternativas
[260]
[261]
Terminologias
Knowledge representation (KR)
Ontologia
Domínio
[262]
Terminologias
Similaridades
• Processo de abstração para identificação de componentes
• Prove recursos para modelagem de dados
Domínio
[263]
Terminologias
KR
• Modelagem semântica - mais abrangente: regras, 
conhecimento espacial e temporal
• Reasoning mechanisms
• Mistura de instância e esquema
Domínio
[264]
Terminologias
Conceitos abstratos
• Classificação e Instanciação
• Identificação
• Especialização e Generalização
• Agregação e Associação
Modelo de dados 
semântico
[265]
Terminologias
Conceitos abstratos
• Classificação e Instanciação
• Identificação
• Especialização e Generalização
• Agregação e Associação
Atribuição de 
objetos/entidades a 
classes/tipo de entidade
Propriedade de classes
Objetos de exceção
Meta-class
[266]
Terminologias
Conceitos abstratos
• Classificação e Instanciação
• Identificação
• Especialização e Generalização
• Agregação e Associação
Processo abstrato de 
identificação única
[267]
Terminologias
Conceitos abstratos
• Classificação e Instanciação
• Identificação
• Especialização e Generalização
• Agregação e Associação
Refinamento utilizando
sub e superclasses
[268]
Terminologias
Conceitos abstratos
• Classificação e Instanciação
• Identificação
• Especialização e Generalização
• Agregação e Associação
Abstração para 
composição de objetos
complexos
[269]
Ontologia
Alimenta o BD com informações
sobre o domínio, suas
propriedades e relações
Close World Assumption
Open World Assumption
Semantic Web
[270]
Ontologia
Descrição:
• Thesaurus – relacionamentos x conceitos
• Taxonomy – relacionamento de conceitos com estruturas
• Esquema detalhado – descrição de coneitos
• Lógica teórica – lógica matemática para definição de 
conceitos
// Design e Projeto de Banco de dados
Etapa 4
Hands on: Construindo seu
Primeiro Projeto de Banco da 
Dados
[271]
Projeto de Banco de Dados
[272]
• Contexto: Levantamento de Requisitos
• Projeto Conceitual: Modelo ER
• Projeto Lógico: Modelo Relacional
Projeto de Banco de Dados
[273]
• Contexto: Levantamento de Requisitos
• Projeto Conceitual: Modelo ER
• Projeto Lógico: Modelo Relacional
UNIVERSIDADE ECOMMERCEORDEM DE SERVIÇO
Modelando – Ordem
de Serviço
[274]
ER Model
Projeto de Banco de Dados
[275]
Contexto:
• Dentro de uma empresa os clientes
demandam ao helpdesk algumas ações.
• Essas ações são convertidas em ordem
de serviço
Ordem de serviço
Projeto de Banco de Dados
[276]
Contexto:
• Os clientes realizam um pedido
• O pedido é convertido em ordem de serviço caso
possa ser realizado
• O técnico executa a ordem de serviço. Após sua
finalização a mesma é arquivada
Ordem de serviço
Projeto de Banco de Dados
[277]
Entidades: 
• Cliente, Responsável, Pedido e Ordem de 
Serviço
Relacionamentos
• Solicita, Analisa, Executa, Arquiva
Ordem de serviço
Projeto de Banco de Dados
[278]
Ordem de serviço
Responsável
Cliente Pedido
Ordem de 
serviço
Modelando – Escopo
de Universidade
[279]
ER Model
Projeto de Universidade
[280]
Ensino
Qual o 
escopo?
Projeto de Universidade
[281]
Ensino
Qual o 
escopo? Professor
Aluno
Curso
Disciplina
Coordenação
Projeto de Universidade
[282]
Narrativa - Alunos
• A universidade possui diversos alunos que podem estar
matriculados em mais de um curso (graduação).
• Os alunos podem fazer cursos extras fornecidos externa e 
internamente (universidade) para contar como horas 
complementares
Levantamento de RequisitosProjeto de Universidade
[283]
Narrativa - Alunos
• Não há restrição quanto ao número de matérias puxadas se não
houver sobreposição de horário.
• Os alunos são submetidos a duas provas por semestre para cada
disciplina. Eventuais trabalhos devem ser tratados pelo professor 
para compor a nota da prova.
Levantamento de Requisitos
Projeto de Universidade
[284]
Narrativa - Disciplinas
• Cada disciplina é fornecida por um professor. Restrição: apenas por
este professor.
• Algumas disciplinas possuem pré-requisitos. Um mesmo pré-
requisito pode ser associado a mais de uma disciplina.
Levantamento de Requisitos
Projeto de Universidade
[285]
Narrativa - Disciplinas
• As disciplinas podem ser comuns a cursos distintos. Ex: Cálculo 1 
para computação e engenharia
• O ciclo de vida da disciplina é semestral
Levantamento de Requisitos
Projeto de Universidade
[286]
Narrativa - Professores
• Os professores que ministram as disciplinas estão associados as 
coordenações de seus respectivos cursos. Ex: Computação, Física, 
Engenharia …
Levantamento de Requisitos
Projeto de Universidade
[287]
Perguntas:
• Quais informações de aluno e professor guardar?
• Qual média para aprovação?
• Haverá restrição, ou diferentes visões ?
• …
Levantamento de Requisitos
Modelando – Escopo
de E-commerce
[288]
ER Model
Projeto de E-commerce
[289]
Venda de produtos
Qual o 
escopo?
Projeto de E-commerce
[290]
Qual o 
escopo?
Pedido
Cliente
Produto
Estoque
Fornecedor
Venda de produtos
Projeto de E-commerce
[291]
Narrativa - Produto
• Os produtos são vendidos por uma única plataforma online. 
Contudo, estes podem ter vendedores distintos (terceiros)
• Cada produto possui um fornecedor
• Um ou mais produtos podem compor um pedido
Levantamento de Requisitos
Projeto de E-commerce
[292]
Narrativa - Cliente
• O cliente pode se cadastrar no site com seu CPF ou CNPJ
• O Endereço do cliente irá determinar o valor do frete
• Um cliente pode comprar mais de um pedido. Este tem um período
de carência para devolução do produto
Levantamento de Requisitos
Projeto de E-commerce
[293]
Narrativa – Pedido
• O pedidos são criados por clientes e possuem informações de 
compra, endereço e status da entrega
• Um produto ou mais compoem o pedido
• O pedido pode ser cancelado
Levantamento de Requisitos
Projeto de E-commerce
[294]
Narrativa – Fornecedor & estoque
• Vamos pensar juntos ...
Levantamento de Requisitos
Desafio 1: Replique e 
melhore!
[295]
Projeto de Universidade
[296]
Refinando
• Cliente PJ e PF – Uma conta pode ser PJ ou PF, mas não
pode ter as duas informações
• Pagamento – Pode ter cadastrado mais de uma forma de 
pagamento
• Entrega – Possui status e código de rastreio
Levantamento de Requisitos
Desafio 2: Modelando
do zero
[297]
Oficina - Narrativa
[298]
• Sistema de controle e gerenciamento de execução de 
ordens de serviço em uma oficina mecânica
• Clientes levam veículos à oficina mêcanica para serem
consertados ou para passarem por revisões periódicas
• Cada veículo é designado a uma equipe de mecânicos que 
identifica os serviços a serem executados e preenche uma
OS com data de entrega.
Levantamento de Requisitos
Oficina - Narrativa
[299]
• A partir da OS, calcula-se o valor de cada serviço, 
consultando-se uma tabela de referência de mão-de-obra
• O valor de cada peça também irá compor a OS
• O cliente autoriza a execução dos serviços
• A mesma equipe avalia e executa os serviços
Levantamento de Requisitos
Oficina - Narrativa
[300]
• Os mecânicos possuem código, nome, endereço e 
especialidade
• Cada OS possui: n°, data de emissão, um valor, status e uma
data para conclusão dos trabalhos.
Levantamento de Requisitos
Oficina - Narrativa
[301]
• Uma OS pode ser composta por vários serviços e um mesmo
serviço pode estar contido em mais de uma OS.
• Uma OS pode ter vários tipos de peça e uma peça pode
estar presente em mais de uma OS
Levantamento de Requisitos
> Fórum/Artigos
> Comunidade Online (Discord)
Dúvidas?
[302]
https://discord.com/invite/gFKWUdTkaj
Github
● https://github.com/julianazanelatto
Referências
● https://dev.mysql.com/doc/
● https://www.postgresql.org/docs/
● https://www.w3schools.com/sql/
Links Úteis
[303]
https://github.com/julianazanelatto
https://dev.mysql.com/doc/
https://www.postgresql.org/docs/
https://www.w3schools.com/sql/
Livros de Referência
• ELMASRI, Ramez; B. NAVATHE, Shamkant. Sistema de Banco de Dados. 7. ed. São Paulo: 
Pearson, 2018.
Livros complementares
• RODZVILLA, John. A Review of “Learning SQL” Beaulieu, Alan. Sebastapol, CA: O’Reilly, 
2009, 320 pp., $39.99, ISBN 978-0-596-52083-0. 2010.
• TEOREY, Toby J. Database modeling and design. Morgan Kaufmann, 1999.
• NIELD, Thomas. Getting Started with SQL: A Hands-On Approach for Beginners. " O'Reilly 
Media, Inc.", 2016.
Para saber mais
[304]
Links
• https://www.cs.uct.ac.za/mit_notes/database/htmls/chp07.html
Para saber mais
[305]
https://www.cs.uct.ac.za/mit_notes/database/htmls/chp07.html

Continue navegando