Mestrado em Engenharia de Computação área de concentração Geomática

Slides:



Advertisements
Apresentações semelhantes
Um pouco mais de cardinalidade e Relacionamentos
Advertisements

Abordagem Entidade Relacionamento
MER – Modelo de Entidade Relacionamento
Laboratório WEB Professora: Viviane de Oliveira Souza Gerardi.
Diagrama Entidade-Relacionamento – DER
O Modelo E-R Definição: Características
Prof.: Bruno Rafael de Oliveira Rodrigues
Modelo Entidade-Relacionamento
Projeto de Banco de Dados
Sistemas de Informação Gerencial
SCC Bancos de Dados e Suas Aplicações
SCC Bancos de Dados e Suas Aplicações
Prof. Alexander Roberto Valdameri
Modelo Entidade Relacionamento
O.O.H.D.M. Modelagem Conceitual
Tecnologias de Linguagens para Banco de Dados I
Modelagem de Dados Usando o Modelo Entidade-Relacionamento
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante
Sistemas de Banco de Dados
Campus de Caraguatatuba Aula 4: Modelo Entidade Relacionamento (1)
Prof. Alfredo Parteli Gomes
SQL Server 2012 Introdução a Modelagem de Dados
BANCO DE DADOS APLICADO AO DESENVOLVIMENTO DE SOFTWARE
Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações
Professora: Sílvia C. Matos Soares
Diferenças entre DER e Engenharia de Informações
Bancos de Dados Projeto de BD
Técnica de BD – Modelagem (2)
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
Capítulo 6: Modelo entidade-relacionamento
Campus de Caraguatatuba Aula 5: Modelo Entidade Relacionamento (2)
Profª Daniela TLBD.
Introdução a Banco de dados
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros
Análise e Projeto de Sistemas
Análise de Sistemas de Informação
A abordagem de banco de dados para gerenciamento de dados
Objetivos Apresentar de forma breve a Metodologia de Modelagem Orientada a Objetos (OMT). A partir de um modelo de objetos de um sistema de informação.
Banco de Dados Aplicado ao Desenvolvimento de Software
BANCO DE DADOS Aula 3 Josino Rodrigues Neto© Fundamentos em Banco de Dados.
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Mestrado em Engenharia de Computação área de concentração Geomática
Sistemas de Informação (SI)
©Silberschatz, Korth and Sudarshan (Modificado)3.1.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
Banco de dados 1 Modelagem de Dados Utilizando MER
Profa. Ana Karina Barbosa fevereiro/2008
Projeto de BD Análise de Requisitos Projeto Conceitual Projeto Lógico
UFCG/CCT/DSC Cláudio Baptista
2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.
Bancos de Dados.
Profa. Ana Karina Barbosa Abril/2008
Modelo Relacional Marcelo Mendes Manaus – 2015.
Professora: Sílvia C. Matos Soares
Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional.
Modelo Entidade-Relacionamento
Projeto de Banco de Dados
Banco de Dados I Aula 4 - Projeto Conceitual de Banco de Dados
Banco de Dados I Aula 3 - Projeto Conceitual de Banco de Dados
Objetivos do Curso Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar:
4 Projeto de Banco de Dados Carlos Alberto Heuser.
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante.
Modelagem de Dados Consiste em mapear o mundo real do sistema em um modelo que irá representar a realidade e o relacionamento existente entre os dados.
Modelo Entidade-Relacionamento (ER)
Modelo de Entidade-relacionamento
Modelagem Entidade-Relacionamento (MER)
Professor: reno nooblath
Modelagem de Dados Aula 4. 2 Implementação de Entidades Não é aconselhável simplesmente transcrever os nomes dos atributos para nomes de colunas. Nomes.
Gestão da Tecnologia da Informação Fundamentos de Sistemas de Banco de Dados Faculdade de Tecnologia Senac Jaraguá do Sul.
Modelagem de Dados Aula 3.
Transcrição da apresentação:

