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]
 Revisando
 Conceitos de BD
 Design de BDs
 Requisitos relacionados ao SGBD
Como ocorre esse processo?
Implementando o 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
[25]
Fonte: infinittusexatas.com.br/
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]
Engenheiro de Software
 Design
 Implementação
 Teste
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
[43]
Abordagem tradicional
Como resolver?
Desenvolvimento
[44]
Como resolver?
Modelagem
Conceitual
Físico
Lógico
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
Conceitos de alto nível são os tipos de entidades, relacionamentos, constraints ....
Não possui detalhes de implementação então pe fácil de ser passado para pessoas leigas.
Foco nos dados traz clareza e facilidade para construção do modelo
Projeto Conceitual
[56]
Fonte: livro de referência - Navathe
Conceitos de alto nível são os tipos de entidades, relacionamentos, constraints ....
Não possui detalhes de implementação então pe fácil de ser passado para pessoas leigas.
Foco nos dados traz clareza e facilidade para construção do modelo
Projeto Conceitual
[57]
Coleta
Análise
Dados & Requisitos
Esquema conceitual
Design conceitual
Conceitos de Alto Nível
Análise das queries
O modelo básico de dados pode ser utilizado para definir as queries e operações durante a análise de funcionalidades
Processo
[58]
O que vai ter?
Como estruturar?
Como implementar?
Projeto Conceitual
Projeto Lógico
Projeto Físico
Processo
[59]
Esquema conceitual
Esquema lógico
Esquema Físico
Requisitos
Projeto Conceitual
Projeto Lógico
Projeto Físico
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]
Mapeamento
Design Lógico
Projeto Conceitual
Projeto Lógico
Projeto Físico
Projeto Lógico
[64]
Mapeamento
Design Lógico
Esquema do BD
Pode ser automatizado ou semi-automoatizado com ferramentas de design
Projeto Conceitual
Projeto Lógico
Projeto Físico
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
Especificando
Conceitos de Alto Nível
Mapeamento
Conceitos de alto nível são os tipos de entidades, relacionamentos, constraints ....
Não possui detalhes de implementaçãoentão pe fácil de ser passado para pessoas leigas.
Foco nos dados traz clareza e facilidade para construção do modelo
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?
Conceitos de alto nível são os tipos de entidades, relacionamentos, constraints ....
Não possui detalhes de implementação então pe fácil de ser passado para pessoas leigas.
Foco nos dados traz clareza e facilidade para construção do modelo
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
Conceitos de alto nível são os tipos de entidades, relacionamentos, constraints ....
Não possui detalhes de implementação então pe fácil de ser passado para pessoas leigas.
Foco nos dados traz clareza e facilidade para construção do modelo
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
Conceitos de alto nível são os tipos de entidades, relacionamentos, constraints ....
Não possui detalhes de implementação então pe fácil de ser passado para pessoas leigas.
Foco nos dados traz clareza e facilidade para construção do modelo
Projeto Lógico
[80]
Coleta & Análise
Esquema conceitual
Esquema Lógico
Esquema Lógico
Validação
Produção
Manutenção
Conceitos de alto nível são os tipos de entidades, relacionamentos, constraints ....
Não possui detalhes de implementação então pe fácil de ser passado para pessoas leigas.
Foco nos dados traz clareza e facilidade para construção do modelo
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
Atributos
Entidades
Relacionamentos
Domínio do Negócio
Modelo ER
[111]
Modelo Conceitual
Atributos
Entidades
Relacionamentos
Estrutura
Como representar?
Domínio do Negócio
Modelo ER
[112]
Modelo Conceitual
Atributos
Entidades
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 
Mai fácil de manipular se comparado ao conjunto de instâncias (maior que o 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 valoresAtributo 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]
Casa
Apartamento
&
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
Os atributos complexos são semelhantes aos elementos complexos em XML
Entidades
[128]
Esquema
Fonte: livro de referência - Navathe
Coleção
Tipo
Define
Os atributos complexos são semelhantes aos elementos complexos em XML
Entidades
[129]
Fonte: livro de referência - Navathe
Elementos DER
Entidades
Atributos
Chaves
Os atributos complexos são semelhantes aos elementos complexos em XML
Entidades
[130]
Fonte: livro de referência - Navathe
Elementos DER
Entidades
Atributos
Chaves
Entidade
Set
Os atributos complexos são semelhantes aos elementos complexos em XML
Entidade Fraca
[131]
Chave não obrigatória
Depêndencia
Exclusão cascata
Fonte: livro de referência - Navathe
Os atributos complexos são semelhantes aos elementos complexos em XML
Chaves
[132]
Fonte: livro de referência - Navathe
Elementos DER
Entidades
Atributos
Chaves
Constraint
Os atributos complexos são semelhantes aos elementos complexos em XML
Chaves
[133]
Elementos DER
Entidades
Atributos
Chaves
Constraint
Primary Key
Modelo Relacional
Os atributos complexos são semelhantes aos elementos complexos em XML
Domínio dos atributos
[134]
Range de Valores
Tipo de dados
ER x UML
Fonte: livro de referência - Navathe
Os atributos complexos são semelhantes aos elementos complexos em XML
Exemplo
[135]
Exemplo - Company
[136]
Fonte: Livro de referência - Navathe
Os atributos complexos são semelhantes aos elementos complexos em XML
Exemplo - Company
[137]
Fonte: Livro de referência - Navathe
Os atributos complexos são semelhantes aos elementos complexos em XML
Exemplo - Company
[138]
Outras características:
Projetos x empregados
Número de horas por projeto
Fonte: Livro de referência - Navathe
Os atributos complexos são semelhantes aos elementos complexos em XML
Exemplo - Company
[139]
Outras características:
Projetos x empregados
Número de horas por projeto
Atributo composto
Fonte: Livro de referência - Navathe
Atributo composto (projetos, hora) ou (empregado, hora)
[140]
Indo além …
Refinando
Fonte: Livro de referência - Navathe
Atributos project, hora
A informação pode estar relacionada ao projeto ou a entidade empregados. Contudo, a visão de empregados por projeto não reflete o número de horas gasta.
Assim, a melhor abordagem a ser utilizada está em associar o tempo ao empregado, ou seja, em works_on.
Relacionamentos, Papéis e Constraints estruturais
[141]
ER Model
Relações implicítas
Gerente do departamento
Controle do projeto
Supervisor
Relacionamentos
[142]
Empregado
Departamento
Projeto
Departamento
empregado
In the initial design of entity types, relationships are typically captured in
the form of attributes. As the design is refined, these attributes get converted into
relationships between entity types
Relacionamentos
[143]
Relacionamento
Relacionamento
Fonte: Livro de referência - Navathe
Classificado
Grau
Auto-relacional ou não
Cardinalidade
Relacionamentos
[144]
Fonte: Livro de referência - Navathe
In the initial design of entity types, relationships are typically captured in
the form of attributes. As the design is refined, these attributes get converted into
relationships between entity types
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
Ajuda a explicar como funciona e o que significa o relacionamento. Não precisamos nomear os papéis, os nomes de cada entidade especificam o papel.
Papel | Atribuição
[148]
Papéis de cada entidade
Fonte: Livro de referência - Navathe
Ajuda a explicar como funciona e o que significa o relacionamento. Não precisamos nomear os papéis, os nomes de cada entidade especificam o papel.
Auto-relacionamento
[149]
Fonte: Livro de referência - Navathe
Ajuda a explicar como funciona e o que significa o relacionamento. Não precisamos nomear os papéis, os nomes de cada entidade especificam o papel.
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
Os atributos complexos são semelhantes aos elementos complexos em XML
Constraints - Cardinalidade
[152]
1:1
Os atributos complexos são semelhantes aos elementos complexos em XML
Constraints - Cardinalidade
[153]
M:N
Os atributos complexos são semelhantes aos elementos complexos em XML
Constraints - Cardinalidade
[154]
N:1
Os atributos complexos são semelhantes aos elementos complexos em XML
Constraints - Participação
[155]
Relação de dependência
Minimum Cardinality Constraint
Classificação: total e parcial
Empregado & departamento
Supervisor
Os atributos complexos são semelhantes aos elementos complexos em XML
Atributos de relacionamento
[156]
Decisão subjetiva de Design
Migração de atributos para o lado N onde a cardinalidade fica em 1:N.
Migração possível para ambos os lados em 1:1.
Para relacionamentos com cardinalidade N:M o atributo é influenciado por ambas entidades.
Atributos de relacionamento
[157]
Decisão subjetiva de Design
Mandatório
Migração de atributos para o lado N onde a cardinalidade fica em 1:N.
Migração possível para ambos os lados em 1:1.
Para relacionamentos com cardinalidade N:M o atributo é influenciado por ambas entidades. O atributo não pode ser separado em apenas uma entidade.
Tipos de Entidades Fracas
[158]
ER Model
Entidade Fraca
[159]
Tipos de entidades
Fracas
Fortes
Dependem de outra
Owner Entity Type
Relacionamento ID
Chave parcial para entidade fraca
Entidade Fraca
[160]
Tipos de entidades
Fracas
Fortes
Dependem de outra
Owner Entity Type
Relacionamento ID
Total Participation Constraint
Toda entidade fraca precisa ter uma entidade que a identifique. COntudo, nem todo relacionamento de depêndencia gera uma entidade fraca.
Entidade Fraca
[161]
Tipos de entidades
Fracas
Fortes
DER
Toda entidade fraca precisa ter uma entidade que a identifique. COntudo, nem todo relacionamento de depêndencia gera uma entidade fraca.
Entidade Fraca
[162]
Carteira de Motorista
Pessoa
Relacionamento
Total Participation Constraint
Toda entidade fraca precisa ter uma entidade que a identifique. COntudo, nem todo relacionamento de depêndencia gera uma entidade fraca.
Notações
[163]
Entidades: classes/objetos
Relacionamentos: agregações
Atributos: propriedades elementares
Entidade
Relacionamento
Atributo
Os atributos complexos são semelhantes aos elementos complexos em XML
Notações
[164]
Weak Entidades, relacionamentos
Chave Parcial: Linha pontilhada
Chave principal: linha continua
Dependência de existência: || 
weak
..........
Relacionamento
weak
______
Os atributos complexos são semelhantes aos elementos complexos em XML
Notações
[165]
Atributo derivado
Atributo composto
Participação total
Cardinalidade
Constraint estrutural
Os atributos complexos são semelhantes aos elementos complexos em XML
Construtores do Esquema
[166]
Convenção - Nomeando
Entidade e Relacionamento
Atributo
função
Significado
Trivial?
Nomes retirados após narrativa.
Relacionamento (verbos)
Atributos, e Entidade  (Substantivos)
 O nome do relacionamento deve corresponder a umarelação binária, ex: empregado tem_dependentes de dependentes
