evolução dos sistemas de informação

284
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

Upload: cailin-miles

Post on 30-Dec-2015

32 views

Category:

Documents


0 download

DESCRIPTION

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. Dados. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Evolução dos Sistemas de Informação

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

Page 2: Evolução dos Sistemas de Informação

AplicaçõesAplicações

Arquivo 1

Arquivo 2

Arquivo 3

DadosDados

PROBLEMA?????

Page 3: Evolução dos Sistemas de Informação

Arquivos de Dados

de Produção

Arquivos de Dados de Vendas

Arquivos de Dados de Compras

Produtos Produtos Produtos

Aplicação de Produção

Aplicação de Vendas

Aplicação de Compras

REDUNDÂNCIA

Page 4: Evolução dos Sistemas de Informação

Arquivos de Dados

de Produção

Arquivos de Dados de Vendas

Produtos Produtos

Aplicação de Produção

Aplicação de Vendas

REDUNDÂNCIA INCONSISTÊNCIA

Nome: Notebook NroSerie:1111111

Fabricante: Y

Insere:

Nome: NotebookNroSerie:1111111

Fabricante: X

Insere:

Page 5: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

5

Consistência de Dados Dados em estado inconsistente

informações incorretas ou

contraditórias são fornecidas aos usuários

Page 6: Evolução dos Sistemas de Informação

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

Page 7: Evolução dos Sistemas de Informação

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

Page 8: Evolução dos Sistemas de Informação

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

Page 9: Evolução dos Sistemas de Informação

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

Page 10: Evolução dos Sistemas de Informação

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

SistemaGerenciador de

DadosCompartilhados

Aplicação 1

Aplicação 2

Page 11: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

11

Independência dos Dados

Sistema de Gerenciamento de Bases (ou Banco) de DadosSGBD

15

46

63

81

97

15

99

16

SGBDAplicação 1

Aplicação 2

Page 12: Evolução dos Sistemas de Informação

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

Page 13: Evolução dos Sistemas de Informação

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

Page 14: Evolução dos Sistemas de Informação

Esquema - Definição da base de dados

Instância – Base de dados

SGBD

Aplicação Aplicação Aplicação

Page 15: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

15

SGBDs Requisitos Fundamentais:

Segurança Física (mais comum no passado) Lógica

Usernames e passwords Perfis de usuário

Page 16: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

16

SGBDs Requisitos Fundamentais (cont):

Integridade consistência validade

Restrições de Integridade!!!

Nome: Joaquim PereiraCargo: FaxineiroSalário:R$ 230.000,00

Arquivos de Dados

?????

Page 17: Evolução dos Sistemas de Informação

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

Page 18: Evolução dos Sistemas de Informação

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

Page 19: Evolução dos Sistemas de Informação

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

Page 20: Evolução dos Sistemas de Informação

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

Page 21: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

21

Por que usar SGBDs?

Desvantagens Custo financeiro Um sistema a mais a ser aprendido e

gerenciado

Page 22: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

22

Componentes de um SGBD

Os componentes funcionais do SGBD: componentes de processamento de

consultas componentes de gerenciamento de

armazenamento

Dados eMetadados

Processador de Consultas

Gerenciador de Armazenamento

SGBDSGBDBanco de DadosBanco de Dados

Page 23: Evolução dos Sistemas de Informação

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 DDL3. Instanciação: SQL, subconjuntos DDL/DML4. Uso: SQL, subconjunto DML

Page 24: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

24

Componentes de um SGBD

Conceitos importantes: SQL - Data Definition LanguageSQL - 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

Page 25: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

25

Componentes de um SGBD

Conceitos importantes (cont.): MetadadosMetadados 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

Page 26: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

26

Componentes de um SGBD

Conceitos importantes (cont.): SQL - Data Manipulation LanguageSQL - 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

Page 27: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

27

Componentes de um SGBD

Conceitos importantes (cont.): Data Manipulation LanguageData Manipulation Language (DML)

Exemplos em linguagem SQL insert select delete update ...

Page 28: Evolução dos Sistemas de Informação

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)

Page 29: Evolução dos Sistemas de Informação

Usuários FinaisProgramador

es 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

Page 30: Evolução dos Sistemas de Informação

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 DadosArquivos de

Dados

[Silb

esr

chats

]

Page 31: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

31

Evolução dos Sistemas de Bases de Dados

Page 32: Evolução dos Sistemas de Informação

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.

Page 33: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

33

Evolução dos Sistemas de Bases de Dados

PC

Page 34: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

34

Evolução dos Sistemas de Bases de Dados

PCPCs mais potentes executam tanto o programa de aplicação quanto o SGBD. O servidor de arquivos provê espaço de armazenamento, escasso à época.

Page 35: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

35

Evolução dos Sistemas de Bases de Dados

Page 36: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

36

Arquitetura Cliente/Servidor

Dados eRegras

SGBD

ServidorServidor ClienteCliente

AplicaçõesAplicações

Page 37: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

37

Arquitetura Cliente/Servidor

Duas camadas

Dados eRegras SGBD

ServidorServidor ClienteCliente

AplicaçõesAplicações

BD + parte (pequena) da lógica

de negócio

Interface + maior parte da lógica de

negócio

Page 38: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

38

Arquitetura Cliente/Servidor

Três camadas

Dados e Regras

SGBD

ServidorServidor ClienteCliente

Aplicações-ClienteAplicações-Cliente

BD + parte comum da lógica de negócio

Interface + parte específica da

lógica de negócio

Servidor de AplicaçãoServidor de Aplicação

Page 39: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

39

Arquitetura Cliente/Servidor

Quatro camadas

Dados e Regras

SGBD

ServidorServidor ClienteCliente

Aplicações-ClienteAplicações-ClienteServidor de Servidor de AplicaçãoAplicação

Servidor de Servidor de InterfaceInterface

Page 40: Evolução dos Sistemas de Informação

Definição da base de dados armazenada

Base de dados armazenada

SGBD

Aplicação Aplicação Aplicação

ESQUEMAESQUEMA INSTÂNCIAINSTÂNCIA

Page 41: Evolução dos Sistemas de Informação

Esquema e Instância Banco de dados:

EsquemaEsquema Definição Estático (ou quase!)

InstânciaInstância Manipulação Dinâmica

Instância

Esquema

Page 42: Evolução dos Sistemas de Informação

Esquema e Instância

Esquema pode ser definido em 3 níveis

Three-Schema Architecture

Page 43: Evolução dos Sistemas de Informação

Arquitetura Esquema de Três