Mestrado em Engenharia de Computação área de concentração Geomática Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias Modelagem de Dados O Modelo Entidade-Relacionamento (ER) Peter P. Chen, “The Entity-Relationship Model: Toward the unified view of data”, março de XXX? UERJ © Oscar Luiz Monteiro de Farias

Uso de MCDs no Projeto de BDs PASSO 1: Análise e coleta de requisitos PASSO 2: Projeto conceitual da Base de Dados PASSO 3: Mapeamento Lógico da Base de Dados (Mapeamento do Modelo de Dados) PASSO 4: Projeto Físico do Banco de Dados (MFD) UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias O Modelo ER... Tipos-Entidades (Classes) Relacionamentos Atributos (características dos objetos) UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias O Modelo ER... Tipos-Entidades (Classes): Conjunto de objetos do mesmo “tipo”. as coisas tangíveis as funções exercidas por elementos eventos ou ocorrências interações especificações UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias O Modelo ER... Os tipos-entidades (classes de objetos) modelados devem ter o seu significado esclarecido em um Dicionário de Dados (DD). Modelo algum é suficientemente claro se não for acompanhado de uma definição formal de seus elementos (dicionário de dados ou similar). Conceituar as entidades mostrando: regras que as definem (e as exceções) exemplos ilustrativos correlação entre conceitos outras informações que facilitem o entendimento UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias O Modelo ER... As informações sobre as entidades relacionadas em um DD devem ajudar a responder as perguntas: O que é a entidade? O que faz? Para que serve? O que engloba esta entidade/classe? O que está excluído desta classe? Quando alguém (algo) passa a ser, ou deixa de ser, um elemento deste tipo? Sua permanência nesta categoria é imutável? UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias O Modelo ER... Tipo-entidade/classe - define um conjunto de objetos que possuem os mesmos atributos Cada tipo-entidade no banco de dados é descrita por um nome e por uma lista de atributos Um tipo-entidade (classe) descreve o schema ou intensão para um conjunto de objetos que partilham a mesma estrutura. Os objetos individuais de um determinado tipo-entidade (classe) são agrupados em uma coleção ou conjunto-entidade (extensão) UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias O Modelo ER... Tipos de atributos simples x compostos (Endereço = rua + n0 + ap. + bairro + cidade + Estado + CEP) monovalorados x multi-valorados (cores de um veículo) armazenados x derivados Valores nulos não aplicáveis desconhecidos (is missing x not known) UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias O Modelo ER... Nome do tipo-entidade /classe Atributo 1 Atributo 2 Atributo n Atributo n-1 Atributo composto Atributo multi-valorado Atributo 2.1 Atributo 2.2 Atributo 2.m UERJ © Oscar Luiz Monteiro de Farias

Banco de Dados da empresa X... O Banco de Dados (bd) da empresa armazena informações sobre os seus empregados, departamentos e projetos. UERJ © Oscar Luiz Monteiro de Farias

Banco de Dados da empresa X... A Cia é organizada em departamentos. Cada depto tem um nome único, n0 único e um empregado especial que o gerencia. Registra-se a data de início em que este empregado especial começou a gerenciar o depto. Um depto pode ter várias localizações. Um depto controla um dado n0 de projetos, cada um dos quais com um nome único, n0 único e apenas uma localização UERJ © Oscar Luiz Monteiro de Farias

Banco de Dados da empresa X... São armazenados para cada empregado: o seu nome, n0 de seguridade social, endereço, salário, sexo e data de nascimento. Um empregado é vinculado a um só depto, mas pode trabalhar em vários projetos, os quais não são necessariamente controlados pelo mesmo depto. São registradas as horas por semana que um empregado trabalha em cada projeto. Assinala-se ainda, para cada empregado, o seu supervisor direto. Para fins de seguro, são registrados os dependentes de cada empregado. São armazenados: nome, sexo, data de nascimento e a relação com o empregado UERJ © Oscar Luiz Monteiro de Farias

