Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Ricardo Baudel ricardo.baudel@gmail.com BANCO DE DADOSBANCO DE DADOS Modelagem de dados Parte 1 - conceitos Banco de DadosBanco de Dados O que são modelos • São representações de algo. • Ex : planta-baixa de uma casa • Ex : maquete Banco de DadosBanco de Dados O que são modelos • São usados para representar alguma coisa do mundo real • Dados também podem ser modelados • Pode-se construir um modelo que representa os dados • Modelo de dados Banco de DadosBanco de Dados Conceito formal de Modelo É uma representação abstrata de um sistema real, com a qual se pode explicar ou testar o seu comportamento em seu todo ou em partes. Banco de DadosBanco de Dados Conceito resumido de Modelo É uma representação simplificada e abstrata. Banco de DadosBanco de Dados Prática com o BrModelo Banco de DadosBanco de Dados Abra o BrModelo e desenhe o modelo de dados abaixo : Banco de DadosBanco de Dados Conceito de Modelo de Dados • É uma descrição formal da estrutura de um banco de dados. • Pode ser construído com uma linguagem de modelagem de dados • 2 tipos : • Gráfico (o que construímos há pouco) • Textual Banco de DadosBanco de Dados Níveis de abstração do Modelo de dados • Existem vários níveis de abstração do modelo de dados • Para o usuário comum, usa-se um modelo mais simples • Para o usuário mais avançado, usa-se um modelo mais sofisticado Banco de DadosBanco de Dados Modelos de dados mais utilizados • Conceitual • Lógico Banco de DadosBanco de Dados Modelo Conceitual • Descreve um banco de dados de forma abstrata • Não se preocupa com qual SGBD vai ser utilizado para implementar o banco • Só se preocupa com os dados • Fácil de entender • Apropriado para os usuários menos especializados Banco de DadosBanco de Dados Modelo Conceitual mais utilizado : E-R • Entidade-Relacionamento • É um modelo gráfico • De fácil visualização • Simples, com poucos elementos • Existem programas para desenhá-los Banco de DadosBanco de Dados Exemplo de Modelo Conceitual E-R Banco de DadosBanco de Dados Outro exemplo de Modelo Conceitual E-R Banco de DadosBanco de Dados Modelo Lógico • Descreve um banco de dados de forma mais específica • Se preocupa com qual SGBD vai ser utilizado para implementar o banco • Depende do BD utilizado • Apropriado para os usuários mais especializados • É mais textual, derivado do conceitual Banco de DadosBanco de Dados Exemplo de um modelo lógico Banco de DadosBanco de Dados Banco de DadosBanco de Dados Fases de um Projeto de Banco de Dados Banco de DadosBanco de Dados Fases do Projeto de um Banco de dados 1. Construir o Modelo Conceitual 2. Construir o Modelo Lógico a partir do conceitual 3. Construir o Modelo Físico a partir do Lógico Banco de DadosBanco de Dados Construindo o Modelo Conceitual Banco de DadosBanco de Dados Construção do modelo conceitual • Modelagem conceitual • Busca obter uma descrição abstrata dos dados que serão armazenados no banco • Técnica mais usada : modelagem E-R, ou entidade-relacionamento • Modelagem E-R • Criada por Peter Chen em 1976 Banco de DadosBanco de Dados Conceitos da Modelagem E-R Banco de DadosBanco de Dados Conceitos da Modelagem E-R • Fundamentais : • Entidade • Relacionamento Banco de DadosBanco de Dados Entidades Banco de DadosBanco de Dados Entidade • É um conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações no banco de dados • Exemplos: • Produtos • Clientes • Fornecedores Banco de DadosBanco de Dados Entidade • Representada por um retângulo. • Ex: • entidade representa vários objetos de mesmo tipo sobre os quais se guardam informações • Na prática, é qualquer coisa do mundo real Banco de DadosBanco de Dados Atributos das entidades Banco de DadosBanco de Dados Atributos • Toda entidade tem propriedades • Chamamos essas propriedades de atributos • Exemplo : • Pessoa • CPF • RG • Nome Banco de DadosBanco de Dados Entidades, Atributos e Valores Nome: João Silva e1 Idade: 55 anos Salario: R$ 3.500 Atributos ValoresEntidade Empregado Nome: Recursos Humanos d1 Localização: Av. Recife, 500 Atributos ValoresEntidade Departamento Aluno Matricula Nome DataNasc Sexo Entidades e Atributos no Diagrama EREntidades e Atributos no Diagrama ER • Entidades são representadas por retângulos. • Atributos são representados por elipses conectadas com as entidades. Atributos • Quando são muitos, não colocamos no modelo E-R • Ficaria sobrecarregado visualmente Banco de DadosBanco de Dados Atributos Simples e CompostosAtributos Simples e Compostos • Compostos versus Simples: – Atributos compostos são os que podem ser divididos em partes. • Ex.: Endereço pode ser dividido em Rua, Num, Apt., Bairro, Cidade e Estado. – Atributos simples são os que não podem ser divididos. • Ex.: Matrícula. – Obs.: Use atributos compostos quando for preciso acessar separadamente suas partes. Atributos Compostos no Diagrama ER • Atributos compostos são representados por elipses conectadas com outra elipse. Aluno Endereco Rua Num Apt Bairro Cidade Estado Atributos Monovalorados e Multivalorados • Monovalorados versus Multivalorados: – Atributo monovalorado possui um único valor para cada entidade. • Ex.: Cada funcionário tem um único Nome. – Atributo multivalorado pode ter mais de um valor para cada entidade.ex.: • Cada carro pode ter mais de uma cor. Atributos Multivalorados no Diagrama ER • Atributos multivalorados são representados por elipses duplas. DEPARTAMENTO Localizacoes Atributos Armazenados e Derivados • Armazenados versus Derivados: – Atributos derivados são calculados em tempo real a partir de outros atributos (não ficam armazenados no banco). – Ex.: Idade pode ser calculada a partir de DataNasc. – Atributos armazenados ficam realmente gravados no banco. – Ex.: DataNasc, Matrícula, Nome. EMPREGADO Idade Atributos Derivados no Diagrama ER • Atributos derivados são representados por elipses pontilhadas (ou tracejadas). Atributo chave • Um atributo chave é aquele cujo valor é sempre diferente para cada entidade. – Serve para identificar (diferenciar) os indivíduos. – Ex.: Matrícula não pode se repetir. – Obs.: Uma entidade pode ter mais de um atributo chave. – Ex.: CPF, RG, Título de Eleitor, Matrícula ... EMPREGADO Matricula Nome DataNasc Sexo Atributo chave no Diagrama ER • Atributo chave é representado por um sublinhado no nome do atributo. Idade EnderecoRua Num Apt Bairro Cidade Estado DEPARTAMENTO Nome Num Localizacoes – Obs.: Uma entidade pode não ter nenhum atributo chave (entidade fraca), mas isso não é recomendável. – Nesse caso, recomenda-se criar um atributo chave artificial (p. ex., Código). Relacionamentos Banco de DadosBanco de Dados Relacionamentos TRABALHA_PARA e1 e2 e3 ... e4 e5 d1 ... d2 d3 r1 ... r2 r3 r4 r5 EMPREGADO DEPARTAMENTO • Um relacionamento é uma associação entre entidades. – Ex.: Indica qual empregado trabalha em qual departamento. Razão do Relacionamento • No exemplo, cada empregado só trabalha em um único departamento, mas cada departamento pode ter vários empregados. • Por isso, a razão é 1:N (um-para-muitos). e1 e2 e3 ... e4 e5 d1 ... d2 d3 r1 ... r2 r3 r4 r5 EMPREGADO TRABALHA_PARA DEPARTAMENTO Lado N Lado 1 EMPREGADOMatricula Nome DataNasc Sexo Relacionamento 1:N no Diagrama ER • Relacionamento é representado por um losango. • Os números de cada lado representam a razão do relacionamento. Idade EnderecoRua Num Apt Bairro Cidade Estado DEPARTAMENTO Nome Num TRABALHA_PARA N 1 Relacionamento 1:1 e1 e2 e3 ... e4 e5 d1 ... d2 d3 r1 ... r2 r3 EMPREGADO GERENCIA DEPARTAMENTO Lado 1 Lado 1 • Cada empregado, se for gerente, só gerencia um departamento. • Cada departamento só tem um gerente. EMPREGADO Matricula Nome DataNasc Sexo Relacionamento 1:1 no Diagrama ER Idade EnderecoRua Num Apt Bairro Cidade Estado DEPARTAMENTO Nome Num Localizacoes GERENCIA 1 1 TRABALHA_PARAN 1 Relacionamento N:N e1 e2 e3... p1 ... p2 p3 r1 ... r2 r3 EMPREGADO PARTICIPA PROJETO r4 Lado N Lado N • Cada empregado pode participar de vários projetos. • Cada projeto pode ter vários empregados. EMPREGADO Matricula Nome DataNasc Sexo Relacionamento N:N no Diagrama ER Idade EnderecoRua Num Apt Bairro Cidade Estado DEPARTAMENTO Nome Num Localizacoes GERENCIA 1 1 TRABALHA_PARAN 1 PROJETO Nome Num PARTICIPA N N Participação Total • Uma entidade tem participação total em um relacionamento quando todos os indivíduos participam desse relacionamento. – Ex.: EMPREGADO e DEPARTAMENTO têm participação total no relacionamento TRABALHA_PARA. e1 e2 e3 ... e4 e5 d1 ... d2 d3 r1 ... r2 r3 r4 r5 EMPREGADO TRABALHA_PARA DEPARTAMENTO Participação Parcial e1 e2 e3 ... e4 e5 d1 ... d2 d3 r1 ... r2 r3 EMPREGADO GERENCIA DEPARTAMENTO • Uma entidade tem participação parcial em um relacionamento quando nem todos os indivíduos participam desse relacionamento. – Ex.: EMPREGADO tem participação parcial no relacionamento GERENCIA. No entanto, DEPARTAMENTO tem participação total. Participações no Diagrama ER • Participação total é representada por uma linha dupla. • Participação parcial é representada por uma linha simples. Atributo em um Relacionamento e1 e2 e3 ... p1 ... p2 p3 r1 ... r2 r3 EMPREGADO PARTICIPA PROJETO r4 (10 horas) (07 horas) (12 horas) (09 horas) • Um relacionamento também pode ter um atributo. – Necessário quando o atributo se refere à associação entre entidades, e não às entidades separadamente. EMPREGADO Matricula Nome DataNasc Sexo Atributo de Relacionamento no Diagrama ER Idade EnderecoRua Num Apt Bairro Cidade Estado DEPARTAMENTO Nome Num Localizacoes GERENCIA 1 1 TRABALHA_PARA N 1 PROJETO Nome Num PARTICIPA N N Horas Auto-relacionamento (ou Relacionamento Recursivo) • Uma entidade pode ter um relacionamento com ela mesma. – Ex.: Cada empregado tem seu gerente, que também é um empregado. e1 e2 e3 ... e4 r1 ... r2 r3 EMPREGADO SUPERVISAO gerente subordinado EMPREGADO Matricula Nome DataNasc Sexo Auto-relacionamento no Diagrama ER Idade EnderecoRua Num Apt Bairro Cidade Estado DEPARTAMENTO Nome Num Localizacoes GERENCIA 1 1 TRABALHA_PARA N 1 PROJETO Nome Num PARTICIPA N N Horas SUPERVISÃO 1 N ge re nt e subordinado Conclusão • Nesta aula, vimos os conceitos básicos do Modelo ER. • Nesta disciplina, o objetivo é entender, de forma geral, um Diagrama ER, e não discutir técnicas detalhadas de projeto. • No próximo módulo, aprenderemos a fazer modelagem E-R. • Antes, vamos fazer um exercício de identificação de entidades e relacionamentos. Exercício de identificação de entidades, relacionamentos, atributos e construção de modelos E-R. Banco de DadosBanco de Dados Final da Parte 3 Banco de DadosBanco de Dados Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50 Slide 51 Slide 52 Slide 53 Slide 54 Slide 55 Slide 56 Slide 57 Slide 58
Compartilhar