Three-Schema Architecture (ou arquitetura ANSI/SPARC)1. múltiplas visões para os usuários 2. armazenamento da descrição da base de dados

(esquemaesquema) em diferentes níveis de abstraçãoabstração

3.3. independência de dadosindependência de dados

Incorporação de características importantes da filosofia de bases de dados

Page 44: Evolução dos Sistemas de Informação

Three-Schema Architecture

Nível Externo ou de Visão Visão 1 Visão 2 Visão N...

Nível Conceitual ou Lógico

Nível Interno ou Físico

Esquema Conceituale/ou Esquema Lógico

Esquema Físico

Sub-Esquemas (views)

Page 45: Evolução dos Sistemas de Informação

Three-Schema Architecture

Nível Interno – esquema físicoesquema físico descreve estrutura física de

armazenamento da base de dados como os dados estão armazenados

Page 46: Evolução dos Sistemas de Informação

Three-Schema Architecture

Nível Conceitual – esquema esquema conceitual e/ou lógicoconceitual 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)

Page 47: Evolução dos Sistemas de Informação

Three-Schema Architecture

Nível Externo – sub-esquemassub-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)

Page 48: Evolução dos Sistemas de Informação

Three-Schema Architecture

Nível Externo ou de Visão

Visão 1 Visão 2 Visão N...

Nível Conceitual ou Lógico

Nível Interno ou Físico

mapeamento externo/conceit

ual

mapeamento conceitual/inter

no

Page 49: Evolução dos Sistemas de Informação

Three-Schema Architecture

Visualização de níveis de esquema em sistemas de banco de dados ABSTRAÇÃOABSTRAÇÃO escondendo detalhes e complexidade

nos diferentes níveis visão mais geral ou mais específica

Page 50: Evolução dos Sistemas de Informação

Recordando.... Three-Schema Architecture (ou

arquitetura ANSI/SPARC) independência de dadosindependência de dados múltiplas visões para os usuários armazenamento da descrição da base de

dados (esquemaesquema) em diferentes níveis de abstraçãoabstração

OK!!!!

OK!!!!

Page 51: Evolução dos Sistemas de Informação

Independência de Dados Independência de dados na

arquitetura de três esquemas capacidade de modificar o capacidade de modificar o esquema em determinado nível esquema em determinado nível sem afetar o esquema do nível sem afetar o esquema do nível superiorsuperior

SGBD pode suportar: independência física independência lógica

Page 52: Evolução dos Sistemas de Informação

Independência de Dados

Nível Externo ou de Visão

Visão 1 Visão 2 Visão N...

Nível Conceitual ou Lógico

Nível Interno ou Físico

Independência Física???

Page 53: Evolução dos Sistemas de Informação

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?

Page 54: Evolução dos Sistemas de Informação

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.

Page 55: Evolução dos Sistemas de Informação

Independência de Dados

Nível Externo ou de Visão

Visão 1 Visão 2 Visão N...

Nível Conceitual ou Lógico

Nível Interno ou Físico

Independência Lógica???

Page 56: Evolução dos Sistemas de Informação

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?

Page 57: Evolução dos Sistemas de Informação

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.

Page 58: Evolução dos Sistemas de Informação

Ciclo de VidaCiclo de Vida

Projeto Conceitual

Projeto Lógico

Projeto Físico

Análise Funcional

Projeto

Implementação

Coleta/Especificaçãode Requisitos

Dados eMetadados

SGBDSGBD Aplicação

Mundo Real

Protótipo

RequisitosFuncionais

Requisitosde Dados

Sistemas de Banco de Dados

Page 59: Evolução dos Sistemas de Informação

Sistemas de Banco de Dados

Dados eMetadados

SGBDSGBD Aplicação

Mundo Real

RequisitosFuncionais

Requisitosde 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çãode Requisitos

Protótipo

Page 60: Evolução dos Sistemas de Informação

Ciclo de VidaCiclo de Vida

Sistemas de Banco de Dados

Dados eMetadados

SGBDSGBD Aplicação

Mundo Real

RequisitosFuncionais

Requisitosde 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çãode Requisitos

Protótipo

Page 61: Evolução dos Sistemas de Informação

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]

Page 62: Evolução dos Sistemas de Informação

Desenvolvimento de Sistemas de Banco de Dados [Elmasri]

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

Page 63: Evolução dos Sistemas de Informação

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

Page 64: Evolução dos Sistemas de Informação

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

Page 65: Evolução dos Sistemas de Informação

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

Page 66: Evolução dos Sistemas de Informação

Modelagem de dadosOs Três Reinos - AbstraçãoAbstração

Produto

Sigla

Nome-P

Peso

Verifica

Padrão

Empregado

Código

Idade

Trabalha

PeçaMáquina Usina

Compostapor

Nome-E

Código

Material

Tempo

Total dehoras

1

1

N M

N

N1

N

M

PercepçãoPercepção

ModelagemModelagemImplementaçãoImplementação

RealReal ImaginárioImaginário

RepresentaçãoRepresentação

Page 67: Evolução dos Sistemas de Informação

Idéias

Modelo E/R

Modelo Relacional

SGBDRelacional

MER

SQL - DDL

DADOS

Page 68: Evolução dos Sistemas de Informação

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

Page 69: Evolução dos Sistemas de Informação

Modelos de Dados

Modelo de dadosModelo 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)

Page 70: Evolução dos Sistemas de Informação

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

Page 71: Evolução dos Sistemas de Informação

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

Page 72: Evolução dos Sistemas de Informação

Ciclo de VidaCiclo de Vida

Sistemas de Banco de Dados

Dados eMetadados

SGBDSGBD Aplicação

Mundo Real

RequisitosFuncionais

Requisitosde 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çãode Requisitos

Protótipo

Page 73: Evolução dos Sistemas de Informação

Modelagem Conceitual

Entrada: Requisitos de DadosRequisitos de Dados Processo:

modelagem – representação conceitual modelo conceitual (Ex: MER)

Resultado: Esquema ConceitualEsquema Conceitual descrição sucinta (diagramas e texto) clara, concisa, sem ambigüidades, sem

contradições padronizada

Page 74: Evolução dos Sistemas de Informação

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

…..

Page 75: Evolução dos Sistemas de Informação

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

Page 76: Evolução dos Sistemas de Informação

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)

Page 77: Evolução dos Sistemas de Informação

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)

Page 78: Evolução dos Sistemas de Informação

Ciclo de VidaCiclo de Vida

Sistemas de Banco de Dados

Dados eMetadados

SGBDSGBD Aplicação