Banco de Dados da empresa X... Projeto Conceitual Inicial 4 tipos-entidades (classes) foram identificados: DEPARTMENT - atributos: Name, Number, Location (multivalorado) , Manager e ManagerStartDate. PROJECT - atributos: Name, Number, Location e Controlling Department. EMPLOYEE - atributos: Name, SSN, Sex, Address, Salary, BirthDate, Department e Supervisor. Name e Address podem ser atributos compostos (deve-se entrevistar os usuários para ver se eles irão se referir aos componentes individuais). DEPENDENT - atributos: Employee, DependentName, Sex, BirthDate e Relationship UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias O Modelo ER... Atributos chaves de um tipo-entidade (chaves): cada tipo-entidade (classe) usualmente possui um atributo cujo valor é distinto para cada entidade (objeto) individual daquele tipo-entidade (classe). O valor de uma chave é usado para identificar unívocamente um objeto. Um conjunto de atributos (concatenados) que identificam unívocamente um objeto é também uma chave. No diagrama do modelo ER cada atributo chave possui o seu nome sublinhado. Alguns tipo-entidades (classes) possuem mais de uma chave. UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias O Modelo ER... Cada atributo simples de um tipo-entidade está associado com um domínio, o qual especifica o conjunto de valores que podem ser assumidos pelo correspondente atributo das entidades individuais (objetos). Os domínios não aparecem nos diagramas ER Um atributo A de um tipo-entidade (classe) E cujo domínio é V pode ser definido como uma função de E no conjunto potência de V: A: E P(V) P(V) é o conjunto de todos os subconjuntos de V. A(e) = valor de um atributo de uma entidade (objeto) e. UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias O Modelo ER... A definição acima cobre os atributos mono-valorados e multi-valorados bem como os NULLs. NULL - conjunto vazio atributos mono-valorados - A(e) é restrito a um conjunto com um único elemento. Atributos multi-valorados - A(e) pode ter vários elementos Atributos compostos - o domínio V é o produto cartesiano de P(V1), P(V2), ... P(Vn), onde V1, V2, ..., Vn são os domínios dos componentes simples de atributos que formam A, i. e., V = P(V1) x P(V2) x ... X P(Vn) Os atributos compostos e multi-valorados podem ser aninhados em modos arbitrários. UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias O Modelo ER... Notação: aninhamentos arbitrários podem ser representados grupando-se os componentes de um atributo composto entre parênteses “( )” e separando-se os componentes por vírgula “,”; mostrando-se os atributos multi-valorados entre chaves “{}”. UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias O Modelo ER... Exemplo: uma pessoa pode ter mais que uma residência e cada uma dessas residências pode ter múltiplos telefones. O atributo Telefone_Residencial para uma entidade-tipo (classe) Pessoa pode ser especificado como: {Telefone_Residencial ({Telefone (Código_de_Área, n0_do_telefone)}, Endereço (Endereço_da_rua (Rua, N0, Apartamento), Cidade, Estado, CEP))} UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias O Modelo ER... Um Relacionamento R entre entre n tipos-entidades (classes) E1, E2, ..., En define um conjunto de associações entre entidades (objetos) destes tipos (classes). R é um conjunto de instâncias de relacionamento ri, onde cada ri associa n entidades (e1, e2, ..., en) e cada entidade (objeto) ej em ri é um membro do tipo-entidade (classe) Ej, 1  j  n. UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias O Modelo ER... Um relacionamento R pode ser visto como uma relação matemática em E1, E2, ..., En. Pode também ser pensado como um subconjunto do produto cartesiano E1 x E2 x ... x En. Cada um dos tipos-entidades (classes) E1, E2, ..., En participam no relacionamento R e cada uma das entidades (objetos) e1, e2, ..., en participam na instância do relacionamento ri= (e1, e2, ..., en) UERJ © Oscar Luiz Monteiro de Farias

