Modelagem de dados usando o modelo EntidadeRelacionamento BANCO DE DADOS – 1º TRIMESTRE PROF. PATRÍCIA LUCAS Introdução • Modelagem conceitual – fase de planejamento/projeto de um BD; • Modelo Entidade/Relacionamento – Modelo conceitual de alto nível; Diagrama Entidade / Relacionamento; • DER -Diagrama Modelos de Dados Modelo conceitual (projeto conceitual) ◦ Modelo de dados abstrato que descreve a estrutura de um banco de dados independente de um SGBD Modelo lógico (projeto lógico) ◦ Modelo de dados que representa a estrutura dos dados de um banco de dados ◦ Dependente do modelo do SGBD Modelo físico (projeto físico) ◦ Nível de Implementação ◦ Depende do SGBD ◦ ênfase na eficiência de acesso Projeto de Banco de Dados Mini-mundo Coleta e Análise de Requisitos Requisitos de dados Projeto Conceitual Esquema conceitual Independente de SGBD Projeto Lógico Esquema lógico Projeto Físico Esquema físico Específico para um SGBD Modelagem Conceitual Modelo Entidade Relacionamento (ER) ◦ É a técnica mais conhecida ◦ Tem como objetivo auxiliar na especificação geral do sistema ◦ O modelo de dados é representado graficamente através de um Diagrama de EntidadeRelacionamento (DER). ◦ Principais conceitos do Modelo ER são: ◦ Entidades ◦ Atributos e ◦ Relacionamentos ◦ Notação: Criada por Peter Chen em 1976 Entidade Entidade ◦ É um conjunto de objetos do mundo real sobre os quais se deseja manter informações no banco de dados ◦ É distinguível de outros objetos ◦ Representada através de um retângulo Departamento ◦ Pode representar: ◦ objetos concretos (uma pessoa) ◦ objetos abstratos (um departamento) Empregado João Pedro Paulo Maria Contabilidade Financeiro Jurídico Pessoal Possui propriedades Atributos e Relacionamentos Atributo • É um dado que é associado a cada ocorrência de uma entidade ou de um relacionamento • Exemplos de atributos de entidades: Empregado Departamento Nome Endereço Salário Descrição númeroDeFuncionários Atributos Monovalorado:: possui um valor único em uma entidade ◦ Exemplo: nome Empregado nome Endereço Salário Composto: podem ser divididos em subpartes menores. ◦ Exemplo: endereço (rua, número, cidade) Empregado nome Endereço Salário Multivalorado:: possui mais de um valor para cada ocorrência da entidade nome ◦ Exemplo: telefone Endereço Empregado Salário telefone (0,N) Exercício • Considerando um sistema acadêmico, envolvendo entidades que todos conhecemos, defina pelo menos 3 atributos para cada uma das entidades abaixo: Aluno Professor Disciplina Turma Relacionamentos • Como expressamos que João trabalha no Departamento de Contabilidade? Empregado João Pedro Paulo Maria Departamento Diagrama de Ocorrências (instâncias) Contabilidade Financeiro Jurídico Pessoal Relacionamentos Relacionamento: ◦ É uma associação entre entidades ◦ Representado através de um losângulo e linhas que ligam as entidades relacionadas A nomeDoRelacionamento B Exemplos de Relacionamentos Medico Cliente Residência Cidade Consulta Paciente ContaCliente Conta Relacionamentos com Atributos Médico nome celular Consulta dataDaConsulta Paciente nome endereço instâncias Dr. Paulo Dr. Flora 22/10/2007 2007 05/02/2009 2009 20/03/2009 2009 Vania José Relacionamentos com Atributos Empregado nome salario Vania Pedro Gabriel Atuação função coordenador pesquisador bolsista Projeto sigla AATOM Sinpli Exercício • Identifique os relacionamentos no modelo lo e os aatributos do relacionamento (quando houver) – vide exercício anterior: Aluno Professor Disciplina Turma Exercício - Resposta CPF Nome Salario Professor regência atuação Aluno CPF Matricula nome Matrícula Turma Numero Sala horario Disciplina da Codigo nome CH Cardinalidade de Relacionamentos Uma propriedade importante dos relacionamentos é a especificação de quantas ocorrências de uma entidade podem estar associadas a uma determinada ocorrência de outra entidade Existem 2 cardinalidades: Máxima Mínima A B a1 b1 a2 b2 a3 b3 a4 b4 A ocorrência a1 da entidade A está relacionado a quantas Ocorrências em B? Cardinalidade de Relacionamentos • Cardinalidade (mínima, máxima) de uma entidade em relacionamento é o número (mínimo, máximo) de ocorrências de entidade associadas a uma ocorrência da entidade em questão através do relacionamento. matrícula nome data nasc. endereço sexo Funcionário número (0, n) trabalha em (1, 1) nome Departamento telefone Cardinalidades mínima e máxima para cada entidade relacionada Relacionamento Um para Um – 1:1 Uma ocorrência de A está associada a no máximo uma ocorrência de B, e uma ocorrência em B está associada a no máximo uma ocorrência em A. Conjunto A (Empregado) João Contabilidade Pedro Financeiro Jurídico Paulo Maria Empregado 1 Conjunto B (Departamento) Gerencia 1 Departamento Relacionamento Um para Muitos – 1:N Uma ocorrência de A está associada a várias ocorrências de B, porém uma ocorrência de B deve estar associada a no máximo uma ocorrência em A João Conjunto A (Departamento) Contabilidade Sandro Financeiro Pedro Ana Departamento 1 Lotação N Conjunto B (Empregado) Empregado Relacionamento Muitos para Muitos – M:N ou N:N Uma ocorrência de A está associada a qualquer número de ocorrências de B, e uma ocorrência em B está associada a qualquer número de ocorrências em A Conjunto A (Empregad o) João Sinpli Pedro AATOM Paulo MM-TOM Sigmoda Maria Empregado N Atua N Projeto Cardinalidade Mínima O modelo ER permite expressar cardinalidades mínimas e máximas em cada relacionamento ◦ Cardinalidade Mínima: ◦ número mínimo de ocorrências de uma entidade A com relação a uma outra entidade B ◦ Representação: ◦ (cardinalidade mínima, cardinalidade máxima) máxima ◦ Cardinalidades Possíveis: (1,1); (1,N); (0,1);(0 0,N) ◦ Cardinalidade mínima = 1 (relacionamento obrigatório) ◦ Cardinalidade mínima = 0 (relacionamento opcional) Cardinalidade Mínima e Máxima Exemplo de Relacionamento Obrigatório: cada ocorrência de cliente está relacionado a no mínimo quantas contas e no máximo quantas contas? Cada ocorrência de conta está relacionada a no mínimo quantos clientes e no máximo quantos clientes? Cliente (1,1) ContaCliente (1,N) Conta Exemplo de Relacionamento Opcional: Empregado (1,1) Gerencia (0,1) Departamento Exercício • Identifique as cardinalidades mínimas e máximas dos relacionamentos do modelo ER realizado nos exercícios anteriores. Resposta CPF Nome Salario Professor (0,N) regência (1,N) atuação (0,N) (1,N) Aluno Matrícula (0,N) (0,N) (1,N) Turma Numero Sala horario (1,1) Disciplina da Codigo nome CH Auto-Relacionamento Relacionamento (Relacionamento Unário) Relacionamento entre ocorrências da mesma entidade Pessoa Empregado supervisionado supervisor (1,1) (1,N) supervisiona Marido Esposa (0,1) (0,1) casadoCom supervisionada João Pedro Paulo Maria esposa supervisor Roberto Pedro Felipe Ana marido Restrições de participação e dependência de existência • A restrição de participação determina se a existência de uma entidade depende de sua existência relacionada à outra entidade, pelo tipo de relacionamento. • Essa restrição determina o número mínimo de instâncias de um relacionamento em que cada entidade pode participar (cardinalidade mínima). • São dois tipos: • Total: todo departamento deve ser gerenciado por um empregado (existência total). Empregado • 1 Gerencia 1 Departamento Parcial: Nem todo empregado deve gerenciar um departamento. Relacionamentos e Papéis • Papel é a função que uma ocorrência da entidade cumpre dentro de uma ocorrência do relacionamento ◦ Não é obrigatória no Modelo ER movimenta Cliente (1,1) alocado Empregado (1,N) É movimentada ContaCliente Atua (1,N) envolve (0,N) Conta Projeto Identificando Entidades Cada entidade deve ter um identificador Identificador (também conhecido como chave): ◦ É o conjunto de um ou mais atributos ou relacionamentos cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade ◦ Exemplo: os atributos CPF ou Carteira de Identidade identificam UNICAMENTE um cidadão brasileiro Representação no Modelo CPF Cliente NOME Identificando Relacionamentos Quando parte da chave é um relacionamento ◦ Exemplo: CPF do Empregado e numero seqüencial na entidade Dependente Cpf Nome Endereco Empregado Possui Dependente Número Nome Chave parcial = núm Entidade Fraca: Fraca entidade sem chave ◦ A entidade é identificada por algum atributo da entidade + algum relacionamento Entidade Forte: Forte entidade com chave ◦ A entidade é identificada por atributos da própria entidade Notação do DER ENTIDADE ENTIDADE FRACA RELACIONAMENTO RELACIONAMENTO IDENTIFICADOR ATRIBUTO SIMPLES ATRIBUTO IDENTIFICADOR ATRIBUTO MULTIVALORADO Notação do DER ATRIBUTO COMPOSTO CHAVE PARCIAL PARTICIPAÇÃO TOTAL DE E2 E EM R RAZÃO DE CARDINALIDADE 1:N PARA E1:E2 EM R RESTRIÇÃO TRIÇÃO EESTRUTURAL (MIN,MÁX) DA PARTICIPAÇÃO DE E EM R Exercício I 1. Todos os projetos de uma Universidade têm a participação de pelo menos um professor da universidade. Todos os departamentos são chefiados por um professor. Identifique entidades, relacionamentos e atributos. 2. Em uma empresa de peças usadas podem ter como componentes várias peças (ex: um motor é composto de cilindro, válvula, etc.) e uma peça pode ser componente de várias outras peças (ex: o parafuso está contido no motor, no pára-choque, pára na porta). Identifique entidades, relacioamentos e atributos. 3. Cada curso da Faculdade X pertence a um departamento da instituição. Esses departamentos são lotados por professores que são responsáveis por cada disciplina oferecida. Para os cursos é necessário guardar o nome, data de reconhecimento do MEC e a duração. Para os professores é necessário guardar o nome, telefone e endereço e pra os departamentos o nome. Exercício II 1. Considere o diagrama ER mostrado no próximo slide. a) b) c) d) e) Liste as entidades (não fracas) do diagrama. Há um tipo de entidade fraca? Se sim, dê o seu nome, chave parcial e o relacionamento identificador. Quais restrições a chave parcial e o relacionamento identificador do tipo entidade fraca especificam nesse diagrama? Liste todos os relacionamentos e especifique a restrição (min,max) em cada participação de entidade. Justifique suas escolhas. Liste os requisitos do usuário que levaram a esse projeto. Modelagem com ER Estendido • Especialização/Generalização • • • Subclasses Superclasses Herança Subclasses, Superclasses e Herança • Uma entidade Empregado se refere ao conjunto corrente das entidades Empregado do banco de dados Empresa. • Em muitos casos, um tipo entidade tem numerosos subgrupos dessas entidade, que são significativos e que necessitam ser representados. • Ex: as entidades que são membros do tipo Empregado podem ser agrupadas em Empregado_assalariado e Empregado_horista. • O conjunto de entidades de cada um desses grupos é um subconjunto das entidades que pertencem ao conjunto de entidades Empregado, significando que toda entidade, que é um membro de um desses subgrupos, é também um empregado. • Chamamos cada um desses subgrupos uma subclasse do tipo entidade Empregado. • E o tipo entidade Empregado é conhecido como superclasse para cada uma dessas subclasses. Exemplo: Empregado Horista Superclasse Assalariado Subclasses Herança • Um importante conceito associado a subclasses é o tipo de herança. • Recordemos que o tipo de uma entidade é definido pelos atributos que ela possui e pelos tipos relacionamento dos quais participa. • Como uma entidade de uma subclasse representa a mesma entidade do mundo real da superclasse, ela deve possuir valores para seus atributos específicos, bem como valores para seus atributos como membro da superclasse. • Dizemos que uma entidade, que é membro de uma subclasse, herda todos os atributos da entidade como membro da superclasse, assim como os relacionamentos. Especialização/Generalização total: para cada ocorrência da entidade genérica existe sempre uma a ocorrência em uma das entidades especializadas. CARRO t CARRO PARTICULAR CARRO OFICIAL CARRO CORRIDA Especialização/Generalização parcial: nem toda ocorrência da entidade genérica possui uma ocorrência correspondente em uma entidade especializada. FUNCIONÁRIO tipo ANALISTA p GERENTE SECRETÁRIA Exemplo: 1. Em uma biblioteca identificamos o conjunto de Leitores que podem ser classificados em Alunos e Professores. Estes leitores possuem características comuns como: nome e CPF; e características específicas de acordo sua classificação. classificação Para os alunos as características são: curso e turma; e para os professores, o departamento. departamento Resolução do exemplo: Nome Leitor CPF Departamento Professor Aluno Curso Turma Entidades Associativas • Em alguns casos, é necessário que associemos uma entidade com a ocorrência de um relacionamento. O modelo de entidades e relacionamentos não permite relacionamentos entre relacionamentos, somente entre entidades. entidades A idéia da entidade associativa é tratar um relacionamento como se ele fosse uma entidade. entidade Exemplo ◦ Exemplo: Se desejarmos controlar os medicamentos receitados pelo médico em determinada consulta, temos que relacionar a entidade medicamento com o fato de ter havido uma consulta (relacionamento consulta). Médico N Consulta N Emissão N Medicamento N Paciente Exercícios 1 1. Museus possuem em seus acervos obras de diversos artistas plásticos. Deseja-se Deseja registrar o nome do artista, seu pseudônimo e sua data de nascimento, o título da bra, a data em que o museu adquiriu a obra, bem como o nome do museu. 2. Sabe-se se que todos os funcionários de uma empresa estão lotados em algum departamento, que pode ou não ter funcionários. Nessa empresa, é feito um acompanhamento dos cursos de especialização realizados por todos os engenheiros. Das secretárias, deve-se deve conhecer as línguas estrangeiras que cada uma domina. Quanto aos motoristas, deve-se deve ter controle sobre os veículos que dirigem, além de eventuais acidentes ocorridos. 3. Em um concerto as músicas possuem gravações feitas por diversas orquestras. Cada gravação foi feita em uma determinada data e pode estar contida em vários volumes de disco. Exercícios 4. Uma indústria é dividida em setores de produção. Cada setor é responsável pela produção de determinados tipos de peça. Um peça pode ser composta de várias peças. Cada setor tem um funcionário responsável e um suplente, que também é funcionário. 5. A empresa WK possui diversos planos de assinaturas com preços e canais diferenciados. Seus clientes assinam planos e podem comprar programas adicionais. Cad aplano possui diversos canais e cada canal possui uma programação onde cada programa em um canal possui data e hora de exibição. 6. Os transplantes ocorridos no Hospital K&K referem-se referem a um paciente e a vários órgãos. Cada transplante ocorre em uma sala do hospital, utiliza vários equipamentos, é pago através de um convênio/plano de saúde e é de responsabilidade de vários médicos. Exercícios 2 1. O setor de manutenção de equipamentos de informática trabalha coma manutenção de computadores e impressoras. Para os computadores são registrados as suas configurações básicas de hardware (modelo do processador, tamanho do HD e memória RAM) e software (versão do SO e antivirus instalado). Para as impressoras são guardadas informações do seu modelo e fabricante. Cada equipamento contém um código de patrimônio, uma descrição, a data da última manutenção preventiva e o setor onde está lotado. Existe ainda a necessidade de ter cadastrado a localização do setor de origem do equipamento (prédio, sala, andar), o funcionário responsável por este setor e o número dos seus ramais. O setor de manutenção tem registrado o histórico das manutenções preventivas dos equipamentos, com a data das manutenções, a descrição do serviço executado, o técnico responsável e os materiais utilizados durante a manutenção.