Mundo Real

RequisitosFuncionais

Requisitosde 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çãode Requisitos

Protótipo

Page 79: Evolução dos Sistemas de Informação

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

Page 80: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

MER - Modelo Entidade Relacionamento

Popular Simplicidade Expressividade Intuitivo representação gráfica da

informação Diagrama Entidade-RelacionamentoDiagrama Entidade-Relacionamento (DE-R)

Page 81: Evolução dos Sistemas de Informação

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ânticaSobrecarga Semântica

Page 82: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

▪Conjunto de Entidades (CE)

▪Conjunto de Relacionamentos (CR)

▪Atributos de Entidades

▪Atributos de Relacionamentos

MER – Construtores Sintáticos

Page 83: Evolução dos Sistemas de Informação

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

Page 84: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

▪ MER não trata Entidades individuais, apenas Conjuntos de Entidades

▪ Notação DER: retângulo

Pessoa Disciplina

Conjunto de Entidades

Page 85: Evolução dos Sistemas de Informação

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

Page 86: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

▪ Notação DER: losango

PessoaDisciplina

Escola

Matricula

Trabalha

Conjunto de Relacionamentos

Page 87: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

▪ Ex: vários Conjuntos de Relacionamentos envolvendo os mesmos Conjuntos de Entidades

PessoaDisciplina

Matricula

Faz Prova

Conjunto de Relacionamentos

Page 88: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

▪Atributos valores que representam propriedadespropriedades das entidades e relacionamentos no mundo real

▪ atributos de entidades▪ atributos de relacionamentos

Atributos

Page 89: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

▪ Notação DER: elipses ligadas aos Conjuntos de Entidades

Pessoa

Matricula

Disciplina

Nome

No. USPNome

Sigla

Número Créditos

Atributos de Entidades

Page 90: Evolução dos Sistemas de Informação

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

Page 91: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

▪ ConjuntosConjuntos: conceito que fundamenta quase : conceito que fundamenta quase toda a matemática;toda a matemática;

