O Modelo Entidade-Relacionamento MER



Documentos relacionados
Projeto Conceitual Usando o Modelo-Entidade Relacionamento

Profa. Daniela Barreiro Claro

Projeto Conceitual (geralmente no modelo E-R):

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

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

Projeto Conceitual Usando o Modelo-Entidade Relacionamento

MC536 Bancos de Dados: Teoria e Prática

Modelo Entidade-Associação (EA)

Modelo Entidade-Associação (EA)

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

Ciclo de vida de um banco de dados relacional

Modelo Entidade-Relacionamento

Banco de Dados 1 2º Semestre

Ciclo de Desenvolvimento de Sistemas de BD

Curso Superior de Tecnologia em BD

Prof.: Clayton Maciel Costa

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

Bases de Dados 2013/2014 Modelo Entidade-Associação (EA) Helena Galhardas 2013 IST. Bibliografia

Modelo Relacional. Aécio Costa

Projeto de Banco de Dados

BANCO DE DADOS I AULA 3. Willamys Araújo

Modelo de Entidade e Relacionamento (MER) - Parte 07

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

Modelagem de dados e uso do SGBD MySQL

Fernando Fonseca Ana Carolina

Disciplina: Unidade II: Prof.: Período:

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

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

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

Banco de Dados - Senado

Bibliografia. Bases de Dados 2012/2013 Modelo Relacional. Helena Galhardas. Raghu Ramakrishnan, Database Management Systems, Cap. 3 10/2/ IST

Conceitos Básicos de Banco de Dados

Persistência e Banco de Dados em Jogos Digitais

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

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

MODELAGEM DE DADOS. Unidade II Arquiteturas do SGBD

Engenharia de Software. Diagramas de Entidade- Relacionamento (E-R) Estruturação de dados

Bases de Dados. Parte III: O Modelo Relacional

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

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro.

Prof.: Clayton Maciel Costa

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Banco de Dados Lista de Exercícios 01

Modelo de Dados. Modelos Conceituais

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

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

Introdução à Banco de Dados

Oficina. Praça das Três Caixas d Água Porto Velho - RO

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

Modelo Relacional. Modelo Relacional. Modelo Relacional. Banco de Dados. Modelo Relacional. Modelo Relacional

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

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

Banco de Dados I. 1. Conceitos de Banco de Dados

Revisão de Banco de Dados

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes

Prof. Alexandre Unterstell Banco de Dados I

Funcionários. Funcionários. PrimeiroNome NomesDoMeio ÚltimoNome. CPF Nome Salário. CPF PrimeiroNome NomesDoMeio ÚltimoNome Salário

GBC043 Sistemas de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva UFU/FACOM

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 usando o modelo BANCO DE DADOS 1º TRIMESTRE PROF. PATRÍCIA LUCAS

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

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

Bancos de Dados Aula #3 MER Estendido

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

Banco de Dados - Senado

Processo de Projeto Bottom-Up. esquema conceitual do BD. engenharia reversa do esquema relacional. esquema relacional integrado do BD (esquema global)

Processo de Projeto Bottom-Up. esquema conceitual do BD. engenharia reversa do esquema relacional. esquema relacional integrado do BD (esquema global)

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

Disciplina de Banco de Dados Parte V

Prof.: Clayton Maciel Costa

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

Disciplina: Unidade III: Prof.: Período:

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL

MSc. Daniele Carvalho Oliveira

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

Modelo Entidade-Relacionamento

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

MODELO RELACIONAL - UFMA

Principais Conceitos. Modelo Relacional representa o banco de dados como uma coleção de relações Tupla Atributos Relação Domínio

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

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

AN ADVANCED COURSE IN DATABASE SYSTEMS: BEYOND RELATIONAL DATABASES

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

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

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

MODELO DE DADOS. É uma imagem gráfica de toda a base de informações necessárias para um determinado empreendimento.

Apresentação. Unimar - Universidade de Marília F.C.T.

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

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

Banco de Dados I. Introdução. Fabricio Breve

Modelo Relacional. Modelo Relacional. Conceitos Gerais: Relação

OBJETIVOS. Orientações para Projetos de BD; Dependências Funcionais (DFs): Definição de DF; Regras de inferência para DFs.

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque fernando@cic.unb.br

ENGENHARIA DA COMPUTAÇÃO

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios

Transcrição:

O Modelo Entidade-Relacionamento MER Capítulo 2 1

