Você está na página 1de 36

Disciplina:

Banco de Dados Não Relacional


Aula 3 – Modelagem de Dados
Curso: DSM | Desenvolvimento de Software Multiplataforma
Turma: 3o ciclo – 2024 – Terça Feira – Matutino

Professor: Jeferson - Email: jeferson.dias5@fatec.sp.gov.br


2
MODELAGEM DE DADOS

3
MODELAGEM DE DADOS

► O principal desafio na modelagem de dados e equilibrar as


necessidades do aplicativo, as características de
desempenho do mecanismo de banco de dados e os padrões
de recuperação de dados.

4
MODELAGEM DE DADOS

► Ao projetar modelos de dados, considere sempre o uso de


aplicativos dos dados (ou seja, consultas, atualizações e
processamento dos dados) bem como a estrutura inerente
dos dados em si.

5
MODELAGEM DE DADOS

Simplicidade Performance

6
MODELAGEM DE DADOS

► Temos três tipos:


❖ Caracterização do Workload
❖ Identificação e Modelagem dos Relacionamentos
❖ Aplicação de Design Patterns

7
CARACTERIZAÇÃO DO WORKLOAD

8
CARACTERIZAÇÃO DO WORKLOAD

► Levantamento dos dados e a carga do sistema, seu layout,


suas telas e funcionalidades.

9
CARACTERIZAÇÃO DO WORKLOAD

► Levantamento de Requisitos
❖ Usando uma das práticas de levantamento de requisito
conhecida como entrevista, os analistas conversam com o
cliente para entender tudo o que deve ter no sistema.
❖ A realização do levantamento de requisitos é o primeiro
passo para obter um sistema que atenda às necessidades
do cliente. (Engenharia de Software).

10
CARACTERIZAÇÃO DO WORKLOAD

► Analista Funcional / Negócio


❖ Um plano de negócio é um documento que descreve por
escrito os objetivos de um negócio e quais passos devem
ser dados para que esses objetivos sejam alcançados.

11
CARACTERIZAÇÃO DO WORKLOAD

► Informações sobre o Workload de ambientes existentes


❖ Tamanho (carga) do banco de dados
❖ Verificação do ambiente de trabalho
❖ Documentos tem um limite de 16MB

12
CARACTERIZAÇÃO DO WORKLOAD

► Modelo de telas de aplicação


❖ Prototipagem de Software ou aplicativo.

13
CARACTERIZAÇÃO DO WORKLOAD

Levantamento de
Requisito

Analista
Funcional/Negócio
1. Quantificar os dados
2. Qualificar as operações
Informações sobre 3. Quantificar as operações
Esquema de Dados:
Workload de
Ambientes Existentes

Lista de Suposições
Modelo de telas de Lista de Operações no BD
aplicação

14
IDENTIFICAÇÃO E MODELAGEM DOS
RELACIONAMENTOS

15
IDENTIFICAÇÃO E MODELAGEM DOS
RELACIONAMENTOS
► Vamos usar a cardinalidade do banco de dados Relacional,
sendo:
❖ Relacionamento de 1 para 1;
❖ Relacionamento de 1 para N ou de N para 1 quando for o
caso;
❖ Relacionamento de N para N.

16
IDENTIFICAÇÃO E MODELAGEM DOS
RELACIONAMENTOS

17
IDENTIFICAÇÃO E MODELAGEM DOS
RELACIONAMENTOS

18
IDENTIFICAÇÃO E MODELAGEM DOS
RELACIONAMENTOS
► CRD - Collection Relationship Diagram (diagrama de relação
e coleção)

Colection: Veículo (10K) Colection: Preço (1k)

_id: "<string>"
_id: "<string>"
Marca: "<string>"
1 N Mês: "<date>"
Modelo: "<string>“

Valor: "<int32>"
Cores: "<array>" (0, 5, 10)
Desconto: "<int32>"
Cor: "<azul>"
Frete: "<int32>"
Cor: "<branco>"