▪ Definição: coleção de elementos distintos Definição: coleção de elementos distintos ((sem repetiçãosem repetição) e sem ordem definida ) e sem ordem definida (apenas eventual);(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

Page 92: Evolução dos Sistemas de Informação

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

CHAVECHAVE

Page 93: Evolução dos Sistemas de Informação

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

Page 94: Evolução dos Sistemas de Informação

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

Page 95: Evolução dos Sistemas de Informação

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

Page 96: Evolução dos Sistemas de Informação

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 Capacidad

e

Page 97: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

Número Créditos

▪ Ex: onde colocar um atributo NOTA???

Pessoa

Matricula

Disciplina

Nome

No. USP

Nome

Atributos

Sigla

Page 98: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

Se fosse um atributo de Pessoa, cada pessoa teria uma nota única para

qualquer disciplina

Atributos

Pessoa

Matricula

Disciplina

NomeNo. USP Nota

▪ Ex: onde colocar um atributo NOTA???

Número Créditos

NomeSigla

Page 99: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

Se fosse um atributo de Disciplina, todas as pessoas matriculadas numa disciplina teriam

a mesma nota

Pessoa

Matricula

Disciplina

NomeNo. USP

▪ Ex: onde colocar um atributo NOTA???

Número Créditos

NomeSigla

Nota

Atributos

Page 100: Evolução dos Sistemas de Informação

USP – ICMC – GBDI Número Créditos

▪ Ex: onde colocar um atributo NOTA???

Pessoa

Matricula

Disciplina

NomeNo. USP Nome

Atributos de Relacionamentos

SiglaNota

em MATRICULA!!!

Page 101: Evolução dos Sistemas de Informação

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

Page 102: Evolução dos Sistemas de Informação

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

Page 103: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

Atributo Composto

Pessoa

NomeNUSP

Endereço

Composto

RuaNúmeroCEPCidade

Pessoa

NomeNUSP

RuaNúmeroCEPCidade

Endereço

Notação

Page 104: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

Atributo Composto

Pessoa

NomeNUSP

Endereço

EndRuaCEPCidade

NomeNumeroApart

Nome

Pessoa

NomeNUSP EndRua Númer

oCEPCidade

Endereço

Apart

Notação

Page 105: Evolução dos Sistemas de Informação

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

Page 106: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

N.Ser.Med.

Atributo Multivalorado

Alergias

Aluno

Nome

Multivalorado

N.Ser.Med.

Alergias

Aluno

Nome

Notação

Page 107: Evolução dos Sistemas de Informação

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

Page 108: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

Data Nascimento

Atributo Derivado

Idade

Aluno

Nome

Derivado

Notação

Aluno

Nome

Data NascimentoIdade

Page 109: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

Atributo Derivado

Número Créditos

Pessoa

Matricula

Disciplina

Nome

No. USPNome

Sigla

Nro Disciplinas

Page 110: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

▪ Cada CE que participa de um CR tem um PAPELPAPEL no CR

▪ Indicação opcional▪ pode facilitar entendimento da modelagem

Conjunto de Relacionamentos - Papéis

Pessoa

Matricula

DisciplinaMatriculada

em

Matricula

Page 111: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

▪ Indicação de papéis deve ser feita sempre que houver ambigüidade na interpretação do CR

Empresa

Contrata CursoContratContrat

aa

ContrataContratadodoporporContrataContrata

dadaporpor

ContratContrataa

? ?

Conjunto de Relacionamentos - Papéis

Page 112: Evolução dos Sistemas de Informação

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

Page 113: Evolução dos Sistemas de Informação

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

Page 114: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

▪ Cardinalidade Restrição Restrição estrutural estrutural

▪todo CR associa uma ou mais entidades de um CE1 a uma ou mais entidades de um CE2

▪Cardinalidade determina o número de relacionamentos dos quais cada entidade pode participar

Conjunto de Relacionamentos - Cardinalidade

Page 115: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

Conjunto de Relacionamentos - Cardinalidade

1

Um para Um

1Ementa Descreve Disciplina

N

Um para Muitos

1TurmaTutora Professor

Pessoa Matricula

DisciplinaMN

Muitos para Muitos

Page 116: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

117

▪Restrição de Participação Restrição EstruturalRestrição Estrutural

▪Participação Total

▪Participação Parcial

Conjunto de Relacionamentos – Restrição de Participação

Page 117: Evolução dos Sistemas de Informação

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?

CursoDisciplina

Possui

Conjunto de Relacionamentos

N1

Page 118: Evolução dos Sistemas de Informação

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

CursoDisciplina

Possui N1

Participação Total de Disciplina em Possui

Page 119: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

120

▪Participação Total ou Dependência Dependência ExistencialExistencial ▪ 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

Page 120: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

121

▪ Participação Parcial Participaçã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

AlunoDisciplina

Monitora

NN

Participação Parcial de Aluno em Monitora

Page 121: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

122

Conjunto de Relacionamentos Considere o exemplo, para a base de

dados de uma empresa:

Dependente Funcionário

Possui 1N

CPF

NomeNomeParentesco

Como identificar um dependente na SEMÂNTICA do domínio de aplicação?

Page 122: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

123

Conjunto de Relacionamentos – Entidade Fraca

Dependente Funcionário

Possui1N

CPFNome

NomeParentesco

um Dependente é identificado por meio do Funcionário ao qual está associado

ENTIDADE FRACA!

Page 123: Evolução dos Sistemas de Informação

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

Page 124: Evolução dos Sistemas de Informação

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

CPFNome

Entidade Fraca

Relacionamento Identificador

Nome

Parentesco

Page 125: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

126

Conjunto de Relacionamentos– Entidade Fraca

Chave ParcialChave 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 pontilhadoChave Parcial

Nome

ParentescoCPF

Page 126: Evolução dos Sistemas de Informação

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?

Page 127: Evolução dos Sistemas de Informação

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

Page 128: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

130

Conjunto de Relacionamentos– Entidade Fraca

Ex:

Turma DisciplinaPossui 1N

SiglaNome

Turma

Nro Alunos

AlunoN

NUSPNome

Matricula

N

Page 129: Evolução dos Sistemas de Informação

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

Page 130: Evolução dos Sistemas de Informação

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

Page 131: Evolução dos Sistemas de Informação

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 Determinando Cardinalidade...Cardinalidade...

Aluno MonitoraN

Professor

Page 132: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

134

Disciplina

▪ Dado um Professor e um Aluno monitor, existe no máximo uma disciplina que esse aluno monitora

?

Aluno MonitoraN

Professor

1

Relacionamento Ternário – Determinando Determinando Cardinalidade...Cardinalidade...

Page 133: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

135

Disciplina

▪ Dado uma Disciplina e um Aluno monitor, mais de um professor pode ser responsável

?

Aluno MonitoraN

Professor

N

1

Relacionamento Ternário – Determinando Determinando Cardinalidade...Cardinalidade...

Page 134: Evolução dos Sistemas de Informação

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

Page 135: Evolução dos Sistemas de Informação

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

Monitora Monitorada por

N N

N

N

N

N

Page 136: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

138

Problema perda de informação perda de informação semânticasemâ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

NN

N

Page 137: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

139

▪ Mesmo Conjunto de Entidades com vários papéis

Produto

Uma Empresa (vendedora) negocia Produtos com outra Empresa (compradora)

VendidoP

EmpresaNegociar

M

NCompra

Vende

Relacionamento Ternário

Page 138: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

140

Uma Empresa (Assessora) Promove a Venda de uma outra Empresa (Vendida) para uma terceira Empresa (Compradora)

EmpresaPromove

rVendas

M

N

Compra

Vende

AssessoraP

Relacionamento Ternário

Page 139: Evolução dos Sistemas de Informação

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

Page 140: Evolução dos Sistemas de Informação

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

Page 141: Evolução dos Sistemas de Informação

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

Page 142: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

148

Nome

Nome

Abstração de Agregação Ex: parte do DER para uma aplicação

Consultório Médico

RG Data

Paciente MédicoAtende

N M

CRM

Como identificar cada atendimento (consulta)?

Page 143: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

149

Nome

Nome

Abstração de Agregação Ex: parte do DER para uma aplicação

Consultório Médico

RG Data

Paciente MédicoAtende

N M

CRM

Como identificar cada atendimento (consulta)?

Problema: cada médico só pode atender um dado paciente uma única vez.

Page 144: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

150

Abstração de Agregação Exemplo (cont...):

com RG, CRM e Data é possível identificar cada consulta univocamente

Paciente MédicoAtende

N M

Nome

NomeRG CRMData

Page 145: Evolução dos Sistemas de Informação

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

Page 146: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

152

Abstração de Agregação

Data

Paciente MédicoAtende

N M

Consulta

Nome

NomeRG CRM

Onde colocar Data ?

Page 147: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

153

Abstração de Agregação

Data

Paciente MédicoAtende

N M

Entidade Agregada (elemento composto)

Atributo da Entidade Agregada

Consulta

Nome

NomeRG CRM

Relacionamento Gerador da Agregação

Elementos Componentes

Page 148: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

154

Abstração de Agregação Chave de Consulta composta por

RG, CRM e Data

Data

Paciente MédicoAtende

N M

Consulta

Nome

NomeRG CRM

Page 149: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

155

PreçoNome Nom

e

Abstração de Agregação Exemplo (cont...):

RGData

Paciente MédicoAtende

N M

CRM

Consulta

Recibo

Tem

1

N

Nro

Page 150: Evolução dos Sistemas de Informação

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

Page 151: Evolução dos Sistemas de Informação

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

Page 152: Evolução dos Sistemas de Informação

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

Page 153: Evolução dos Sistemas de Informação

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

Page 154: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

160

Nome

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....

Page 155: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

161

Abstração de Agregação

Candidato

Empresa

Entrevista

N M

Entrevista

SalarioResulta Empreg

o

Cargo

1

N

Nome

NomeRG CNPJ

Data

N_vagas

Page 156: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

163

Nome 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édicoAtende

Consulta

N M

CRM

Abstração de Agregação

Data

Anotação complementar:RG, CRM e Data são identificadores

Page 157: Evolução dos Sistemas de Informação

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

Page 158: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

165

Abstração de Generalização – Introdução

Genérico

Específico

Generaliza(abstrai)

Especializa(detalha)

Is-a

Herança

Page 159: Evolução dos Sistemas de Informação

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çãoAbstração de Generalização/Especialização

Page 160: Evolução dos Sistemas de Informação

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

Page 161: Evolução dos Sistemas de Informação

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={p1, p2, p3, p4, ...}

Aluno= {p1, p3, ...}

Aluno Pessoa

Pessoa

Aluno Professor Funcionário

Page 162: Evolução dos Sistemas de Informação

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

Page 163: Evolução dos Sistemas de Informação

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

Page 164: Evolução dos Sistemas de Informação

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

Vínculo

‘docente’

‘funcionário’‘aluno’

Page 165: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

172

Conceito fundamental: HERANÇAHERANÇ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

Page 166: Evolução dos Sistemas de Informação

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’

Page 167: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

174

CEs específicos herdam todos os CRs definidos para o CE genérico

Herança

Plano SaúdepossuiNome

Idade

Altura

Vínculo

N#Func

Função

N#USP

Curso

Pessoa

Aluno Professor Funcionário

Vínculo

‘docente’‘funcionário’

‘aluno’

N1

Page 168: Evolução dos Sistemas de Informação

175

Herança em Múltiplos Níveis

Graduação Pós-Grad. Técnico Secretária

Semestre Formação Especialidade

Nome

Idade

Altura

Vínculo

N#Func

Função

N#USP

Curso

Pessoa

Aluno Professor Funcionário

Page 169: Evolução dos Sistemas de Informação

Exemplo: Exemplo:

Graduação Pós-Grad. Assistente Doutor

Nome

Idade

Altura

Vínculo

Titulação

N#USP

Curso

Pessoa

Aluno Funcionário Professor

Herança Herança MúltiplaMúltipla

Prof/Aluno

Page 170: Evolução dos Sistemas de Informação

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

Page 171: Evolução dos Sistemas de Informação

Veículo

Terrestre Aquático

Automóvel Anfíbio Barco

Exemplo: Exemplo: Herança Múltipla Herança Múltipla

Page 172: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

179

Podemos criar uma hierarquia de especialização com mais de um CE genérico?

Herança Múltipla

NÃO!!!NÃO!!!Por que? Por que?

Page 173: Evolução dos Sistemas de Informação

Quando Especializar? CASO 1:

determinados atributos aplicam-se somente a alguns CEs específicos

AtributosGenéricos

AtributosEspecíficos

AtributosEspecíficos

Nome

Idade

Altura

Vínculo

N#Func

Função

N#USP

Curso

Pessoa

Aluno Professor Funcionário

Vínculo

‘docente’‘funcionário’

‘aluno’

Page 174: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

181

CASO 2: existem

relacionamentos dos quais participam apenas entidades de alguns CEs específicos

Quando Especializar?

Disciplina ministracursa

Pessoa

Aluno Professor Funcionário

Page 175: Evolução dos Sistemas de Informação

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

CEE1 CEE2 CEEi

Ch

AG

AE1 AE2 AEi

...

Page 176: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

185

Restrição de Disjunção

Exclusão MútuaExclusão Mútua - uma disciplina deve ser somente de um tipoTipo

Disciplina

Grad. Pós-Gr.

Nome

Sigla

Semestre Nível

DD

Tipo

‘pós’‘grad’

Page 177: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

186

Abstração de Generalização é mutuamente mutuamente exclusivaexclusiva se, para qualquer par de CEEs j e k distintos, vale:

CEEj CEEk =

Restrição de Disjunção

Exclusão Mútua

NotaçãoCEG

CEE1 CEE2 CEEi

Ch

AG

AE1 AE2 AEi

...

DD

DD

Page 178: Evolução dos Sistemas de Informação

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

OO

Função

‘bibliotecário’‘vigia’ ‘secretário’

Page 179: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

188

Abstração de Generalização é definida com sobreposiçãosobreposição se para algum par de CEEs j e k distintos:

CEEj CEEk

Sobreposição

Notação

Restrição de Disjunção

CEG

CEE1 CEE2 CEEi

Ch

AG

AE1 AE2 AEi

...

OO

OO

Page 180: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

189

Restrição de Totalidade

Especialização TotalEspecializaçã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’

Page 181: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

190

Abstração de Generalização é TotalTotal quando todas as entidades genéricas estão em pelo menos um dos CEEs:

U CEEk = CEG

Total

Notação

K

Restrição de Totalidade

CEG

CEE1 CEE2 CEEi

Ch

AG

AE1 AE2 AEi

...

Page 182: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

191

Restrição de TotalidadeEspecializaçã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’

Page 183: Evolução dos Sistemas de Informação

USP – ICMC - GBDI

192

Abstração de Generalização é ParcialParcial quando existem entidades genéricas que não estão em nenhum CEE:

U CEEk CEG

Parcial

Notação

k

Restrição de Totalidade

CEG

CEE1 CEE2 CEEi

Ch

AG

AE1 AE2 AEi

...

Page 184: Evolução dos Sistemas de Informação

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 ExclusivaParcial Sobreposta

Total ExclusivaTotal Sobreposta

PossibilidadesCEG

CEE1 CEE2 CEEi

Ch

AG

AE1 AE2 AEi

...

Page 185: Evolução dos Sistemas de Informação

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ós’‘grad’

Page 186: Evolução dos Sistemas de Informação

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

DD

tipo

‘espec.’‘grad’ ‘pós’

Page 187: Evolução dos Sistemas de Informação

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

OO

função

‘bibliotecário’‘vigia’ ‘secretário’

Page 188: Evolução dos Sistemas de Informação

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

OO

tipo

‘espec.’‘grad’ ‘pós’

Page 189: Evolução dos Sistemas de Informação

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

Page 190: Evolução dos Sistemas de Informação

Ciclo de VidaCiclo de Vida

Sistemas de Banco de Dados

Dados eMetadados

SGBDSGBD Aplicação

Mundo Real

RequisitosFuncionais

Requisitosde 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çãode Requisitos

Protótipo

Page 191: Evolução dos Sistemas de Informação

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

Page 192: Evolução dos Sistemas de Informação

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▪ tabelas são uma noção intuitiva para as RELAÇÕESRELAÇÕES

Page 193: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

202

▪ Relação▪ Tabela

▪ Tupla▪ Registro, linha

▪ Atributo▪ Campo

▪ Valor▪ Relation Intension

▪ Esquema▪ Relation Extension

▪ Instância

Terminologia

Page 194: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

203

Modelo Intuitivo

Esquema

Instância

Nome NUSP Curso

Paulo

Izabella

João

9999

8888

1111

Info

Info

Comp

….

Page 195: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

204

Modelo Intuitivo

Nome NUSP Curso

Paulo

Izabella

João

9999

8888

1111

Info

Info

Comp Relaçã

o

AtributoTupla

Valor

Esquem

a

de Rel

ação

Page 196: Evolução dos Sistemas de Informação

Valores

Modelo relacional valores são atômicos Valor AtômicoValor 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

Page 197: Evolução dos Sistemas de Informação

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

Page 198: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

207

▪Especificação do Domínio de Domínio de atributoatributo: ▪Nome ▪Definição lógica▪Tipo de dado e formato de dado

Domínios

Page 199: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

208

▪ NomeNome e Definição lógicaDefiniçã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

Page 200: Evolução dos Sistemas de Informação

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

Page 201: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

210

▪ Esquema de relaçãoEsquema de relação: descreve a relação▪R R (A1, A2, ..., An)

▪ou R = R = {A1, A2, ..., An}

▪RR - nome da relação

▪(A1, A2, ..., An) - conjunto de atributos que formam a relação

Esquema de Relações

Page 202: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

211

▪ N - graugrau da relação descrita por RR▪número de atributos em RR

▪ Dom(ADom(Aii)) - Domínio do Atributo Ai

▪ 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)