Refinando o Design ER para COMPANY
[167]
ER Model
Exemplo - Company
[168]
Fonte: Livro de referência - Navathe
Os atributos complexos são semelhantes aos elementos complexos em XML
Refinando - Company
[169]
Relacionamentos
Empregado x Departamento: Gerencia
Empregado x Departamento: Trabalha para
Departamento x Projeto: Controla
Fonte: Livro de referência - Navathe
Os atributos complexos são semelhantes aos elementos complexos em XML
Refinando - Company
[170]
Relacionamentos
Empregado x Empregado: Supervisiona
Empregado x Projeto: Trabalha em
Empregado x Dependente: Dependentes de
Fonte: Livro de referência - Navathe
Participação total de dependente enquanto a de empregado é parcial
Exemplo - Company
[171]
Fonte: Livro de referência - Navathe
Os atributos complexos são semelhantes aos elementos complexos em XML
[172]
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
Outra Notação
[175]
Os atributos complexos são semelhantes aos elementos complexos em XML
Outra Notação
[176]
Classe
Caso de uso
Interação
Principais
Os atributos complexos são semelhantes aos elementos complexos em XML
Outra Notação
[177]
Classificação
Os atributos complexos são semelhantes aos elementos complexos em XML
Outra Notação
[178]
Desenvolvimento de software
Paradigma OO
Foco: Diagrama de Classes
Os atributos complexos são semelhantes aos elementos complexos em XML
Outra Notação
[179]
Classe (entidade)
Atributos
Operações
Associações
Os atributos complexos são semelhantes aos elementos complexos em XML
Outra Notação
[180]
Atributo de Link
Associação binária
Associação reflexiva
Multiplicidade *
Os atributos complexos são semelhantes aos elementos complexos em XML
Outra Notação
[181]
Relacionamentos
Associação e
Agregação
Direcional
Os atributos complexos são semelhantes aos elementos complexos em XML
Outra Notação
[182]
Weak
qualified association
Discriminator
Os atributos complexos são semelhantes aos elementos complexos em XML
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)
Os atributos complexos são semelhantes aos elementos complexos em XML
Relacionamento N-ário
[185]
Cenário
Estabelecimento (loja)
Fornecedor
Projeto
Produto
Os atributos complexos são semelhantes aos elementos complexos em XML
Relacionamento N-ário
[186]
(s,j,p)
Fonte: livro de referência - Navathe
Os atributos complexos são semelhantes aos elementos complexos em XML
Relacionamento N-ário
[187]
(s,j)
(j,p)
(s,p)
Fonte: livro de referência - Navathe
Os atributos complexos são semelhantes aos elementos complexos em XML
Relacionamento N-ário
[188]
Weak & Depêndencia
Fonte: livro de referência - Navathe
Em algumas ferramentas de design possuem uma variação do modelo ER que não permitem relacionamentos de alto grau como ternário.
Neste caso, o relacionamento ternário deve ser representado com uma entidade fraca
Relacionamento N-ário
[189]
Cenário
Consultas médicas
Médico
Exames
Paciente
Os atributos complexos são semelhantes aos elementos complexos em XML
Relacionamento N-ário
[190]
Exame
Com médico ou com paciente?
Os atributos complexos são semelhantes aos elementos complexos em XML
Relacionamento N-ário
[191]
Exame
Com médico ou com paciente?
Ternário??
Os atributos complexos são semelhantes aos elementos complexos em XML
Relacionamento N-ário
[192]
Agregação 
Os atributos complexos são semelhantes aos elementos complexos em XML
Relacionamento N-ário
[193]
Ternário?
Os atributos complexos são semelhantes aos elementos complexos em XML
Relacionamento N-ário
[194]
Os atributos complexos são semelhantes aos elementos complexos em XML
Relacionamento N-ário
[195]
Os atributos complexos são semelhantes aos elementos complexos em XML
// 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 – 1970
Evoluir...
Os atributos complexos são semelhantes aos elementos complexos em XML
Modelo Enhanced ER
[198]
Modelo ER – 1970
EER: Novos conceitos semânticos
Desenvolvidos fora da área de BDs
Diagrama ERR
Evoluir...
Entidades
Objeto
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
Modelo Enhanced ER
[201]
Tipos de entidades
Conjuntos de entidades
Subclasse & Subtipo
Os atributos complexos são semelhantes aos elementos complexos em XML
Modelo Enhanced ER
[202]
Tipos de entidades
Conjuntos de entidades
Subclasse & Subtipo
Empregados
Administradores
Suporte TI
Especialistas
Analistas
Marketing
Suporte Local
Os atributos complexos são semelhantes aos elementos complexos em XML
Modelo Enhanced ER
[203]
Subclasse & Subtipo
Objeto
Objeto
Objeto
Objeto
Objeto
Objeto
Objeto
Classe 1
Classe 2
Os atributos complexos são semelhantes aos elementos complexos em XML
Comportamento
e
Estado gerais
Modelo Enhanced ER
[204]
Subclasse & Subtipo
Classe mãe
Classe filho
Classe filha
Comportamento e estado
Específicos
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
Modelo Enhanced ER
[207]
Fonte: livro de referência - Navathe
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
Modelo Enhanced ER
[211]
Fonte: livro de referência - Navathe
As subclasses representam a mesma entidade de mundo real que a superclasse
Modelo Enhanced ER
[212]
Atributos aplicados a algumas entidades
Relacionamentos específicos com subclasses
Motivação
Fonte: livro de referência - Navathe
Os atributos complexos são semelhantes aos elementos complexos em XML
Modelo Enhanced ER
[213]
Generalização
Inverso da especialização
Propriedades comuns as entidades
Os atributos complexos são semelhantes aos elementos complexos em XML
Modelo Enhanced ER
[214]
Fonte: livro de referência - Navathe
Fonte: livro de referência - Navathe
Generalização
Os atributos complexos são semelhantes aos elementos complexos em XML
Modelo Enhanced ER
[215]
Generalização
Fonte: livro de referência - Navathe
Os atributos complexos são semelhantes aos elementos complexos em XML
[216]
GeneralizaçãoEspecializaçã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
Os atributos complexos são semelhantes aos elementos complexos em XML
Constraints – Modelo EER
[219]
Constraint:
Predicated-defined (condição)
Attribute-defined Specialization
User-defined
Secretária
(Job_Type = 'Secretária')
Os atributos complexos são semelhantes aos elementos complexos em XML
Constraints – Modelo EER
[220]
Constraint:
Predicated-defined (condição)
Attribute-defined Specialization
User-defined
Os atributos complexos são semelhantes aos elementos complexos em XML
Constraints – Modelo EER
[221]
Constraint:
Predicated-defined (condição)
Attribute-defined Specialization
User-defined
Atributo definidor da especialização
Especialização definida por atributo
Os atributos complexos são semelhantes aos elementos complexos em XML
Constraints – Modelo EER
[222]
Constraint:
Predicated-defined (condição)
Attribute-defined Specialization
User-defined
Os atributos complexos são semelhantes aos elementos complexos em XML
Constraints – Modelo EER
[223]
Constraint:
Disjointness constraint
Overlapping
Completeness constraint
ESPECIALIZAÇÃO
Os atributos complexos são semelhantes aos elementos complexos em XML
Constraints – Modelo EER
[224]
Constraint:
Disjointness constraint
Overlapping
Completeness constraint
Conjuntos disjuntos
Os atributos complexos são semelhantes aos elementos complexos em XML
Constraints – Modelo EER
[225]
Constraint:
Disjointness constraint
Overlapping
Completeness constraint
Os atributos complexos são semelhantes aos elementos complexos em XML
Constraints – Modelo EER
[226]
Constraint:
Disjointness constraint
Overlapping
Completeness constraint
Total
Parcial
Os atributos complexos são semelhantes aos elementos complexos em XML
Constraints – Modelo EER
[227]
Constraint:
Disjointness constraint
Overlapping
Completeness constraint
Total
Parcial
Pertencimento mandatório
Particiação Opcional
Os atributos complexos são semelhantes aos elementos complexos em XML
Modelo Enhanced ER
[228]
Fonte: livro de referência - Navathe
As subclasses representam a mesma entidade de mundo real que a superclasse
Constraints – Regras
[229]
Deletar
Superclasse -> subclasses
Inserção
Entidade em superclasse -> predicated-defined
Entidade em superclasse com total -> subclasse macth
Os atributos complexos são semelhantes aos elementos complexos em XML
Hierárquia & rede de especialização
[230]
Especialização
[231]
Hierárquia de especialização
Rede de especialização
Uma subclasse pertence a apenas 1 superclasse
[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]
Uma subclasse pertence a apenas 1 superclasse
[234]
Herança
Uma subclasse pertence a apenas 1 superclasse
[235]
Subclasse compartilhada
Herança múltipla
Uma subclasse pertence a apenas 1 superclasse
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]
Overlaping
UML - Especialização
Disjoint
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
Os atributos complexos são semelhantes aos elementos complexos em XML
Projeto de Banco de Dados
[273]
Contexto: Levantamento de Requisitos
Projeto Conceitual: Modelo ER
Projeto Lógico: Modelo Relacional
UNIVERSIDADE
ECOMMERCE
ORDEM DE SERVIÇO
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
Projeto de Banco de Dados
[278]
Ordem de serviço
Responsável
Cliente
Pedido
Ordem de serviço
Os atributos complexos são semelhantes aos elementos complexos em XML
Modelando – Escopo de  Universidade
[279]
ER Model
Projeto de Universidade
[280]
Ensino
Qual o escopo?
Os atributos complexos são semelhantes aos elementos complexos em XML
Projeto de Universidade
[281]
Ensino
Qual o escopo?
Professor
Aluno
Curso
Disciplina
Coordenação
Os atributos complexos são semelhantes aos elementos complexos em XML
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 Requisitos
Os atributos complexos são semelhantes aos elementos complexos em XML
Projeto 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
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
Modelando – Escopo de  E-commerce
[288]
ER Model
Projeto de E-commerce
[289]
Venda de produtos
Qual o escopo?
Os atributos complexos são semelhantes aos elementos complexos em XML
Projeto de E-commerce
[290]
Qual o escopo?
Pedido
Cliente
Produto
Estoque
Fornecedor
Venda de produtos
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
Projeto de E-commerce
[294]
Narrativa – Fornecedor & estoque
Vamos pensar juntos ...
Levantamento de Requisitos
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
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
Os atributos complexos são semelhantes aos elementos complexos em XML
> Fórum/Artigos
> Comunidade Online (Discord)
Dúvidas?
[302]
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]
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]
 
.MsftOfcThm_Background1_Fill_v2 {
 fill:#FFFFFF; 
}
 
 
 
 
 
 
 
 
 
 
 
 
.MsftOfcThm_Accent4_lumMod_50_Stroke_v2 {
 stroke:#9F5900; 
}
 
 
.MsftOfcThm_Background1_Fill_v2 {
 fill:#FFFFFF; 
}
 
 
.MsftOfcThm_Background1_Fill_v2 {
 fill:#FFFFFF; 
}
 
 
.MsftOfcThm_Background1_Fill_v2 {
 fill:#FFFFFF; 
}
 
 
 
.MsftOfcThm_Accent4_Fill_v2 {
 fill:#FFC000; 
}

Continue navegando