A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

USP – ICMC - GBDI 1 Evolução dos Sistemas de Informação Sistemas de Informação baseados em gerenciamento de arquivos programas e arquivos orientados a.

Apresentações semelhantes


Apresentação em tema: "USP – ICMC - GBDI 1 Evolução dos Sistemas de Informação Sistemas de Informação baseados em gerenciamento de arquivos programas e arquivos orientados a."— Transcrição da apresentação:

1 USP – ICMC - GBDI 1 Evolução dos Sistemas de Informação Sistemas de Informação baseados em gerenciamento de arquivos programas e arquivos orientados a cada unidade organizacional rotinas específicas para tarefas específicas dados armazenados em disco, usando uma determinada estrutura de dados

2 Aplicações Arquivo 1 Arquivo 2 Arquivo 3Dados PROBLEMA?????

3 Arquivos de Dados de Produção Arquivos de Dados de Vendas Arquivos de Dados de Compras Produtos Aplicação de Produção Aplicação de Vendas Aplicação de Compras REDUNDÂNCIA

4 Arquivos de Dados de Produção Arquivos de Dados de Vendas Produtos Aplicação de Produção Aplicação de Vendas REDUNDÂNCIA INCONSISTÊNCIA Nome: Notebook NroSerie:1111111 Fabricante: Y Insere: Nome: Notebook NroSerie:1111111 Fabricante: X Insere:

5 USP – ICMC - GBDI 5 Consistência de Dados Dados em estado inconsistente informações incorretas ou contraditórias são fornecidas aos usuários

6 USP – ICMC - GBDI 6 Consistência de Dados Consistência é estado ou caráter do que é coerente, do que tem solidez, veracidade, credibilidade, estabilidade, realidade. Consistência: se determinada informação é replicada (redundância), seu valor é sempre o mesmo

7 USP – ICMC - GBDI 7 SIs baseados em arquivos Problemas? Redundância e inconsistência de dados Dificuldade de acesso aos dados Isolamento de dados Anomalias no acesso concorrente Segurança

8 USP – ICMC - GBDI 8 Além disso... SIs baseados em arquivos dados gravados em disco usando ESTRUTURAS DE DADOS Acesso requer conhecimento destas estruturas DEPENDÊNCIA DE DADOS. 15 46 63 81 97 15 99 16

9 USP – ICMC - GBDI 9 Vários programas compartilhando os mesmos dados todos devem conhecer e manipular as mesmas estruturas E se houver uma alteração na estrutura de dados? Dependência dos Dados TODOS OS PROGRAMAS TERÃO QUE SER ALTERADOS

10 USP – ICMC - GBDI 10 Independência dos Dados Como tornar os programas INDEPENDENTES da estrutura de dados? CRIANDO UM SISTEMA QUE GERENCIE A ESTRUTURA 15 46 63 81 97 15 99 16 Sistema Gerenciador de Dados Compartilhados Aplicação 1 Aplicação 2

11 USP – ICMC - GBDI 11 Independência dos Dados Sistema de Gerenciamento de Bases (ou Banco) de Dados SGBD 15 46 63 81 97 15 99 16 SGBD Aplicação 1 Aplicação 2

12 USP – ICMC - GBDI 12 SGBD Sistema de Gerenciamento de Bases de Dados conjunto de dados base (banco) de dados conjunto de programas para acesso e manipulação dos dados

13 USP – ICMC - GBDI 13 SGBD Sistema de propósito geral armazenar grandes volumes de dados permitir busca e atualização dos dados eficiência Manutenção de um conjunto lógico e organizado de dados completamente autônomo em relação às aplicações

14 Esquema - Definição da base de dados Instância – Base de dados SGBD Aplicação

15 USP – ICMC - GBDI 15 SGBDs Requisitos Fundamentais: Segurança Física (mais comum no passado) Lógica Usernames e passwords Perfis de usuário

16 USP – ICMC - GBDI 16 SGBDs Requisitos Fundamentais (cont) : Integridade consistência validade Restrições de Integridade!!! Nome: Joaquim Pereira Cargo: Faxineiro Salário: R$ 230.000,00 Arquivos de Dados ?????

17 USP – ICMC - GBDI 17 SGBDs Requisitos Fundamentais (cont) : Integridade - se contem apenas dados válidos, que não contradizem a realidade que estão a representar. Restrições de integridade, que definem o que é válido e o que não é válido. Exemplos: – um funcionário não pode pertencer a mais do que um departamento – o preço de venda de um produto deverá ser superior ao seu custo. – a referência de cada produto deve ser única

18 USP – ICMC - GBDI 18 SGBDs Requisitos Fundamentais (cont) : Recuperação / Tolerância a falhas Transações atômicas unidades lógicas de trabalho, em geral envolvendo várias operações Registros de Log Backup Controle da concorrência gerenciamento de transações concorrentes

19 USP – ICMC - GBDI 19 Por que usar SGBDs? Vantagens: armazenamento persistente de dados e estruturas de dados; INDEPENDÊNCIA DE DADOS; CONSISTÊNCIA DE DADOS; ABSTRAÇÃO E INTERFACE; acesso compartilhado (multiusuário e concorrente) à informação; distribuição de informações

20 USP – ICMC - GBDI 20 Por que usar SGBDs? Vantagens: reduz complexidade das aplicações segurança controle de acesso aos dados backup utilização de padrões

21 USP – ICMC - GBDI 21 Por que usar SGBDs? Desvantagens Custo financeiro Um sistema a mais a ser aprendido e gerenciado

22 USP – ICMC - GBDI 22 Componentes de um SGBD Os componentes funcionais do SGBD: componentes de processamento de consultas componentes de gerenciamento de armazenamento Dados e Metadados Processador de Consultas Gerenciador de Armazenamento SGBD Banco de Dados

23 USP – ICMC - GBDI 23 Componentes de um SGBD Conceitos importantes: Pragmatismo: primeiro modelagem (documentada), seguida de definição e instanciação, e só depois o uso 1. Modelagem: modelo entidade/relacionamento 2. Definição: SQL, subconjunto DDL 3. Instanciação: SQL, subconjuntos DDL/DML 4. Uso: SQL, subconjunto DML

24 USP – ICMC - GBDI 24 Componentes de um SGBD Conceitos importantes: SQL - Data Definition Language SQL - Data Definition Language (DDL) conjunto de comandos para definição do esquema da base de dados Exemplos em linguagem SQL create table alter table drop table Compilador/Interpretador DDL

25 USP – ICMC - GBDI 25 Componentes de um SGBD Conceitos importantes (cont.) : Metadados Metadados Dicionário de Dados: Dicionário de Dados: banco de dados do sistema armazena descrição do esquema armazena metadados armazena restrições de segurança e integridade outras denominações: catálogo de dados, diretório de dados

26 USP – ICMC - GBDI 26 Componentes de um SGBD Conceitos importantes (cont.) : SQL - Data Manipulation Language SQL - Data Manipulation Language (DML) recuperação (consulta) inserção remoção modificação DML viabiliza manipulação dos dados de maneira compatível com o modelo de dados

27 USP – ICMC - GBDI 27 Componentes de um SGBD Conceitos importantes (cont.) : Data Manipulation Language Data Manipulation Language (DML) Exemplos em linguagem SQL insert select delete update...

28 USP – ICMC - GBDI 28 Componentes de um SGBD Conceitos importantes (cont.) : Procedural vs Declarativo Procedural: exige especificação de quais dados são necessários, e como obtê-los requer uma sequência específica de operações a serem executadas ex.: linguagens de programação como C e Pascal, e a linguagem de projeto de bancos de dados álgebra relacional Não-Procedural (Declarativo): exige apenas especificação de quais dados são necessários, e não de como obtê-los ex: SQL A interface dos bancos de dados é definida pela linguagem declarativa SQL (DDL + DML)

29 Usuários Finais Programadores de aplicações Usuários Sofisticados DBAs Interfaces de aplicação Aplicações Consulta (Query)Esquema de BD Pré-compilador de Comandos DML DML embutido no.exe Programas de Aplicações em Código Objeto Compilador DML Interpretador DDL Componente de avaliação e execução de consultas Gerenciador de Buffer Gerenciador de Transações Gerenciador de Arquivos Gerenciador de Armazenamento Processador de Consultas SGBD

30 Pré-compilador de Comandos DML Programas de Aplicações em Código Objeto Compilador DML Interpretador DDL Componente de execução de consultas Gerenciador de Buffer Gerenciador de Transações Gerenciador de Arquivos Gerenciador de Armazenamento Processador de Consultas SGBD Índices Dados Estatísticos Dicionário de Dados Arquivos de Dados [Silbesrchats]

31 USP – ICMC - GBDI 31 Evolução dos Sistemas de Bases de Dados

32 USP – ICMC - GBDI 32 Evolução dos Sistemas de Bases de Dados Os programas de aplicação são executados no servidor de dados – os terminais burros executam quase nenhum processamento.

33 USP – ICMC - GBDI 33 Evolução dos Sistemas de Bases de Dados PC

34 USP – ICMC - GBDI 34 Evolução dos Sistemas de Bases de Dados PC PCs mais potentes executam tanto o programa de aplicação quanto o SGBD. O servidor de arquivos provê espaço de armazenamento, escasso à época.

35 USP – ICMC - GBDI 35 Evolução dos Sistemas de Bases de Dados

36 USP – ICMC - GBDI 36 Arquitetura Cliente/Servidor Dados e Regras SGBD ServidorCliente Aplicações

37 USP – ICMC - GBDI 37 Arquitetura Cliente/Servidor Duas camadas Dados e Regras SGBD ServidorCliente Aplicações BD + parte (pequena) da lógica de negócio Interface + maior parte da lógica de negócio

38 USP – ICMC - GBDI 38 Arquitetura Cliente/Servidor Três camadas Dados e Regras SGBD ServidorCliente Aplicações-Cliente BD + parte comum da lógica de negócio Interface + parte específica da lógica de negócio Servidor de Aplicação

39 USP – ICMC - GBDI 39 Arquitetura Cliente/Servidor Quatro camadas Dados e Regras SGBD Servidor Cliente Aplicações-Cliente Servidor de Aplicação Servidor de Interface

40 Definição da base de dados armazenada Base de dados armazenada SGBD Aplicação ESQUEMA INSTÂNCIA