Page 203: Evolução dos Sistemas de Informação

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

Page 204: Evolução dos Sistemas de Informação

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

Page 205: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

214

Relações Relação RRelação R – instância do Esquema de

Relação R R (A1, A2, ..., An)

R(RR) R Dom(A1) X Dom(A2) X ... Dom(An) R é um conjunto de tuplas R={t1, t2, ... tk}

t = {v1, v2, ... vn}, vi Dom(Ai)

Page 206: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

215

▪ Número total de tuplas possíveis:

▪ |Dom(A1)| X |Dom(A2)| X ... X|Dom(An)|

▪ R(RR) contém apenas as tuplas válidas que representam a situação de um determinado instante do mundo real

▪ Esquema de Relação RR (relation intension) mudanças pouco freqüentes

▪ Relação R (relation extension) dinâmica

Relações

Page 207: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

216

▪ Exemplo:

▪Esquema de Relação Aluno:

▪Aluno = {Nome, RG, Idade}

▪Possível relação:

▪R(Aluno) = {<José, 12345, 21>,

<Pedro, 54321, 18>,

<Paulo, 321321, 22>}

Relações

Page 208: Evolução dos Sistemas de Informação

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

Page 209: Evolução dos Sistemas de Informação

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

Page 210: Evolução dos Sistemas de Informação

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

