o Modelo Entidade-Relacionamento Gerenciamento de Dados e Informação Fernando Fonseca & Robson Fidalgo 1
Modelagem Transformar aspectos do mundo real em um modelo de dados formal Modelagem Conceitual Modelo de Dados Genéricos Específicos de SGBD Modelagem Lógica 2
Componentes de um Modelo de Dados Uma coleção de tipos de objetos Blocos básicos de construção de modelos (Estruturas) Ex: Relações, Domínio (Modelo Relacional) Uma coleção de operações Meio de manipular e atualizar os tipos de objetos Ex: Álgebra Relacional (Modelo Relacional) 3
Componentes de um Modelo de Dados Uma coleção de regras de integridade Restringem o conjunto de estados válidos dos tipos de objetos (conteúdo) Ex.: Valores de chave primária devem ser únicos e não nulos (Modelo Relacional) 4
Estruturas Representam atributos cujos valores são interpretações de objetos do mundo real e suas propriedades Inteiro Domínio Idade Preço Número de Veículos Atributos 5
Operações Especificam uma Ação - O Que é Para Ser Feito Acessar Inserir Remover Atualizar Seleção Idade de Maria? Acessar Dados e Armazená-los em Memória Principal 6
Operações (cont.) Transformam um estado de BD em outro estado Preservando propriedades do esquema do BD e do modelo de dados Dois níveis: Definidas pelo SGBD Implementadas pela aplicação 7
Restrições Razões semânticas (regras de negócio) Permitem que os esquemas reflitam mais precisamente as situações do mundo real Ex.: Um empregado do departamento Finanças não pode ter a categoria funcional Engenheiro De integridade Restringem os estados possíveis do BD àqueles que respondem às restrições Ex.: O CPF de todo empregado deve ser único e não pode ser desconhecido (não informado) 8
Restrições (cont.) Tipos Básicos Implícitas Restrições inerentes a cada modelo e parte integral das estruturas do modelo Ex.: Conjuntos e Relações (Ausência de duplicidade e ordem) Ex.: A quantidade de faltas de um aluno é um número inteiro 9
Restrições (cont.) Tipos Básicos (Cont.) Explícitas Estáticas: Expressam regras para determinar estados válidos do BD O salário de um funcionário deve ser igual ou superior ao salário mínimo nacional Dinâmicas: Especificam que transições de estados são permitidos (Dirigidas a operações) O salário de um funcionário nunca poderá diminuir, só aumentar 10
Modelagem Conceitual Análise de Dados Primeiro passo no desenvolvimento de um BD Determinar os recursos de dados fundamentais de uma organização Em termos de entidades e relacionamentos...permitindo o projeto de uma estrutura de capaz de dar apoio a diversas aplicações relacionadas 11
Modelagem Conceitual Alguns impactos da Análise de Dados Auxilia o desenvolvimento ou conversão de aplicações Estabelece as bases de todos os fatos relevantes à organização de dados Facilita a integração das diversas divisões de uma organização pela indicação dos dados que lhe são comuns Forma uma base para o controle de dados, segurança e auditoria 12
Modelagem Conceitual Ciclo de Desenvolvimento de Bancos de Dados Investigação dos Dados Modelagem dos Dados Projeto do Banco de Dados Implementação do Banco de Dados Monitoramento e Manutenção do BD 13
Modelo Entidade-Relacionamento Resultado da modelagem conceitual Dados que deverão ser armazenados em um BD Representado graficamente Passível de transformação para o nível lógico Mapeamento ER -> Relacional Ferramentas disponíveis: http://dia-installer.de/index_en.html (através de sheets) http://www.freedownloadscenter.com/business/accounting_tools/entity_ 14
Modelo Entidade- Relacionamento (E/R) Entidade Representação abstrata dos objetos do mundo real - dados que são armazenados (um Ser, um Fato) Ex.: Funcionário, Departamento Conjunto/Tipo de Entidade vs. Entidades Grupos de entidades com características similares Ex.: Conjunto de Departamentos da Empresa Corresponde aos substantivos na descrição da análise conceitual 15
Relacionamento Associação entre objetos dos sistema Ex: Departamento D1 Emprega o Funcionário F3 Conjunto de Relacionamentos Grupo de relacionamentos do mesmo tipo Ex: Emprega (Departamento X Funcionário) Corresponde aos verbos na descrição da análise conceitual 16
Atributos Modelo E/R Toda propriedade de uma entidade ou relacionamento Ex: Nome, Endereço e Salário são propriedades de Funcionário Chave - Atributo(s) Determinante(s) Conjunto de atributos que determina unicamente uma ocorrência de uma entidade 17
Atributos (Cont.) Ex: CÓDIGO MATRÍCULA Disciplina Funcionário Complementam as entidades da análise conceitual Atributos pertencem a um domínio 18
Conceitos Complementares Entidades Fortes e Fracas Atributos Compostos, Simples, Mono e Multivalorados Auto-Relacionamento ou Relacionamento Recursivo Nomes de Papéis Grau e Cardinalidade de Relacionamentos Existência Relacionamento Total ou Obrigatório Relacionamento Parcial ou Opcional 19
Diagrama E/R Modelo E/R Conjunto de Entidades Conjunto de Relacionamentos Ferramenta CASE 20
Diagrama E/R E1 nome 1 R1 nome 2 Papel Ferramenta CASE E2 Papel 21
Diagrama E/R Exemplo de papéis em relacionamentos Cardinalidade É Supervisionado Empregado Supervisiona Trabalha-no Reúne Empregado n 1 n 1 Supervisão Departamento 22
Diagrama E/R Cardinalidade Número de entidades às quais outra entidade pode estar associada via relacionamento Um - para - um E1 1 R1 1 A B E2 23
Cardinalidade de relacionamentos Um - para - muitos E1 1 R1 n A B E2 24
Cardinalidade de Relacionamentos Muitos - para - muitos E1 m R1 n A B E2 25
Mais de um relacionamento envolvendo as mesmas entidades n Leciona m Professor Disciplina 1 Coordena 1 26
Um Relacionamento pode ser N-ário Agência 1 Cliente m CCA n Conta 27
Ferramenta CASE Relacionamento N-ário 28
Relacionamento fraco Restrição de existência Hospital Entidade Forte Tem Relacionamento Fraco Ambulatório Entidade Fraca 29
Ferramenta CASE - Relacionamento fraco 30
Dependência de identidade Entidade não pode ser identificada através de seus próprios atributos Hospital atributo 1 atributo 2... atributo n Ambulatório atributo 1 atributo x... atributo k 31
Diagrama E/R Conjunto de Atributos Ferramenta CASE at 1 at 2 E1 at 3 Chave primária 32
Diagrama E/R Conjunto de Atributos Multivalorados Ferramenta CASE Modelo E/R at 1 at 2 E1 at 3 Atributo multivalorado 33
Atributos derivados Atributo Derivado Idade Data Nascimento Pessoa 34
Diagrama E/R Auto-relacionamento E1 n R1 1 E1 Relacionamento Total ou Obrigatório R1 E1 ou E2 R1 E2 35
Ferramenta CASE Auto-relacionamento Ferramenta CASE Relacionamento obrigatório 36
Diagrama E/R Relacionamento Parcial ou Opcional E1 R1 E2 37
Relacionamento Relevante X Redundante Necessita compreensão detalhada do 1 Faz R3 ambiente n Cliente Tem R2 m Pedido n 1 Entrega R1 ao n Entrega 1 Recebe R4 n 38
Determinação da existência de relacionamento Outro relacionamento entre as mesmas entidades tem o mesmo significado Se um atributo puder descrever mais de um tipo de entidade, pode se tornar um relacionamento Ex. O atributo leciona da entidade Professor 39
Determinação de existência (Cont.) Atributo como outra entidade O próprio atributo tem atributos relevantes adicionais Outras entidades são vistas relacionadas com entidades do segundo tipo Entidades do segundo tipo podem se relacionar com várias ocorrências do primeiro tipo 40
Relacionamentos entre subtipos Entidades que generalizam outras entidades Diferenças significativas entre seus atributos (existência) Mas um subconjunto comum Tiverem diferentes meios de identificação Participarem em relacionamentos de tipos diferentes 41
Relacionamentos entre subtipos (cont.) Hierarquia de relacionamentos É-UM Contribui para a modularidade, permitindo que atributos comuns de entidades similares possam ser representados em um único lugar de um diagrama E/R 42
Relacionamentos entre subtipos (Cont.) Generalização e especialização Número Conta Saldo Juros Conta Poupança É UMA Limite Conta-Corrente 43
Ferramenta CASE Especialização 44
Relacionamentos entre subtipos (Cont.) Pessoa Candidato Funcionário Pensionista Gerente Operário 45
Um conceito do mundo real pode ser mais bem representado por um conjunto de entidades ou conjunto de relacionamentos Nome CPF Número Nome Cliente m Conta n Agência Relacionamento Número Saldo 46
Agência 1 Entidade N Conta M N Cliente 47
Uso de um Relacionamento Ternário Versus um par de Relacionamentos Binários Ex.: Um Empreendimento Bancário onde um Cliente pode ter diversas Contas, mas apenas uma conta por Agência, uma agência pode ter diversas contas e uma Conta pode pertencer a mais de um Cliente Agência 1 Relacionamento Ternário Cliente M CCA N Conta 48
1 Agência Relacionamentos Binários CA N Cliente Conta N CC M 49
Uso de um atributo ou um conjunto de entidades Distinção depende da estrutura da empresa que está sendo modelada e da semântica associada ao atributo em questão Nome Telefone Funcionário Convencional Funcionário M N Telefone Funtel Telemarketing Modelagem Graduação Conceitual e 50
Agregação Agrupar uma parte de um diagrama E/R em um único conjunto-entidade Nome Horas Cod Descrição Funcionário m Trab n Projeto m Usa n Id Equipamento 51
Ferramenta CASE Agregação 52
Um Exemplo Exemplo: Um Sistema Único de Saúde Ideal Hospitais são formados por um ou mais Ambulatórios e cada um destes está em um único Hospital Médicos clinicam em um único Hospital, cada um deles agregando vários Médicos Hospitais solicitam exames clínicos em vários Laboratórios, cada um destes pode ter solicitações de vários Hospitais Pacientes consultam vários Médicos, e estes são consultados por vários Pacientes 53
Um Exemplo Ambulatórios atendem vários Pacientes, enquanto estes só podem ser atendidos em um único Ambulatório Pessoal de apoio está alocado a cada Ambulatório, e cada um destes conta com vários integrantes do Pessoal de apoio Pacientes realizam vários Exames, e cada Exame é realizado por um único Paciente Laboratórios fazem vários Exames, e cada um dos Exames é feito em um único Laboratório 54
Um Exemplo Cada Paciente pode receber vários Diagnósticos, e cada Diagnóstico é de um único Paciente 55
Um Exemplo 1 Formado N Hospital 1 N Clinica M Solicita N Ambulatório 1 1 Aloca Atende N Pessoal N Médico M 1 Consulta N Paciente Recebe N Realiza 1 N Diagnóstico Laboratório 1 N Faz Exame 56
Um Exemplo Ferramenta CASE (1,1) (1,1) (1,n) (1,1) (1,1) (1,n) (0,1) (1,n) Realiza (0,1) (0,1) Modelagem Mestrado / Conceitual Doutorado e 57
Exercício Deseja-se guardar dados sobre empregados, departamentos e projetos de uma companhia Suponha que, depois da fase de análise de requisitos, os projetistas chegaram à seguinte descrição do mini-mundo, ou seja, a parte da companhia a ser representada no banco de dados: 58
Exercício A companhia é organizada em departamentos e cada depto tem um nome, um número e um empregado que o gerencia. Deseja-se guardar a data na qual o empregado começou a gerenciar o depto. Um departamento pode estar em vários locais. Um depto controla um número de projetos, os quais possuem número, nome e um único local. Um empregado é caracterizado por um cadastro, nome, sexo e salário. Ele está associado a um depto mas pode trabalhar em vários projetos que não necessariamente são controlados pelo mesmo depto. Deseja-se guardar o número de horas que um empregado trabalha em um projeto e o supervisor direto de cada empregado (que também é um empregado). Cada empregado possui dependentes caracterizados por nome, data de nascimento e grau de parentesco. 59