41 Esquema e Instância Banco de dados: Esquema Definição Estático (ou quase!) Instância Instância Manipulação Dinâmica Instância Esquema

42 Esquema e Instância Esquema pode ser definido em 3 níveis Three-Schema Architecture

43 Arquitetura Esquema de Três Three-Schema Architecture (ou arquitetura ANSI/SPARC) 1. múltiplas visões para os usuários esquemaabstração 2. armazenamento da descrição da base de dados (esquema) em diferentes níveis de abstração 3. independência de dados Incorporação de características importantes da filosofia de bases de dados

44 Three-Schema Architecture Nível Externo ou de Visão Visão 1Visão 2Visão N... Nível Conceitual ou Lógico Nível Interno ou Físico Esquema Conceitual e/ou Esquema Lógico Esquema Físico Sub-Esquemas (views)

45 Three-Schema Architecture esquema físico Nível Interno – esquema físico descreve estrutura física de armazenamento da base de dados como os dados estão armazenados

46 Three-Schema Architecture esquema conceitual e/ou lógico Nível Conceitual – esquema conceitual e/ou lógico descreve a estrutura da base de dados sem detalhes de estrutura de armazenamento físico quais dados estão armazenados e como estão relacionados descrição do esquema conceitual/lógico: modelo conceitual (ex: MER) modelo de implementação (ex: Modelo Relacional)

47 Three-Schema Architecture sub-esquemas Nível Externo – sub-esquemas define as visões dos usuários descreve a parte da base de dados em que cada grupo de usuários tem interesse descrição de sub-esquemas: modelo conceitual (ex: MER) modelo de implementação (ex: Modelo Relacional)

48 Three-Schema Architecture Nível Externo ou de Visão Visão 1Visão 2Visão N... Nível Conceitual ou Lógico Nível Interno ou Físico mapeamento externo/conceitual mapeamento conceitual/interno

49 Three-Schema Architecture ABSTRAÇÃO Visualização de níveis de esquema em sistemas de banco de dados ABSTRAÇÃO escondendo detalhes e complexidade nos diferentes níveis visão mais geral ou mais específica

50 Recordando.... Three-Schema Architecture (ou arquitetura ANSI/SPARC) independência de dados independência de dados múltiplas visões para os usuários esquemaabstração armazenamento da descrição da base de dados (esquema) em diferentes níveis de abstração OK!!!!

51 Independência de Dados capacidade de modificar o esquema em determinado nível sem afetar o esquema do nível superior Independência de dados na arquitetura de três esquemas capacidade de modificar o esquema em determinado nível sem afetar o esquema do nível superior SGBD pode suportar: independência física independência lógica

52 Independência de Dados Nível Externo ou de Visão Visão 1Visão 2Visão N... Nível Conceitual ou Lógico Nível Interno ou Físico Independência Física???

53 Independência de Dados Independência física de dados modificações no esquema interno não provocam alterações nos esquemas lógico e externo por que modificar esquema interno? quando os esquemas em níveis superiores teriam que ser alterados?

54 Independência de Dados Independência física de dados modificações no esquema interno não provocam alterações nos esquemas lógico e externo por que modificar esquema interno? quando os esquemas em níveis superiores teriam que ser alterados? Modificações no nível interno – reorganização dos dados – ex: inserção de novos mecanismos de acesso, novos índices, mais espaço de armazenamento.

55 Independência de Dados Nível Externo ou de Visão Visão 1Visão 2Visão N... Nível Conceitual ou Lógico Nível Interno ou Físico Independência Lógica???

56 Independência de Dados Independência lógica de dados modificações no esquema lógico não provocam alterações nos esquemas externos aplicativos não precisam ser reescritos por que modificar esquema lógico? quando os esquemas em níveis superiores teriam que ser alterados?

57 Independência de Dados Independência lógica de dados modificações no esquema lógico não provocam alterações nos esquemas externos aplicativos não precisam ser reescritos por que modificar esquema lógico? quando os esquemas em níveis superiores teriam que ser alterados? Modificações no nível conceitual – reestruturação lógica – ex.: novas tabelas, novos atributos, novas restrições de integridade expansão. No cado de redução, níveis superiores talvez tenham que ser alterados. Ex.: exclusão de atributos, relacionamentos, ou restrições de integridade.

58 Ciclo de Vida Projeto Conceitual Projeto Lógico Projeto Físico Análise Funcional Projeto Implementação Coleta/Especificação de Requisitos Dados e Metadados SGBD Aplicação Mundo Real Protótipo Requisitos Funcionais Requisitos de Dados Sistemas de Banco de Dados

59 Dados e Metadados SGBD Aplicação Mundo Real Requisitos Funcionais Requisitos de Dados DBA Pessoal de Suporte e Operação Analistas de Sistemas Programadores Usuários Operadores de Aplicação Projetistas de Interface Desenvolvimento de Software Projeto Conceitual Projeto Lógico Projeto Físico Análise Funcional Projeto Implementação Coleta/Especificação de Requisitos Protótipo

60 Ciclo de Vida Sistemas de Banco de Dados Dados e Metadados SGBD Aplicação Mundo Real Requisitos Funcionais Requisitos de Dados Desenvolvimento de Sistemas de Banco de Dados Projetistas de BD DBA Pessoal de Suporte e Operação Usuários Operadores de Aplicação Projetistas de Interface Projeto Conceitual Projeto Lógico Projeto Físico Análise Funcional Projeto Implementação Coleta/Especificação de Requisitos Protótipo

61 Projeto conceitual esquema conceitual para a base de dados níveis conceitual/lógico e externo baseado nos requisitos de dados objetivos: estrutura da base de dados semântica relacionamentos restrições Desenvolvimento de Sistemas de Banco de Dados [Elmasri]

62 Projeto conceitual (cont.) independente do SGBD pode incluir especificação em alto nível de: aplicações características funcionais das transações modelo conceitual – ex: MER

63 Desenvolvimento de Sistemas de Banco de Dados [Elmasri] Projeto lógico esquema lógico níveis conceitual/lógico e externo mapeamento do modelo conceitual para o modelo do SGBD ex: Modelo Relacional

64 Desenvolvimento de Sistemas de Banco de Dados [Elmasri] Projeto lógico (cont.) Passo1 – mapeamento independente de um SGBD específico mas... dependente do paradigma (relacional, OO, relacional-objeto) Passo 2 – ajustes de acordo com as características e restrições do modelo implementado por um SGBD específico

65 Desenvolvimento de Sistemas de Banco de Dados [Elmasri] Projeto físico esquema físico nível interno estruturas físicas de armazenamento organização de registros físicos índices número de discos …. critérios: tempo de resposta espaço utilizado número de transações

66 Abstração Modelagem de dados Os Três Reinos - Abstração Produto Sigla Nome-P Peso Verifica Padrão Empregado Código Idade Trabalha Peça Máquina Usina Composta por Nome-E Código Material Tempo Total de horas 1 1 N M N N 1 N M Percepção ModelagemImplementação Real Imaginário Representação

67 Idéias Modelo E/R Modelo Relacional SGBD Relacional MER SQL - DDL DADOS

68 Modelagem de Dados - Motivação Por que modelar?? se projetistas se apóiam pouco em metodologias sistemáticas para conduzir o projeto da base de dados... então tempo e recursos são subestimados resultado não atende às necessidades das aplicações documentação é limitada manutenção custosa

69 Modelagem de Dados - Motivação Por que modelar??? Se projeto é feito direto em termos de estruturas de armazenamento... Então considera limitações da estrutura escolhida; inclui macetes para bom desempenho e representação da informação; convívio com a inadequação da estrutura escolhida dificulta o diálogo com o usuário dificulta o diálogo com o usuário esquece-se o que é percepção da realidade e o que é necessidade de implementação

70 Modelos de Dados Modelo de dados Modelo de dados – definição abstrata, autônoma e lógica dos objetos, operadores e outros elementos que, juntos, constituem a máquina abstrata com a qual os usuários interagem. (Date) objetos estrutura dos dados operadores comportamento dos dados Modelos conceitual e de implementação (ou lógico)

71 Modelos de Dados Modelos de dados (Elmasri) Conceituais Modelo Entidade Relacionamento (MER) Modelo de Objetos da ODMG (Object Database and Open Source Vendors) …. de Implementação : Ex: Rede, Hierárquico, NO-SQL, Relacional

72 Modelos Conceituais Objetivo: descrição do conteúdo da base de dados NÃO considera estruturas de armazenamento Enfoque: compreensão e descrição da realidade (informação) compreensão e seleção das propriedades relevantes da informação compreensão e descrição das restrições sobre os dados diálogo com o usuário Projeto Conceitual

73 Ciclo de Vida Sistemas de Banco de Dados Dados e Metadados SGBD Aplicação Mundo Real Requisitos Funcionais Requisitos de Dados Desenvolvimento de Sistemas de Banco de Dados Projetistas de BD DBA Pessoal de Suporte e Operação Usuários Operadores de Aplicação Projetistas de Interface Projeto Conceitual Projeto Lógico Projeto Físico Análise Funcional Projeto Implementação Coleta/Especificação de Requisitos Protótipo

74 Modelagem Conceitual Requisitos de Dados Entrada: Requisitos de Dados Processo: modelagem – representação conceitual modelo conceitual (Ex: MER) Esquema Conceitual Resultado: Esquema Conceitual descrição sucinta (diagramas e texto) clara, concisa, sem ambigüidades, sem contradições padronizada

75 Modelagem Conceitual Ex: SDM (Semantic Data Model) [McLeod-81] SAM (Semantic Association Model) [Su-86] IFO [Abiteboul-87] ME-R (Modelo Entidade-Relacionamento) [Chen-76] Modelos Orientados a Objetos Object Model (ODMG), UML, OMT, OOAD, BOOCH …..

76 Modelos de Implementação Modelo em Rede: dados representados por um conjunto de registros relações entre registros representadas por links registros organizados no BD por um conjunto de grafos

77 Modelos de Implementação Modelo Hierárquico similar ao Modelo em Rede dados e relações representados por registros e links diferença: no Modelo Hierárquico os registros estão organizados em árvores Sistema IMS (Information Management System - IBM)

