Você está na página 1de 60

FACULDADE

BANCO DE DADOS
Modelagem de
dados
FACULDADE
Prof. Reuel Lopes
Reuel.Lopes@sp.senai.br
Conteúdos abordados:
1.1.Definição
1.2.Estrutura de dados
1.2.1. Estruturado
1.2.2. Semiestruturados
1.2.3. Não estruturado
1.3.Modelo Conceitual
1.3.Modelo Lógico de Dados (MLDs)
1.4.Modelo Físico Dados (MFDs)
1.5.Método Evolucionária/ágil
1.6.Armazenamento
1.6.1. Público FACULDADE
1.6.2. Híbrido
1.6.3. Privado
1.7.Configuração do ambiente
BANCO DE DADOS
1.1. Definição

1 O front-end solicita a informação de um determinado post para o back-end.


2 O back-end recebe a solicitação do front-end.
3 O back-end consulta a informação armazenada de forma persistente no banco de dados.
4 O back-end responde a solicitação ao front-end com a informação (com sucesso, caso seja
encontrada).
BANCO DE DADOS
1.1. Definição

Qual é a diferença entre um banco de dados e uma planilha?


As planilhas são destinadas a um ou a pequeno número de usuários que não
precisam fazer manipulações de dados complexas. Já um bancos de dados é
projetado para conter grandes quantidades de dados permitindo que vários
usuários, ao mesmo tempo, acessem e consultem com rapidez e segurança os
dados usando lógica e linguagem altamente complexas.

Fonte: oracle.com
BANCO DE DADOS
1.2. Estrutura de dados

Dados são valores em uma forma primária, que podem ser armazenados em
algum meio. Nome, CPF e data são exemplos de dados. Os dados são
classificados em três estruturas diferentes: estruturados, não-estruturados e
semiestruturados.
BANCO DE DADOS
1.2.1. Estruturado

Cada campo de dados apresenta estrutura rígida e constante de representação


e organização dos dados previamente planejada, antes da própria existência do
dado que será carregado naquela estrutura. Não permitem que tipos de dados
diferentes das estruturas preestabelecidas sejam carregados.
BANCO DE DADOS
1.2.1. Estruturado

Por exemplo, a coluna “Nota” da tabela ao lado foi criada para ser numérica,
portanto não aceitará dados textuais. Por isso dizemos que os dados
estruturados são rígidos e inflexíveis.
BANCO DE DADOS
1.2.2. Semiestruturados

Cada campo possui uma estrutura de


organização definida, mas não existe
uma imposição de formato. Os
arquivos XML e JSON são exemplo de
dados semiestruturados.
BANCO DE DADOS
1.2.3. Não estruturado

Cada campo apresenta uma estrutura flexível e dinâmica, ou seja, não possuem
um estrutura definida. Um exemplo são as redes sociais, em que um enorme
volume de dados diferentes, como textos, imagens, vídeos etc. São criados a
todo momento por seus usuários.

Em vez de planilhas ou bancos de dados relacionais, os dados não estruturados


geralmente são armazenados em data lakes, bancos de dados NoSQL,
aplicativos e data warehouses.
BANCO DE DADOS
1.3. Modelagem de Banco de Dados

Modelar significa criar um modelo que explique as características de


funcionamento e comportamento dos dados, a partir do qual o banco de dados
será criado.

Um modelo de dados deve ser:


Consistente: Um banco de dados consistente não permite que as transações
realizadas violem a integridade das informações durante a sua execução.
Não redundante: apresenta informação repetida desnecessariamente.
BANCO DE DADOS
1.3. Modelagem de Banco de Dados

Íntegro: significa garantir que os dados sejam gravados exatamente como


pretendido, evitando mudanças involuntárias (não intencionais) resultantes das
operações de armazenamento, recuperação ou processamento da informação.
Intenções maliciosas, problemas de hardware ou erro humano são consideradas
falhas na integridade dos dados.
Geralmente, a modelagem é dividida em três tipos: modelos conceitual, lógico
e físico.
BANCO DE DADOS
1.3. Modelagem de Banco de Dados
Tipos de Modelos de Dados
BANCO DE DADOS
1.3. Modelagem de Banco de Dados
Benefícios da Modelagem de Dados
BANCO DE DADOS
1.3. Modelo Conceitual

Representa as regras de negócio de forma gráfica, identificando as entidades e


