Você está na página 1de 49

http://paulolima.net.

br
Prof.: Paulo Lima

Prof. Paulo Lima


Disciplina: Modelagem de Dados
https://www.lintao-dashboards.com/data-modeling/
Ementa da Disciplina
◼ Introdução a abordagem Entidade-Relacionamento;
◼ Construção de Diagramas ER;
◼ Modelos de Banco de Dados;
◼ Mapeamento ER para Relacional;
◼ Tabelas não normalizadas;
◼ Formas Normais;
◼ Integração de modelos;
http://paulolima.net.br

◼ Construção de modelo ER com eliminação de


Prof.: Paulo Lima

redundância;
◼ Engenharia Reversa;
◼ Projeto para Bancos de dados relacionais utilizando
ferramentas CASE na construção de modelos e para
engenharia reversa.
12/11/2020 2
Prof.: Paulo Lima
http://paulolima.net.br

12/11/2020
Referências Bibliográficas

3
Unidade I – Introdução a Modelagem de Dados - Sumário

◼ Dado e informação;
◼ Banco de dados: conceitos;
◼ Sistema de Arquivos X Banco de Dados;
◼ Compartilhamento e redundância de dados;
◼ Modelo de Entidade-Relacionamento;
◼ Bancos de dados relacionais;
http://paulolima.net.br
Prof.: Paulo Lima

◼ SGBD Relacional;
◼ Modelos de Banco de Dados;
◼ Fases do Projeto de um BD.

12/11/2020 4
Sobre dados...
◼ A disponibilidade crescente de coleções de dados continua a
transformar e a ampliar as oportunidades empresariais em termos de
exploração comercial de dados;
◼ Ambientes de indexação e busca de informação, como Google e
Yahoo!, são exemplos típicos de captadores intensivos de dados;
◼ Redes sociais, como Facebook e Twitter, caracterizam um novo
segmento de negócios, criado a partir de coleções de dados
voluntariamente fornecidas por seus usuários;
◼ Os dados estão cada vez mais disponíveis para as organizações à
medida que avançamos na inserção dos recursos de Tecnologia da
http://paulolima.net.br
Prof.: Paulo Lima

Informação e Comunicação (TICs);


◼ Atualmente temos aplicações, sistemas de informação e softwares de
forma geral, quase onipresentes, na vida dos cidadãos dos grandes
centros urbanos;

(Sordi, José Osvaldo De. Modelagem de dados - estudos de casos abrangentes da concepção lógica à implementação (p.
9). Editora Saraiva. Edição do Kindle)

12/11/2020 5
Sobre dados...
◼ Estes dados podem ser armazenados com diferentes tecnologias:
arquivos, bancos de dados relacionais e bancos de dados não
relacionais (NoSQL);
◼ O que fazer com o volume crescente de dados? Como interpretá-los
e utilizá-los em benefício dos clientes, da sociedade e das
organizações?
◼ É fundamental ter boa compreensão dos conceitos, das técnicas e
dos métodos voltados à modelagem (especificação) dos dados;
◼ Mais importante do que saber fazer a modelagem lógica de dados é
ter o domínio de sua fundamentação;
http://paulolima.net.br
Prof.: Paulo Lima

◼ O profissional que domina plenamente a fundamentação e os


conceitos da modelagem de dados não se aflige com variações de
métodos, notações, técnicas de diagramação ou de ferramentas
(softwares) utilizados em determinada organização;

Sordi, José Osvaldo De. Modelagem de dados - estudos de casos abrangentes da concepção lógica à implementação
(pp. 22-24). Editora Saraiva. Edição do Kindle.

12/11/2020 6
Dados
◼ O dado representa um fato em sua forma primária, é um pedaço da
informação;
◼ Um dado é qualquer característica de um objeto, ser ou sistema que
possa ser registrado;
◼ Exemplos:
 Em uma loja que venda canetas. O Dado será:
 Caneta azul ABC ponta fina;
 Caneta azul ABC ponta grossa;
 Quando o operador de caixa registra a venda de um produto, um
dado é gerado, que fica armazenado em um banco de dados.
http://paulolima.net.br
Prof.: Paulo Lima

 Em uma Universidade:
 Matrícula, Nome, Endereço, CPF, Curso, Data_Nascimento
 São dados de um aluno que ficam registrados em um banco de