78 Modelos de Implementação Modelo Relacional difere por não usar links relaciona os registros por meio de valores possibilidade do desenvolvimento de fundamentos matemáticos para sua definição Cálculo Relacional e Álgebra Relacional Precursor, Sistema R (IBM)

79 Ciclo de Vida Sistemas de Banco de Dados Dados e Metadados SGBD Aplicação Mundo Real Requisitos Funcionais Requisitos de Dados Desenvolvimento de Sistemas de Banco de Dados Projetistas de BD DBA Pessoal de Suporte e Operação Usuários Operadores de Aplicação Projetistas de Interface Projeto Conceitual Projeto Lógico Projeto Físico Análise Funcional Projeto Implementação Coleta/Especificação de Requisitos Protótipo

80 USP – ICMC – GBDI MER - Modelo Entidade Relacionamento MER – Criado por Peter Chen The entity-relationship model: towards a unified view of data, ACM TODS, 1976. Voltado para a representação dos aspectos estáticos (informação) do Domínio da Aplicação Modelagem semântica dos dados

81 USP – ICMC – GBDI MER - Modelo Entidade Relacionamento Popular Simplicidade Expressividade Intuitivo representação gráfica da informação Diagrama Entidade-Relacionamento Diagrama Entidade-Relacionamento (DE-R)

82 USP – ICMC – GBDI Modelos de Dados definem um conjunto (limitado) de Construtores Sintáticos um mesmo Construtor Sintático pode ser usado para representar diversas situações do mundo real MER – Construtores Sintáticos Sobrecarga Semântica

83 USP – ICMC – GBDI Conjunto de Entidades (CE) Conjunto de Relacionamentos (CR) Atributos de Entidades Atributos de Relacionamentos MER – Construtores Sintáticos

84 USP – ICMC – GBDI Entidades coisas, objetos, pessoas, entes, etc. do mundo real Conjuntos de Entidades coleções de entidades que têm a mesma estrutura e o mesmo significado na modelagem estrutural e semanticamente iguais MER

85 USP – ICMC – GBDI MER não trata Entidades individuais, apenas Conjuntos de Entidades Notação DER: retângulo Pessoa Disciplina Conjunto de Entidades

86 USP – ICMC – GBDI Relacionamentos associações entre entidades do mundo real Conjuntos de Relacionamentos relacionamentos entre entidades dos mesmos CEs Pessoa Disciplina Conjunto de Relacionamentos

87 USP – ICMC – GBDI Notação DER : losango Pessoa Disciplina Escola Matricula Trabalha Conjunto de Relacionamentos

88 USP – ICMC – GBDI Ex: vários Conjuntos de Relacionamentos envolvendo os mesmos Conjuntos de Entidades Pessoa Disciplina Matricula Faz Prova Conjunto de Relacionamentos

89 USP – ICMC – GBDI propriedadesAtributos valores que representam propriedades das entidades e relacionamentos no mundo real atributos de entidades atributos de relacionamentos Atributos

90 USP – ICMC – GBDI Notação DER: elipses ligadas aos Conjuntos de Entidades Pessoa Matricula Disciplina Nome No. USP Nome Sigla Número Créditos Atributos de Entidades

91 USP – ICMC – GBDI Idéia: os atributos de um Conjunto de Entidades descreve todas as entidades do conjunto Pergunta: um Conjunto de Entidades sem atributos tem significado para a modelagem??? Atributos de Entidades

92 USP – ICMC – GBDI Conjuntos: conceito que fundamenta quase toda a matemática;Conjuntos: conceito que fundamenta quase toda a matemática; Definição: coleção de elementos distintos (sem repetição) e sem ordem definida (apenas eventual);Definição: coleção de elementos distintos (sem repetição) e sem ordem definida (apenas eventual); Conjuntos são a base dos SBGDs;Conjuntos são a base dos SBGDs; Como definir conjuntos em SGBDs?Como definir conjuntos em SGBDs? Conjunto

93 USP – ICMC – GBDI Restrição de UnicidadeRestrição de Unicidade: Todo conjunto de entidades deve ter um atributo, ou um conjunto de atributos, cujo valor identifique univocamente cada entidade no conjunto Restrição de Unicidade - Chave CHAVE

94 USP – ICMC – GBDI Chave SimplesChave Simples: Notação DER: grifar atributo chave Restrição de Unicidade - Chave Pessoa Nome NUSP CPF Anotação: CPF é identificador

95 USP – ICMC – GBDI ChaveChave: principal meio de acesso a uma entidade outros possíveis atributos identificadores (outras chaves) podem ser anotados separadamente, para efeito de documentação e para o projeto lógico Restrição de Unicidade - Chave

96 USP – ICMC – GBDI Chave SimplesChave Simples: Notação DER: grifar atributo chave Restrição de Unicidade - Chave Pessoa Nome NUSP CPF Anotação: CPF é identificador

97 USP – ICMC – GBDI Número Chave CompostaChave Composta: entidade precisa de mais de um atributo para identificação a concatenação de todos estes atributos indica a chave única Restrição de Unicidade - Chave Sala Aula Bloco Campus Notação DER: todos os atributos da chave grifados Capacidade

98 USP – ICMC – GBDI Número Créditos Ex: onde colocar um atributo NOTA??? Pessoa Matricula Disciplina Nome No. USP Nome Atributos Sigla

99 USP – ICMC – GBDI Se fosse um atributo de Pessoa, cada pessoa teria uma nota única para qualquer disciplina Atributos Pessoa Matricula Disciplina Nome No. USP Nota Ex: onde colocar um atributo NOTA??? Número Créditos Nome Sigla

100 USP – ICMC – GBDI Se fosse um atributo de Disciplina, todas as pessoas matriculadas numa disciplina teriam a mesma nota Pessoa Matricula Disciplina Nome No. USP Ex: onde colocar um atributo NOTA??? Número Créditos Nome Sigla Nota Atributos

101 USP – ICMC – GBDI Número Créditos Ex: onde colocar um atributo NOTA??? Pessoa Matricula Disciplina Nome No. USP Nome Atributos de Relacionamentos Sigla Nota em MATRICULA!!!

102 USP – ICMC – GBDI Observação: os CEs sempre possuem atributos, mas os CRs podem existir mesmo que não tenham atributos próprios Atributos de Relacionamentos existência de CR é justificada pela associação entre os CEs ex: queremos representar que pessoas matriculam-se em disciplinas, mas pode ser que não estejamos interessados em indicar as notas obtidas em cada matrícula

103 USP – ICMC – GBDI Atributos Tipos de atributos Simples vs. Composto simples (atômico): não dividido; uma única parte composto: dividido em partes; possui sub-atributos

104 USP – ICMC – GBDI Atributo Composto Pessoa Nome NUSP Endereço Composto Rua Número CEP Cidade Pessoa Nome NUSP Rua Número CEP Cidade Endereço Notação

105 USP – ICMC – GBDI Atributo Composto Pessoa Nome NUSP Endereço EndRua CEP Cidade Nome Numero Apart Nome Pessoa Nome NUSP EndRua Número CEP Cidade Endereço Apart Notação

106 USP – ICMC – GBDI Atributos Tipos de atributos Monovalorado vs. Multivalorado monovalorado: pode assumir um único valor para uma/um entidade/relacionamento em particular multivalorado: pode assumir mais de um valor para uma/um entidade/relacionamento em particular

107 USP – ICMC – GBDI N.Ser.Med. Atributo Multivalorado Alergias Aluno Nome Multivalorado N.Ser.Med. Alergias Aluno Nome Notação

108 USP – ICMC – GBDI Atributos Tipos de atributos Armazenado vs. Derivado armazenado: atributo da entidade derivado: valor pode ser obtido a partir dos valores de outros atributos da entidade ou de informação armazenada em seus relacionamentos

109 USP – ICMC – GBDI Data Nascimento Atributo Derivado Idade Aluno Nome Derivado Notação Aluno Nome Data Nascimento Idade

110 USP – ICMC – GBDI Atributo Derivado Número Créditos Pessoa Matricula Disciplina Nome No. USP Nome Sigla Nro Disciplinas

111 USP – ICMC – GBDI PAPELCada CE que participa de um CR tem um PAPEL no CR Indicação opcional pode facilitar entendimento da modelagem Conjunto de Relacionamentos - Papéis Pessoa Matricula Disciplina Matriculada em Matricula

112 USP – ICMC – GBDI Indicação de papéis deve ser feita sempre que houver ambigüidade na interpretação do CR Empresa Contrata Curso ContrataContratadopor ContratadaporContrata ? ? Conjunto de Relacionamentos - Papéis

113 USP – ICMC – GBDI em geral CEs assumem papéis distintos em CRs distintos Nota Pessoa Matricula Disciplina Concluir matriculada em matricula conclui é concluída Conjunto de Relacionamentos - Papéis

114 USP – ICMC – GBDI Auto-Relacionamento: um mesmo CE desempenha mais de um papel num mesmo CR Disciplina Pré - Requisito tem pré-requisito é pré-requisito Conjunto de Relacionamentos - Papéis

115 USP – ICMC – GBDI Restrição estrutural Cardinalidade Restrição estrutural todo CR associa uma ou mais entidades de um CE 1 a uma ou mais entidades de um CE 2 Cardinalidade determina o número de relacionamentos dos quais cada entidade pode participar Conjunto de Relacionamentos - Cardinalidade

116 USP – ICMC – GBDI Conjunto de Relacionamentos - Cardinalidade 1 Um para Um 1 Ementa Descreve Disciplina N Um para Muitos 1 Turma Tutora Professor Pessoa Matricula Disciplina M N Muitos para Muitos

117 USP – ICMC – GBDI 117 Restrição EstruturalRestrição de Participação Restrição Estrutural Participação Total Participação Parcial Conjunto de Relacionamentos – Restrição de Participação

118 USP – ICMC – GBDI 118 Considere o exemplo: Se um curso deixar de existir, o que acontece com suas disciplinas? Faz sentido guardar as disciplinas de um curso que não existe mais? Uma disciplina pode existir sem estar associada a um Curso? Curso Disciplina Possui Conjunto de Relacionamentos N1

119 USP – ICMC – GBDI 119 ex: toda entidade Disciplina deve (obrigatoriamente!) participar de um relacionamento Possui deve estar associada a uma entidade Curso Notação DER: linha dupla conectando o CE ao CR Conjunto de Relacionamentos – Participação Total Curso Disciplina Possui N1 Participação Total de Disciplina em Possui