Exemplo de Relacionamento WORKS_FOR EMPLOYEE r1 DEPARTMENT r2 e1 j1 e2 r3 e3 j2 e4 r4 j3 e5 . r5 e6 e7 . r6 r7 . UERJ © Oscar Luiz Monteiro de Farias

Relacionamento Ternário SUPPLY SUPPLIER r1 PROJECT s1 r2 s2 j1 r3 . j2 r4 j3 . r5 PART r6 p1 r7 p2 p3 . . Cada instância do relacionamento ri associa 3 entidades (objetos): um fornecedor s, uma peça p e um projeto j, sempre que s fornece a peça p para o projeto j. UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias Relacionamentos... Grau de um Relacionamento: é o número de tipos-entidades (classes) que participam do relacionamento. Relacionamentos como atributos (R=WORK_FOR) i) considerar um atributo department para o tipo-entidade EMPLOYEE ii) considerar um atributo multi-valorado employees no tipo-entidade DEPARTMENT UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias Relacionamentos... Papel (role name): o papel que cada entidade participante (objeto) de um tipo-entidade (classe) desempenha em uma relação de instância . Relacionamentos recursivos: ocorre quando o mesmo tipo-entidade (classe) participa mais de uma vez em um mesmo relacionamento. Neste caso o nome dos papéis é essencial para distinguir o significado de cada participação. UERJ © Oscar Luiz Monteiro de Farias

Relacionamento recursivo Papéis: supervisiona - vermelho é supervisionado - verde EMPLOYEE SUPERVISION r1 e1 r2 e2 r3 e3 r4 e4 r5 e5 r6 e6 r7 e7 . . UERJ © Oscar Luiz Monteiro de Farias

Restrições em Relacionamentos... Razão de Cardinalidade (cardinality radio): especifica o n0 de instâncias em um relacionamento de que uma dada entidade pode participar. Ex.: O relacionamento binário WORKS_FOR (DEPARTMENT:EMPLOYEE) possui a razão de cardinalidade 1:N, significando que cada departamento pode estar relacionado com vários empregados, mas que um empregado pode estar relacionado com apenas um departamento. Razões de cardinalidade comuns: 1:1; 1:N e M:N UERJ © Oscar Luiz Monteiro de Farias

Restrições em Relacionamentos... Participação parcial - quando não necessariamente todos os elementos de um conjunto participam de uma relação. Participação total (dependência existencial) - quando todos os elementos de um conjunto participam de uma relação. Participação total é indicada por uma linha dupla e participação parcial por uma linha simples UERJ © Oscar Luiz Monteiro de Farias

Atributos de Relacionamentos... Relacionamentos podem, à semelhança dos tipos-entidades, possuir atributos. Exs.: i) Nos de horas por semana que um empregado trabalha em um projeto; ii) data na qual um gerente começou a gerenciar um depto. Atributos de relacionamentos 1:1 e 1:N podem migrar para uma das entidades participantes. Nos relacionamentos 1:1 para qualquer dos tipos-entidades Nos relacionamentos 1:N apenas para o tipo-entidade do lado N da relação UERJ © Oscar Luiz Monteiro de Farias

Atributos de Relacionamentos... Para relacionamentos de grau M:N alguns atributos só podem ser determinados pela combinação das entidades participantes em uma determinada instância do relacionamento e não apenas para uma delas isoladamente. São, obrigatoriamente, atributos do relacionamento. Ex.: O atributo Hours do relacionamento M:N WORKS_ON UERJ © Oscar Luiz Monteiro de Farias

