Modelo Entidade-Relacionamento



Documentos relacionados
Modelagem de Dados. Aula 04 Introdução ao Modelo Entidade- Relacionamento. Maxwell Anderson

Aula 3 SBD Modelo Entidade Relacionamento Parte 1. Profa. Elaine Faria UFU

Roteiro. Modelagem de Dados: Usando o Modelo Entidade-Relacionamento. BCC321 - Banco de Dados I. Processo de Projeto de Banco de Dados.

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados.

Aula II Introdução ao Modelo de Entidade-Relacionamento

Curso de Gestão em SI MODELAGEM DE DADOS. Rodrigo da Silva Gomes. (Extraído do material do prof. Ronaldo Melo - UFSC)

I Requisitos de um modelo conceitual: - clareza (facilidade de compreensão) - exatidão (formal)

Desenvolver o projeto conceitual de Banco de dados com a utilização do Modelo Entidade-Relacionamento.

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

Profa. Daniela Barreiro Claro

Banco de Dados I. Projeto de Banco de Dados e o Modelo E-R. Fabricio Breve

GBC043 Sistemas de Banco de Dados Modelo de Entidade-Relacionamento (ER)

Banco de Dados I. Modelagem Conceitual Parte 2. Cardinalidades, atributos em relacionamentos, identificadores, generalização. Prof.

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

Banco de Dados para Redes. Cassio Diego cassiodiego.com/bdr

Prof.: Clayton Maciel Costa

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

MC536 Bancos de Dados: Teoria e Prática

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Modelagem de Dados MODELAGEM DE DADOS. Lista de Exercícios - AV02. Luiz Leão luizleao@gmail.com Lista de Exercícios AV1

Ciclo de Desenvolvimento de Sistemas de BD

Modelo Entidade-Relacionamento. Modelo Entidade-Relacionamento. Modelo Entidade-Relacionamento

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br. Aula 4. Prof. Rafael Dias Ribeiro.

descreve relacionamentos entre objetos de dados; conduz à modelagem de dados; atributos de cada objeto => Descrição de Objetos de Dados;

O Modelo de Entidade Relacionamento (ER ou MER) Parte 1

Modelo Entidade-Relacionamento

Banco de Dados I. Projeto de Banco de Dados e o Modelo E-R Parte 2. Fabricio Breve

Modelagem de dados usando o modelo BANCO DE DADOS 1º TRIMESTRE PROF. PATRÍCIA LUCAS

Unidade II ADMINISTRAÇÃO DE. Prof. Luiz Fernando de Lima Santos

Universidade Paulista

Núcleo de Pós Graduação Pitágoras

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

Capítulo 5 Complemento. 5.1 Laudon, Cap. 5

Ciclo de vida de um banco de dados relacional

SISTEMAS DE INFORMAÇÃO GERENCIAIS

MER Modelo de entidade e Relacionamento. Prof. Me. Hélio Esperidião

Roteiro 3 Modelagem relacional

BANCO DE DADOS I AULA 3. Willamys Araújo

Prof. Alexandre Unterstell Banco de Dados I

Modelo de Entidade e Relacionamento (MER) - Parte 07

Generalização e Especialização Banco de Dados

Modelo Relacional. 2. Modelo Relacional (Lógico)

Modelagem Conceitual Exercício resolvido 02 Modelagem Conceitual

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados

Curso Superior de Tecnologia em BD

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Descreve relacionamentos entre objetos de dados; conduz à modelagem de dados; atributos de cada objeto => Descrição de Objetos de Dados;

Chaves. Chaves. O modelo relacional implementa dois conhecidos conceitos de chaves, como veremos a seguir:

Modelagem dos dados. entendo. Reino Real. Reino. Representação

Administração de Bancos de Dados

ENGENHARIA DA COMPUTAÇÃO

ENGENHARIA DA COMPUTAÇÃO CONTEÚDO 4 GENERALIZAÇÃO E ENTIDADE ASSOCIATIVA. Prof. Msc. Ricardo Antonello BANCO DE DADOS I