120 USP – ICMC – GBDI 120 Dependência ExistencialParticipação Total ou Dependência Existencial toda entidade de um CE deve participar, obrigatoriamente, de ao menos um relacionamento do CR uma entidade só existe se estiver associada a outra entidade por meio de um relacionamento Conjunto de Relacionamentos – Participação Total

121 USP – ICMC – GBDI 121 Participação ParcialParticipação Parcial nem todas as entidades de um CE participam de um CR uma entidade pode existir sem estar associada a outra Notação DER: linha simples conectando o CE ao CR Conjunto de Relacionamentos – Participação Parcial Aluno Disciplina Monitora NN Participação Parcial de Aluno em Monitora

122 USP – ICMC – GBDI 122 Conjunto de Relacionamentos Considere o exemplo, para a base de dados de uma empresa: Dependente Funcionário Possui 1N CPF Nome Parentesco Como identificar um dependente na SEMÂNTICA do domínio de aplicação?

123 USP – ICMC – GBDI 123 Conjunto de Relacionamentos – Entidade Fraca Dependente Funcionário Possui 1N CPF Nome Parentesco um Dependente é identificado por meio do Funcionário ao qual está associado ENTIDADE FRACA!

124 USP – ICMC – GBDI 124 Entidade FracaEntidade Fraca não tem atributos que possam identificá-la univocamente na SEMÂNTICA do domínio de aplicação não tem chave (semântica) própria sua identificação depende de um relacionamento com uma entidade de outro conjunto (chamada de owner) Conjunto de Relacionamentos – Entidade Fraca

125 USP – ICMC – GBDI 125 Conjunto de Relacionamentos– Entidade Fraca Notação DER: Entidade Fraca: traço duplo no retângulo CR Identificador: traço duplo no losango Dependente Funcionário Possui 1N CPF Nome Entidade Fraca Relacionamento Identificador Nome Parentesco

126 USP – ICMC – GBDI 126 Conjunto de Relacionamentos– Entidade Fraca Chave Parcial Chave Parcial: um ou mais atributos de CEs Fracas que podem identificar univocamente as entidades fracas relacionadas a um mesmo owner Dependente Funcionário Possui 1N Nome Notação DER: traço pontilhado Chave Parcial Nome Parentesco CPF

127 USP – ICMC – GBDI 127 Conjunto de Entidades Fracas: possui participação total no CR (chamado de CR identificador) a cardinalidade do CR é sempre 1:N ou 1:1, mas nunca N:M Conjunto de Relacionamentos – Entidade Fraca Por que?

128 USP – ICMC – GBDI 128 Conjunto de Relacionamentos– Entidade Fraca Observação: o conceito de entidade fraca é mais ligado à semântica do domínio da aplicação do que à existência ou não de atributos que possam ser chave poderíamos incluir uma chave CPF em Dependente, mas semanticamente, no contexto da aplicação Empresa, não é relevante, pois o dependente acaba sendo identificado por meio do funcionário Dependente Funcionário Possui 1N CPF Nome Parentesco

129 USP – ICMC – GBDI 129 Conjunto de Relacionamentos– Entidade Fraca Qual seria uma outra maneira de modelar a informação contida em um Conjunto de Entidades Fracas? um atributo multivalorado composto não é um bom projeto Quando modelar como Entidade Fraca? quando tiver muitos atributos quando a entidade fraca participar de outros relacionamentos além daquele que a identifica

130 USP – ICMC – GBDI 130 Conjunto de Relacionamentos– Entidade Fraca Ex: Turma Disciplina Possui 1N Sigla Nome Turma Nro Alunos Aluno N NUSP Nome Matricula N

131 USP – ICMC – GBDI 131 Um Conjunto de Relacionamentos (CR) pode envolver dois ou mais Conjuntos de Entidades (CE) GRAU do CR é o número de CEs envolvidos Dois CEs CR Binário Três CEs CR Ternário.... Conjuntos de Relacionamentos - Grau

132 USP – ICMC – GBDI 132 Pessoa Matricula Disciplina N M Binário Aluno Monitora Disciplina Monitora Professor Auxiliado por Ternário Monitorada por Conjuntos de Relacionamentos - Grau

133 USP – ICMC – GBDI 133 Disciplina Dado um Professor e uma Disciplina, pode existir mais de um aluno monitor que a monitora ? Relacionamento Ternário – Determinando Cardinalidade... Aluno Monitora N Professor

134 USP – ICMC – GBDI 134 Disciplina Dado um Professor e um Aluno monitor, existe no máximo uma disciplina que esse aluno monitora ? Aluno Monitora N Professor 1 Relacionamento Ternário – Determinando Cardinalidade...

135 USP – ICMC – GBDI 135 Disciplina Dado uma Disciplina e um Aluno monitor, mais de um professor pode ser responsável ? Aluno Monitora N Professor N 1 Relacionamento Ternário – Determinando Cardinalidade...

136 USP – ICMC – GBDI 136 Cardinalidades possíveis para Ternários: 1:1:1 1:1:N 1:N:P N:M:P Aluno Monitora Disciplina N Professor N 1 Relacionamento Ternário – Cardinalidade

137 USP – ICMC – GBDI 137 Podemos tentar quebrar o relacionamento ternário em vários binários? Relacionamento Ternário problema??? Ministra Aluno Disciplina Auxiliar Professor Monitora Auxilia Auxiliada por Ministra Ministrada por MonitoraMonitorada por N N N N N N

138 USP – ICMC – GBDI 138 perda de informação semântica Problema perda de informação semântica a informação representada por um conjunto de relacionamentos ternário nem sempre pode ser obtida apenas com CRs Binários ex: como responder: Aluno A auxilia Professor P em qual Disciplina? Relacionamento Ternário Ministra Aluno Disciplina Auxiliar Professor Monitora Auxilia Auxiliada por Ministra Ministrada por Monitora Monitorada por N N N N N N

139 USP – ICMC – GBDI 139 Mesmo Conjunto de Entidades com vários papéis Produto Uma Empresa (vendedora) negocia Produtos com outra Empresa (compradora) Vendido P Empresa Negociar M N Compra Vende Relacionamento Ternário

140 USP – ICMC – GBDI 140 Uma Empresa (Assessora) Promove a Venda de uma outra Empresa (Vendida) para uma terceira Empresa (Compradora) Empresa Promover Vendas M N Compra Vende Assessora P Relacionamento Ternário

141 USP – ICMC – GBDI 141 Cria Criada por significado semânticoOBS: CR tem significado semântico. o CR Monitora incorpora a idéia que professor ministra disciplinas com o auxílio de um aluno monitor CR Cria representa quem criou cada disciplina Aluno Monitora Disciplina Monitora Professor Auxiliado por Monitorada por Conjuntos de Relacionamentos

142 USP – ICMC - GBDI 142 Modelos Conceituais ou Semânticos Construtores Semânticos organizados como ocorrências de Abstrações Abstrair desconsiderar detalhes da informação disponível visão mais geral (mais abstrata) Abstração em Modelos de Dados – Conceitos Básicos

143 USP – ICMC - GBDI 143 Dados abstratos e detalhes estão no sistema implementado podem ser vistos com mais ou menos detalhes conforme o interesse Abstração em Modelos de Dados – Conceitos Básicos Abstração Reino Imaginário Reino Real Reino da Representação Percepção Modelagem Implementação

144 USP – ICMC - GBDI 144 Abstrações de Dados Abstrações de Dados: omitem (deliberadamente) detalhes estruturais para facilitar a visão global dos dados em questão Abstração em Modelos de Dados – Conceitos Básicos Detalha Abstrai Abstrato Detalhe

145 USP – ICMC - GBDI 145 Abstrações no MER-X MER-X (MER Estendido) suporte a Abstrações de Dados Abstração de Agregação Abstração de Generalização/Especialização

146 USP – ICMC - GBDI 146 Conceito geral: construção de objetos compostos a partir de objetos componentes Idéia: elementos de modelagem podem associar-se criando outros elementos que representam essa associação Abstração de Agregação

147 USP – ICMC - GBDI 147 Agregação no MER-X: agregando Atributos a CE os valores dos atributos compõem a entidade agregando CE e CR combinar entidades relacionadas por meio de um relacionamento e compor entidades agregadas (de nível abstrato mais alto) Abstração de Agregação

148 USP – ICMC - GBDI 148 Nome Abstração de Agregação Ex: parte do DER para uma aplicação Consultório Médico RG Data Paciente Médico Atende N M CRM Como identificar cada atendimento (consulta)?

149 USP – ICMC - GBDI 149 Nome Abstração de Agregação Ex: parte do DER para uma aplicação Consultório Médico RG Data Paciente Médico Atende N M CRM Como identificar cada atendimento (consulta)? Problema: cada médico só pode atender um dado paciente uma única vez.

150 USP – ICMC - GBDI 150 Abstração de Agregação Exemplo (cont...) : com RG, CRM e Data é possível identificar cada consulta univocamente Paciente Médico Atende N M Nome RG CRM Data

151 USP – ICMC - GBDI 151 Abstração de Agregação Exemplo (cont...) : Na semântica da aplicação, a idéia de Consulta é relevante compor uma entidade Consulta a partir de um relacionamento entre uma entidade Paciente e uma entidade Médico, com uma Data específica

152 USP – ICMC - GBDI 152 Abstração de Agregação Data Paciente Médico Atende N M Consulta Nome RG CRM Onde colocar Data ?

153 USP – ICMC - GBDI 153 Abstração de Agregação Data Paciente Médico Atende N M Entidade Agregada (elemento composto) Atributo da Entidade Agregada Consulta Nome RG CRM Relacionamento Gerador da Agregação Elementos Componentes

154 USP – ICMC - GBDI 154 Abstração de Agregação Chave de Consulta composta por RG, CRM e Data Data Paciente Médico Atende N M Consulta Nome RG CRM

155 USP – ICMC - GBDI 155 Preço Nome Abstração de Agregação Exemplo (cont...) : RG Data Paciente Médico Atende N M CRM Consulta Recibo Tem 1 N Nro

156 USP – ICMC - GBDI 156 Abstração de Agregação Ex: parte do DER para uma aplicação Pós- Graduação o Título sob o qual é realizada uma orientação é único para todo o sistema um atributo do relacionamento poderia identificá- lo univocamente Título Professor Aluno- Pós Orienta NM NUSPNome

