Modelagem Relacional
Armazenamento dos Dados
Modelagem Relacional
• Pensamento não no modelo, mas sim na
armazenagem dos dados;
• Pensamento em funcionalidades;
• Diag...
M. Conceitual vs
M. Relacional
Modelagem Conceitual Modelagem Relacional
Baseado no modelo
Baseado na armazenagem dos
dados
Conceito Entidade
Atributos A...
Como pensar?
• Tudo o que precisa ser armazenado é uma Entidade
• Deve possuir um ou mais atributos
• Os relacionamentos s...
Banco de Dados Relacional
• Tabelas como forma de armazenar os dados de
uma Entidade;
• Cada linha é um registro da tabela...
Tabela "cliente"
id nome cpf rg
1 Luan Murilo Tomás Araújo 255.439.755-46 38.482.664-7
2 Marcos Vinicius Eduardo Ribeiro 3...
Conceitual vs Relacional
Modelagem Conceitual
Modelagem Relacional
MySQL Workbench
http://www.mysql.com/products/workbench/
http://dev.mysql.com/downloads/mysql/
Relacionamento
Cardinalidade
(N)
Entidade
(tabela)
Chave Primária
Cardinalidade (1)
Chaves
Estrangeiras
Atributos
(tipo de...
Chave Primária
• Garante apenas um registro com aquele valor, seja
ele número (inteiro, por exemplo) ou texto
• Exemplo: C...
Chave Estrangeira
• Demonstra a relação entre um determinado
registro com outro registro de outra tabela
• Segue sempre o ...
Tipos de Atributos
• Cada atributo deve ter seu tipo informado.
Tipo O que representa? Exemplo
INT(N) Número inteiro INT(9...
Cardinalidade
One to one!
(non identifying)
“um para um” sem identificação;
chave estrangeira não precisa
existir para regi...
Many to many
* *
many to many
* *1 1
Blog
Modelagem Relacional
• Um blog possui várias postagens (posts).
• Um post possui um título, texto e data de criação.
• Um post pode ter um ou m...
Blog
• Um blog possui várias postagens (posts).
• Um post possui um título, texto e data de criação.
• Um post pode ter um...
Entidades
post, comentario e autor
Relacionamento
post (one to many) comentario
Relacionamento
autor (one to many) post
Resultado
id titulo texto criacao autor_id
1 Meu primeiro post Este é um post… 2014-09-19 20:54:23 2
… … … … …
post
id tex...
Obrigado!
Introdução a Banco de Dados UFMG/2014-02 - Aula 06
Introdução a Banco de Dados UFMG/2014-02 - Aula 06
Introdução a Banco de Dados UFMG/2014-02 - Aula 06
Introdução a Banco de Dados UFMG/2014-02 - Aula 06
Próximos SlideShares
Carregando em…5
×

Introdução a Banco de Dados UFMG/2014-02 - Aula 06

219 visualizações

Publicada em

Introdução a Banco de Dados UFMG/2014-02 - Aula 06

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
219
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
8
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução a Banco de Dados UFMG/2014-02 - Aula 06

  1. 1. Modelagem Relacional Armazenamento dos Dados
  2. 2. Modelagem Relacional • Pensamento não no modelo, mas sim na armazenagem dos dados; • Pensamento em funcionalidades; • Diagrama Entidade Relacionamento (DER); • Parecido com Modelagem Conceitual no ponto de vista de representação visual; • Objeto de modelagem diferente da Modelagem Conceitual.
  3. 3. M. Conceitual vs M. Relacional
  4. 4. Modelagem Conceitual Modelagem Relacional Baseado no modelo Baseado na armazenagem dos dados Conceito Entidade Atributos Atributos Associações Relacionamento 1 ou * one (1), many (N)
  5. 5. Como pensar? • Tudo o que precisa ser armazenado é uma Entidade • Deve possuir um ou mais atributos • Os relacionamentos somente existem para representar relacionamentos e cardinalidade, basicamente. • Sempre associar perguntando “possui um” ou “possui muitos”. • Pense sempre nos dados armazenados!
  6. 6. Banco de Dados Relacional • Tabelas como forma de armazenar os dados de uma Entidade; • Cada linha é um registro da tabela • Cada coluna um atributo da Entidade • Tabelas podem se relacionar com outras • DICA: Não usar acentos ou caracteres especiais para nomes de tabelas ou atributos.
  7. 7. Tabela "cliente" id nome cpf rg 1 Luan Murilo Tomás Araújo 255.439.755-46 38.482.664-7 2 Marcos Vinicius Eduardo Ribeiro 358.759.431-73 13.437.510-5 3 André Ryan André Moura 735.854.288-60 17.798.939-7 4 Thales Gabriel Ribeiro 504.062.242-26 41.880.743-7 5 Danilo Otávio Diogo Fernandes 584.504.965-27 45.650.089-3 6 Lucca Enrico Ribeiro 518.361.699-06 46.480.017-1 7 Davi Daniel Araújo 811.927.356-76 21.305.687-2 8 Cauã Gustavo Carlos Rodrigues 149.681.709-55 11.920.294-3 9 Nathan Carlos Eduardo Freitas 892.136.345-95 34.259.458-8
  8. 8. Conceitual vs Relacional Modelagem Conceitual Modelagem Relacional
  9. 9. MySQL Workbench http://www.mysql.com/products/workbench/ http://dev.mysql.com/downloads/mysql/
  10. 10. Relacionamento Cardinalidade (N) Entidade (tabela) Chave Primária Cardinalidade (1) Chaves Estrangeiras Atributos (tipo de dado)
  11. 11. Chave Primária • Garante apenas um registro com aquele valor, seja ele número (inteiro, por exemplo) ou texto • Exemplo: CPF de uma pessoa (não existe duas pessoas com o mesmo CPF) • Geralmente chamamos de ID (identificador) • Pode existir mais de uma chave primária por tabela
  12. 12. Chave Estrangeira • Demonstra a relação entre um determinado registro com outro registro de outra tabela • Segue sempre o mesmo tipo do atributo na tabela de relacionamento id nome cpf … 67 José Silva 123.456.789.-11 … cliente id data_emprestimo data_devolucao cliente_id … 871 2014-09-19 2014-09-25 67 … emprestimo
  13. 13. Tipos de Atributos • Cada atributo deve ter seu tipo informado. Tipo O que representa? Exemplo INT(N) Número inteiro INT(9) = 999999999 VARCHAR(N) String (texto em geral) VARCHAR(255) = 255 caract. CHAR(N) String (texto em geral) CHAR(40) = 40 caract. fixos BOOL Booleano True (V) ou False (F) DECIMAL(M, D) Números com casas decimais DECIMAL(4,2) = 1234.12 DATE Data com dia, mês e ano 2014-09-19 (YYYY-MM-DD) DATETIME Data completa com horários 2014-09-19 17:23:54 (HH:MM:SS) YEAR(2|4) Ano com 2 ou 4 dígitos 14 ou 2014 BLOB String/Arquivos em binário Imagem, arquivo PDF, etc TEXT Texto em geral sem limite Texto de um post no Facebook ENUM(xxx,…) Enumeração (opções pré-definidas) Chevrolet, Fiat, GM, … … … …
  14. 14. Cardinalidade One to one! (non identifying) “um para um” sem identificação; chave estrangeira não precisa existir para registro existir One to many! (non identifying) “um para muitos” sem identificação; chave estrangeira não precisa existir para registro existir One to one! (identifying) “um para um” com identificação; chave estrangeira precisa existir para registro existir One to many! (identifying) “um para muitos” com identificação; chave estrangeira precisa existir para registro existir Many to many "ver exemplo" inclui uma tabela com “one to many” dos dois lados
  15. 15. Many to many * * many to many * *1 1
  16. 16. Blog Modelagem Relacional
  17. 17. • Um blog possui várias postagens (posts). • Um post possui um título, texto e data de criação. • Um post pode ter um ou mais comentários. • Um comentário deve ter um texto e data de criação, somente. • Um post é escrito por um autor • Um autor possui nome e email • Um autor pode escrever vários posts Blog Entidades?
  18. 18. Blog • Um blog possui várias postagens (posts). • Um post possui um título, texto e data de criação. • Um post pode ter um ou mais comentários. • Um comentário deve ter um texto e data de criação, somente. • Um post é escrito por um autor • Um autor possui nome e email • Um autor pode escrever vários posts
  19. 19. Entidades post, comentario e autor Relacionamento post (one to many) comentario
  20. 20. Relacionamento autor (one to many) post
  21. 21. Resultado id titulo texto criacao autor_id 1 Meu primeiro post Este é um post… 2014-09-19 20:54:23 2 … … … … … post id texto criacao post_id 3 Gostaria de dizer que… 2014-09-19 21:32:19 1 … … … … comentario id nome email 2 Junior Grossi jgrossi@ufmg.br … … … autor
  22. 22. Obrigado!

×