19
IDENTIFICAÇÃO E MODELAGEM DOS
RELACIONAMENTOS
► Esquema de Dados:
❖ Lista de Suposições
❖ Lista de Operações no BD
❖ Collection Relationship Diagram (CRD)
❖ Tamanho do BD
❖ Lista de índices

20
APLICAÇÃO DE DESIGN PATTERNS

21
APLICAÇÃO DE DESIGN PATTERNS

► Definição: são as soluções generalistas para problemas que


surgem de forma recorrente ao longo do desenvolvimento de
softwares.
► São soluções elegantes, prontas, pensadas, testadas e
aprovadas para situações comuns e que surgem no
cotidiano.

22
APLICAÇÃO DE DESIGN PATTERNS

► Rever todo o processo para verificar se tem como otimizar


para fazer a entrega dos artefatos.
► Usar a cabeça para resolver o problema.

23
MODELAGEM FINAL

24
MODELAGEM FINAL

► Entrega de uma tabela.


► Entrega de um diagrama
► Entrega de um dicionário
► Entrega de telas do sistema
► Entrega de um modelo JSON/BSON, CSV, XML, etc.

25
MODELAGEM FINAL

► O que vamos entregar para o cliente

26
MODELAGEM FINAL

► Entrega de uma tabela. Collection Bytes Documento Tamanho


usuário 1024 352 MB
► Entrega de uma diagrama avaliação 2048 3 GB
chat 240 116 GB

Colection: Veículo (10K) Colection: Preço (1k)

_id: "<string>"
_id: "<string>"
Marca: "<string>" 1 N Mês: "<date>"
Modelo: "<string>“

Cores: "<array>" (0, 5, 10) Valor: "<int32>"


Cor: "<azul>" Desconto: "<int32>"
Cor: "<branco>" Frete: "<int32>"

27
MODELAGEM FINAL

► Dicionário:

id: "<string>" = número gerado automaticamente pelo NoSQL


Marca: "<string>" = Marca da montadora
Modelo: "<string>" = modelo do veículo
Cores: "<array>" = array para as cores dos veículos
Cor: "<azul>" = cor do veículo
Cor: "<branco>" = cor do veículo
Valor: "<int32>" = valor total do veículo, preço em reais
Desconto: "<int32>" = descontos para PCD ou caso especial
Frete: "<int32>" = valor do frete para entrega dos veículos

28
MODELAGEM FINAL

► Entrega de telas do sistema - Prototipagem

29
MODELAGEM FINAL

► Entrega de um modelo JSON/BSON, CSV, XML, etc..


1.{"menu": {
2. "id": "file",
3. "value": "File",
4. "popup": {
5. "menuitem": [
6. {"value": "New", "onclick": "CreateDoc()"},
7. {"value": "Open", "onclick": "OpenDoc()"},
8. {"value": "Save", "onclick": "SaveDoc()"}
9. ]}}}

1.<menu id="file" value="File">


2. <popup>
3. <menuitem value="New" onclick="CreateDoc()" />
4. <menuitem value="Open" onclick="OpenDoc()" />
5. <menuitem value="Save" onclick="SaveDoc()" />
6. </popup>
30 7.</menu>
ESQUEMA FLEXÍVEL

31
ESQUEMA FLEXÍVEL

► Ao contrário dos bancos de dados SQL, onde você deve


determinar e declarar o esquema de uma tabela antes de
inserir dados, o MongoDB's, coleções, por padrão, não
requerem sua Documentos ter o mesmo esquema.

32
ESQUEMA FLEXÍVEL

33
ESQUEMA FLEXÍVEL

Relação no Banco de Dados MongoDB / JSON


Base de Dados Base de Dados
Tabela Coleção
Registro Documento
Coluna Atributo

34
ESQUEMA FLEXÍVEL

Esta Foto de Autor Desconhecido está


licenciado em CC BY-ND

35
Obrigado
Qualquer dúvida entrar em contato via e-mail:

E-mail jeferson.dias5@fatec.sp.gov.br

36

Você também pode gostar