157 USP – ICMC - GBDI 157 NUSPNome Abstração de Agregação Abstrair a informação representada no relacionamento Orienta e criar uma agregação Projeto a chave de Projeto é o atributo Título Título Professor Aluno- Pós Orienta NM Projeto

158 USP – ICMC - GBDI 158 NUSPNome Início Abstração de Agregação Exemplo (cont...) : Título Professor Aluno- Pós Orienta NM Projeto Financia Agência de Fomento 1 N

159 USP – ICMC - GBDI 159 CódigoNome Abstração de Agregação Ex: DER para um sistema de universidade qual é a chave de Aula? onde colocar a informação do livro texto adotado pelo professor para a disciplina? Data/Horário Professor Disciplina Ministra Livro Texto NN Aula

160 USP – ICMC - GBDI 160 Nome Abstração de Agregação Ex: parte do DER para uma aplicação Agência de Empregos RG Candidato Empresa Entrevista N M CNPJ Como modelar: algumas entrevistas resultam numa oferta de emprego (com cargo e salário inicial) e outras não....

161 USP – ICMC - GBDI 161 Abstração de Agregação Candidato Empresa Entrevista N M Salario Resulta Emprego Cargo 1 N Nome RG CNPJ Data N_vagas

162 USP – ICMC - GBDI 162 Nome Toda Agregação sempre é gerada a partir de um (E SÓ UM!!!!) CR Toda instância do CR gera, obrigatoriamente, pelo menos um elemento composto (agregado) RG Data Paciente Médico Atende Consulta N M CRM Abstração de Agregação

163 USP – ICMC - GBDI 163 Nome Exemplo: A Consulta também poderia ser identificada por um Número de Registro, além de RG, CRM e Data neste caso, um deles deve ser escolhido como chave principal RG NroRegistro Paciente Médico Atende Consulta N M CRM Abstração de Agregação Data Anotação complementar: RG, CRM e Data são identificadores

164 USP – ICMC - GBDI 164 Abstração de Agregação Indícios de uso da Agregação semanticamente, as mesmas instâncias de um CE participam de mais de um relacionamento (instância) do mesmo CR ex: CEs paciente e médico, CR atende o CR possui um identificador próprio ex: título, no CR orienta entre os CEs professor e aluno_pós necessidade de associar dois relacionamentos ex: CRs entrevista e resulta

165 USP – ICMC - GBDI 165 Abstração de Generalização – Introdução Genérico Específico Generaliza (abstrai) Especializa (detalha) Is-a Herança

166 USP – ICMC - GBDI 166 MER CE agrupa entidades de um mesmo tipo CE expressa o tipo das entidades MER-X tipos podem ser especializados em subtipos entidades podem ser especializadas em subtipos de entidades relevantes no domínio do problema Abstração de Generalização – Introdução Abstração de Generalização/Especialização

167 USP – ICMC - GBDI 167 Abstração de Generalização – Notação DER-X Entidade Abstrata (Entidade Genérica ou Supertipo) Direção do Relacionamento: Especialização Entidade Detalhe (Entidade Específica ou Subtipo) Pessoa Aluno Professor Funcionário

168 USP – ICMC - GBDI 168 Generalização - elementos de um conjunto são distribuídos em diversos subconjuntos (subtipos) relacionamento Is-a Abstração de Generalização Pessoa={p 1, p 2, p 3, p 4,...} Aluno= {p 1, p 3,...} Aluno Pessoa Pessoa Aluno Professor Funcionário

169 USP – ICMC - GBDI 169 Critério de Especialização – determina como os elementos são distribuídos em subconjuntos (subtipos) específicos Definido pelo Usuário Definido por Valor de Atributo (ou Definido por Predicado) Abstração de Generalização Pessoa Aluno Professor Funcionário

170 USP – ICMC - GBDI 170 Critério Definido pelo Usuário CE(s) Específico(s) indicado(s) explicitamente na inserção da entidade Critério de Especialização Pessoa Aluno Professor Funcionário

171 USP – ICMC - GBDI 171 Critério Definido por Predicado valores do(s) atributo(s) de critério definem o(s) CE(s) Específico(s) automaticamente na inserção da entidade Critério de Especialização Critério de Especialização Pessoa Aluno Professor Funcionário Nome Vínculo docente funcionário aluno

172 USP – ICMC - GBDI 172 HERANÇA Conceito fundamental: HERANÇA CEs específicos herdam todos os atributos do CE genérico OBS: em geral, atributos usados como critério não são herdados pelos CEs específicos Herança

173 USP – ICMC - GBDI 173 Herança a chave do CE específicos é herdada do CE genérico chave definida implicitamente Nome Idade Altura Vínculo N#Func Função N#USP Curso Pessoa Aluno Professor Funcionário Vínculo docente funcionário aluno

174 USP – ICMC - GBDI 174 CEs específicos herdam todos os CRs definidos para o CE genérico Herança Plano Saúde possui Nome Idade Altura Vínculo N#Func Função N#USP Curso Pessoa Aluno Professor Funcionário Vínculo docente funcionário aluno N 1

175 175 Herança em Múltiplos Níveis GraduaçãoPós-Grad.TécnicoSecretária Semestre Formação Especialidade Nome Idade Altura Vínculo N#Func Função N#USP Curso Pessoa Aluno Professor Funcionário

176 Exemplo: GraduaçãoPós-Grad.AssistenteDoutor Nome Idade Altura Vínculo Titulação N#USP Curso Pessoa Aluno Funcionário Professor Herança Múltipla Prof/Aluno

177 USP – ICMC - GBDI 177 Um mesmo CE participa como CE Específico em mais de uma ocorrência da Abstração de Generalização Um mesmo CE possui mais de um supertipo direto CE específico "herda" todos os atributos e relacionamentos dos seus supertipos atributos e relacionamentos herdados de um mesmo CE genérico por caminhos diferentes na hierarquia são associados (implicitamente) apenas uma vez ao CE específico Herança Múltipla

178 Veículo Terrestre Aquático Automóvel AnfíbioBarco Exemplo: Herança Múltipla

179 USP – ICMC - GBDI 179 Podemos criar uma hierarquia de especialização com mais de um CE genérico? H erança Múltipla NÃO!!! NÃO!!! Por que?

180 Quando Especializar? CASO 1: determinados atributos aplicam-se somente a alguns CEs específicos Atributos Genéricos Atributos Específicos Atributos Específicos Nome Idade Altura Vínculo N#Func Função N#USP Curso Pessoa Aluno Professor Funcionário Vínculo docente funcionário aluno

181 USP – ICMC - GBDI 181 CASO 2: existem relacionamentos dos quais participam apenas entidades de alguns CEs específicos Quando Especializar? Disciplina ministra cursa Pessoa Aluno Professor Funcionário

182 Ortogonalidade entre Generalização e os outros construtores CEs genéricos e específicos são tratados de maneira homogênea no modelo Orienta 182 GraduaçãoPós-Grad.TécnicoSecretária Pessoa Aluno Professor Funcionário

183 USP – ICMC - GBDI 183 Múltiplas Especializações Múltiplas Especializações Múltiplas Especializações um mesmo CE participa como CE Genérico em mais de uma ocorrência de Abstração de Especilização Pessoa Aluno Professor Mulher Nome Idade Sexo Vínculo N#USP Curso Homem N#Cert.Mil. docente Vínculo aluno Sexo M F

184 USP – ICMC - GBDI 184 Restrição de Disjunção Exclusão Mútua Sobreposição Restrição de Totalidade Especialização Total Especialização Parcial Restrições da Abstração de Generalização CEG CEE 1 CEE 2 CEE i Ch AG AE 1 AE 2 AE i...

185 USP – ICMC - GBDI 185 Restrição de Disjunção Exclusão Mútua Exclusão Mútua - uma disciplina deve ser somente de um tipo Tipo Disciplina Grad. Pós-Gr. Nome Sigla Semestre Nível D Tipo pósgrad

186 USP – ICMC - GBDI 186 mutuamente exclusiva Abstração de Generalização é mutuamente exclusiva se, para qualquer par de CEEs j e k distintos, vale: CEE j CEE k = Restrição de Disjunção Exclusão Mútua Notação CEG CEE 1 CEE 2 CEE i Ch AG AE 1 AE 2 AE i... D D

187 USP – ICMC - GBDI 187 Restrição de Disjunção Sobreposição - um funcionário pode acumular mais de uma função ao mesmo tempo Pessoa Vigia Secretário Turno Nível Bibliotecário Seção Função Nome O Função bibliotecáriovigia secretário

188 USP – ICMC - GBDI 188 sobreposição Abstração de Generalização é definida com sobreposição se para algum par de CEEs j e k distintos: CEE j CEE k Sobreposição Notação Restrição de Disjunção CEG CEE 1 CEE 2 CEE i Ch AG AE 1 AE 2 AE i... O O

189 USP – ICMC - GBDI 189 Restrição de Totalidade Especialização Total Especialização Total - qualquer disciplina é de pelo menos um tipo: graduação, pós-graduação, e/ou especialização Disciplina Grad. Pós-Gr. Semestre Nível Especializ. N#Horas Tipo Nome Sigla tipo espec. grad pós

190 USP – ICMC - GBDI 190 Total Abstração de Generalização é Total quando todas as entidades genéricas estão em pelo menos um dos CEEs: U CEE k = CEG Total Notação K Restrição de Totalidade CEG CEE 1 CEE 2 CEE i Ch AG AE 1 AE 2 AE i...

191 USP – ICMC - GBDI 191 Restrição de Totalidade Especialização Parcial – uma pessoa pode, por exemplo, ter a função de Gerente de Recursos Humanos (que não está definida como subtipo) Pessoa Vigia Secretário Turno Nível Bibliotecário Seção Função Nome função bibliotecário vigia secretário

192 USP – ICMC - GBDI 192 Parcial Abstração de Generalização é Parcial quando existem entidades genéricas que não estão em nenhum CEE: U CEE k CEG Parcial Notação k Restrição de Totalidade CEG CEE 1 CEE 2 CEE i Ch AG AE 1 AE 2 AE i...