Modelagem de Dados e Conversão de Modelos. Frederico Damasceno Bortoloti freddb@ltc.ufes.br

PCS ENGENHARIA DE SOFTWARE l MODELAGEM DE DADOS DIAGRAMA ENTIDADE-RELACIONAMENTO

Banco de Dados - Senado

MODELAGEM DE DADOS. Banco de Dados I. O uso da análise e do projeto Orientados a Objetos atenuou a separação! Unidade I

MODELAGEM DE DADOS. Unidade II Arquiteturas do SGBD

Projeto de Banco de Dados

Capítulo 3: Modelo Relacional!

Modelo Entidade-Relacionamento DCC011. Modelo Entidade-Relacionamento. Processo de Projeto de Bancos de Dados

BANCO DE DADOS MODELAGEM ER GENERALIZAÇÃO / ESPECIALIZAÇÃO. Prof.: Jean Carlo Mendes carlomendes@yahoo.com.br

Modelos de Armazenamento de dados. Prof. Guilherme Tomaschewski Netto

Fernando Fonseca Ana Carolina

Banco de Dados Modelo Entidade-Relacionamento. Frederico D. Bortoloti

ACCESS BÁSICO. Exercício 1 NCE/UFRJ. 1. O que são bancos de dados?...

Bases de Dados. Parte II: Os Modelos ER e EER

Profº Aldo Rocha. Banco de Dados

Banco de Dados. MER Estendido. Profa. Flávia Cristina Bernardini

BANCO DE DADOS PROFESSOR MAURÍCIO - MAURICIO.MELLO@PUCPR.BR AULA 02. O Modelo Entidade-Relacionamento ( MER )

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Modelo Entidade-Relacionamento

UML: Diagrama de Casos de Uso, Diagrama de Classes

Figura 5 - Workflow para a Fase de Projeto

Modelagem de Dados UNIDADE DE REVISÃO E RECUPERAÇÃO

Relacionamentos entre classes

Prof.: Clayton Maciel Costa

Persistência e Banco de Dados em Jogos Digitais

MODELO ENTIDADE RELACIONAMENTO

PROJETO DE BANCO DE DADOS -PROJETO CONCEITUAL. Prof. Angelo Augusto Frozza, M.Sc.

BANCO DE DADOS I AULA 6. Wlllamys Araújo willamysaraujo7@gmail.com

4- PROJETO DE BANCO DE DADOS

Banco de Dados I. Prof. Bal. Emerson Meneses Inocente

Databases. Ferramentas gráficas na modelação lógica das BD. O Modelo Entidade-Relação (Associação) O Modelo de Classes no UML

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade

Banco de Dados I Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 3) Clodis Boscarioli

DISCIPLINAS DO CURSO INFORMÁTICA ÊNFASE GESTÃO DE NEGÓCIOS. PROFESSOR: DOUGLAS DUARTE DISCIPLINA: BDA1-3º SEMESTRE. Modelagem de Dados

Banco de Dados 1 2º Semestre

Engenharia de Software

Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr waltenomartins@yahoo.

Banco de Dados. Modelagem de Dados com MER. Prof. Walteno Martins Parreira Jr

INF Fundamentos de Banco de Dados Exercícios sobre normalização

Projeto de Banco de Dados. Disciplina: Banco de Dados I José Antônio da Cunha

III. Projeto Conceitual de Banco de Dados. Pg. 1 Parte III (Projeto Conceitual de Banco de Dados)

Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 1) Clodis Boscarioli

AULA Entidade-Relacionamento

Banco de Dados Lista de Exercícios 01

Com base nos slides vistos em sala de aula resolva os seguintes exercícios:

Transcrição:

Definições Modelo Entidade-Relacionamento # Entidades # Relacionamentos # Atributos # Relacionamentos # Cardinalidade # Chaves Diagrama Entidade-Relacionamento Projeto Conceitual, Lógico e Físico 1 Entidade é um objeto no mundo real que pode ser identificado de forma unívoca em relação a todos outros objetos. # Exemplos: Cada pessoa, em uma empresa, é uma entidade. Cada cliente, em um banco, é uma entidade. Uma entidade pode ser Concreta ou Abstrata. # Exemplos: Entidades Concretas: Pessoa, Livro, Máquina; Entidades Abstratas: Empréstimo. 2