Tipos-entidades fracos (weak entity types)... Tratam-se de tipos-entidades (classes) que não possuem atributos chaves Entidades que pertençam a tipos-entidades fracos são identificadas por estarem relacionadas (identifying relationship) a entidades específicas de um outro tipo-entidade (identifying owner) em combinação com alguns de seus próprios valores de atributos. Um tipo-entidade fraco sempre possui uma restrição de participação total com respeito ao relacionamento de identificação (identifying relationship). Nem toda dependência existencial resulta em uma tipo-entidade fraco (ex.: carteira de motorista) UERJ © Oscar Luiz Monteiro de Farias

Tipos-entidades fracos (weak entity types) Um tipo-entidade fraco normalmente tem uma chave parcial, que é um conjunto de atributos que podem univocamente identificar entidades fracas relacionadas à mesma entidade possuidora (owner). Nos diagramas ER uma entidade fraca é representada por um retângulo em linhas duplas. Tipos-entidadades fracos às vezes podem ser representados por atributos multi-valorados compostos. UERJ © Oscar Luiz Monteiro de Farias

Refinando o Modelo ER p/ a empresa X... MANAGES - um relacionamento 1:1 entre EMPLOYEE e DEPARTMENT. A participação de EMPLOYEE é parcial; a de DEPARTMENT é total. O atributo StartDate é incluído no relacionamento. WORKS_FOR é um relacionamento 1:N entre DEPARTMENT e EMPLOYEE. Ambas as participações são totais. CONTROLS é um relacionamento 1:N entre DEPARTMENT e PROJECT. A participação de PROJECT é total, a de DEPARTMENT, parcial. UERJ © Oscar Luiz Monteiro de Farias

Refinando o Modelo ER p/ a empresa X... SUPERVISION é um relacionamento 1:N entre EMPLOYEE (supervisor) e EMPLOYEE (supervisionado). Ambas as participações são parciais, o que indica que nem todo empregado é um supervisor e nem todo empregado possui um supervisor. WORKS_ON é um relacionamento M:N entre EMPLOYEE e PROJECT. Ambas as participações são totais. O atributo Hours indica o número de horas em que um dado empregado trabalha em determinado projeto. DEPENDENTS_OF é um relacionamento 1:N entre EMPLOYEE e DEPENDENT. DEPENDENTS_OF é um relacionamento de identificação. A participação de EMPLOYEE é parcial, a de DEPENDENT é total. UERJ © Oscar Luiz Monteiro de Farias

Relacionamentos: Notações no Modelo ER A cardinalidade do relacionamento de cada relacionamento binário é representado anexando-se 1, M ou N na linha que conecta o símbolo da entidade respectiva ao relacionamento. Linha simples: participação parcial, Linha dupla: participação total. Associa um par de números inteiros (min, max) com cada participação do tipo-entidade E em um relacionamento R, onde 0  min  max e max  1. Para cada entidade e em E, e deve participar com no mínimo min e no máximo max instâncias de relacionamento em R. min=0 implica participação parcial e min > 0 participação total. UERJ © Oscar Luiz Monteiro de Farias

Nomeando as construções do esquema Usar nomes com alto conteúdo semântico Usar nomes no singular para os tipos-entidades Entidades e Relacionamentos em maiúsculas Atributos iniciam-se com letra maiúscula Nomes de papéis em minúsculas Usar nomes que correspondam à descrição do mini-mundo O diagrama ER deve ser lido da esquerda para a direita e de cima para baixo UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias UERJ © Oscar Luiz Monteiro de Farias

Relacionamentos de grau maior que 2 Um relacionamento R, de grau N, terá N linhas em um diagrama ER, cada uma conectando o Relacionamento a um tipo-entidade. Em geral um relacionamento ternário representa mais informação do que três relacionamentos binários. UERJ © Oscar Luiz Monteiro de Farias

© Oscar Luiz Monteiro de Farias UERJ © Oscar Luiz Monteiro de Farias

Relacionamento Binário x Ternário UERJ © Oscar Luiz Monteiro de Farias

Relacionamento de identidade ternário UERJ © Oscar Luiz Monteiro de Farias