Page 211: Evolução dos Sistemas de Informação

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

Page 212: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

221

▪ SuperchaveSuperchave▪conjunto de atributos de uma relação

R que identifique univocamente cada tupla

▪SCHk(RR) = {Aj, ..., Ai}|{Aj, ..., Ai}

RR▪Combinação de valores não se repete▪Exemplo:

▪ Aluno = {Nome, Idade, Curso, NUSP}

▪ SCH1(Aluno) = {Nome, Curso, Idade}

▪ SCH2(Aluno) = {NUSP, Nome}

Restrição de Unicidade

Page 213: Evolução dos Sistemas de Informação

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

Page 214: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

223

▪CHk(RR) = {Ai, ..., Aj}|{Ai, ..., Aj} RR

tg[CHk]≠ th[CHk] g, h R, g ≠ h

▪Exemplo:▪Aluno = {Nome, Idade, Curso,

NUSP}▪ SCH1(Aluno) = {Nome, NUSP}▪ CH1(Aluno) = {Nome}▪ CH2(Aluno) = {NUSP}

CHAVE

Page 215: Evolução dos Sistemas de Informação

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▪ CH1(Aluno) = {Nome}▪ CH2(Aluno) = {NUSP}

Chave

Page 216: Evolução dos Sistemas de Informação

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:▪CH0(Aluno) = {NUSP}

Chave

Page 217: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

226

▪Notação no Esquema da Relação

▪CH0(Aluno) = {NUSP}▪CH1(Aluno) = {Nome}

Aluno = {Nome, Idade, Curso, NUSP}

Chave

Chave primária

Chave secundária

Page 218: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

227

▪ O esquema SS de uma base de dados relacional é composto por: 1) um conjunto de esquemas de

relações SS = {R R 1, RR 2, ..., RR n}

2) um conjunto de Restrições de Integridade

Base de Dados Relacional

Page 219: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

228

▪ Uma base de dados relacional (uma instância) é composta por:

▪ um conjunto de relações

BD = {R1, R2, ..., Rn}

tal que cada Ri é uma instância de R R ii e cada Ri satisfaz todas as restrições indicadas em

Base de Dados Relacional

Page 220: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

229

R1 R2

BASE DE DADOS

R3 R4

Base de Dados Relacional

Page 221: Evolução dos Sistemas de Informação

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

Page 222: Evolução dos Sistemas de Informação

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

Page 223: Evolução dos Sistemas de Informação

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

Page 224: Evolução dos Sistemas de Informação

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

Page 225: Evolução dos Sistemas de Informação

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 t1 em uma

relação R1 faz referência a uma relação R2, então t1 deve fazer referência a uma tupla existente em R2

Restrições de Integridade

Page 226: Evolução dos Sistemas de Informação

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

Page 227: Evolução dos Sistemas de Informação

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

Page 228: Evolução dos Sistemas de Informação

USP – ICMC – GBDI

237

▪ FK é uma Chave estrangeiraChave estrangeira em R1 que referencia R2 se:

1) FK é compatível em domínio com toda a chave primária PK de R2

2) o valor dos atributos FK numa tupla ti qualquer

da relação R1:

ou é igual ao valor dos atributos PK de alguma tupla tk da relação R2 ti[FK] = tk[PK], ti R1,

tkR2

ou é nulo ti[FK] = null

Restrições de Integridade Referencial

Page 229: Evolução dos Sistemas de Informação

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 R1 e R2

RR 1[FK] CE RR 2[PK]

Restrições de Integridade Referencial

Page 230: Evolução dos Sistemas de Informação

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?

Page 231: Evolução dos Sistemas de Informação

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?

Page 232: Evolução dos Sistemas de Informação

Alunos = {Nome, No.USP, Idade}

R1(Alunos) = {<Mario, 1234, 20>, <Paulo, 4321, null >, <null , 1234, 22>, <Thais, null, 24>, <Mario, 1235, 22>}

Disciplina = {Sigla, Monitor}

R2(Disciplina) = {<SCE_104, 1234>, <SCE_123, 2222>, <SCE_149, 1234>, <SCE_532, null >}

ExemploQuais restrições de relação e de integridade não são satisfeitas nas tuplas do exemplo? Por quê?

Page 233: Evolução dos Sistemas de Informação

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

Page 234: Evolução dos Sistemas de Informação

Passo 1 Como mapear Conjuntos de Entidades?

USP – ICMC – GBDI243

Disciplina

NomeNo. Créditos

Sigla

Aluno

Nome

NUSP

CPFRG

Page 235: Evolução dos Sistemas de Informação

Atributo Composto