Etapas do Projeto de BD 1. Análise de Requisitos: Processo informal que envolve discussões entre grupos de usuários Entender quais dados serão armazenados no BD Quais aplicações tem que ser construídas Quais operações são mais freqüentes 2. Projeto Conceitual do BD: As informações colhidas na análise de requisitos são usadas para desenvolver uma descrição em alto nível dos dados a serem armazenados no BD (modelo ER) 2

Etapas do Projeto de BD 3. Projeto Lógico do BD: É necessário escolher um SGBD para implementar nosso projeto de BD, e converter o projeto conceitual do BD em um esquema de BD do modelo de dados do SGBD 4. Refinamento do Esquema: Analisar as coleções de relações em nosso esquema de BD relacional para identificar potenciais problemas, e refiná-los. Esta fase pode ser guiada por algumas teorias como por exemplo a normalização 3

Etapas do Projeto de BD 5. Projeto Físico do BD: Identificar trabalhos que o BD tem que suportar e refinar o projeto de BD para garantir critérios de desempenho Envolve construção de índices para tabelas, etc 6. Projeto de Segurança: Identificar diferentes grupos de usuários e diferentes regras definidas para esses usuários Para cada regra e grupo de usuário, temos que identificar as partes do BD que devem estar habilitadas para acesso e as partes do BD que não devem ser permitido o acesso. 4

Etapas do Projeto de BD Fase de Ajuste: Fase de refinamento; Fase na qual as 6 etapas são repetidas até que o projeto atinja o nível de excelência desejado. O Modelo ER é mais relevante nos três primeiros passos: análise de requisitos, projeto conceitual e projeto lógico 5

Visão Geral do Projeto de BD Projeto Conceitual: (o modelo ER é usado nesta fase) Quais são as entidades e os relacionamentos no empreendimento? Que informações a respeito dessas entidades e desses relacionamentos deverão ser armazenados no BD? Quais são as restrições de integridade ou regras de negócios que devem ser levadas em consideração? Um esquema do BD pode ser representado por um diagrama de Entidade-Relacionamento. Um diagrama de Entidade-Relacionamento pode ser mapeado para um esquema relacional. Permite mover-nos de uma descrição informal sobre o que os usuários querem sobre o BD para uma descrição formal 6

Modelo Básico ER ssn name lot Entidade: Objeto do mundo real distinguível de outros objetos. Uma entidade é descrita (em BD) usando um conjunto de atributos. Conjunto-Entidade: Uma coleção de entidades similares. Exemplo: todos os funcionários. Employees Todas as entidades em um conjunto-entidade têm o mesmo conjunto de atributos (até que seja considerado a hierarquia ISA) Cada conjunto-entidade tem uma chave (conjunto minimal de atributos que identificam unicamente uma entidade). Cada atributo tem um domínio (possíveis valores que o atributo pode assumir). 7

ssn Modelo Básico ER name Employees lot Chave Candidata: são chaves candidatas a serem chave primária Primária: chave selecionada para identificar a entidade Estrangeira: é quando o(s) atributo(s) de uma entidade é (são) a chave primária de outra entidade Representação Gráfica Entidade Atributo Chave 8

Modelo Básico ER name ssn lot ssn name Employees lot since Works_In did dname budget Departments subordinate supervisor Employees Reports_To Relacionamento: Associação entre duas ou mais entidades. Exemplo: Maria trabalha no departamento de Farmácia. Conjunto-Relacionamento: coleção de relacionamentos similares. Um conjunto-relacionamento n-ário R relaciona n conjuntos de entidades E1... En; cada relacionamento em R envolve as entidades E1,..., En Um mesmo conjuntos-entidade pode participar em diferentes conjuntos-relacionamentos ou em diferentes papéis no mesmo conjunto (por ex. papéis de supervisor e subordinado entre empregados) Atributo Descritivo: registram informação sobre o relacionamento 9

Restrição de Chave Considere o conjuntorelacionamento Works_In : Um funcionário pode trabalhar em muitos departamentos; um departamento pode ter muitos funcionários. Em contraste, cada departamento tem somente um gerente, de acordo com a restrição de chave do conjuntorelacionamento Manages. ssn name Employees 1-para-1 1-para muitos Muitos para 1 dname lot since Manages did Departments budget Muitos para Muitos 10

Restrição de Participação Cada um dos departamentos tem um gerente? Se isso for verdade, isso é uma restrição de participação: a participação de Departamentos em Gerentes é dita ser total (versus. parcial). Cada entidade Departments deve aparecer em uma instância do relacionamento Manages (com um valor ssn não-nulo) ssn name lot since did dname budget Employees Manages Departments Works_In since 11

Restrição de Participação Participação Parcial O relacionamento de Employees e Manages é dito Parcial, uma vez que nem todo Funcionário gerencia um Departamento ssn name lot since did dname budget Employees Manages Departments Works_In since 12