dados.

12/11/2020 7
Informação
◼ A informação é a forma inteligente, consolidada e precisa do dado
para existir.

◼ Dados:
1. Caneta azul ABC ponta fina
2. Caneta azul ABC ponta grossa
3. Caneta azul XYZ ponta fina

◼ Informação:
• 3 canetas de cor azul vendidas
http://paulolima.net.br
Prof.: Paulo Lima

• 2 canetas de ponta fina vendidas


• 1 caneta de ponta grossa vendida
• 2 canetas da marca ABC vendidas
• 1 caneta da marca XYZ vendida

12/11/2020 8
Banco de Dados
◼ Conjunto de informações manipuláveis referentes a
um contexto específico, inseridas em um mesmo
local, obedecendo a um padrão de
armazenamento;
◼ Coleção de dados inter-relacionados,
representando informações sobre um domínio
específico, exemplos:
 Arquivo de aço contendo fichas funcionais;
http://paulolima.net.br
Prof.: Paulo Lima

 Agenda telefônica;
 Dicionários;
 Enciclopédias, etc.

12/11/2020 9
Sistemas de Banco de dados
◼ Armazenam os dados, que são organizados de
forma que consigam modelar aspectos do mundo
real, possibilitando um processamento que resulte
em informações relevantes para tomada de
decisão;
◼ Utiliza computadores para armazenar e manipular
os dados, com os seguintes benefícios:
 Rapidez de acesso;
http://paulolima.net.br
Prof.: Paulo Lima

 Integração e compartilhamento;
 Integridade: regras;
 Padronização.

12/11/2020 10
Aplicações de Banco de Dados
◼ Bancos;
◼ Reservas aéreas;
◼ Comércio eletrônico;
◼ Reservas em hotéis;
◼ Redes sociais, etc.
http://paulolima.net.br
Prof.: Paulo Lima

12/11/2020 11
Operações em Banco de Dados
◼ Os usuários poderão executar diversas operações
sobre os arquivos, tais como:
 Acrescentar arquivos ao BD;

 Inserir novos dados em arquivos existentes;

 Buscar dados;

 Alterar dados;
http://paulolima.net.br

 Eliminar dados;
Prof.: Paulo Lima

 Remover arquivos existentes;

◼ Principais funções de um SBD


 Armazenar, Recuperar e Proteger os dados.

12/11/2020 12
Sistemas de armazenamento de dados

◼ Sistema de arquivos;
◼ Sistemas de Gerenciamento de Banco de Dados (SGBD).
http://paulolima.net.br
Prof.: Paulo Lima

