Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Junior Grossi
September 19, 2014

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

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

Junior Grossi

September 19, 2014
Tweet

More Decks by Junior Grossi

Other Decks in Technology

Transcript

  1. 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.
  2. 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)
  3. 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!
  4. 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.
  5. 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
  6. 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
  7. 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
  8. 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, … … … …
  9. 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
  10. • 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?
  11. 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
  12. 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 [email protected] … … … autor