Entidades Fracas Uma entidade fraca pode ser identificada unicamente apenas se considerarmos a chave primária de outra entidade (proprietária). Um conjunto-entidade proprietário e um conjunto-entidade fraca têm que participar em um conjunto-relacionamento um-para-muitos (um proprietário, muitas entidades fracas). O conjunto-entidade fraca tem participação total no conjunto-relacionamento identificado. O conjunto de atributos de um conjunto-entidade fraca que unicamente a identifica para um dado proprietário é chamado de chave parcial (pname). ssn name lot cost pname age Employees Policy Dependents 13

Hierarquia ISA ( is a ) ssn name lot Como em C++, atributos são herdados. Se nós declaramos A ISA B, cada entidade contractid A é também considerada como uma entidade B. Hourly_Emps Contract_Emps Restrições de Sobreposição: Determina, neste exemplo, que um funcionário pode ser tanto um funcionário horista como um contratado (habilita / desabilita). Restrições de Cobertura: Determina, neste exemplo, que um funcionário obrigatoriamente deve ser um funcionário horista ou um funcionário contratado. Razões para usar ISA: hourly_wages hours_worked Employees Adicionar atributos descritivos específicos para as entidades da subclasse. Identificar entidades que participam em algum relacionamento. ISA 14

Agregação ssn name lot Usado quando nós temos que modelar um relacionamento envolvendo (conjunto-entidade e) um conjuntorelacionamento. Agregação permitenos tratar um conjuntorelacionamento como um conjuntoentidade com o propósitos de permitir a participação em (outros) relacionamentos. pid started_on Projects Employees Monitors pbudget since Sponsors Agregação vs. Relacionamento Ternário: Monitors é um relacionamento distinto com um atributo descritivo Também, pode-se dizer que cada patrocínio (sponsorship) é monitorado por um único empregado (Employee). did until dname Departments budget 15

Projeto Conceitual usando o Escolhas de Projeto: MER Um conceito poderia ser modelado como uma entidade ou um atributo? Um conceito poderia ser modelado como uma entidade ou um relacionamento? Identificação dos Relacionamentos: Binário ou Ternário? Agregação? Restrições no modelo ER: Muitos dados semânticos podem (e devem) ser capturados. Mas algumas restrições não podem ser capturadas em um diagramas ER. 16

Entidade vs. Atributo address deveria ser um atributo de Employees ou uma entidade (conectado a Employees através de um relacionamento)? Depende do uso que nós queremos fazer da informação de endereço: Se temos diversos endereços para Employee, address tem que ser uma entidade (uma vez que os atributos não podem ser multi-valorados). Se a estrutura (city, street, etc.) é importante, por ex., nós queremos recuperar Employees em uma dada city, address tem que ser modelado como uma entidade (uma vez que os valores dos atributos são atômicos). 17

Works_In4 não permite que um Employee trabalhe em um Department por dois ou mais períodos. Similar ao problema quando se quer registrar vários endereços para um Employee. Nós queremos registrar diversos valores de atributos descritivos para cada instância desse relacionamento. Torna-se completo pela introdução de um novo conjunto-entidade: Duration Entidade vs. Atributo ssn name Employees ssn name lot Employees from lot from to Works_In4 Works_In4 Duration did did dname budget Departments to dname budget Departments 18

Entidade vs. Relacionamento O primeiro diagrama ER está OK se um gerente consegue separar um orçamento para cada departamento. O que acontece se um gerente consegue um orçamento que cubra todos os departamentos? Redundância: dbudget é armazenado para cada departamento gerenciado por um gerente. Equívoco(Misleading): sugere dbudget associado com uma combinação de Managers-Departments. ssn ssn name Employees name Employees ISA Managers since dbudget lot did Manages2 lot since did Manages2 dbudget dname budget Departments dname budget Departments 19

Relacionamento Binário vs. Ternário ssn name lot pname age Se cada política é propriedade de um único funcionário, e cada dependente é vinculado à cobertura da política, o primeiro diagrama não é adequado. Quais são as restrições adicionais no 2 o diagrama? ssn Employees Projeto Ruim name Employees lot policyid Purchaser Projeto resolve o problema Covers Policies policyid cost pname Beneficiary Policies cost Dependents age Dependents 20