Cada entidade possui um conjunto de propriedades. Cada propriedade é denominada atributo. # Exemplos: Endereço, Telefone, Sexo, etc.; # Alguns atributos devem assumir valores únicos. Por exemplo, não existem (ou não deveriam) existir duas pessoas com o mesmo número de CPF. Conjunto de entidades: é um conjunto que abrange entidades de mesmo tipo que possuem os mesmos atributos. # Exemplo: O conjunto de todas as pessoas que são clientes de um banco pode ser definido como o conjunto de entidades clientes. 3 Conjuntos de entidades distintos podem possuir entidades comuns. # Exemplo: Conjunto de entidades Pessoas; Conjunto de entidades Clientes; Conjunto de entidades Funcionários; Conjunto de entidades Empréstimos; Uma entidade pessoa pode participar do conjunto de entidades Clientes e Funcionários ao mesmo tempo. 4

Atributos são propriedades descritivas de cada membro de um conjunto de entidades. A designação de um atributo para um conjunto de entidades significa que o banco de dados mantém dados similares de cada uma das entidades do conjunto. Exemplo: Conjunto de entidades pessoas: Sara Armando Passos Oscar Vaz Cruz de Jesus Dias Aguiar A. Melo 4435-1234 3222-1666 3123-3457 2355-1123 4 entidades; Atributo 1: Prenome Atributo 2: Sobrenome Atributo 3: Telefone 5 Visto que os atributos são similares, não necessitam possuir o mesmo valor. # Exemplos: Pessoas distintas podem possuir endereços distintos; Pessoas distintas podem possuir nomes distintos. Os valores possíveis que um atributo pode assumir é denominado domínio. # Exemplos: O domínio de um atributo nome pode ser o conjunto de todas seqüências de, no máximo, 30 caracteres; O domínio de um atributo salário pode ser o conjunto de todos os números reais maiores que zero. 6

Tipos de atributos # Simples ou compostos: Atributos compostos são divididos em partes. São constituídos pela concatenação de atributos simples. Exemplo: O atributo nome pode ser composto pelos atributos prenome e sobrenome. 7 Tipos de atributos # Monovalorados ou Multivalorados: Monovalorados são os atributos que possuem valores simples para uma entidade em particular. Exemplo: Nome; Multivalorados são os atributos que podem possuir mais de um valor válido. É possível que existam várias instâncias de um mesmo atributo. Exemplo: Uma pessoa pode possuir vários números de telefone (residencial, comercial, celular, etc.). 8

Tipos de atributos # Nulos: Um atributo é nulo quando uma entidade não possuir valor para o atributo; Exemplo: Uma entidade pessoa pode não possuir o atributo dependentes. 9 Tipos de atributos # Derivados: O valor de um atributo pode ser derivado de outros atributos ou entidades a ele relacionados; Exemplo: Um atributo total_itens pode armazenar o número total de itens associados a uma entidade nota_fiscal; Problema decorrente: Redundância. 10

Relacionamentos # Um relacionamento é uma associação entre uma ou várias entidades. # Exemplos: Pode-se definir um relacionamento que associe uma entidade cliente a uma entidade empréstimo; Uma entidade cliente pode estar associado à várias entidades empréstimo. 11 Relacionamentos # O Conjunto de relacionamentos devedor denota a associação entre clientes e empréstimos contraídos pelos clientes. # Neste exemplo, o conjunto de relacionamentos é binário, pois envolve dois conjuntos de entidades. Conjunto de entidades Clientes Conjunto de entidades Empréstimos Sara Vaz 4435-1234 00001 R$ 5000,00 Armando Cruz de Jesus 3222-1666 00002 R$ 4000,00 Passos Dias Aguiar 3123-3457 00003 R$ 1400,00 Oscar A. Melo 2355-1123 00004 R$ 5780,00 12