193 USP – ICMC - GBDI 193 Restrições de cada ocorrência da abstração dependem da semântica do mundo real As Restrições da Abstração de Generalização Parcial Exclusiva Parcial Sobreposta Total Exclusiva Total Sobreposta Possibilidades CEG CEE 1 CEE 2 CEE i Ch AG AE 1 AE 2 AE i...

194 USP – ICMC - GBDI 194 Parcial Exclusiva Uma disciplina só pode ser de um tipo Há disciplinas que não são nem de graduação nem de pós-graduação. Ex: disciplinas para cursos de treinamento em empresas Tipo Disciplina Grad. Pós-Gr. Nome Sigla Semestre Nível D tipo pósgrad

195 USP – ICMC - GBDI 195 Total Exclusiva Uma disciplina ou é de graduação ou de pós, ou de especialização Só há disciplinas de graduação, de pós-graduação, e de especialização Disciplina Grad. Pós-Gr. Semestre Nível Especializ. N#Horas Tipo Nome Sigla D tipo espec. grad pós

196 USP – ICMC - GBDI 196 Parcial Sobreposta Um funcionário pode acumular mais de uma função, por exemplo Secretário e Bibliotecário, ao mesmo tempo Além de Vigia, Secretário e Bibliotecário, há outras funções Pessoa Vigia Secretário Turno Nível Bibliotecário Seção Função Nome O função bibliotecáriovigia secretário

197 USP – ICMC - GBDI 197 Total Sobreposta Um aluno pode ao mesmo tempo estar matriculado em um curso de graduação e em um curso de especialização, por exemplo Há somente alunos de graduação, de pós-graduação, e de especialização Aluno Grad. Pós-Gr. Ano Ingresso M/D Especializ. Tipo Nome NUSP O tipo espec. grad pós

198 Modelo Relacional Criado por E. F. Codd (IBM) A relational model of data for large shared data banks. Communications of the ACM, Volume 13, Issue 6, June 1970. Modelo de Implementação projeto lógico USP – ICMC – GBDI 198

199 Ciclo de Vida Sistemas de Banco de Dados Dados e Metadados SGBD Aplicação Mundo Real Requisitos Funcionais Requisitos de Dados Desenvolvimento de Sistemas de Banco de Dados Projetistas de BD DBA Pessoal de Suporte e Operação Usuários Operadores de Aplicação Projetistas de Interface Projeto Conceitual Projeto Lógico Projeto Físico Análise Funcional Projeto Implementação Coleta/Especificação de Requisitos Protótipo

200 USP – ICMC – GBDI 200 Definição do Modelo O modelo relacional representa uma base de dados como uma coleção de relações [Elmasri&Navathe] Modelo Relacional – base teórica em Teoria de Conjuntos

201 USP – ICMC – GBDI 201 Definição do Modelo Valores dados do mundo real Tabelas dados mantidos em tabelas representam coleções de objetos, entidades, associações, etc, do mundo real RELAÇÕES tabelas são uma noção intuitiva para as RELAÇÕES

202 USP – ICMC – GBDI 202 Relação Tabela Tupla Registro, linha Atributo Campo Valor Relation Intension Esquema Relation Extension Instância Terminologia

203 USP – ICMC – GBDI 203 Modelo Intuitivo Esquema Instância Nome NUSPCurso Paulo Izabella João 9999 8888 1111 Info Comp ….

204 USP – ICMC – GBDI 204 Modelo Intuitivo Nome NUSPCurso Paulo Izabella João 9999 8888 1111 Info Comp Relação Atributo Tupla Valor Esquema de Relação

205 Valores Modelo relacional valores são atômicos Valor Atômico Valor Atômico indivisível não pode ser recuperado em partes ex: endereço definido como um único atributo monovalorado pode ter apenas um valor ex: Idade de aluno é monovalorado Irmãos de aluno é multivalorado USP – ICMC – GBDI 205

206 USP – ICMC – GBDI 206 Domínio de aplicaçãoDomínio de aplicação Exemplos:Exemplos: EscolaEscola UniversidadeUniversidade CidadeCidade DomínioDomínio de atributo Exemplos: Nomes de Alunos Códigos de Disciplinas Idade Domínios

207 USP – ICMC – GBDI 207 Domínio de atributoEspecificação do Domínio de atributo: Nome Definição lógica Tipo de dado e formato de dado Domínios

208 USP – ICMC – GBDI 208 NomeDefinição lógicaNome e Definição lógica. Ex: Nomes de Alunos: conjunto de todos os nomes possíveis para pessoas Códigos de Disciplinas: conjunto dos códigos das disciplinas oferecidas no ICMC Idade: conjunto de idades possíveis para alunos Especificação do Domínio

209 USP – ICMC – GBDI 209 Tipo de dado e/ou formatoTipo de dado e/ou formato. Ex: Nomes de Alunos – string de 60 caracteres Códigos de Disciplinas – string com três letras seguidas de um traço e de quatro dígitos: SCC-0240 Idade – inteiro entre 15 e 100 Especificação do Domínio

210 USP – ICMC – GBDI 210 Esquema de relaçãoEsquema de relação: descreve a relação R R (A 1, A 2,..., A n ) R = ou R = {A 1, A 2,..., A n } R R - nome da relação (A 1, A 2,..., A n ) - conjunto de atributos que formam a relação Esquema de Relações

211 USP – ICMC – GBDI 211 grau R N - grau da relação descrita por R R número de atributos em R Dom(A i )Dom(A i ) - Domínio do Atributo A i Ex: uma relação de Alunos que tenha os atributos Nome, RG e Idade, tem o seguinte esquema: Esquema de Relações Aluno(Nome, RG, Idade)

212 USP – ICMC – GBDI 212 Exemplo Especificação dos domínios: Especificação dos domínios: Nomes de Alunos: conjunto de todos os nomes possíveis para pessoas – strings de 60 caracteres RG: conjunto dos RGs válidos no Brasil – números de 9 dígitos Idade: conjunto de idades possíveis para alunos – inteiro entre 0 e 100

213 USP – ICMC – GBDI 213 Exemplo (cont.) Esquema da relação Aluno: Aluno={Nome, RG, Idade} Domínios dos atributos de Aluno: Dom(Nome) = Nomes de Alunos Dom(RG) = RG Dom(Idade) = Idade

214 USP – ICMC – GBDI 214 Relações Relação R R Relação R – instância do Esquema de Relação R (A 1, A 2,..., A n ) R R( R ) R Dom(A 1 ) X Dom(A 2 ) X... Dom(A n ) R é um conjunto de tuplas R={t 1, t 2,... t k } t = {v 1, v 2,... v n }, v i Dom(A i )

215 USP – ICMC – GBDI 215 Número total de tuplas possíveis: |Dom(A 1 )| X |Dom(A 2 )| X... X|Dom(A n )| R R( R ) contém apenas as tuplas válidas que representam a situação de um determinado instante do mundo real R Esquema de Relação R (relation intension) mudanças pouco freqüentes Relação R (relation extension) dinâmica Relações

216 USP – ICMC – GBDI 216 Exemplo: Esquema de Relação Aluno: Aluno = {Nome, RG, Idade} Possível relação: R(Aluno) = {,, } Relações

217 USP – ICMC – GBDI 217 Ordem das tuplas de uma relação relação conjunto de tuplas matematicamente não existe a idéia de ordem em conjuntos não existe uma ordem em particular para as tuplas de uma relação OBS: na implementação de um SGBDR existe uma ordem física de armazenamento das tuplas, determinando uma ordem na recuperação das informações Relações

218 USP – ICMC – GBDI 218 Ordem dos valores de uma tupla tupla lista de n valores dispostos em uma ordem determinada de acordo com a disposição dos atributos no esquema da relação Valores nas tuplas os valores de uma tupla são atômicos valor nulo (null ) valor desconhecido valor não se aplica valor conhecido mas não disponível Relações

219 USP – ICMC – GBDI 219 Restrições das Relações Restrição de domínio o valor de cada atributo A deve ser um valor atômico pertencente a Dom(A) Restrição de null para atributo determina quando o valor especial null é ou não permitido para um atributo Restrição de unicidade (CHAVE) deve ser possível identificar univocamente cada tupla da relação

220 USP – ICMC – GBDI 220 Relação é um conjunto de tuplas pela teoria de conjuntos todas as tuplas devem ser distintas para garantir esta propriedade de maneira eficiente especifica-se uma Restrição de Unicidade definição de chave Restrição de Unicidade

221 USP – ICMC – GBDI 221 SuperchaveSuperchave conjunto de atributos de uma relação R que identifique univocamente cada tupla RR SC Hk ( R ) = {A j,..., A i }|{A j,..., A i } R Combinação de valores não se repete Exemplo: Aluno = {Nome, Idade, Curso, NUSP} SC H1 (Aluno) = {Nome, Curso, Idade} SC H2 (Aluno) = {NUSP, Nome} Restrição de Unicidade

222 USP – ICMC – GBDI 222 ChaveChave é uma superchave da qual não se pode retirar nenhum atributo e ainda preservar a propriedade de identificação unívoca superchave mínima Restrição de Unicidade

223 USP – ICMC – GBDI 223 RR C Hk ( R ) = {A i,..., A j }|{A i,..., A j } R t g [C Hk ] t h [C Hk ] g, h R, g h Exemplo: Aluno = {Nome, Idade, Curso, NUSP} SC H1 (Aluno) = {Nome, NUSP} C H1 (Aluno) = {Nome} C H2 (Aluno) = {NUSP} CHAVE

224 USP – ICMC – GBDI 224 Chave Candidata:Chave Candidata: pode existir mais de uma chave para uma mesma relação cada uma das chaves é chamada de Chave Candidata C H1 (Aluno) = {Nome} C H2 (Aluno) = {NUSP} Chave

225 USP – ICMC – GBDI 225 Chave PrimáriaChave Primária escolhida entre as chaves candidatas a chave primária é freqüentemente a mais utilizada para acessos à relação Exemplo: C H0 (Aluno) = {NUSP} Chave

226 USP – ICMC – GBDI 226 Notação no Esquema da Relação C H0 (Aluno) = {NUSP} C H1 (Aluno) = {Nome} Aluno = {Nome, Idade, Curso, NUSP} Chave Chave primária Chave secundária

227 USP – ICMC – GBDI 227 S O esquema S de uma base de dados relacional é composto por: 1) um conjunto de esquemas de relações S R R R S = { R 1, R 2,..., R n } 2) um conjunto de Restrições de Integridade Base de Dados Relacional

