Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Modelagem Conceitual – parte I Vitor Valerio de Souza Campos Objetivos � Apresentar a modelagem conceitual como parte integrante do projeto de um BD � Mostrar as vantagens de uma documentação conceitual de dados � Apresentar os elementos de um modelo Entidade Relacionamento Modelagem conceitual Sumário � Modelagem conceitual � Conceitos do modelo Entidade Relacionamento (ER) � Entidade � Relacionamento � Auto-relacionamento � Cardinalidade de relacionamento � Classificação de relacionamento � Relacionamento ternário Modelagem Conceitual Projeto de Banco de Dados � Etapas de um projeto de Banco de Dados 1. análise de requisitos 2. projeto conceitual 3. projeto lógico 4. projeto físico � preocupação com a representação adequada de dados da organização � definição de esquemas de dados em diferentes níveis de abstração Modelagem Conceitual Análise de requisitos � Análise de requisitos � engloba todas as tarefas que lidam com investigação, definição e escopo de novos sistemas ou alterações de sistemas existentes. � A análise de requisitos é também conhecida por outros nomes: � Engenharia de requisitos � Levantamento de requisitos � Captura de requisitos � Análise de sistema � Especificação de requisitos � Análise de requerimentos Modelagem Conceitual Análise de requisitos � Análise de requisitos inclui três tipos de atividades: � Elicitação dos requisitos: � é a tarefa de comunicar-se com os usuários e clientes para determinar quais são os requisitos. � Análise de requisitos: � determina se o estado do requisitos é obscuro, incompleto, ambíguo , ou contraditório e resolve estes problemas. � Registros dos requisitos: � os requisitos podem ser documentados de várias formas, tais como documentos de linguagem natural, casos de uso , ou processo de especificação 2 Modelagem Conceitual Projeto conceitual � Projeto conceitual � Modelagem dos dados e seus relacionamentos independente da estrutura de representação do SGBD (modelagem conceitual) � Forma de realização: � análise da especificação de requisitos � Resultado: � esquema conceitual + restrições de integridade fonte: http://www.inf.ufsc.br/~ronaldo/ine5623 Modelagem Conceitual Exemplo de projeto conceitual Esquema ER (Entidade-Relacionamento) + restrições de integridade Código > 100 Função = {professor, funcionário} fonte: http://www.inf.ufsc.br/~ronaldo/ine5623 Modelagem Conceitual Projeto lógico � Projeto Lógico � Conversão do esquema conceitual para o esquema de representação de um SGBD (esquema lógico) � Forma de realização: aplicação de regras de conversão � Resultado: esquema lógico (tabelas, RIs, transações, consultas relevantes, autorizações de acesso, ...) fonte: http://www.inf.ufsc.br/~ronaldo/ine5623 Modelagem Conceitual Exemplo de projeto lógico Conversão do ER para o relacional Servidores (Matrícula, Nome, Função, Depto) chave primária: Matrícula chave estrangeira: Depto (tabela Departamentos) Função IN {professor, funcionário} Consultas relevantes: a) dados do servidor, dada a matrícula; b) matrícula e nome dos servidores por função; ... Departamentos (Código, Nome) Código > 100 chave primária: Código . . . Código > 100 Função = {professor, funcionário} fonte: http://www.inf.ufsc.br/~ronaldo/ine5623 Modelagem Conceitual � Projeto Físico � Definição do esquema lógico em um SGBD adequado ao modelo � Forma de realização: SQL � Resultado: esquema físico fonte: http://www.inf.ufsc.br/~ronaldo/ine5623 Modelagem Conceitual Exemplo de projeto lógico Conversão do ER para o relacional Servidores (Matrícula, Nome, Função, Depto) chave primária: Matrícula chave estrangeira: Depto (tabela Departamentos) Função IN {professor, funcionário} Consultas relevantes: a) dados do servidor, dada a matrícula; b) matrícula e nome dos servidores por função; ... Departamentos (Código, Nome) Código > 100 chave primária: Código . . . Especificação em SQL CREATE TABLE Servidores ( Matrícula int, Nome char(50), Função char(20) check(Função in (‘professor’, ‘funcionário’)), Depto int NOT NULL, primary key(Matrícula), foreign key(CódigoDepto) references Departamentos); create index FuncServidor on Servidores (Função); create table Departamentos ( . . .); fonte: http://www.inf.ufsc.br/~ronaldo/ine5623 3 Modelagem Conceitual Projeto Top-Down - Objetivos � Projeto Conceitual � Preocupação: correta abstração do mundo real � (captura correta da semântica da aplicação) � Projeto Lógico + Físico � Preocupação: escolhas corretas na conversão para o esquema do SGBD (relacional) para maximizar o desempenho � (distribuição adequada dos dados em tabelas) fonte:http://www.inf.ufsc.br/~ronaldo/ine5623 Modelagem Conceitual � Vantagens de uma documentação conceitual de dados � independente de detalhes de implementação em um SGBD � facilita a definição da semântica dos dados de um domínio � melhor compreendido por usuários leigos � pode ser mapeado para qualquer modelo de BD Modelagem Conceitual � Vantagens de uma documentação conceitual de dados � facilita a manutenção dos dados � modificação de requisitos de dados � engenharia reversa (desempenho, ...) � facilita a migração de SGBD � usado como modelo intermediário Modelagem Conceitual Modelo Entidade-Relacionamento � Modelo definido por Peter Chen em 1976 � sofreu diversas extensões e notações ao longo do tempo � Padrão para modelagem conceitual de BD � modelo simples � poucos conceitos � representação gráfica � fácil compreensão � Um esquema conceitual de BD é também chamado de diagrama ER Conceitos do Modelo ER Entidade � Entidade � Conjunto de objetos da realidade modelada sobre as quais deseja-se manter informações no banco de dados (Heuser, 1998). � Uma entidade é representada por um retângulo que contém o nome da entidade DepartamentoEmpregado p1 p2 p3 d5 d4 d3 d2 d1 p4 Diagrama de ocorrências Entidade p5 4 Conceitos do Modelo ER Relacionamento � Relacionamento � Conjunto de associações entre entidades. � É representado por um losango ligado por linha aos retângulos. � Relacionamento binário: � ocorrências envolvem duas entidades ou associações entre ocorrências de uma mesma entidade. DepartamentoEmpregado p1 p2 p3 d5 d4 d3 d2 d1 p4 Diagrama de ocorrências relacionamentos p5 Trabalha-para p2.d2 p1.d2 p5.d4 Conceitos do Modelo ER Auto-relacionamento � Auto-relacionamento � É um relacionamento entre ocorrências de uma mesma entidade. � Tem-se um conceito adicional o de papel da entidade no relacionamento. � Uma ocorrência da entidade exerce o papel1 e a outra ocorrência da entidade exerce o papel2. Pessoa Casamento p4.p5 p1.p2 p5 p4 p3 p2 p1 Marido Esposa Marido Esposa Diagrama de ocorrências auto-relacionamento Conceitos do Modelo ER Cardinalidade de relacionamento � Cardinalidade (mínima, máxima) de entidade em relacionamento � 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 (Heuser, 1998). � Cardinalidade máxima � Empregado tem cardinalidade máxima igual a 1 no relacionamento Trabalha-para. � Departamento tem cardinalidade máxima igual a n no relacionamento Trabalha-para. Conceitos do Modelo ER Cardinalidade de relacionamento 5 � Cardinalidade máxima � Expressa que uma ocorrência de EMPREGADO (entidade do lado oposto da notação) pode estar associada ao máximo uma (1) ocorrência de DEPARTAMENTO. Conceitos do Modelo ER Cardinalidade de relacionamento � Cardinalidade máxima � Expressa que uma ocorrência de DEPARTAMENTO (entidade do ladooposto da notação) pode estar associada ao máximo (n) ocorrências de EMPREGADO. Conceitos do Modelo ER Cardinalidade de relacionamento � A cardinalidade máxima pode ser usada para classificar relacionamentos � Classificação de relacionamentos � n:n (muitos-para-muitos), � 1:n (um-para-muitos) � 1:1 (um-para-um) Conceito: Classificação de relacionamentos binários Conceito: Classificação de relacionamentos binários � Classificação de relacionamentos � 1:1 (um-para-um) Conceito: Classificação de relacionamentos binários � Classificação de relacionamentos � 1:n (um-para-muitos) Conceito: Classificação de relacionamentos binários � Classificação de relacionamentos � n:n (muitos-para-muitos) 6 Conceitos do Modelo ER – Relacionamento ternário � Grau de relacionamento: � É o número de entidades que participam desse relacionamento � Relacionamentos ternários � São relacionamentos de grau três. Conceitos do Modelo ER – Relacionamento ternário � Cardinalidade em relacionamentos ternários: � Refere-se a pares de entidades. � No relacionamento R entre as entidades A, B e C, a cardinalidade máxima de A e B dentro de R indica quantas ocorrências de C podem estar associadas a um par de ocorrências de A e B. Conceitos do Modelo ER – Relacionamento ternário � O “1” expressa que: � Cada par de ocorrências (Candidato, Empresa) esta associado a no máximo uma Entrevista Conceitos do Modelo ER – Relacionamento ternário � O “n” expressa que: � Cada par de ocorrências (Candidato, Entrevista) esta associado a muitas empresas Conceitos do Modelo ER – Relacionamento ternário � O “n” expressa que: � Cada par de ocorrências (Empresa, Entrevista) esta associado a muitos Candidatos Entrevista Candidato c1 p2 v3 v2 v1 Diagrama de ocorrências relacionamentos CCI c1.v1.e1 Empresa e1 c2 e2 e3 c1.v2.e2 c2.v1.e1 c2.v3.e3 c1.e3.v3 7 � Cardinalidade mínima de entidade em relacionamento � Número mínimo de ocorrências de entidade associadas a uma ocorrência da entidade em questão através do relacionamento. (HEUSER, 1998). � Cardinalidade mínima 1 recebe a denominação de associação obrigatória � Cardinalidade mínima 0 recebe a denominação de associação opcional Conceitos do Modelo ER Cardinalidade de relacionamento � Empregado tem cardinalidade mínima igual a 1 no relacionamento Possui. � Dependente tem cardinalidade mínima igual a 0 no relacionamento Possui. Conceitos do Modelo ER Cardinalidade de relacionamento � Expressa que uma ocorrência de EMPREGADO (entidade do lado oposto da notação) pode existir sem que a ela esteja associado um DEPENDENTE. Conceitos do Modelo ER Cardinalidade de relacionamento � Expressa que uma ocorrência de DEPENDENTE (entidade do lado oposto da notação) deve estar associada a no mínimo 1 ocorrência de EMPREGADO. Conceitos do Modelo ER Cardinalidade de relacionamento Revisão modelo ER – Notação Entidade E1 E2 a4 (0,1) a1 r 1 a3 (1,n) (0,n) r 2 (1,n) a2 (0,n) E3 (1,1) (1,n) E4 a8 (1,n) a7 a5 a6 r 3 (0,n) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,n) (1,1) r 5 (1,n) (0,n) E10 E11 r 6 (1,1) E12 (0,1) a9 a10 a12 a13 a11 E1 entidade Indique uma entidade neste DER Revisão modelo ER – Notação Relacionamento E1 E2 a4 (0,1) a1 r 1 a3 (1,n) (0,n) r 2 (1,n) a2 (0,n) E3 (1,1) (1,n) E4 a8 (1,n) a7 a5 a6 r 3 (0,n) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,n) (1,1) r 5 (1,n) (0,n) E10 E11 r 6 (1,1) E12 (0,1) a9 a10 a12 a13 a11 relacionamento Aponte um relacionamento neste DER 8 (0,n)(0,n) Revisão modelo ER – Notação Auto-relacionamento E1 E2 a4 (0,1) a1 r 1 a3 (1,n) (0,n) r 2 (1,n) a2 (0,n) E3 (1,1) (1,n) E4 a8 (1,N) a7 a5 a6 r 3 (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,n) (1,1) r 5 (1,n) (0,n) E10 E11 r 6 (1,1) E12 (0,1) a9 a10 a12 a13 a11 r 3 (1,1) papel 1 papel 2 Apresente no DER um auto- relacionamento auto-relacionamento (1,n)(1,n) (1,n)(1,n) Revisão modelo ER – Notação Relacionamento ternário E1 E2 a4 (0,1) a1 r 1 a3 (1,n) (0,n) r 2 a2 (0,n) E3 (1,1) E4 a8 (1,n) a7 a5 a6 r 3 (0,n) (1,1) papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,n) (1,1) r 5 (1,n) (0,n) E10 E11 r 6 (1,1) E12 (0,1) a9 a10 a12 a13 a11 r 2 (1,1) relacionamento ternário Indique o relacionamento ternário (0,n) (1,1) (1,n) Revisão modelo ER – Notação Cardinalidade E1 E2 a4 (0,1) a1 r 1 a3 r 2 (1,n) a2 (0,n) E3 (1,1) (1,n) E4 a8 (1,n) a7 a5 a6 r 3 (0,n)papel 1 papel 2 E5 E6 p E7 E8 r 4 E9 (0,n) (1,1) r 5 (1,n) (0,n) E10 E11 r 6 (1,1) E12 (0,1) a9 a10 a12 a13 a11 Cardinalidade máxima n Cardinalidade máxima 1 Indique a cardinalidade máxima de dois relacionamentos Pontos importantes � Apresentou-se a modelagem conceitual como parte integrante do projeto de um BD � Mostrou-se as vantagens de uma modelagem conceitual de dados � Conceitos da abordagem ER � Entidade � Relacionamento � Auto-relacionamento � Cardinalidade de relacionamento � Classificação de relacionamento � Relacionamento ternário Tópicos subsequentes � Atributo � Cardinalidade de atributo � Tipos de atributos � Entidade Fraca � Entidade Associativa � Generalização/especialização Referências Bibliográficas � HEUSER, Carlos Alberto. Modelos de Banco de Dados. In: ______. Projeto de Banco de Dados. Porto Alegre: Sagra Luzzatto, 1998. p. 5-8. � HEUSER, Carlos Alberto. Abordagem entidade-relacionamento. In: ______. Projeto de Banco de Dados. Porto Alegre: Sagra Luzzatto, 1998. p. 11-40.
Compartilhar