Cardinalidade # Expressa o número de entidades às quais outra entidade pode estar associada via um conjunto de relacionamentos; # O mapeamento apropriado de cardinalidades depende das situações reais que estão sendo modeladas pelo conjunto de relacionamentos. 13 Cardinalidade - Tipos # Considerando-se dois conjuntos de entidades A e B: Um para um: Uma entidade em A está associada, no máximo, a uma entidade em B; Um para muitos: Uma entidade em A está associada a várias entidades em B, porém esta deve estar associada em somente uma entidade em A; Muitos para um: Uma entidade em A está associada, no máximo, a uma entidade em B, porém esta pode estar associada a um número qualquer de entidades em A; Muitos para muitos: Uma entidade em A está associada a um número qualquer de entidades em B e vice-versa. 14

Cardinalidade - Exemplos # Um para um (1:1): Um funcionário pode estar vinculado a somente um escritório de uma determinada empresa; # Um para muitos (1:N): Uma pessoa pode ter várias contas correntes; # Muitos para um (N:1): Um escritório pode estar associado à vários funcionários, porém cada funcionário pode estar associado a somente um escritório; # Muitos para muitos (M:N): Uma conta corrente pode estar associada a várias pessoas (conta conjunta, por exemplo) e pessoas podem estar associadas a várias contas correntes. 15 Cardinalidade - Considerações # Entidades com relações um-para-um normalmente são agrupadas em uma única entidade (criação de uma atributo em uma das entidades, por exemplo); # Relações muitos-para-muitos entre duas entidades podem ser modeladas por uma terceira, contendo dois relacionamentos um-para-muitos: um de cada tabela original. 16

Dependência de existência # Se uma entidade X depende da entidade Y para existir, então X é dependente da existência de Y; # Neste caso, Y é considerada entidade Dominante e X entidade Subordinada; # Um entidade ItemVendido somente pode existir se a entidade Venda existir. Se uma entidade Venda for excluída, todos os itens associados também devem ser excluídos. 17 Chaves # Especifica como podem ser identificadas entidades dentro de um conjunto de entidades e relacionamentos dentro de um conjunto de relacionamentos; # Uma chave é uma propriedade dentro de um conjunto de entidades e não de uma entidade individualmente. 18

Superchave # Conjunto de um ou mais atributos que, tomados coletivamente, permitem identificar, de maneira unívoca, uma entidade em um conjunto de entidades; # Superchaves podem possuir atributos externos; # Exemplos: O atributo CPF de uma entidade pessoa é Superchave; O atributo nome de uma entidade pessoa não é Superchave. 19 Superchave # Superchaves podem ter subconjuntos que também são Superchaves; Exemplo: os atributos CPF e nome podem constituir uma Superchave, porém somente o CPF também é Superchave; # Superchaves mínimas (para as quais nenhum subconjunto é Superchave) são denominadas chaves candidatas; # Cuidado na escolha de uma chave candidata: Unicidade. 20

Chave Primária # Chave Primária corresponde a uma chave candidata escolhida pelo projetista do banco de dados. Seu significado permite identificar univocamente entidades dentro de um conjunto de entidades; # Entidade Forte: Entidades que possuem chave primária. Caracterizam entidades Dominantes. # Entidade Fraca: Não possui atributos suficientes para formar uma chave primária. Caracterizam entidades Subordinadas. 21 Diagrama Entidade-Relacionamento Representa, graficamente, a estrutura lógica de um banco de dados. Componentes: # Retângulos: Conjuntos de entidades; # Elipses: Atributos. Atributos que fazem parte de uma chave primária devem ser sublinhados; # Elipses Duplas: Atributos multivalorados; # Losangos: Conjuntos de relacionamentos; # Linhas: Conectam atributos aos conjunto de entidades e conjunto de entidades aos conjuntos de relacionamentos. 22

Exemplo: Diagrama Entidade-Relacionamento nome rua identificador valor cidade CPF cliente Devedor empréstimo 23 Diagrama Entidade-Relacionamento Auto-relacionamento: # Podem existir relacionamentos entre entidades existente em um mesmo conjunto de entidades; # Exemplo: Em um conjunto de entidades Funcionários, o atributo gerente (qual o gerente de um determinado funcionário) também está localizado no mesmo conjunto de entidades, visto que o gerente também é funcionário da mesma empresa. nome rua cidade CPF empregado Trabalha_para 24