seus relacionamentos, com uma visão simplificada para apresentar os requisitos
levantados pelo usuário. Esse modelo é independente do SGBD (Sistema de
Gerenciamento de Banco de Dados) e os detalhes da implementação não
são representados.
BANCO DE DADOS
1.3. Modelo Conceitual

Antes de iniciar o desenho do modelo conceitual, devemos abordar alguns


definições fundamentais. Para isso, imagine o cenário fictício de uma livraria,
cujo nome do banco de dados será SENAI e os conceitos abordados serão:
• Tabelas
• Relacionamentos
• Chaves primária e estrangeira
• Entidades
• Atributos
BANCO DE DADOS
1.3. Modelo Conceitual
Tabelas
As tabelas são coleções de dados estruturados obrigatoriamente em linhas e
colunas. Um banco de dados pode conter uma ou mais tabelas.
No banco de dados, as linhas e as colunas da tabelas representam:
BANCO DE DADOS
1.3. Modelo Conceitual
Dentro do cenário da livraria, na tabela de livros, por exemplo, as informações de
cada obra (título, autor, etc) representam uma linha ou registro. Cada livro tem
sua ID (chave), que é exclusiva. A coluna de títulos, por exemplo, reúne todos os
valores do atributo “título”, conforme mostra a tabela a seguir:
BANCO DE DADOS
1.3. Modelo Conceitual
Relacionamentos
O relacionamento ou associação entre tabelas acontece quando um dado de
uma tabela se relaciona a outro dado de outra tabela. O relacionamento pode
associar duas ou mais tabelas. Para entender melhor os diversos tipos de
relacionamentos, vamos conhecer alguns conceitos importantes, como chave,
chave primária e chave estrangeira.

Chave
Chave é um valor que identifica registros na tabela, ou seja, o campo que
identifica a linha. O conceito de chave em banco de dados é importante para
implementar restrições e garantir a integridade referencial dos dados. Vamos
imaginar que você possua uma tabela de estados e outra de cidades. Então, não
será possível apagar o estado de São Paulo pois há registros de uma outra tabela
associados a ele (a tabela das cidades de São Paulo).
BANCO DE DADOS
1.3. Modelo Conceitual

Chave primária
Chave primária (primary
key ou PK) identifica os
registros de uma tabela
(não repetem valores),
garantindo que nunca
haverá duas tuplas (ou
linhas) com o mesmo
identificador
BANCO DE DADOS
1.3. Modelo Conceitual
Chave estrangeira
Chaves estrangeiras (foreign key ou FK) garantem que nunca haverá uma
relação inválida entre duas entidades (tabelas). A chave estrangeira de uma
tabela é a chave primária de outra tabela.
BANCO DE DADOS
1.3. Modelo Conceitual
Há três tipos básicos de relacionamentos:

• 1:1 (um para um)

• 1:N OU N:1 (um para muitos)

• N:N (muitos para muitos)


BANCO DE DADOS
1.3. Modelo Conceitual
Há três tipos básicos de relacionamentos:

• 1:1 (um para um)

A relação um para um ocorre quando um registro de uma tabela está


relacionado a um registro único exclusivo de outra tabela.

Exemplo: uma pessoa possui somente uma CNH e uma CNH está vinculada
somente a uma pessoa. No exemplo da livraria, não adicionamos nenhum
relacionamento 1:1.
BANCO DE DADOS
1.3. Modelo Conceitual
Há três tipos básicos de relacionamentos:

• 1:1 (um para um)

A relação um para um ocorre quando um registro de uma tabela está


relacionado a um registro único exclusivo de outra tabela.

Exemplo: uma pessoa possui somente uma CNH e uma CNH está vinculada
somente a uma pessoa. No exemplo da livraria, não adicionamos nenhum
relacionamento 1:1.
BANCO DE DADOS
1.3. Modelo Conceitual
Há três tipos básicos de relacionamentos:

• 1:N OU N:1 (um para muitos)

A relação um para muitos ocorre quando um registro de uma tabela está


relacionado a mais de um registro de outra tabela.

Exemplo: a editora publica livros; um livro é publicado por somente uma


editora; e uma editora pode publicar vários livros.
BANCO DE DADOS
1.3. Modelo Conceitual
Há três tipos básicos de relacionamentos:

• N:N (muitos para muitos)

A relação um para muitos ocorre quando um registro de uma tabela está


relacionado a mais de um registro de outra tabela.

Exemplo: autores escrevem livros; um autor pode escrever vários livros; e um


