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.
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!
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.
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
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
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, … … … …
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
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?
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
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