Relacionamento Binário vs. Ternário O exemplo anterior ilustra um caso onde dois relacionamentos binários são melhores do que um relacionamento ternário. Um exemplo em outra direção: uma relação ternária Contratos relaciona os conjuntos-entidade Partes, Departamentos e Fornecedores com um atributo descritivo qty. Nenhuma combinação de relacionamentos binários seria adequada: Com o relacionamento binário, nós podemos denotar que um fornecedor pode fornecer certas partes, que um departamento necessita de algumas partes, e que um departamento negocia com um certo fornecedor. Como podemos registrar qty? Partes Departamentos Funcionários 21

Binário vs. Relacionamento Ternário (Cont.) A não combinação desses relacionamentos binários expressa o significado de um contrato adequado, razões: O fato que o fornecedor S pode-fornecer P, que o departamento D necessita da parte P, e que D compraráde S não necessariamente implicará que o departamento D realmente compra a parte P do fornecedor S Fornecedor S pode-fornecer P Departamento D necessita da parte P Departamento D comprará-de S 22

Sumário de Projeto Conceitual Projeto Conceitual segue a análise de requisitos, Produz uma descrição alto-nível dos dados a serem armazenados Modelo ER é popular para o projeto conceitual Construções são expressivas, próximo da maneira que as pessoas pensam sobre suas aplicações. Construção Básica: entidades, relacionamentos e atributos (de entidades e relacionamentos) Algumas construções adicionais: entidades fracas, hierarquia ISA, e agregação. Nota: Há muitas variações no modelo ER. 23

Sumário de ER Diversos tipos de restrições de integridade podem ser expressos no modelo ER: restrição de chave, restrição de participação e restrições de sobreposição/cobertura para hierarquias ISA. Algumas restrições de chave estrangeira são também implícitas à definição de um conjunto de relacionamentos. Algumas restrições (notavelmente, dependências funcionais) não podem ser expressas no modelo ER. Restrições representam um importante papel para determinar o melhor projeto de banco de dados para um empreendimento. 24

Sumário de ER Projeto ER é subjetivo. Há muitos caminhos para modelar um mesmo cenário. A Análise de Alternativas pode ser enganadora, especialmente para um grande empreendimento. Escolhas comuns incluem: Entidade vs. Atributo, Entidade vs. Relacionamento, Relacionamento Binário ou N-Ário, usar ou não a hierarquia ISA, e usar ou não a Agregação. Garantir um bom projeto do banco de dados: resultando num esquema relacional que possa ser analisado e refinado posteriormente. Técnicas de normalização são especialmente úteis. 25

Notação de Outros Autores (Elmasri & Navathe) Notação para Entidade Fraca Dependente Notação para Restrição de Participação Trabalham para 26

Notação de Outros Autores (Elmasri & Navathe) Notação para Generalização / Especialização Empregado d Secretária Técnico Engenheiro 27

Classificação Notação de Outros Autores (Elmasri & Navathe) Quanto à Composição Simples Compostos (Subdividido ou Hierarquizado) Quanto ao Número de Valores Simples Multivalorados (Mais de um valor por instância) Quanto à Unicidade Simples Chave (Determinam unicidade) Quanto ao Armazenamento Simples Derivados (Calculados ) 28

Notação de Outros Autores (Elmasri & Navathe) Funcionário Departamento Admin Projetista Dependente Projetos 29

Atributos PNome MNome UNome Nome Endereço Salário Nascto Sexo CI Funcionário Número N.Func Nome Local Departamento Admin Projetista Espec Nome Dependente Sexo Nascto Reg Parentes co Número Projetos Nome Local 30

Relacionamentos PNome Nascto Sexo CI Depen dem Nome MNome UNome Nome Super visor Endereço Salário Funcionário Supervi siona Dependente Sexo Subor dinado Nascto Admin Projetista Reg d Parentes co Espec Número N.Func Trabalham para Gerencia Locados Número Nome Departamento Controla Projetos Nome Local Local 31

Atributos Relacionamentos PNome Nascto Sexo CI Depen dem Nome MNome UNome Nome Super visor Endereço Salário Funcionário Supervi siona Dependente Sexo Subor dinado Nascto Admin Projetista Reg d Parentes co Espec Número N.Func Trabalham para Gerencia Horas Início Locados Número Nome Departamento Controla Projetos Nome Local Local 32

Restrições PNome Nascto Sexo CI (1,1) Depen dem Nome MNome UNome Nome (0,1) Super visor Endereço Salário Funcionário Supervi siona (0,N) Dependente Sexo Subor dinado (0,N) Nascto Admin Projetista Reg d Parentes co Número N.Func Trabalham para (4,N) (1,1) Espec Gerencia Locados Número Nome Departamento Controla Projetos Nome (1,1) (1,N) Horas Início (0,1) (1,N) (1,1) (0,N) Local Local 33