228 USP – ICMC – GBDI 228 Uma base de dados relacional (uma instância) é composta por: um conjunto de relações BD = {R 1, R 2,..., R n } R i tal que cada R i é uma instância de R i e cada R i satisfaz todas as restrições indicadas em Base de Dados Relacional

229 USP – ICMC – GBDI 229 R1 R2 BASE DE DADOS R3R4 Base de Dados Relacional

230 USP – ICMC – GBDI 230 Base de Dados para armazenar informações sobre as diversas turmas de disciplinas oferecidas num semestre Esquemas de Relações: Aluno = {Nome, NUSP, Idade, Curso} Disciplina = {Sigla, Nome, NCreditos} Matricula = {Aluno, Disciplina, Semestre, Ano, Nota} Exemplo

231 USP – ICMC – GBDI 231 Restrições de integridade regras a respeito dos valores que podem ser armazenados nas relações objetivo: garantir consistência quando definidas no domínio do problema, devem ser sempre satisfeitas na base de dados Restrições de Integridade

232 USP – ICMC – GBDI 232 Principais restrições de integridade para um BD relacional: Restrições de Integridade da Entidade Restrições de Integridade Referencial Restrições de Integridade

233 USP – ICMC – GBDI 233 Restrição de Integridade da Entidade a chave primária não pode ser nula em nenhuma tupla de qualquer relação se a chave primária for composta por mais de um atributo, nenhum deles pode ser nulo Restrições de Integridade

234 USP – ICMC – GBDI 234 Restrição de Integridade Referencial definida entre duas relações usada para manter consistência entre tuplas de duas relações define que: se uma tupla t 1 em uma relação R 1 faz referência a uma relação R 2, então t 1 deve fazer referência a uma tupla existente em R 2 Restrições de Integridade

235 USP – ICMC – GBDI 235 Restrição de Integridade Referencial está vinculada ao conceito de chave estrangeira conceito fundamental: compatibilidade de domínio Restrições de Integridade Referencial

236 USP – ICMC – GBDI 236 Compatibilidade de DomínioCompatibilidade de Domínio: dados dois conjuntos de atributos quaisquer C e D, ambos são compatíveis quando o primeiro atributo de C tem o mesmo domínio do primeiro atributo de D, o segundo atributo de C tem o mesmo domínio do segundo atributo de D, e assim por diante ex:??? Restrições de Integridade Referencial

237 USP – ICMC – GBDI 237 Chave estrangeiraFK é uma Chave estrangeira em R 1 que referencia R 2 se: 1)FK é compatível em domínio com toda a chave primária PK de R 2 2)o valor dos atributos FK numa tupla t i qualquer da relação R 1 : ou é igual ao valor dos atributos PK de alguma tupla t k da relação R 2 t i [FK] = t k [PK], t i R 1, t k R 2 ou é nulo t i [FK] = null Restrições de Integridade Referencial

238 USP – ICMC – GBDI 238 As duas condições para a ocorrência da chave estrangeira determinam a Restrição de Integridade Referencial entre duas relações R 1 e R 2 RR R 1 [FK] CE R 2 [PK] Restrições de Integridade Referencial

239 USP – ICMC – GBDI 239 Chave Estrangeira: X = {A, B, C} Y = {F, G, H} Dom(F, G) = Dom(A, B) {A, B} é chave primária em X {F, G} é chave estrangeira em Y Restrições de Integridade Referencial Pergunta: a chave estrangeira {F,G} pode ser nula? Por que?

240 USP – ICMC – GBDI 240 Exemplo: Restrições de Integridade Referencial Departamento = {Cod, NomeD} Empregado = {NomeE, Departamento} Pergunta: a chave estrangeira {Departamento} pode ser nula? Por que?

241 Alunos = {Nome, No.USP, Idade} R1(Alunos) = {,, } Disciplina = {Sigla, Monitor} R2(Disciplina) = {,, } Exemplo Quais restrições de relação e de integridade não são satisfeitas nas tuplas do exemplo? Por quê?

242 Mapeamento entre Esquemas – Mapeamento MER MRel MER - modelo conceitual usado para especificar conceitualmente a estrutura dos dados de uma aplicação Projeto Conceitual – descrição carregada de semântica Modelo Relacional - modelo de implementação usado para suportar a implementação de aplicações Projeto Lógico SGBDR SGBD que se apóia no modelo relacional

243 Passo 1 Como mapear Conjuntos de Entidades? USP – ICMC – GBDI 243 Disciplina Nome N o. Créditos Sigla Aluno Nome NUSP CPF RG

244 Atributo Composto Pessoa = {Nome, NUSP, Rua, Número, CEP, Cidade} Rua Número CEP Cidade Pessoa Nome NUSP Endereço

245 Passo 2 Como mapear Conjuntos de Entidades Fracas? USP – ICMC – GBDI 245 Horário Sala 1 Turma Número N Corresponde Disciplina Nome N o. Créditos Sigla

246 Tem Corresponde Horário Sala Disciplina Nome N o. Créditos 1 Turma Número N Sigla Horário Aula Prática Laboratório Código Disciplina = {Sigla, Nome, NroCreditos} N 1 Turma = {Número, Sigla, Horário, Sala} Aula_Prática = {Código, Horário, Laboratório, Número, Sigla} Entidades fracas

247 USP – ICMC – GBDI 247 Nome Comissão organiza Conferência Data Instalação 1 1 NroMembros Cod Passo 3 Como mapear Conjuntos de Relacionamentos Binários com Cardinalidade 1:1?

248 Nome Comissão organiza Conferência Data Instalação 1 1 Conferência = {Nome} Comissão = {Cod, NroMembros, Conferência, DtaInst} NroMembros Cod Relacionamentos Binários Cardinalidade 1:1

249 Nome Comissão organiza Conferência Data Instalação 1 1 Conferência = {Nome, CodComissão, DtaInst} Comissão = {Cod, NroMembros} NroMembros Cod Relacionamentos Binários Cardinalidade 1:1

250 Nome Projeto participa Gerente 1 1 Cod Relacionamentos Binários Cardinalidade 1:1 Gerente = {Nome, Projeto} Projeto = {Cod} Restrição de null: na relação Gerente o atributo Projeto deve ser definido como não nulo. (obrigatoriamente!)

251 Alternativas para o Mapeamento Relacionamentos Binários 1:1 Nome Comissão organiza Conferência Data Instalação 1 NroMembros Cod 1 ConfCom = {Nome, CodComissão, NroMembros, DataInstalação} Alternativa - uma só relação: Mapeamento usual: Conferência = {Nome, CodComissão, DataInstalação} Comissão = {Cod, NroMembros}

252 Idade Homem MulherNamora 1 1 Nome Pouca Participação Alternativas para o Mapeamento Relacionamentos Binários 1:1 Idade Nome tempo Considerações: o CR Namora representa relacionamentos de namoro na USP São Carlos! Mapeamento usual Mulher = {Nome, Idade} Homem = {Nome, Idade, NomeM, tempo} Muitos valores nulos!!

253 Mapeamento alternativo Mulher = {Nome, Idade} Homem = {Nome, Idade} Namoro = {NomeH, NomeM, tempo} Alternativas para o Mapeamento Relacionamentos Binários 1:1 Desvantagem????

254 Mapeamento alternativo Mulher = {Nome, Idade} Homem = {Nome, Idade} Namoro = {NomeH, NomeM, tempo} Alternativas para o Mapeamento Relacionamentos Binários 1:1 Desvantagem???? Mais relações e mais junções

255 Diretor = {Nome, NomeAntecessor} Sucede Diretor 1 1 Anterior Sucessor Papéis dos Relacionamentos Nome

256 USP – ICMC – GBDI 256 Nome Disciplina Nome N o. Créditos Ministra Professor Horário 1 N Passo 4 Sigla Como mapear Conjuntos de Relacionamentos Binários com Cardinalidade 1:N?

257 Nome Disciplina Nome N o. Créditos Ministra Professor Horário 1 N Professor = {Nome} Disciplina = {Sigla, Nome, Créditos, Professor, Horário} Relacionamentos Binários Sigla Cardinalidade 1:N

258 NCreditos Nome Disciplina Aluno Monitora 1 N Sigla NUSP Horário Alternativas para o Mapeamento Relacionamentos Binários 1:N Considerações: poucos alunos monitoram alguma disciplina Pouca Participação Mapeamento usual: Disciplina = {Sigla, NCréditos} Aluno = {NUSP, Nome, Sigla, Horário} Muitos valores nulos!!

259 Mapeamento alternativo: Disciplina = {Sigla, NCréditos} Aluno = {NUSP, Nome} Monitora = {NUSP, Sigla, Horário} Alternativas para o Mapeamento Relacionamentos Binários 1:N Obs: definir restrição de null para o atributo Sigla (em Monitora), para que ele não possa ter valor nulo

260 USP – ICMC – GBDI 260 Passo 5 Como mapear Conjuntos de Relacionamentos Binários com Cardinalidade M:N? Nome NUSP Disciplina Nome N o. Créditos Matriculado Aluno Nota M N Sigla

261 Nome NUSP Disciplina Nome N o. Créditos Matriculado Aluno Nota M N Disciplina = {Sigla, Nome, Créditos} Aluno = {NUSP, Nome} Relacionamentos Binários – Sigla Cardinalidade M:N Matriculado = {NUSP, Sigla, Nota}

262 USP – ICMC – GBDI 262 Passo 6 Como mapear Conjuntos de Relacionamentos com grau > 2? Nome Início CodP Fornecedor CodF Fornece Projeto Qtde P N Nome Peça M

263 Nome Início CodP Fornecedor CodF Fornece Projeto Qtde P N Nome Peça M Relacionamentos Ternários Projeto = {CodP, Início} Fornecedor = {CodF, Nome} Peça = {Nome} Fornece= {CodP, Nome, CodF, Qtde}

264 N o. Créditos Nome NUSP Disciplina Sigla Monitora Aluno Horário 1 N Nome Professor M Relacionamentos Ternários Aluno = {NUSP, Nome} Disciplina = {Sigla, Nome, No.Créditos} Professor = {Nome} Monitora= {NUSP, NomeProf, Sigla, Horário}