Pessoa = {Nome, NUSP, Rua, Número, CEP, Cidade}

RuaNúmeroCEP

Cidade

Pessoa

Nome

NUSP

Endereço

Page 236: Evolução dos Sistemas de Informação

Passo 2 Como mapear Conjuntos de

Entidades Fracas?

USP – ICMC – GBDI245

HorárioSala

1Turma

N Corresponde

Page 237: Evolução dos Sistemas de Informação

Tem

Corresponde

HorárioSala

Disciplina

NomeNo. Créditos

1Turma

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

Page 238: Evolução dos Sistemas de Informação

USP – ICMC – GBDI247

Nome

ComissãoorganizaConferência

Data Instalaçã

o

1 1

NroMembros

Cod

Passo 3

▪ Como mapear Conjuntos de Relacionamentos Binários com Cardinalidade 1:1?

Page 239: Evolução dos Sistemas de Informação

Nome

ComissãoorganizaConferência

Data Instalaçã

o

1 1

Conferência = {Nome}

Comissão = {Cod, NroMembros, Conferência, DtaInst}

NroMembros

Cod

Relacionamentos Binários

▪ Cardinalidade 1:1

Page 240: Evolução dos Sistemas de Informação

Nome

ComissãoorganizaConferência

Data Instalaçã

o

1 1

Conferência = {Nome, CodComissão, DtaInst}

Comissão = {Cod, NroMembros}

NroMembros

Cod

Relacionamentos Binários

▪ Cardinalidade 1:1

Page 241: Evolução dos Sistemas de Informação

Nome

ProjetoparticipaGerente1 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!)

Page 242: Evolução dos Sistemas de Informação

Alternativas para o Mapeamento Relacionamentos Binários 1:1

Nome

ComissãoorganizaConferê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}

Page 243: Evolução dos Sistemas de Informação

Idade

Homem MulherNamora1

1

Nome

Pouca Participação

Alternativas para o Mapeamento Relacionamentos Binários 1:1

Idade

Nometempo

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!!

Page 244: Evolução dos Sistemas de Informação

Mapeamento alternativo

Mulher = {Nome, Idade}

Homem = {Nome, Idade}

Namoro = {NomeH, NomeM, tempo}

Alternativas para o Mapeamento Relacionamentos Binários 1:1

Desvantagem????

Page 245: Evolução dos Sistemas de Informação

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

Page 246: Evolução dos Sistemas de Informação

Diretor = {Nome, NomeAntecessor}

SucedeDiretor

1

1

Anterior

Sucessor

Papéis dos Relacionamentos

Nome

Page 247: Evolução dos Sistemas de Informação

USP – ICMC – GBDI256

Nome

Disciplina

NomeNo. Créditos

MinistraProfessor

Horário

1 N

Passo 4

Sigla

▪ Como mapear Conjuntos de Relacionamentos Binários com Cardinalidade 1:N?

Page 248: Evolução dos Sistemas de Informação

Nome

Disciplina

NomeNo. Créditos

MinistraProfessor

Horário

1 N

Professor = {Nome}

Disciplina = {Sigla, Nome, Créditos, Professor, Horário}

Relacionamentos Binários

Sigla

▪ Cardinalidade 1:N

Page 249: Evolução dos Sistemas de Informação

NCreditos

Nome

Disciplina

AlunoMonitora1 N

Sigla NUSPHorá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!!

Page 250: Evolução dos Sistemas de Informação

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

Page 251: Evolução dos Sistemas de Informação

USP – ICMC – GBDI260

Passo 5▪ Como mapear Conjuntos de Relacionamentos Binários com Cardinalidade M:N?

Nome

NUSP

Disciplina

NomeNo. Créditos

Matriculado Aluno

Nota

M NSigla

Page 252: Evolução dos Sistemas de Informação

Nome

NUSP

Disciplina

NomeNo. 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}

Page 253: Evolução dos Sistemas de Informação

USP – ICMC – GBDI262

Passo 6▪ Como mapear Conjuntos de Relacionamentos com grau > 2?

NomeInício

CodP

Fornecedor

CodF

ForneceProjeto

Qtde

P N

Nome

Peça

M

Page 254: Evolução dos Sistemas de Informação

NomeInício

CodP

Fornecedor

CodF

ForneceProjeto

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}

Page 255: Evolução dos Sistemas de Informação

No. Créditos

NomeNome

NUSP

Disciplina

Sigla

MonitoraAluno

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}

Page 256: Evolução dos Sistemas de Informação

USP – ICMC – GBDI265

Passo 7▪ Como mapear atributos multivalorados?

Nro.Ser.Med.

Alergias

Aluno

NUSP

Nomes dos Pais

Page 257: Evolução dos Sistemas de Informação

Atributos Multivalorados

Aluno = {Nome, NSerMed}

N.Ser.Med.

Alergias

AlunoNome

Alergias = {Nome, Alergia}

1a Opção de Mapeamento

Page 258: Evolução dos Sistemas de Informação

Aluno = {NUSP, Nome, Pai, Mae}

Atributos Multivalorados

2a Opção de Mapeamento

Nome

Nomes Pais

Aluno

NUSP

valores possíveis: nome do pai nome da mãe

Page 259: Evolução dos Sistemas de Informação

USP – ICMC – GBDI268

1.Mapear todos os CE2.Mapear todos os CE Fracas3.Mapear todos os CR de cardinalidade 1:14.Mapear todos os CR de cardinalidade 1:N5.Mapear todos os CR de cardinalidade N:N6.Mapear todos os CR de grau maior ou igual a 37.Mapear todos os atributos multivalorados

Mapeamento entre Esquemas –Os 7 Passos do Procedimento

Page 260: Evolução dos Sistemas de Informação

Exercício – mapear para o Modelo Relacional

endereço

valordata

Representante RegiãoAtua1 1

Cliente

Pertence

1

N

Venda

Contato

Produto

É Feito

É Feita

Pertence

1N

NN N

1

qtde

data

nome

nota

preçocod

nomeCPF

RG

nomeCNPJ

telefones

estado

Page 261: Evolução dos Sistemas de Informação

Abstrações Como mapear Conjuntos de Entidades?

USP – ICMC – GBDI270

Disciplina

NomeNo. Créditos

Sigla

Aluno

Nome

NUSP

CPFRG

Page 262: Evolução dos Sistemas de Informação

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

Page 263: Evolução dos Sistemas de Informação

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édicoAtendeN M

Consulta

NomeNomeRG CRM

Mapeamento de Agregação

Page 264: Evolução dos Sistemas de Informação

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édicoAtendeN M