12/11/2020 13
Sistema de Arquivos
◼ Sistemas de arquivos tradicionais armazenam dados em
arquivos que são controlados pelo sistema operacional
(Windows, Linux, MacOs, etc.) e suas respectivas aplicações
(Word, Excel, Sistema de Banco de Dados baseados em
sistemas de Arquivos;
◼ Cada arquivo é uma entidade independente, o controle do
conteúdo desses arquivos fica a critério dos usuários que
usam aplicações para manipulá-los, o sistema operacional
controla apenas a localização e o armazenamento destes
http://paulolima.net.br
Prof.: Paulo Lima

arquivos.

12/11/2020 14
Sistema de Arquivos – Desvantagens (1)

◼ As aplicações antigas de Banco de Dados eram


construídas diretamente sobre sistema de arquivos,
que manipulavam os dados armazenados nestes
arquivos em conjunto com o Sistema Operacional;
 Ex: Clipper, Dbase, Cobol, etc.
◼ Redundância e inconsistência de dados:
 Múltiplos formatos de arquivo, duplicação de informações
em diferentes arquivos;
http://paulolima.net.br
Prof.: Paulo Lima

◼ Dificuldade no acesso aos dados;


 A informação pode estar fragmentada ou espalhada em
vários arquivos, onde a aplicação deve controlar o acesso e
a relação entre os diferentes arquivos.

12/11/2020 15
Sistema de Arquivos – Desvantagens(2)

◼ Falhas podem deixar o banco de dados em um estado


inconsistente com atualizações parciais realizadas;
 Exemplo: A transferência de fundos de uma conta para outra deve ser
completa ou não deve ocorrer (transação atômica*).
◼ Acesso concorrente por vários usuários:
 Acesso concorrente necessário para o desempenho;
 Acessos concorrentes não controlados podem levar a inconsistências;
 Exemplo: Duas pessoas lendo um saldo e atualizando-o ao mesmo tempo.
◼ Problemas de segurança:
http://paulolima.net.br

Difícil de controlar o acesso e fornecer a segurança adequada ao usuário.


Prof.: Paulo Lima

◼ Os sistemas de gerenciamento de banco de dados oferecem


soluções para todos os problemas acima.

* Transação Atômica, em ciência da computação, é uma operação, ou conjunto de operações, em uma


base de dados, que deve ser executada completamente em caso de sucesso, ou ser abortada
completamente (desfeita) em caso de erro.

12/11/2020 16
Compartilhamento de dados
◼ Necessidade de vários usuários acessarem
os dados;
◼ Usuários precisam acessar os dados de
acordo com o seu perfil dentro da empresa
(de forma compartilhada), realizar consultas
e cruzamento de dados.
http://paulolima.net.br
Prof.: Paulo Lima

12/11/2020 17
Compartilhamento de dados
◼ Como exemplo, vamos considerar uma empresa
hipotética, onde são executadas três funções:
◼ Vendas: Concentra as atividades relativas ao
contato com os clientes;
◼ Produção: Concentra as atividades da relativas à
produção propriamente dita;
◼ Compras: Concentra as atividades da indústria
relativas à aquisição dos insumos necessários à
http://paulolima.net.br
Prof.: Paulo Lima

produção;

12/11/2020 18
Compartilhamento de dados
◼ Se cada uma das funções da empresa for
informatizada de forma separada, sem considerar a
informatização das demais funções, pode ocorrer
que, para cada uma das funções, seja criado um
arquivo separado de produtos:
http://paulolima.net.br
Prof.: Paulo Lima

12/11/2020 19
Redundância de Dados
◼ Ocorre quando uma determinada informação está
representada no sistema em computador várias
vezes; (PÉSSIMO PARA EXTRAIR INFORMAÇÕES CONFIÁVEIS)
◼ Formas de redundância de dados:
 Redundância controlada de dados: quando o software
tem conhecimento da múltipla representação da
informação e garante a sincronia entre as diversas
representações;
Redundância não controlada de dados: quando a
http://paulolima.net.br


Prof.: Paulo Lima

responsabilidade pela manutenção da sincronia entre as


diversas representações de uma informação está com o
usuário e não com o software. Deve ser evitada a todo
custo, pois traz problemas como: retrabalho e
inconsistências de dados.

12/11/2020 20
Redundância de Dados - Solução
◼ Compartilhamento de dados. Nesta forma de
processamento, cada informação é armazenada uma
única vez, sendo acessada pelos vários sistemas.
http://paulolima.net.br
Prof.: Paulo Lima

◼ Ao conjunto de arquivos integrados que atendem a


um conjunto de sistemas dá-se o nome de banco de
dados (BD).
12/11/2020 21
Sistema de Gerenciamento de
Banco de Dados – SGBD
◼ Características:
 Controle de integridade dos dados;
 Concorrência: deve permitir a manipulação simultânea dos
dados do banco por diversos usuários;
 Controle de acesso: definição de permissões por usuário;
 Controle transacional: conjunto de operações que devem
ser executadas completamente;
http://paulolima.net.br
Prof.: Paulo Lima

 Múltiplas interfaces: deve disponibilizar interface para


acesso por diferentes tecnologias;
 Administração: Backup, Recuperação, etc;
 No mercado, há SGBDs de diversas empresas, alguns
gratuitos para utilização e outros pagos de empresas como
a Oracle e a Microsoft.

12/11/2020 22
Prof.: Paulo Lima
http://paulolima.net.br

12/11/2020
Formas de Acesso ao SGBD

23
Prof.: Paulo Lima
http://paulolima.net.br

12/11/2020
Exemplo de SGBD - MySQL

24
Bancos de Dados Relacionais
◼ Um Banco de dados relacional é uma coleção de
relações, representadas por tabelas bidimensionais
(entidades), onde os dados são armazenados;
◼ Utiliza, como o próprio nome diz, relações entre
essas entidades;
◼ Por exemplo, de desejarmos armazenar
informações sobre clientes de uma loja, será
necessário criar uma entidade chamada “cliente”,
http://paulolima.net.br
Prof.: Paulo Lima

essa entidade nada mais é que um modelo que


representa todas as características do cliente que
ficarão armazenadas no Banco de Dados
◼ Entidades podem se relacionar, permitindo que
dados sejam cruzados e recuperados rapidamente;
12/11/2020 25
O que é um Modelo?
◼É uma estrutura que ajuda a
comunicar conceitos abstratos;
◼ Esses modelos podem ser usados
para descrever, analisar, especificar e
comunicar ideias;
◼ O modelo deve conter todos os
http://paulolima.net.br
Prof.: Paulo Lima

detalhes necessários, para construir o


banco de dados de um projeto de
acordo com as necessidades de cada
projeto.
12/11/2020 26
Modelagem de Dados
◼ É o processo de criação de um modelo de dados, que
será utilizado por um sistema de informação, com
aplicação de técnicas formais de modelagem de dados;
◼ O processo de modelagem, envolve definir e analisar os
requisitos de dados necessários que possam dar suporte
a processos de negócio em sistemas informatizados nas
organizações.
◼ O modelo de dados define a estrutura de
http://paulolima.net.br

armazenamento do banco de dados (esquema de


Prof.: Paulo Lima

banco de dados), neste modelo devem estar formalmente


definidas, as entidades (tabelas), seus atributos (campos)
e formato de dados (inteiro, texto, imagem), além de
como cada tabela se relaciona.

12/11/2020 27
Modelos de Banco de Dados
◼ Hierárquico;
◼ Rede;
◼ Relacional;
◼ Orientadoa Objetos;
◼ Não-Relacional.
http://paulolima.net.br
Prof.: Paulo Lima

Modelos de Banco de Dados:


https://www.lucidchart.com/pages/pt/o-que-e-um-modelo-de-banco-de-dados

12/11/2020 28
Modelo Relacional
◼ O modelo relacional foi criado por
Edgar F. Codd, nos anos 70 e começou
a ser usado com o advento dos bancos
de dados relacionais, nos anos 80;
◼ A ideia de modelo relacional se baseia no princípio de que as
informações em uma base de dados podem ser consideradas
como relações matemáticas e que podem ser representadas, de
maneira uniforme;
◼ Utiliza tabelas para representar entidades;
http://paulolima.net.br
Prof.: Paulo Lima

◼ As linhas representam as ocorrências da entidade;


◼ As colunas representam os atributos da entidade;
◼ Cada tabela terá um nome, que será único, e um conjunto de
atributos com seus respectivos nomes e domínios;
◼ Todos os valores de uma coluna deverão ser SEMPRE do mesmo
tipo de dados.

https://www.devmedia.com.br/modelagem-relacional/19614
12/11/2020 29
Modelo Relacional
◼ O modelo relacional, atualmente, é o modelo dominante de
armazenamento, para aplicações comerciais de bancos de
dados, a seguir alguns exemplos de bancos de dados
relacionais:
http://paulolima.net.br
Prof.: Paulo Lima

12/11/2020 30
Modelo Entidade Relacionamento
◼ O Modelo Entidade Relacionamento (também chamado
Modelo ER, ou simplesmente MER ou Diagrama de Entidade
Relacionamento - DER);
◼ Foi criado por Peter Chen em 1976, que teve como base a
teoria relacional criada por E.F. Cood (1970);
◼ É um modelo conceitual utilizado na Engenharia de Software
para descrever os objetos (entidades) envolvidos em um
domínio de negócios, com suas características (atributos) e
como elas se relacionam entre si (relacionamentos);
http://paulolima.net.br
Prof.: Paulo Lima

◼ Em geral, este modelo representa de forma abstrata a


estrutura que possuirá o banco de dados da aplicação.

http://bit.csc.lsu.edu/~chen/chen.html

12/11/2020 31
http://paulolima.net.br
Prof.: Paulo Lima
Modelo Entidade Relacionamento

Fonte: Sandra Albuquerque Siebra (Apostila - Banco de Dados - UFRPE)

12/11/2020 32
Modelo Relacional – Visão da Modelagem
Gráfica em um SGBD
http://paulolima.net.br
Prof.: Paulo Lima

http://www.webeder.com.br/2011/06/modelo-er.html
12/11/2020 33
Componentes de um SGBD
Relacional

◼ Tabela ou Entidade;
◼ Tupla, registro ou linha;
◼ Domínio ou tipo de dados;
◼ Atributo, campo ou coluna;
http://paulolima.net.br
Prof.: Paulo Lima

◼ Chave;
◼ Instância.

12/11/2020 34
Tabela ou Entidade
◼ É a estrutura básica de armazenamento do BD, irá
armazenar todos os dados necessários sobre algo
do mundo real, como dados de clientes, dados de
transações eletrônicas;
◼ Cada tabela é composta por um conjunto de linhas
(tuplas);
◼ As linhas são armazenadas sem ordenação;
http://paulolima.net.br
Prof.: Paulo Lima

◼ Cada linha é composta por uma série de colunas


(atributos);
◼ Cada coluna (atributo) é identificado por um nome
único dentro da mesma tabela;

12/11/2020 35
Tabela - Exemplo
Agenda de telefones

Campo / Atributo / Coluna

Código Nome Endereço Telefone

1 João da Silva Av. Mauro 234-1232


http://paulolima.net.br
Prof.: Paulo Lima

Ramos, 200
Registro /
Tupla / Linha
2 Pedro Santos Rua Lauro 334-4567
Linhares, 152

12/11/2020 36
Tupla ou linha
◼ Também chamado de registro ou linha;
◼ É o conjunto de pares não ordenados (atributo, valor):
◼ Define uma ocorrência de um fato do mundo real ou de um
relacionamento entre fatos;
 Por exemplo, uma tupla poderia conter os dados de um
cliente específico de uma loja;
 Cada linha da tabela deve ser única (evitar redundância).

◼ No momento da inserção de uma tupla, em uma tabela, deve-se


observar se o valor que será inserido em cada atributo é
http://paulolima.net.br
Prof.: Paulo Lima

compatível com o seu domínio, por exemplo o valor a ser


inserido no atributo matrícula deve ser sempre um número;
◼ Os atributos em uma tupla não são ordenados;
◼ Exemplo:
 aluno: {(nome, ‘João’), (idade, 34), (matricula,03167034), ...}

12/11/2020 37
Atributo (coluna ou campo)
◼ Unidade que armazena um tipo específico
de dado (valor do dado), como também
pode não armazenar nada (valor nulo);
◼ Também conhecido como coluna ou campo;
◼ Item de dado que compõe uma tabela do
BD:
http://paulolima.net.br

◼ Possui um nome e um domínio;


Prof.: Paulo Lima

◼ Exemplos:
 nome: string;
 matricula : integer not null;

 idade: [0,120];

12/11/2020 38
Domínio
◼ Conjuntode valores permitidos para um
dado, exemplos :
 inteiro,string (domínios básicos);
 data, hora (domínios compostos);

 [0, 120], (‘M’, ‘F’) (domínios definidos);

◼ Para um domínio existem operações


http://paulolima.net.br
Prof.: Paulo Lima

válidas, exemplos:
 inteiro(somar, dividir, maior que...);
 data (extrair dia, extrair mês, ...).

12/11/2020 39
Chave (ou atributo identificador)

◼ Conjunto de um ou mais atributos de uma relação


que identificam um registro como único e não
aceitam valores vazios;
◼ São utilizadas para relacionar dados entre tabelas
diferentes existentes no BD;
◼ Exemplo:
 Aluno(matricula, nome, endereco);
http://paulolima.net.br
Prof.: Paulo Lima

 Não se admite alunos com o mesmo número de matrícula


no banco de dados, pois o atributo matricula foi definido
como chave.

12/11/2020 40
Instância
◼ Conjunto de dados armazenados em um banco de
dados em um determinado instante de tempo.
◼ Exemplo: Listagem de todos os alunos do
curso=555

Nome Matrícula Data de nascimento Sexo

Maria Sampaio 201155520 23/01/1989 F


Pedro da Luz 201055529 15/05/1988 M
http://paulolima.net.br
Prof.: Paulo Lima

Joana Almeida 200955515 23/12/1987 F

12/11/2020 41
Construção de Modelos de Banco de
Dados
◼ Na construção de modelos de dados utiliza-se uma
linguagem de modelagem de dados que podem
ser gráficas ou textuais;
◼ Esta representação é denominada de esquema do
banco de dados;
◼ O modelo do banco de dados utiliza níveis de
abstração, que são complementares:
http://paulolima.net.br
Prof.: Paulo Lima

 Modelo Conceitual;
 Modelo Lógico;
 Modelo Físico (Projeto).

12/11/2020 42
Modelo Conceitual
◼ Descreve o BD independente do SGBD;
◼ Descreve as entidades do banco de dados;
◼ Descreve o relacionamento entre entidades;
◼ Descreve as características dessas entidades
(atributos);
◼ Utiliza gráficos para descrever entidades,
http://paulolima.net.br

relações e atributos, o diagrama que é gerado


Prof.: Paulo Lima

pelo modelo é um conhecido como Diagrama de


Entidade-Relacionamento (DER).

12/11/2020 43
Modelo Conceitual
◼ Define apenas a estrutura dos dados no BD, mas não define
como estes dados serão armazenados no SGBD;
◼ Descreve apenas a estrutura formal de um BD. A maioria dos
SGBDs comercias possuem ferramentas gráficas que
implementam a modelo de entidade relacionamento, proposto
por Peter Chen;
◼ A técnica mais utilizada na modelagem conceitual é a
Abordagem Entidade-Relacionamento (DER), chamada de
Diagrama Entidade-Relacionamento, exemplo: Relação
http://paulolima.net.br
Prof.: Paulo Lima

(inscrição) entre curso e aluno

12/11/2020 44
Modelo Lógico
◼ Utilizao modelo conceitual como base
para descrever o BD em um outro nível de
abstração;
◼ Este nível é mais rico em detalhes, pois
detalha as características (atributos) das
entidades e relacionamentos do banco de
dados;
http://paulolima.net.br
Prof.: Paulo Lima

12/11/2020 45
Modelo Lógico
◼ O modelo lógico, obrigatoriamente, precisa definir:
◼ As entidades;
◼ Os atributos;
◼ Relações e restrições entre as entidades envolvidas;
◼ Usa uma representação textual:
 Curso(codigoCurso,nomeCurso,duracaoCurso)
 Aluno(matricula,nome,dataNascimento,cpf)
http://paulolima.net.br
Prof.: Paulo Lima

12/11/2020 46
Fases do Projeto de um BD
Modelagem de Dados
◼ Fase 1:
 Modelagem Conceitual: construído na forma de um DER com as
necessidades da organização em termos de armazenamento de
dados independente de implementação.
◼ Fase 2:
 Projeto Lógico: transformação do modelo conceitual em um
modelo lógico, nesta fase, já se sabe a arquitetura de BD que
será utilizada pelo SGBD.
◼ Fase 3:
http://paulolima.net.br
Prof.: Paulo Lima

 Projeto Físico: transformação do projeto lógico no SGBD


específico definindo os tipos de dados, domínio, chaves,
índices, permissão de acesso, além de ajustes finos (tuning)
do SGBD.

12/11/2020 47
http://paulolima.net.br
Relação entre os Modelos
Prof.: Paulo Lima

Fonte: Sandra Albuquerque Siebra (Apostila - Banco de Dados - UFRPE)

12/11/2020 48
Leitura recomendada
◼ Capítulo 1 do livro: Sistemas de Banco de Dados
(SILBERSCHATZ e outros);
◼ Capítulo 1 – Introdução, do livro: Projeto de Banco de
Dados (Carlos A. Heuser).
◼ Referências de apoio:
 Apostila: Banco de Dados (UNIVERSIDADE FEDERAL RURAL DE
PERNAMBUCO (UFRPE). Sandra de Albuquerque Siebra.
http://paulolima.net.br
Prof.: Paulo Lima

12/11/2020 49

Você também pode gostar