265 USP – ICMC – GBDI 265 Passo 7 Como mapear atributos multivalorados? Nro.Ser.Med. Alergias Aluno NUSP Nomes dos Pais

266 Atributos Multivalorados Aluno = {Nome, NSerMed} N.Ser.Med. Alergias Aluno Nome Alergias = {Nome, Alergia} 1 a Opção de Mapeamento

267 Aluno = {NUSP, Nome, Pai, Mae} Atributos Multivalorados 2 a Opção de Mapeamento Nome Nomes Pais Aluno NUSP valores possíveis: nome do pai nome da mãe

268 USP – ICMC – GBDI 268 1.Mapear todos os CE 2.Mapear todos os CE Fracas 3.Mapear todos os CR de cardinalidade 1:1 4.Mapear todos os CR de cardinalidade 1:N 5.Mapear todos os CR de cardinalidade N:N 6.Mapear todos os CR de grau maior ou igual a 3 7.Mapear todos os atributos multivalorados Mapeamento entre Esquemas – Os 7 Passos do Procedimento

269 Exercício – mapear para o Modelo Relacional endereço valor data Representante Região Atua 11 Cliente Pertence 1 N Venda Contato Produto É Feito É Feita Pertence 1 N N N N 1 qtde data nome nota preço cod nome CPF RG nome CNPJ telefones estado

270 Abstrações Como mapear Conjuntos de Entidades? USP – ICMC – GBDI 270 Disciplina Nome N o. Créditos Sigla Aluno Nome NUSP CPF RG

271 O MER-X suporta duas abstrações de dados: Agregação Generalização Extensão do Mapeamento MER-MREL para suporte às abstrações Mapeamento de Abstrações de Dados

272 Caso 1: CE Agregação é identificado por atributo próprio + chaves dos CEs que participam do CR gerador uma mesma instância do CR gerador resulta em mais de uma entidade agregada Sala Data Paciente Médico Atende N M Consulta Nome RG CRM Mapeamento de Agregação

273 Caso 1: CE Agregação é identificado por atributo próprio + chaves dos CEs que participam do CR gerador uma mesma instância do CR gerador resulta em mais de uma entidade agregada Sala Data Paciente Médico Atende N M Consulta Nome RG CRM Mapeamento de Agregação No mapeamento tradicional, M-N, um mesmo paciente não poderá consultar o mesmo médico novamente – nem mesmo para o retorno.

274 Médico = {CRM, Nome} Paciente = {RG, Nome} Mapeamento de Agregação Sala Data Paciente Médico Atende N M Consulta Nome RG CRM Consulta = {Paciente, Medico, Data, Sala}

275 Caso 2: CE Agregação é identificado por um de seus atributos as chaves dos CE que participam do CR gerador não são necessárias para identificar a agregação Mapeamento de Agregação Título Professor Aluno- Pós Orienta Projeto Nome NFunc Nome NUSP MN

276 Caso 2a: cada instância do CR gera apenas uma entidade agregada... Mapeamento de Agregação Título Professor Aluno- Pós Orienta MN Projeto Nome NFunc Nome NUSP Aluno = {NUSP, Nome} Professor = {Nfunc, Nome} Projeto = {Título, Orientador, Aluno}

277 Caso 2b: cada instância do CR gera mais de uma entidade agregada... Mapeamento de Agregação Título Professor Aluno- Pós Orienta MN Projeto Nome NFunc Nome NUSP Aluno = {NUSP, Nome} Professor = {Nfunc, Nome} Projeto = {Título, Orientador, Aluno}

278 Caso 2b: cada instância do CR gera mais de uma entidade agregada... Mapeamento de Agregação Título Professor Aluno- Pós Orienta MN Projeto Nome NFunc Nome NUSP Aluno = {NUSP, Nome} Professor = {Nfunc, Nome} Projeto = {Título, Orientador, Aluno} Esse mapeamento apresenta um ganho semântico, com o título do projeto como chave.

279 Caso 3: mistura dos casos 1 e 2b. Duas formas de identificar CE Agregação: 1. chaves dos CE que participam do CR gerador + atributo da agregação 2. atributo próprio da agregação Sala Data Paciente Médico Atende N M Consulta Nome RG CRM Mapeamento de Agregação NroRegistroConsulta também identifica univocamente cada consulta

280 Sala Data Paciente Médico Atende N M Consulta Nome RG CRM NroRegistroConsulta Médico = {CRM, Nome} Paciente = {RG, Nome} Consulta = {Paciente, Medico, Data, NroRegistroConsulta, Sala}

281 Exemplo (caso 1): um relacionamento R1 entre o Professor P1 e a Disciplina D1 pode gerar várias entidades Aula, mas o Livro Texto não muda para cada uma destas aulas.... Data/Horário Professor Disciplina Ministra Livro Texto NN Aula Nome NFunc Nome Sigla Professor = {Nfunc, Nome} Disciplina = {Sigla, Nome} Aula = {Nfunc, Sigla, Data/Horário, LivroTexto}

282 Exemplo: um relacionamento R1 entre o Professor P1 e a Disciplina D1 pode gerar várias entidades Aula, mas o Livro Texto não muda para cada uma destas aulas.... Data/Horário Professor Disciplina Ministra Livro Texto NN Aula Nome NFunc Nome Sigla Professor = {Nfunc, Nome} Disciplina = {Sigla, Nome} Ministra = {Nfunc, Sigla, LivroTexto} Aula = {Nfunc, Sigla, Data/Horário} A semântica permite normalizar, gerando uma nova relação.

283 Três alternativas principais: 1.Mapear o CEG e os CEE em relações diferentes 2.Mapear o CEG e todos os CEE em uma única relação 3.Mapear cada CEE (e apenas) em sua própria relação, junto com seus respectivos atributos genéricos Mapeamento da Generalização

284 CEG CEE 1 CEE k Ch AG Ae 1 Ae k... CEG = { Ch, AtC, AG } CEE 1 = { Ch, Ae 1 }... CEE k = { Ch, Ae k } Mapeamento da Generalização - Alternativa 1 (relações diferentes) Procedimento Padrão 1 disjunção D AtC Uma relação geral com um atributo de tipo (AtC) disjunção.

285 CEG = { Ch, AtC, AG } CEE 1 = { Ch, Ae 1 }... CEE k = { Ch, Ae k } CEG CEE 1 CEE k Ch AG Ae 1 Ae k... Mapeamento da Generalização - Alternativa 1 Procedimento Padrão 2 sobreposição O AtC A relação geral não possui atributo de tipo sobreposição.

286 CEG CEE 1 CEE k Ch AG Ae 1 Ae k... CEG = { Ch, AG } CEE 1 = { Ch, Ae 1 }... CEE k = { Ch, Ae k } CEC={ Ch, AtC} Mapeamento da Generalização - Alternativa 1 Procedimento Padrão 3 O AtC sobreposição Uma terceira relação – CEC – que indica a qual tipo de entidade uma dada entidade se refere (neste caso, sobreposição).

287 CEG CEE 1 CEE k Ch AG Ae 1 Ae k... CEG = { Ch, AtC, AG, Ae 1,... Ae k } Mapeamento da Generalização - Alternativa 2 (única relação) Procedimento Padrão 4 D AtC disjunção Uma única tabela com todos os possíveis atributos de todas as possíveis entidades, com atributo de tipo disjunção.

288 CEG CEE 1 CEE k Ch AG Ae 1 Ae k... Mapeamento da Generalização - Alternativa 2 Procedimento Padrão 5 CEG = { Ch, AtC, AG, Ae 1,... Ae k } O AtC sobreposição Uma única tabela com todos os possíveis atributos de todas as possíveis entidades, sem atributo de tipo sobreposição.

289 CEG CEE 1 CEE k Ch AG Ae 1 Ae k... CEG = { Ch, AG, Ae 1,... Ae k, BCEE 1,.... BCEE k } Mapeamento da Generalização - Alternativa 2 Procedimento Padrão 6 O AtC sobreposição Uma única tabela com todos os possíveis atributos de todas as possíveis entidades, sem atributo de tipo, e com atributos booleanos para determinar quais atributos correspondem a quais entidades.

290 CEG CEE 1 CEE k Ch AG Ae 1 Ae k... CEE 1 = { Ch, AG, AE 1 }... CEE k = { Ch, AG, AE k } Mapeamento da Generalização - Alternativa 3 (não há relação genérica) Procedimento Padrão 7 AtC participação total Cada relação com seus atributos gerais e específicos. Sobreposição – uma dada entidade pode ser várias ao mesmo tempo.

291 Mapeamento da Generalização - Alternativa 3 Procedimento Padrão 8 CEG CEE 1 CEE k Ch AG Ae 1 Ae k... CEE k = { Ch, AG, AE k } CEC={ Ch, AtC} AtC D participação total Cada relação com seus atributos gerais e específicos. E outra que indica de qual tipo é cada instância disjunção.

292 CEG CEE 1 CEE k Ch AG Ae 1 Ae k... CEE k = { Ch, AG, AE k } CEC={ Ch, AtC} Mapeamento da Generalização - Alternativa 3 Procedimento Padrão 9 AtC O participação total Cada relação com seus atributos gerais e específicos. E outra que indica de qual tipo é cada instância sobreposição.

293 1 CEG = {Ch, AtC, AG}CEEi = {Ch, Ae i } 2 CEG = {Ch, AG} CEEi = {Ch, Ae i } 3 CEG = {Ch, AG} CEEi = {Ch, Ae i } CEC = {Ch, AtC} 4 CEG = {Ch, AG, AtC, Ae 1, Ae 2,.... Ae m } 5 CEG = {Ch, AG, Ae 1, Ae 2,.... Ae m } 6 CEG = {Ch, AG, Ae 1, Ae 2,.... Ae m, BCEE 1, BCEE 2,...BCEE m }} 7 CEEi = {Ch, AG, Ae i } 8 CEEi = {Ch, AG, Ae i } CEC = {Ch, AtC} 9 CEEi = {Ch, AG, Ae i } CEC = {Ch, AtC} Os 9 Procedimentos Padrão


Carregar ppt "USP – ICMC - GBDI 1 Evolução dos Sistemas de Informação Sistemas de Informação baseados em gerenciamento de arquivos programas e arquivos orientados a."

Apresentações semelhantes


Anúncios Google