livro pode ser escrito por vários autores.
BANCO DE DADOS
1.3. Modelo Conceitual

Por exemplo, dado um relacionamento entre Departamento e Empregado,


pode-se fazer as seguintes perguntas:

Pergunta: Um departamento possui quantos empregados?


Resposta: No mínimo 1 e no máximo N.
Pergunta: Um empregado está alocado em quantos departamentos?
Resposta: No mínimo em 1 e no máximo em 1.
BANCO DE DADOS
1.3. Modelo Conceitual

Toda a estrutura lógica do banco de dados é expressa graficamente pelo


diagrama de ER. Os principais componentes de um ER são:

• retângulos: representam os conjuntos de entidades;


• elipses: representam os atributos;
• losangos: representam os conjuntos de relacionamentos;
• linhas: unem os atributos aos conjuntos de entidades e os conjuntos
de entidades aos conjuntos de relacionamentos;
BANCO DE DADOS
1.3. Modelo Conceitual

Veja o MER representado graficamente com o DER.


Entidades escolhidas: Livro, Autor e Editora.
BANCO DE DADOS
1.3. Modelo Conceitual

Os atributos definidos para cada entidade.


BANCO DE DADOS
1.3. Modelo Conceitual

O atributo Id não repete valores e identifica cada linha e, portanto, é o atributo


escolhido para ser a chave primária. Vamos sublinhá-lo.
BANCO DE DADOS
1.3. Modelo Conceitual

Os relacionamentos identificados:
• Cada livro possui uma única editora
BANCO DE DADOS
1.3. Modelo Conceitual

Os relacionamentos identificados:
• Cada livro é escrito por um ou mais autores e cada autor pode escrever um
ou mais livros

1 N
LIVRO AUTOR
BANCO DE DADOS
1.3. Modelo Conceitual

Unificando todas as
entidades, atributos e
relacionamentos em
um diagrama, temos::
BANCO DE DADOS
1.3. Modelo Lógico de Dados (MLDs)

Usualmente, nesse modelo, já podemos encontrar a especificação dos tipos


de dados para os campos (como definir que o título do livro será
armazenado em 120 caracteres no máximo) e adicionamos as chaves
estrangeiras.
BANCO DE DADOS
1.3. Modelo Lógico de Dados (MLDs)

Acompanhe a conversão do DER


para o banco de dados
relacional.
Entidades viram tabelas. No
exemplo, a entidade Livro se
torna a tabela Livro.
BANCO DE DADOS
1.3. Modelo Lógico de Dados (MLDs)

Os atributos das entidades


tornam-se colunas e, no modelo
lógico, pode-se definir o tipo de
dado e o tamanho adequado
para cada campo. Por exemplo:
Titulo é uma cadeia de
caracteres que contém
tamanho máximo de 120.
BANCO DE DADOS
1.3. Modelo Lógico de Dados (MLDs)

O identificador da entidade
torna-se chave primária (não
nulo e não podem se repetir).
BANCO DE DADOS
1.3. Modelo Lógico de Dados (MLDs)

Nos relacionamentos 1:1,


qualquer lado da relação
pode carregar o
identificador da outra.
BANCO DE DADOS
1.3. Modelo Lógico de Dados (MLDs)

A tabela abaixo traz um exemplo com dados, mostrando a relação 1:1 - a pessoa pode
carregar o identificador da CNH ou a CNH pode carregar o identificador na pessoa.
BANCO DE DADOS
1.3. Modelo Lógico de Dados (MLDs)

No relacionamento 1:N, a entidade com o N carrega o identificador da outra tabela.


BANCO DE DADOS
1.3. Modelo Lógico de Dados (MLDs)
Para representar este modelo, em relacionamentos N:N, cria-se uma tabela
intermediária que carrega os identificadores com os quais ele se relaciona (entidades
que participam do relacionamento – Livro e Autor) e atributos (caso houver).
BANCO DE DADOS
1.3. Modelo Lógico de Dados (MLDs)
Aqui as tabelas Livros e Autores e a tabela intermediária LivrosAutores.
BANCO DE DADOS
1.4. Modelo Físico Dados (MFDs)

O modelo físico ou de implementação é a etapa final de construção do banco


de dados. Descreve, por meio de alguma linguagem de programação, a forma
de armazenagem do banco. Nesse nível, se escolhe qual Sistema gerenciador de
Banco de dados (SGBD) será usado, como o SQL Server, MySQL, Postgresql por
exemplo, considerando o modelo lógico adotado.
BANCO DE DADOS
1.4. Modelo Físico Dados (MFDs)