Diagrama Entidade-Relacionamento A notação original para representação do diagrama ER ocupa muito espaço, dificultando a visualização de esquemas maiores; Existem outras notações utilizadas para representação do diagrama Entidade-Relacionamento; Exemplos: # IDEF1X http://www.idef.com/idef1x.html; # IE Information Engineering. 25 Diagrama Entidade-Relacionamento 26

Diagrama Entidade-Relacionamento Ferramentas utilizadas para edição de diagramas ER: # Erwin (CA ), Visio (Microsoft ) e SmartER (KBSI ); Exemplo de diagrama gerado no Microsoft Visio (IE): Clientes CPF Nome Rua Cidade u:r d:r ClientesEmprestimos Id (FK) CPF (FK) u:r d:r Emprestimos Exemplo de diagrama gerado no Erwin (IDEF1X): Clientes CPF Nome Rua Cidade ClientesEmprestimos CPF (FK) R/3 Id (FK) R/4 Emprestimos Id Valor Id Valor 27 Diagrama Entidade-Relacionamento Cardinalidade: Importante: 28

Diagrama Entidade-Relacionamento Exemplos: PessoaPoucaNota ContaCorrente Pessoa_Id INTEGER Pessoa_Id (FK) INTEGER Pessoa_Nome CHAR(10) ContaCorrente_Id CHAR(10) No modelo acima, uma conta corrente pode ser vinculada a clientes diferentes? PessoaPoucaNota1 Pessoa_Id INTEGER Pessoa_Nome CHAR(10) ContaCorrente_Id (FK) CHAR(10) ContaCorrente1 ContaCorrente_Id CHAR(10) No modelo acima, uma conta corrente pode ser vinculada a clientes diferentes? 29 Diagrama Entidade-Relacionamento Exemplos: PessoaMuitaNota ContaCorrenteEspecial Pessoa_Id INTEGER ContaCorrente_Id CHAR(10) Pessoa_Nome CHAR(10) Pessoa_Id (FK) INTEGER No modelo acima, um cliente pode possuir várias contas correntes diferentes? No modelo acima, uma conta corrente pode ser vinculada a clientes diferentes? PessoaMuitaNota1 Pessoa_Id INTEGER Pessoa_Nome CHAR(10) ContaCorrenteEspecial1 Pessoa_Id (FK) INTEGER ContaCorrente_Id CHAR(10) No modelo acima, uma conta corrente pode ser vinculada a clientes diferentes? 30

Projeto Conceitual, Lógico e Físico Arquitetura ANSI / SPARC Nível Externo (Visões) Esquema Externo 01 (Visão 01) Esquema Externo 02 (Visão 01)... Esquema Externo n (Visão 01) Nível Conceitual (Lógico) Esquema Conceitual Mapeamento Externo / Conceitual Nível Interno (Físico) Esquema Interno Mapeamento Conceitual / Interno Dados Metadados ANSI - American National Standards Institute SPARC - Standards Planning and Requirements Committee 31 Projeto Conceitual, Lógico e Físico Projeto Conceitual: # Utiliza-se, geralmente o modelo de Entidade-Relacionamento (ER), para representação gráfica do esquema do Banco de Dados; # Determinar quais entidades, relacionamentos, atributos devem ser armazenados no banco de dados; # Quais são as restrições de integridade e regras de negócio (nem todas podem ser expressas em um diagrama E-R; Projeto Lógico: # Transformação do Modelo Conceitual no Modelo Relacional; # Normalização: Refinamento do Esquema; Projeto Físico: # Implantação do modelo: Criação do Banco, espaço físico, desempenho, etc. 32

Referências Bibliográficas # SILBERCHATZ A., KORTH H. F., SUDARSHAN S.; Sistema de Banco de Dados, São Paulo, Pearson Makron Books, 2006. # Integration Definition for Information Modeling (IDEF1X); Federal Information Standards Publication (FIPS) 184, 1993. 33