Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 objeto abstrato objeto detalhe BANCO DE DADOS Modelo Entidade-Relacionamento Estendido 1 Abstrações em Modelos de Dados O conceito de abstrações de dados consiste em, durante o processo de modelagem dos dados, abstrair-se a informação que é necessária, desconsiderando-se a que não é. Os modelos de dados semânticos e orientados a objetos providenciam mecanismos para a representação de abstrações em um esquema de dados, permitindo que a informação seja mantida tanto de maneira mais abstrata quanto de maneira mais detalhada, sendo possível acessar a informação dessas duas maneiras. Considerando uma informação como uma coleção de objetos, pode-se identificar um objeto como a representação da informação de maneira mais abstrata, chamado objeto abstrato, e a informação mais detalhada como representada por um ou mais objetos, chamados objetos detalhe. Na figura seguinte é apresentada uma interpretação genérica de abstração, onde o objeto abstrato relaciona-se com o objeto detalhe por meio dos relacionamentos abstrair e detalhar. Essa conexão semântica entre os objetos envolvidos em uma abstração é responsável por permitir uma visão mais abstrata ou detalhada da informação. detalhar abstrair No processo de modelagem de dados, detalhar ou abstrair são ações diferentes: Detalhar: modelar os dados gerais e, posteriormente, determinar quais são os detalhes de interesse e integrá-los aos demais elementos do esquema de dados. Abstrair: modelar os dados detalhados e, posteriormente, verificar se esses dados podem ser abstraídos. Usando abstrações de dados, o resultado final do processo de modelagem é o mesmo (as informações são mantidas tanto de maneira mais abstrata quanto mais detalhada). 2 A seguir tem-se uma visão geral das principais abstrações existentes em modelos de dados: • Generalização: abstração de características comuns (genéricas) contidas em vários objetos e generalizá-las em um único objeto; • Classificação: objetos semelhantes são classificados por meio de um tipo; • Agregação (Associação): associação de objetos já existentes para a criação de outros objetos com características próprias; • Composição: objetos são compostos por outros objetos; • Sumarização: objetos são agrupados para resumir informações de outros objetos (média, total, somatório etc). Na tabela seguinte tem-se um resumo dos elementos de cada uma dessas abstrações de acordo com a figura anterior: Abstração Detalhe Componentes Relacionamentos Propriedade Objeto Abstrato Objeto Detalhe Abstrair Detalhar Generalização Especialização genérico específico generalizar (é um) especializar herança Classificação Instanciação classe (tipo) instância pertencer (é do tipo) instanciar criação (formatação) Agregação Separação agregação parte associar (faz parte de) separar identificação Composição Decomposição composto (complexo) parte compor (é parte de) decompor propagação (o que se faz no todo se faz nas partes) Sumarização Separação resumo amostra sumarizar amostrar operação (média, total, mínimo, etc) Existe uma variação entre o que se entende por abstração de Composição, Agregação e Sumarização. Alguns autores consideram Agregação e Sumarização como casos particulares de Composição. Duas abstrações de dados foram incorporadas ao ME-R, resultando no ME-R Estendido: Generalização e Agregação. 2 Abstração de Generalização no ME-R Estendido 2.1 Classes, Subclasses e Superclasses Uma classe de entidades representa um grupo de entidades do mesmo tipo. Por exemplo, o CE Funcionário do esquema de dados de uma empresa é uma classe. Em alguns casos, uma classe tem subgrupos de suas entidades que são significativos e precisam ser representados em razão de sua importância. Por exemplo, as entidades da classe Funcionário podem ser agrupadas nos subgrupos Secretária, Engenheiro e Técnico. Assim, toda entidade que é um membro de um desses subgrupos é também um Funcionário. Os subgrupos de entidades de uma classe são denominados de subclasses, enquanto que a classe é a superclasse para cada uma das subclasses. O relacionamento existente entre eles é denominado relacionamento subclasse/superclasse. Por exemplo, a classe Funcionário é uma superclasse, os subgrupos Secretária, Engenheiro e Técnico são subclasses da superclasse Funcionário. Esquematicamente, tem-se: 3 Beneficiário Médico Pessoa Beneficiário Médico Pessoa superclasse relacionamento superclasse-subclasse subclasses Uma entidade membro de uma superclasse pode ser membro de qualquer número de subclasses, inclusive pode ser membro de nenhuma subclasse. Por exemplo: no caso da modelagem de uma cooperativa médica, é possível que um médico possa ser também beneficiário de planos de saúde da cooperativa, sendo que médicos e beneficiários são pessoas. Pode-se considerar também que existam pessoas que pertencem à cooperativa, mas não são nem médicos e nem beneficiários. Esquematicamente tem-se: 2.2 Herança de Atributos A herança de atributos é um conceito associado ao relacionamento superclasse- subclasse. Uma entidade membro de uma subclasse herda todos os atributos da superclasse, podendo ter também seus próprios atributos. Por meio da herança, os atributos que não estão presentes em uma subclasse podem ser obtidos na superclasse. Por exemplo, no esquema a seguir, sempre que se consultar o nome de um médico, esse será obtida na superclasse Pessoa. Esquematicamente tem-se: nome Um mesmo CE pode ser subclasse de mais de uma superclasse. Então, esse CE herda os atributos das várias superclasses, o que é conhecido como herança múltipla. Vale ressaltar também que uma hierarquia pode ter vários níveis. Técnico Engenheiro Secretária Funcionário 4 CEen CEe1 CEg Professor Titular Assistente Pós-Graduação Graduação Funcionário Aluno Pessoa Genérico Exemplo: Herança Múltipla 2.3 A Abstração de Generalização especializar generalizar (é-um) Propriedade: Herança Abstração de Generalização: consiste em abstrair as características comuns contidas em vários CEs e generalizá-las em um único CE genérico (CEg), resultando em uma hierarquia onde o CEg representa o nível superior e é especializado em vários CEs específicos (CEe1,…,CEen) que podem ser também especializados. De acordo com os conceitos de superclasse e subclasse: CEg – superclasse; CEs específicos (CEe1,…,CEen) – subclasses. Representação: existem várias notações para a representação de abstrações de generalização no ME-R Estendido. A seguir é apresentada uma notação muito usada. ... Específico 5 Pós-Graduação Graduação Aluno Proibido Mulher Homem Pessoa Titular Assistente Funcionário Professor Exemplo: Restrições: • pode-se generalizar apenas CEs, CRs nunca são generalizados; • um CEg pode estar associado a mais de um grupo de CEs específicos, mas para cada grupo de CEs específicos pode haver apenas um único CEg. Exemplo: Aluno Professor Funcionário Propriedades da abstração de generalização: • Participação Total ou Parcial: a ocorrência da abstração de generalização é total quando a união de todos os CEs específicos resulta no CEg, caso contrário, a ocorrência da generalização é parcial. Na representação mostrada na figura seguinte, a haste dupla indica participação total e a haste simples indica participação parcial; Pessoa 6 Abstração de Generalização Participação Total e Exclusão Mútua CEg Participação Parcial e Exclusão Mútua Participação Total e Sobreposição Participação Parcial e Sobreposição CEg CEe1 ... CEen CEe1 ... CEen CEe1 ... CEenCEe1 ... CEen CEg CEg • Exclusão Mútua ou Sobreposição: a abstração de generalização ocorre com exclusão mútua se, para quaisquer i e j distintos, CEeiCEej = , caso contrário, a abstração de generalização ocorre com sobreposição. Na representação mostrada na figura seguinte, o triângulo sem preenchimento indica exclusão mútua e o triângulo preenchido indica sobreposição. Exemplos: 1) Participação total e exclusão mútua: um departamento ministra disciplinas para cursos de graduação e pós-graduação. Além disso pode ministrar disciplinas de especialização para treinamento de funcionários de empresas. Só existem disciplinas de graduação, pós- graduação e especialização. Uma disciplina ou é de graduação ou é de pós-graduação ou é de especialização. Graduação Pós-graduação Especialização 2) Participação parcial e exclusão mútua: no exemplo 1 considera-se que possam existir disciplinas que não são nem de graduação, nem de pós-graduação e nem de especialização. Graduação Pós-graduação Especialização Disciplina Disciplina 7 Aluno Funcionário Professor 3) Participação total e sobreposição: no exemplo 1 considera-se que uma mesma disciplina pode ser de graduação, de pós-graduação e de especialização ao mesmo tempo. Graduação Pós-graduação Especialização 4) Participação parcial e sobreposição: no exemplo 3 considera-se que possam existir disciplinas que não são nem de graduação, nem de pós-graduação e nem de especialização. Graduação Pós-graduação Especialização Atributos e chaves: CEg e CEs específicos têm todas as características dos CEs do ME-R. O CEg é descrito pelos atributos comuns aos vários CEs específicos que podem associar atributos adicionais e relacionar-se com outros CEs. Entretanto, o ME-R exige que todos os CEs tenham uma chave, mas no ME-R Estendido essa exigência existe somente para o CEg, ou seja, não é obrigatório que CEs específicos tenham chave. Exemplo: RG nome idade ra referência área_pesquisa nfuncional Disciplina Disciplina Pessoa 8 Possuir N data RG nome idade Professor Pessoa Aluno Funcionário Departamento Relacionamentos: Pode-se estabelecer relacionamentos com entidades de um CEg e também com entidades de CEs específicos entre si e individualmente. Exemplo: 1 código nome ra N 1 Orientar referência área_pesquisa M nfuncional Ministrar N código nome nhoras Quando usar abstração de generalização: 1o. Caso: quando certos atributos podem ser aplicados somente a algumas entidades da superclasse. Então, uma subclasse é definida para agrupar as entidades as quais esses atributos se aplicam. Por exemplo, a subclasse Secretária pode ter o atributo velocidade_de_toque que um engenheiro não tem. Em compensação ambos tem os atributos nome, endereço, que ficam na superclasse Funcionário. 2o. Caso: quando algum CR pode estar relacionando apenas algumas entidades da superclasse. Então, uma subclasse é definida para participar do CR. Por exemplo, se somente funcionários mensalistas do CE Funcionário pertencem a um sindicato de trabalhadores, deve- se criar o CR Pertencer, o CE Sindicato e a subclasse Mensalista (da superclasse Funcionário) e deve-se relacionar o CR Sindicato com a subclasse Mensalista pelo CR Pertencer. Disciplina 9 CR AG Trabalhar Agregação 3 Abstração de Agregação no ME-R Estendido separar associar (faz parte de) Propriedade: Identificação Abstração de Agregação: consiste em associar CEs cujas entidades estejam relacionadas por meio de um CR, gerando um objeto agregado AG, que pode ter atributos próprios. Na agregação, o CR e os CEs vinculados são tratados como um CE de nível mais alto. Tal CE é tratado do mesmo modo que qualquer outro CE do ME-R. Representação: Restrição: A abstração de agregação deve ser composta por apenas um único CR de qualquer grau e de qualquer cardinalidade. Quando e como usar abstração de agregação: 1o. Caso: uma restrição do ME-R é que não é possível representar relacionamentos entre relacionamentos. Por exemplo, considerando uma BD que contenha informação sobre empregados que trabalham em um dado projeto: M N Considerando que, para alguns projetos, os empregados usam máquinas para realizar o trabalho. Usando os construtores semânticos básicos do ME-R, tem-se as seguintes opções de representação: Parte Projeto Empregado 10 Máquina Máquina Trabalhar Trabalho Usar Máquina Projeto Empregado a) Trabalhar b) Trabalhar Proibido no ME-R! Usar A representação mostrada em a) está incorreta pois supõe que máquinas são utilizadas em todos os projetos. A representação mostrada em b) não é permitida no ME-R. Então, a solução é usar a abstração de agregação. No exemplo anterior, o CR Trabalhar e os CEs Empregado e Projeto podem ser tratados como um CE de nível mais alto, chamado Trabalho. Projeto Projeto Empregado Empregado 11 Vendedor Produto Vendedor Produto Vendedor Produto 2o. Caso: no ME-R não é possível que um CR tenha chave. Assim, quando é necessário identificar cada relacionamento de um CR (quando houver mais de um relacionamento envolvendo as mesmas entidades) deve-se usar a abstração de agregação. A identificação pode ser feita de duas maneiras: a) criando uma chave própria para a agregação. Exemplo: Vender Venda código data valor b) criando uma chave pela adição de um atributo próprio da agregação aos identificadores das entidades que participam do relacionamento. Esse tipo de identificação é chamado de chave adicional e é representado por um sinal de adição (+) no atributo da agregação que participada chave. Exemplo: Vender Venda data+ valor Pode-se ter ambas as chaves (própria e adicional) representadas na agregação. Exemplo: Vender Venda código data+ valor Cliente Cliente Cliente 12 4 Exercícios de Fixação Fazer a modelagem das seguintes especificações, usando o ME-R Estendido: 1. Uma concessionária decidiu fazer a folha de pagamento dos funcionários que são horistas ou mensalistas. A concessionária possui vários departamentos que por sua vez são compostos por funcionários. Cada departamento possui um código identificador, descrição (que informa o nome do depto), enquanto o funcionário tem número identificador, RG, CPF, nome, endereço e salário. O funcionário pode trabalhar em um único departamento, este por sua vez pode alocar vários funcionários. Os funcionários podem ter vários dependentes que são identificados por um código, tendo ainda nome e vínculo. Os funcionários horistas possuem o número de horas trabalhadas, enquanto os mensalistas possuem salário base. 2. Uma companhia ferroviária decidiu fazer o controle de seus funcionários e serviços de manutenção. Considera-se que a empresa tem vários funcionários, que podem ser maquinistas ou engenheiros mecânicos, identificados por um código e nome. Os engenheiros possuem, além disso, o número do Crea. Para os maquinistas deve-se totalizar o número de horas de viagem. Os engenheiros realizam serviços diários em várias oficinas, que por sua vez possuem código e nome. É necessário guardar a data em que foi realizado o serviço, servindo de base para uma pesquisa feita pela empresa todo fim de ano. 3. Uma universidade decidiu fazer um controle interno das pessoas vinculadas a esta, juntamente com sua função. Essas pessoas são: professores, alunos e funcionários. O professor tem rg, nome, endereço, salário e titulaçãoe ministra várias disciplinas, além de orientar vários alunos. Estes últimos possuem número de matrícula identificador, rg, nome, endereço e idade, podendo ser orientados por um único professor. Na orientação de um professor a um aluno deve ser guardada se a mesma é de mestrado ou doutorado e a data de defesa. Uma disciplina pode ser ministrada por um único professor e tem sigla identificadora, nome e a carga horária. Os funcionários têm número funcional identificador, rg, nome, endereço e salário. Um professor é também considerado um funcionário da universidade, com a diferença de que não é um funcionário da área administrativa, sendo que os funcionários da área administrativa devem ter armazenado o setor em que trabalham. 4. Um banco de dados está sendo feito para controlar equipes esportivas. Alguns tipos são voleibol, natação, futebol, entre outros. As equipes de futebol têm o nome do goleiro e são vinculadas a CBF, que tem código identificador e cidade sede. As equipes de natação guardam o melhor tempo. Cada equipe tem um código identificador, tipo e pode ser composta por vários atletas com código, nome, modalidade, altura e peso. Um atleta pode estar vinculado a apenas uma equipe. 5. Uma companhia precisa fazer a contratação de funcionários. Vários funcionários do setor de recursos humanos da companhia entrevistam vários candidatos às vagas oferecidas. Cada funcionário do setor de recursos humanos tem um código, nome, rg, endereço e salário, enquanto que para cada candidato é armazenado o rg, nome, endereço, telefone e e-mail. Para cada vaga oferecida deve ser armazenado um código, cargo e perfil. Um resultado positivo de uma entrevista resulta no preenchimento de uma vaga oferecida. Cada entrevista deve ser identificada por um código e deve armazenar a data e o resultado. 6. Uma companhia de produtos de medida eletrônicos produz equipamentos de medida, sendo que cada um é composto por placas de circuitos impressos. Uma mesma placa pode ser 13 incluída em mais de um equipamento de medida, sendo que cada placa é composta por um ou mais circuitos integrados. Um mesmo circuito integrado pode compor várias placas de circuitos impressos. Cada circuito integrado é comprado de vários fornecedores em uma data, sendo que cada fornecedor pode vender vários circuitos integrados. Os fornecedores são cadastrados com CNPJ, razão social e endereço. Para cada compra, o pagamento pode ser parcelado em duas ou mais faturas que devem possuir um número e valor. Cada equipamento de medida deve ter um código, descrição e tensão de alimentação; cada placa de circuito impresso deve possuir um código e descrição; cada circuito integrado deve possuir um código, descrição e quantidade em estoque.
Compartilhar