Consulta

NomeNomeRG 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.

Page 265: Evolução dos Sistemas de Informação

Médico = {CRM, Nome}

Paciente = {RG, Nome}

Mapeamento de Agregação

Sala

Data

Paciente MédicoAtendeN M

Consulta

NomeNomeRG CRM

Consulta = {Paciente, Medico, Data, Sala}

Page 266: Evolução dos Sistemas de Informação

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

NomeNFunc

NomeNUSP

MN

Page 267: Evolução dos Sistemas de Informação

Caso 2a: cada instância do CR gera apenas uma entidade agregada...

Mapeamento de Agregação

Título

Professor Aluno- Pós

OrientaMN

Projeto

NomeNFunc

NomeNUSP

Aluno = {NUSP, Nome}

Professor = {Nfunc, Nome}

Projeto = {Título, Orientador, Aluno}

Page 268: Evolução dos Sistemas de Informação

Caso 2b: cada instância do CR gera mais de uma entidade agregada...

Mapeamento de Agregação

Título

Professor Aluno- Pós

OrientaMN

Projeto

NomeNFunc

NomeNUSP

Aluno = {NUSP, Nome}

Professor = {Nfunc, Nome}

Projeto = {Título, Orientador, Aluno}

Page 269: Evolução dos Sistemas de Informação

Caso 2b: cada instância do CR gera mais de uma entidade agregada...

Mapeamento de Agregação

Título

Professor Aluno- Pós

OrientaMN

Projeto

NomeNFunc

NomeNUSP

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.

Page 270: Evolução dos Sistemas de Informação

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édicoAtendeN M

Consulta

NomeNomeRG CRM

Mapeamento de Agregação

NroRegistroConsulta

também identifica univocamente cada consulta

Page 271: Evolução dos Sistemas de Informação

Sala

Data

Paciente MédicoAtendeN M

Consulta

NomeNomeRG CRM

NroRegistroConsulta

Médico = {CRM, Nome}

Paciente = {RG, Nome}

Consulta = {Paciente, Medico, Data,

NroRegistroConsulta, Sala}

Page 272: Evolução dos Sistemas de Informação

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

NomeNFunc

NomeSigla

Professor = {Nfunc, Nome} Disciplina = {Sigla,

Nome} Aula = {Nfunc, Sigla, Data/Horário, LivroTexto}

Page 273: Evolução dos Sistemas de Informação

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

NomeNFunc

NomeSigla

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.

Page 274: Evolução dos Sistemas de Informação

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

Page 275: Evolução dos Sistemas de Informação

CEG

CEE1 CEEk

Ch

AG

Ae1 Aek

...

CEG = { Ch, AtC, AG } CEE1 = { Ch, Ae1}... CEEk = { Ch, Aek}

Mapeamento da Generalização - Alternativa 1 (relações diferentes)Procedimento Padrão 1

disjunção

DAtC

Uma relação geral com um atributo de tipo (AtC) disjunção.

Page 276: Evolução dos Sistemas de Informação

CEG = { Ch, AtC, AG } CEE1 = { Ch, Ae1}... CEEk = { Ch, Aek}

CEG

CEE1 CEEk

Ch

AG

Ae1 Aek

...

Mapeamento da Generalização - Alternativa 1Procedimento Padrão 2

sobreposição

OAtC

A relação geral não possui atributo de tipo sobreposição.

Page 277: Evolução dos Sistemas de Informação

CEG

CEE1 CEEk

Ch

AG

Ae1 Aek

...

CEG = { Ch, AG } CEE1 = { Ch, Ae1}... CEEk = { Ch, Aek}

CEC={ Ch, AtC}

Mapeamento da Generalização - Alternativa 1Procedimento Padrão 3

OAtC

sobreposição

Uma terceira relação – CEC – que indica a qual tipo de entidade uma dada entidade se refere (neste caso, sobreposição).

Page 278: Evolução dos Sistemas de Informação

CEG

CEE1 CEEk

Ch

AG

Ae1 Aek

...

CEG = { Ch, AtC, AG, Ae1, ... Aek }

Mapeamento da Generalização - Alternativa 2 (única relação)Procedimento Padrão 4

DAtC

disjunção

Uma única tabela com todos os possíveis atributos de todas as possíveis entidades, com atributo de tipo disjunção.

Page 279: Evolução dos Sistemas de Informação

CEG

CEE1 CEEk

Ch

AG

Ae1 Aek

...

Mapeamento da Generalização - Alternativa 2Procedimento Padrão 5

CEG = { Ch, AtC, AG, Ae1, ... Aek }

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.

Page 280: Evolução dos Sistemas de Informação

CEG

CEE1 CEEk

Ch

AG

Ae1 Aek

...

CEG = { Ch, AG, Ae1,... Aek, BCEE1, .... BCEEk}

Mapeamento da Generalização - Alternativa 2Procedimento Padrão 6

OAtC

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.

Page 281: Evolução dos Sistemas de Informação

CEG

CEE1 CEEk

Ch

AG

Ae1 Aek

...

CEE1 = { Ch, AG, AE1 }...CEEk = { Ch, AG, AEk }

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.

Page 282: Evolução dos Sistemas de Informação

Mapeamento da Generalização - Alternativa 3Procedimento Padrão 8

CEG

CEE1 CEEk

Ch

AG

Ae1 Aek

...

CEEk = { Ch, AG, AEk }

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.

Page 283: Evolução dos Sistemas de Informação

CEG

CEE1 CEEk

Ch

AG

Ae1 Aek

...

CEEk = { Ch, AG, AEk }

CEC={ Ch, AtC}

Mapeamento da Generalização - Alternativa 3Procedimento 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.

Page 284: Evolução dos Sistemas de Informação

1 CEG = {Ch, AtC, AG} CEEi = {Ch, Aei}

2 CEG = {Ch, AG} CEEi = {Ch, Aei}

3 CEG = {Ch, AG} CEEi = {Ch, Aei} CEC = {Ch,

AtC}

4 CEG = {Ch, AG, AtC, Ae1, Ae2, .... Aem}

5 CEG = {Ch, AG, Ae1, Ae2, .... Aem}

6 CEG = {Ch, AG, Ae1, Ae2, .... Aem, BCEE1,

BCEE2, ...BCEEm}}

7 CEEi = {Ch, AG, Aei}

8 CEEi = {Ch, AG, Aei} CEC = {Ch,

AtC}

9 CEEi = {Ch, AG, Aei} CEC =

{Ch, AtC}

Os 9 Procedimentos Padrão