Veja o exemplo de codificação referente à tabela da Autores da livraria Editive.


BANCO DE DADOS
1.5. Método Evolucionária/ágil

Material complementar
BANCO DE DADOS
1.6. Armazenamento

Não existe um tipo de computação em nuvem adequado para todos. Vários


modelos, tipos e serviços de computação em nuvem diferentes evoluíram para
atender às necessidades de tecnologia em rápida evolução das organizações.

Há três maneiras diferentes de implantar serviços de nuvem: em uma nuvem


pública, nuvem privada ou nuvem híbrida. A escolha do método de
implantação depende de suas necessidades de negócios.
BANCO DE DADOS
1.6.1. Público

As nuvens públicas são a maneira mais comum de implantação da


computação em nuvem. Os recursos de nuvem (como servidores e
armazenamento) pertencem a um provedor de serviço de nuvem terceirizado,
são operados por ele e entregues pela Internet.

Com uma nuvem pública, todo o hardware, software e outras infraestruturas de


suporte são de propriedade do provedor de nuvem e gerenciadas por ele.
BANCO DE DADOS
1.6.1. Público

Vantagens das nuvens públicas:


Redução de custos – não há necessidade de comprar hardware ou software e
você paga somente pelos serviços que usa.
Sem manutenção – seu provedor de serviços fornece a manutenção.
Escalabilidade quase ilimitada – recursos sob demanda estão disponíveis para
atender às suas necessidades de negócios.
Alta confiabilidade – uma ampla rede de servidores assegura contra falhas.
BANCO DE DADOS
1.6.2. Híbrido

Uma plataforma de nuvem híbrida oferece às organizações muitas vantagens,


como maior flexibilidade, mais opções de implantação, segurança,
conformidade e obtenção de mais valor da infraestrutura existente que elas
têm. Quando a demanda de computação e processamento oscila, a
computação em nuvem híbrida proporciona às empresas a capacidade de
escalar verticalmente com facilidade a infraestrutura local delas para a nuvem
pública a fim de operar qualquer estouro, sem que datacenters de terceiros
tenham acesso completo aos dados delas.
BANCO DE DADOS
1.6.2. Híbrido

Vantagens da nuvem híbrida:


Controle – sua organização pode manter uma infraestrutura privada para ativos
confidenciais ou cargas de trabalho que exigem latência baixa.
Flexibilidade – você poderá usufruir de recursos adicionais na nuvem pública
sempre que precisar deles.
Custo-benefício – com a capacidade de escalar para a nuvem pública, você
paga por potência de computação adicional somente quando necessário.
Facilidade – a transição para a nuvem não precisa ser turbulenta porque você
pode migrar gradualmente, passando as cargas de trabalho ao longo do tempo.
BANCO DE DADOS
1.6.3. Privado

Uma nuvem privada consiste em recursos de computação em nuvem usados


exclusivamente por uma única empresa ou organização. A nuvem privada pode
estar localizada fisicamente no datacenter local da sua organização ou pode ser
hospedada por um provedor de serviços terceirizado. Mas em uma nuvem
privada, os serviços e a infraestrutura são sempre mantidos na rede privada e o
hardware e o software são dedicados unicamente à sua organização.
BANCO DE DADOS
1.6.3. Privado

Vantagens de uma nuvem privada:


Maior flexibilidade – sua organização pode personalizar seu ambiente de
nuvem para atender a necessidades de negócios específicas.
Maior controle – os recursos não são compartilhados com outros usuários,
portanto, é possível um nível maior de controle e privacidade.
Maior escalabilidade – nuvens privadas geralmente oferecem mais
escalabilidade em comparação com a infraestrutura local.
FACULDADE
BANCO DE DADOS
1.7. Configuração do ambiente

MySQL Workbench Home


FACULDADE
BANCO DE DADOS
1.7. Configuração do ambiente

Visual Database Design


FACULDADE
BANCO DE DADOS
1.7. Configuração do ambiente

SQL Editor
FACULDADE
BANCO DE DADOS
1.7. Configuração do ambiente

Performance Dashboard
Escola SENAI Félix Guisard
taubate.sp.senai.br
FACULDADE
E-mail: senaitaubate@sp.senai.br
Telefone: (12) 3609 5701

Endereço: Av. Independência, 846, Independência –


Taubaté - SP

Você também pode gostar