modelagem · 2016-02-29 · banco de dados modelagem andré santanchè e patrícia cavoto instituto...

162
Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 Fantasia à Constantinople por Felix Ziem

Upload: others

Post on 03-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Banco de Dados

Modelagem

André Santanchè e Patrícia CavotoInstituto de Computação – UNICAMP

Agosto 2015

Fan

tasi

a à

Co

nst

anti

no

ple

po

r F

elix

Zie

m

Page 2: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Universo de Discursoou Mini-mundo

▪ “Um banco de dados representa algum aspecto do mundo real, às vezes chamado de mini-mundo ou de universo de discurso (UoD – Universe of Discourse).”

(Elmasri & Navathe, 2011)

Page 3: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Universo de Discursoou Mini-mundo

▪ Recorte do mundo real a ser representado

minimundo

fezempréstimo

escreveuDinolândia

Page 4: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

membro:Doriana

livro:Dinolândia

empréstimodados

fezempréstimo

escreveuDinolândia

minimundo

autor:Horário

autoria

Dados

▪ Fatos registrados – significado implícito

Page 5: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

dadosrelacionados

membro:Doriana

livro:Dinolândia

empréstimo

autor:Horário

autoria

Banco de Dados

▪ Coleção de dados relacionados

Page 6: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Abstração

Page 7: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Problema x Abstração

▪ “Para resolver um problema é necessário escolher uma abstração da realidade” (Almeida, 2010)

Page 8: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Abstração

▪ “processo mental que consiste em escolher ou isolar um aspecto determinado de um estado de coisas relativamente complexo, a fim de simplificar a sua avaliação, classificação ou para permitir a comunicação do mesmo” (Houaiss, 2006)

▪ Abstrações ajudam a gerenciar a complexidade do software (Shaw, 1984)

Page 9: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Abstrações do Dia a Dia

Page 10: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Modelo de Dados

▪ Modelo de dados em Banco de dados:

▫ “descrição formal da estrutura de um banco de dados”

(Heuser, 2004)

Page 11: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Esquema de Banco de Dados

modelo de dados

linguagem demodelagem de dados

esquema de banco de dados

Page 12: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Projeto de um BD

Modelo Conceitual

Banco de Dados

Visão Externa 1 Visão Externa 2 Visão Externa n

Usuários Finais

Modelo Lógico

Modelo Físico

esquema conceitual

esquema lógico

esquema físico

requisitos requisitos requisitos

Independente de SGBD

Dependente de SGBD

(Guimarães, 2003)

Page 13: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Visão Externa

▪ Guiada pelos requisitos dos usuários

▪ Usualmente representada em documentos textuais

▪ Visão – recorte do esquema

Modelo Conceitual

Banco de Dados

Visão Externa 1 Visão Externa 2 Visão Externa n

Usuários Finais

Modelo Lógico

Modelo Físico

esquema conceitual

esquema lógico

esquema físico

requisitos requisitos requisitos

Independente de SGBD

Dependente de SGBD

Page 14: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Modelo/Esquema Conceitual

▪ Descreve estrutura do Banco de Dados

▫ entidades, tipos de dados, relações, restrições etc.

▪ Independente de implementação em SGBD

▫ oculta detalhes de armazenamento físico

Modelo Conceitual

Banco de Dados

Visão Externa 1 Visão Externa 2 Visão Externa n

Usuários Finais

Modelo Lógico

Modelo Físico

esquema conceitual

esquema lógico

esquema físico

requisitos requisitos requisitos

Independente de SGBD

Dependente de SGBD

Page 15: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Modelo/Esquema Lógico

▪ Dependente de um SGBD particular

▪ Associado a um “modelo de dados de implementação” (Elmasri, 2005)

Modelo Conceitual

Banco de Dados

Visão Externa 1 Visão Externa 2 Visão Externa n

Usuários Finais

Modelo Lógico

Modelo Físico

esquema conceitual

esquema lógico

esquema físico

requisitos requisitos requisitos

Independente de SGBD

Dependente de SGBD

Page 16: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Modelo/Esquema Físico

▪ Descreve a estrutura de armazenamento físico

Modelo Conceitual

Banco de Dados

Visão Externa 1 Visão Externa 2 Visão Externa n

Usuários Finais

Modelo Lógico

Modelo Físico

esquema conceitual

esquema lógico

esquema físico

requisitos requisitos requisitos

Independente de SGBD

Dependente de SGBD

Page 17: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Hoje

Modelo Conceitual

esquema conceitual

Banco de Dados

Modelo Lógico

Modelo Físico

esquema lógico

esquema físico

Visão Externa 1 Visão Externa 2 Visão Externa n

requisitos requisitos requisitos

Page 18: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Como modelamos o mundo

Page 19: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

IntuitivoEntidades / Objetos

Page 20: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Fan

tasi

a à

Co

nst

anti

no

ple

po

r F

elix

Zie

m

Page 21: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n
Page 22: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n
Page 23: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Objetos

▪ Montanha

Page 24: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Objetos

▪ Montanha

Page 25: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Objetos

▪ Montanha

Mo

un

tain

by

reve

rse

fau

lt b

y Ta

kam

i To

rao

Page 26: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Objetos

▪ Estação rodoviária

Page 27: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Noção de Objeto

▪ Psicologia do desenvolvimento:

▫ Quando crianças representam objetos como entidades permanentes?

▫ Que persistem:

◦ Através do tempo e espaço

◦ À oclusão

(Santos & Hood, 2009)

Page 28: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Noção de Objetos▪ Objetos permanecem?

▫ “Of course, the concept of object permanence itself is really a misnomer, as all objects comprise energy in continuous states of change.” (Santos & Hood, 2009)

Page 29: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Noção de Objetos

▪ Objetos necessários

▫ “One of the most functionally relevant aspects of physical objects is the fact that they persist—standardly speaking, objects do not go in and out of existence and, thus, it is important that an organism be able to represent their continued presence even when they cannot be directly perceived or apprehended.” (Santos & Hood, 2009)

Page 30: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Noção de Objetos

▪ Existência independente do observador

▫ “[...] nervous systems were developed via natural selection to represent objects so that organisms may interact with the external world in an adaptive way, and thus, brains are built to capture what is functionally relevant about objects.” (Santos & Hood, 2009)

Page 31: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

FormalEntidades / Objetos

Page 32: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Modelo Entidade-Relacionamento (ER)

Page 33: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Modelo Entidade-Relacionamento

▪ Padrão para modelagem conceitual

▪ Criada por Peter Chen em 1976

Page 34: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Entidade

Page 35: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Entidade

▪ Objeto do universo de discurso

▪ Identificável distintamente

▪ Existência independente

Pessoa

Livro

Departamentode uma

Organização

Categoriade umLivo

Page 36: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Modelo Orientado a Objetos (OO)

Page 37: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Modelo Orientado a Objetos

▪ SIMULA 67

▫ Primeira Linguagem Orientada a Objetos

▪ Smalltalk

▫ Projeto Dynabook

▫ “Este ‘Dynabook’ foi baseado na visão de computadores pessoais baratos do tamanho de um caderno, tanto para adultos quanto crianças, com a capacidade de lidar com todas as suas respectivas necessidades de informação”. [KRE98]

Page 38: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Objeto

Page 39: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Objeto

▪ Objeto do universo de discurso

▪ Identificável distintamente

▪ Existência independente

Pessoa

Livro

Departamentode uma

Organização

Categoriade umLivo

Page 40: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Objeto

Objetos são caracterizados por:

▫ identidade;

▫ atributos;

▫ comportamento.

Pessoa

Livro

Departamentode uma

Organização

Categoriade umLivo

Page 41: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Exemplo de ObjetoEsfera Vermelha

Atributos (nome, valor)

(cor, vermelha)

(elasticidade, alta)

(raio, 60 cm)

(peso, 200 g)

aumentar, diminuir, se mover

Comportamento

Objeto Esfera

Page 42: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Exemplo de ObjetoUm Financiamento

Atributos (nome, valor)

(percentual de juros, 1%)

(número de parcelas, 3)

(valor, R$ 150)

calcula parcela

Comportamento

Objeto Financiamento

Page 43: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

IntuitivoEstereótipos / Classes

Page 44: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Objetos e Memória

Page 45: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Memória de Curta Duração (Trabalho)

▪ Armazena:

▫ produtos intermediários do pensamento

▫ representações produzidas pelo Sistema Perceptual

▪ Operações mentais:

▫ obtém operandos

▫ deixam resultados intermediários

(Rocha, 2003)

Page 46: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Chunks

▪ “Conceitualmente a MCD é constituída de chunks: elementos ativados da MLD, que podem ser organizados em unidades maiores.”

(Rocha, 2003, p. 55)

Page 47: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Estereótipos▪ Capturar funcionalidade relevante

▫ “[...] nervous systems were developed via natural selection to represent objects so that organisms may interact with the external world in an adaptive way, and thus, brains are built to capture what is functionally relevant about objects.” (Santos & Hood, 2009)

Page 48: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Estereótipos

▪ Estereótipo

▫ “We tend to use the term to refer to information we have about categories and intuitions we have about the typicality, our frequency of certain features of categories.” (Bloom, 2007)

Page 49: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Estereótipos

▪ Essencial para sobrevivência

▫ And it turns out that collecting information about categories is essential to our survival. We see novel things all the time and if we were not capable of learning and making guesses, educated guesses, about these novel things we would not be able to survive. So, when you see this object over here you categorize it as a chair and you recognize that you could probably sit on it.” (Bloom, 2007)

Page 50: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Estereótipos

▪ Generalização

▫ “And if you were suddenly stripped of your ability to make generalizations, you'd be at a loss. You wouldn't know what to eat, how to interact. So, some sort of ability to record information and make generalizations is absolutely essential to making it through life.” (Bloom, 2007)

Page 51: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Desafios da Representação Compartilhada

Estereótipos

Page 52: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Desafios da Representação Compartilhada

Estereótipos

Page 53: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

EstereótiposAbstrações Humanas

▪ São o mundo real ou descrevem o mundo real?

Page 54: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

FormalEstereótipos / Classes

Page 55: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Universo deDiscurso

Modelo

Generalização

Instancias

Rhacophytales

color

height

Rhacophytales (1)

color

height 13

Rhacophytales (2)

color

height 10

Page 56: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

color

height

Rhacophytales (1)

color

height 13

atributos

estereótipo

instância

valores deatributos

Rhacophytales

Page 57: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

ER: Tipo Entidade

Page 58: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Tipo Entidade

▪ Tipo Entidade ou Conjunto de Entidades

▫ conjunto não disjunto

▫ entidades similares – mesmos atributos

Conjuntode Pessoas

Conjuntode Livros

Page 59: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Tipo Entidade

▪ Representação:

Conjuntode Pessoas

Conjuntode Livros

P e s s o a Livro

Page 60: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

OO: Classe

Page 61: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Abstrações em Computação

Tipo Abstrato de Dados

Page 62: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Tipo Abstrato de Dados (TAD)Abstract Data Type (ADT)

▪ “O termo 'tipo abstrato de dados' se refere ao conceito matemático básico que define um tipo de dados” (Tenenbaum, 1990)

▪ Conceito matemático

▫ Não considera aspectos de implementação

◦ Ex.: eficiência de tempo e espaço

(Tenenbaum, 1990)

Page 63: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Tipo Abstrato de Dados (TAD)Abstract Data Type (ADT)

▪ “Um tipo abstrato de dados define uma classe de objetos abstratos que é completamente caracterizada pelas operações disponíveis nestes objetos. Isto significa que um tipo abstrato de dados pode ser definido pela definição e caracterização das operações daquele tipo.” (Liskov, 1974)

Page 64: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Classe

"Numa série ou num conjunto, grupo ou divisão que apresenta características ou atributos semelhantes." (Ferreira, 1989)

▪ Classificação de Carl Linné

Page 65: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Classe

▪ Quando realizamos uma classificação de objetos, identificamos o seu comportamento e as características que eles possuem em comum.

▪ Classes definem:

▫ Atributos que irão descrever o objeto;

▫ Métodos que definem o comportamento dos mesmos.

Page 66: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Objetos e Classes

▪ Os objetos são organizados/divididos em grupos chamados classes.

▪ Objetos da mesma classe têm:

▫ o mesmo conjunto de atributos (os valores dos atributos podem ser diferentes);

▫ o mesmo conjunto de métodos.

Page 67: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UMLUnified Modeling Language

▪ http://www.uml.org/

▪ Desenvolvida entre 1994-96

▪ Criadores

▫ Grady Booch, Ivar Jacobson and James Rumbaugh na Rational Software

▪ Padrão OMG em 1997

▫ OMG - Object Management Group

▫ http://omg.org/

(Wikipedia, 2015)

Page 68: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML

ClassePessoa Livro Circulo

Page 69: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

color

height

Rhacophytales (1)

color

height 13

instância

Rhacophytales

color: ColorTypeheight: int

R1

color = greenheight = 13

Rhacophytales

Page 70: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Exemplo de ClasseEsfera

Atributos (nome, tipo)

(cor, color)

(elasticidade, string)

(raio, real)

(peso, real)

aumentar, diminuir, se mover

Comportamento

Classe Esfera

Page 71: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Exemplo de ObjetoEsfera Vermelha

Atributos (nome, valor)

(cor, vermelha)

(elasticidade, alta)

(raio, 60 cm)

(peso, 200 g)

aumentar, diminuir, se mover

Comportamento

Objeto Esfera

Page 72: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Exemplo de ClasseFinanciamento

Atributos (nome, tipo)

(percentual de juros, real)

(número de parcelas, inteiro)

(valor, real)

calcula parcela

Comportamento

Classe Financiamento

Page 73: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Exemplo de ObjetoUm Financiamento

Atributos (nome, valor)

(percentual de juros, 1%)

(número de parcelas, 3)

(valor, R$ 150)

calcula parcela

Comportamento

Objeto Financiamento

Page 74: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML

Instância de ClassePessoa Livro Circulo

umaPessoa umLivro umCirculo

Page 75: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML

Instância de Classe (alternativa)

umaPessoa: Pessoa umaLivro: Livro umCirculo: Circulo

Page 76: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Atributos

▪ Cada instância de entidade ou relacionamento tem atributos que a descrevem

PESSOA

código

nome

telefone

LIVRO

ISBN

título

autor

ano categoria

Page 77: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

AtributosRepresentação Alternativa

PESSOA

nomecódigo

títuloISBN

autor

LIVRO

anocategoriatelefone

Page 78: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Tipos de Atributo

▪ Simples (atômico)

▪ Multivalorado

▪ Composto

Tamanho

Autores

Endereço

Rua Número Cidade Estado

Page 79: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Atributos-Chave

▪ Servem para distinguir ocorrências da entidade

▪ São únicos na relação

PESSOA

código

nome

telefone

LIVRO

ISBN

título

autor

ano categoria

Page 80: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Atributos-ChaveRepresentação Alternativa

PESSOA

nomecódigo

títuloISBN

autor

LIVRO

anocategoriatelefone

Page 81: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Atributo-chave Composto

PRATELEIRA

nr corredor

nr prateleira

capacidade

(Heuser, 2004)

Page 82: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML

Atributos (propriedades)

Pessoacodigo: Stringnome: Stringtelefone: int

isbn: Stringtitulo: Stringautor: Stringano: intcategoria: String

Livro CirculocentroX: intcentroY: intraio: int

Page 83: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML: Atributos

▪ Visibilidade:

▫ + público

▫ - privado

▫ # protegido

Pessoa-codigo: String-nome: String-telefone: int

Page 84: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML

Instância com valores de atributos

CirculocentroX: intcentroY: intraio: int

umCirculoCentroX = 5CentroY = 3Raio = 10

Page 85: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML

Métodos (operações)

Circulo

area() : double setRaio(novo: int)

centroX: intcentroY: intraio: int

Page 86: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Exercícioparte 1

Uma indústria farmacêutica quer desenvolver um banco de dados para registrar os medicamentos que ela produz, bem como os vírus tratados por estes medicamentos.

Elabore uma modelo conceitual para este banco de dados conforme o detalhamento a seguir:

▪ Devem ser armazenados os nomes científicos e populares dos vírus bem como os períodos de incubação.

▪ Para medicamentos, o devem ser armazenados o nome de venda e o composto ativo.

▪ Em princípio considere que não há relação entre vírus e medicamentos.

Page 87: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Relacionamento

Page 88: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

ER: Relacionamento

Page 89: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

PessoaLivro

escreve

ER: Relacionamento

▪ Associação entre entidades

▪ Atributo de uma entidade que se refere a outra

Page 90: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Conjunto de Relacionamentos

Conjuntode Pessoas

Conjuntode Livros

Asdrúbal

Quincas

Doriana

2001

2003

2007

2007

2005

Conjunto deRelações Escreve

Page 91: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Conjunto de Relacionamentos

Conjuntode Pessoas

Conjuntode Livros

Asdrúbal

Quincas

Doriana

2001

2003

2007

2007

2005

Conjunto deRelações Escreve

Pessoa LivroEscreve

Page 92: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

ER: Entidade

Exemplo Categoria

Categoria

Fic ç ã o

Bio g ra fia

R o m a n c e

Nã o Fic ç ã o

Page 93: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

ER: Relacionamento

Exemplo Pertence

Livro CategoriaPertence

Page 94: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Categoria

Subordinada

Ficção

Romance

subordinada

ER: Auto-Relacionamento

▪ Relacionamento entre ocorrências da mesma entidade

Page 95: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

ER: Papéis

▪ Função que instância de entidade cumpre dentro de instância de relacionamento

Pessoa LivroEscreveautor obra

Page 96: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Categoria

Subordinada

Ficção

Romance

subordinadasuper-categoriasubcategoria

subcategoria

super-categoria

ER: Papéis

Page 97: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

OO: Relacionamento

Page 98: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

PessoaLivro

escreve

OO: Relacionamento

▪ Associação entre objetos

▪ Atributo de um objeto que se refere a outro

▫ Atributo definido na classe

Page 99: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML: Relacionamento

Pessoa Livroescreve

Livro Categoriapertence

Page 100: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML: Relacionamento Direcionado

Livro Categoriapertence

Page 101: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML: Auto-relacionamento

Categoria

subordinada

Page 102: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML: Papéis

Pessoa Livroescreve

+autor +obra

Categoria

subordinada

+super-categoria

+subcategoria

Page 103: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

ER: Grau de Relacionamento

▪ Número de entidades que participam do relacionamento

Page 104: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Grau de Relacionamento

Binário

Livro CategoriaPertence

Page 105: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Grau de Relacionamento

Ternário

Distribuidor

Cidade

Livro

Distribuição

Page 106: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

ER: Cardinalidade no Relacionamento

▪ Restrições que limitam a possibilidade de combinações de entidades em relacionamentos

▪ Cardinalidade:

▫ Máxima

▫ Mínima

Page 107: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Razão de Cardinalidade

Page 108: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Razão de Cardinalidade

▪ É expressa a razão (ou proporção) de participação em um relacionamento.

▪ Transcrição gráfica das proporções: 1:1, 1:N, N:1 e N:N

Page 109: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Relacionamento n:n

Asdrúbal

Quincas

Doriana

2001

2003

2007

2007

2005

P e s s o a Es c re ve Livro

Page 110: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Relacionamento n:n

Asdrúbal

Quincas

Doriana

2001

2003

2007

2007

2005

Pessoa LivroEscreven n

Page 111: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Relacionamento 1:n

Estante 1A

Estante 2A

Es t a n t e Gu a rd a Livro

Page 112: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Relacionamento 1:n

Estante 1A

Estante LivroGuarda

Estante 2A

1 n

Page 113: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Notação de Cardinalidade

Inspirado em (Heuser, 2004)

▪ A notação com apenas um valor de cada lado representa a razão (ou proporção) na participação. Abaixo, proporção 1:N.

Estante LivroGuarda1 n

Cada Livro (lado oposto) está

associado a no máximo 1 estante

A cada estante (lado oposto) estão

associados até n livros.

Page 114: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Relacionamento 1:n

Categoria

Subordinada

super-categoriasubcategorian 1

Page 115: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

PESSOA CARTEIRABIBLIOTECATEM

1 1

Relacionamento 1:1

PESSOA ARMÁRIOOCUPA1 1

Page 116: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Cardinalidade emRelacionamento Ternário

n

1Distribuidor

Cidade

Livro

Distribuição

n

Page 117: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Restrição de Participação na Relação (Cardinalidade)

Page 118: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Restrição de Participação na Relação

▪ Notação alternativa à razão de cardinalidade.

▪ Indica restrição mínima e máxima (min, max) de participação de cada entidade na relação.

▪ É indicado no lado correspondente à entidade (oposto do anterior).

Page 119: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Restrição de Participação na Relação

▪ É indicado no lado correspondente à entidade (oposto do anterior).

(1,1)(0,n)Estante LivroGuarda

Cada estante participa da relação

no mínimo 0 (nenhum livro) e no

máximo n vezes.

Cada livro participa da relação no mínimo 1 vez

(obrigatória) e no máximo 1 vez.

Page 120: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Restrição de Participação na Relação

(1,1)(0,n)Estante LivroGuarda

Estante LivroGuarda1 n

Page 121: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Restrição de Participação na Relação

PESSOA ARMÁRIOOCUPA(0,1) (0,1)

PESSOA LIVROESCREVE(0,n) (1,n)

Page 122: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Restrições de Participação

▪ Relacionadas à cardinalidade mínima:

▫ Participação Total (obrigatória) mínima 1

▫ Participação Parcial (opcional) mínima 0

Page 123: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML: Cardinalidade MáximaPessoa Livro

escreve

* *

Estante Livroguarda

1 *

Categoria

subordinada

+super-categoria

+subcategoria1

*

Page 124: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML: Cardinalidade Mínima

Pessoa Armárioocupa

1..* 0..*

Estante Livroescreve

0..1 0..1

Page 125: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Exercício

Uma indústria farmacêutica quer desenvolver um banco de dados para registrar os medicamentos que ela produz, bem como os vírus tratados por estes medicamentos.

Elabore uma modelo conceitual para este banco de dados conforme o detalhamento a seguir:

▪ Devem ser armazenados os nomes científicos e populares dos vírus bem como os períodos de incubação.

▪ Para medicamentos, o devem ser armazenados o nome de venda e o composto ativo.

Page 126: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Exercícioparte 2

a)Considere que um dado medicamento pode tratar vários vírus e um vírus pode ser tratado por vários medicamentos.

b)O banco de dados também precisa armazenar informações sobre o tipo de paciente (e.g. criança, adulto, idoso) infectado por um vírus e se este tipo pode ser tratado pelos respectivos medicamentos. Cada tipo de paciente possui uma dosagem recomendada para a combinação paciente/medicamento.

Page 127: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML: Agregação

▪ Uma classe agrega outra (não exclusivamente)

Estante Livroguarda

Page 128: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML: Composição

▪ Relação existencial (exclusiva) entre a parte e o todo

Livro Capítulotem

Page 129: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Exemplo Diagrama ER

PERTENCE(1,n) (0,n)

PESSOA ARMÁRIOOCUPA(0,1) (0,1)

EMPRÉSTIMO

(0,n)

(0,1)

CATEGORIA

SUBORDINADA

super-categoriasubcategoria(0,1) (0,n)

ESTANTE

GUARDA

(1,1)

(0,n)

LIVRO

Page 130: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Atributos no Relacionamento

ARMÁRIOOCUPA(0,1) (0,1)

código

nome

telefone

PESSOA

código tamanho

Page 131: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Atributos no Relacionamento

ARMÁRIOOCUPA(0,1) (0,1)

código

nome

telefone

PESSOA

código tamanhodata hora

Page 132: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Entidade Fraca

(0,n) (1,1)LIVRO

ISBN

título

autor

ano categoria

sequência

data aquisição

TEM EXEMPLAR

Page 133: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Classe de Associação

Pessoa-codigo: String-nome: String-telefone: int

-código: String-tamanho: int

Armário

1..* 0..*

Ocupa-data: date-hora: time

Page 134: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

EER – ER Estendido

▪ ER original não suporta generalização/especialização

▪ ER Estendido (EER) – acrescenta estes recursos

Page 135: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

EER: Especialização/Generalização

Page 136: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Generalização / Especialização

data associaçãodata admissão função

FUNCIONÁRIO ASSOCIADO

PESSOA

código

nome

telefone

Page 137: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Generalização / Especialização

MÍDIA

código

título

ano

LIVRO

autorISBN

categoria

produtordiretor

DVD

Page 138: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Generalização / Especialização

Compartilhada ou Superposta

data associaçãodata admissão função

FUNCIONÁRIO ASSOCIADO

PESSOA

código

nome

telefone

c

Pessoas que são Funcionários também podem ser Associados

Page 139: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Generalização / Especialização

Exclusiva ou Disjunta

MÍDIA

código

título

ano

LIVRO

autorISBN

categoria

produtordiretor

DVD

x

Mídias que são Livros não podem ser DVDs

Page 140: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Generalização / Especialização

Total

data associaçãodata admissão função

FUNCIONÁRIO ASSOCIADO

PESSOA

código

nome

telefone

t

Todas as Pessoas são Funcionários ou Associados

Page 141: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Generalização / Especialização

Parcial

MÍDIA

código

título

ano

LIVRO

autorISBN

categoria

produtordiretor

DVD

p

Nem todas as Mídias são Livros ou DVDs

Page 142: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Generalização / Especialização

Compartilhada e Total

data associaçãodata admissão função

FUNCIONÁRIO ASSOCIADO

PESSOA

código

nome

telefone

ct

Page 143: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

MÍDIA

código

título

ano

LIVRO

autorISBN

categoria

produtordiretor

DVD

xp

Generalização / Especialização

Exclusiva e Parcial

Page 144: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Generalização / Especialização

Tipos

Total (t) Parcial (p)

Exclusiva (x) xt xp

Compartilhada (c) ct cp

(Heuser, 2004)

Page 145: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

OO: Herança

Page 146: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML: HerançaPessoa

-código: String-nome: String-telefone: int

Funcionário-admissão: Date-função: String

Associado-associação: Date

Page 147: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Especialização total x Classe abstrata

especialização total x classe abstrata

data associaçãodata admissão função

FUNCIONÁRIO ASSOCIADO

PESSOA

código

nome

telefone

ct

Pessoa-código: String-nome: String-telefone: int

Funcionário-admissão: Date-função: String

Associado-associação: Date

Page 148: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

UML: HerançaMídia

-código: String-título: String-ano: int-categoria: String

Livro-ISBN: String-autor: String

DVD-diretor: String-produtor: String

Page 149: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

MÍDIA

código

título

ano

LIVRO

autorISBN

categoria

produtordiretor

DVD

xp

Especialização parcial x Classe

?Mídia

-código: String-título: String-ano: int-categoria: String

Livro-ISBN: String-autor: String

DVD-diretor: String-produtor: String

Page 150: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

(Chen, 1976)

Page 151: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Exercícioparte 3

▪ Vírus podem ser classificados em diversas categorias (considere apenas Vírus com DNA, Vírus com RNA e Retrovírus). Retrovírus são tratados com coquetéis de medicamentos. Um coquetel é composto por vários medicamentos, cada um em uma concentração específica. Os tratados baseados em coquetéis também devem especificar dosagens específicas por tipo de paciente.

Page 152: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Caso dos Taxis

▪ Exemplo criado por prof. Geovane Cayres Magalhães

▫ http://www.ic.unicamp.br/~geovane/mo410-091/caso.html

Page 153: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

LimiteDe

1

N

End-Deixar

EndereçoResidencial

Até

End-Apanhar

1

N

@

1

1

1

Zona

Zona

Fila

DataHoraIn*KMIn*

CorridaAgendada

Data PedidoData Hora Corrida

1

N

1

1

Logradouro

LogIdNomeCidadeEstado

Numeração

Número

[Complemento][Bairro][CEP]

Cliente

CliIdNome[CPF][CGC]

1

N

N0

1

1

N

N

N

Legenda:[ ] - atributo opcional* - informação preenchida após inclusão inicial@ - um táxi só pode aparecer uma vez na fila

CorridaEfetivada

Hora Início Fila

Hora DeixouKm Final

Hora Apanhou

1

1

N

1

Motorista

CNHNome

CNHValid

Taxi

PlacaMarca

ModeloAnoFabLicença

MT

Endereço

1

1

1

N

1

1

1 1N N

por prof. Geovane Cayres Magalhães

Page 154: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Referências

▪ Chen, Peter Pin-Shan (1976) The entity-relationship model – toward a unified view of data. ACM Trans. Database Systems, ACM, 1, 9-36.

▪ Elmasri, Ramez; Navathe, Shamkant B. (2005) Sistemas de Bancos de Dados. Addison-Wesley, 4a edição em português.

▪ Guimarães, Célio (2003) Fundamentos de Bancos de Dados: Modelagem, Projeto e Linguagem SQL. Editora UNICAMP, 1a edição.

▪ Heuser, Carlos Alberto (2004) Projeto de Banco de Dados. Editora Sagra Luzzato, 5a edição.

Page 155: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Referências

▪ Ramakrishnan, Raghu; Gehrke, Johannes (2003) Database Management Systems. McGraw-Hill, 3rd edition.

Page 156: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Referências Bibliográficas

▪ Almeida, Charles Ornelas , Guerra, Israel; Ziviani, Nivio (2010) Projeto de Algoritmos (transparências aula).

▪ Bloom, Paul (2007) Introduction to Psychology – transcrição das aulas (aula 17). Yale University.

▪ Ferreira, Aurélio B. H. (1989) Minidicionário da Língua Portuguesa. Rio de Janeiro, Editora Nova Fronteira.

▪ Houaiss, Instituto Antônio. Dicionário Houaiss da língua portuguesa (2006) Editora Objetiva, Março.

▪ IBM - International Business Machines Corporation. IBM Smalltalk Tutorial [Online] http://www.wi2.uni-erlangen.de/sw/smalltalk/

▪ Liskov, Barbara; Zilles, Stephen. Programming with abstract data types (1974) ACM SIGPLAN Notices, 9 (4) p. 50.

Page 157: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Referências Bibliográficas

▪ Meyer, Bertrand (1997) Object-Oriented Software Construction – Second Edition. USA, Prentice-Hall, Inc.

▪ Miller, Robert (2004) 6.831 User Interface Design and Implementation (lecture notes). MIT OpenCourseware.

▪ Rocha, Heloisa Vieira da, Baranauskas, Maria Cecilia Calani (2003) Design e Avaliação de Interfaces Humano-Computador. NIED/UNICAMP.

▪ Santos, L. R., & Hood, B. M. (2009). Object representation as a central issue in cognitive science. The Origins of Object Knowledge: The Yale Symposium on the Origins of Object & Number Representation. Oxford: Oxford University Press.

▪ Shaw, M. Abstraction Techniques in Modern Programming Languages (1984) IEEE Software, 1, 4, 10-26.

Page 158: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Referências Bibliográficas

▪ Tenenbaum, Aaron M.; Langsam, Yedidyah; Augenstein, Moshe J. Data Structures Using C (1990) Prentice Hall, Upper Saddle River, NJ.

Page 159: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Referências

▪ Bloom, Paul (2007) Introduction to Psychology – transcrição das aulas (aula 17). Yale University.

▪ Chen, Peter Pin-Shan (1976) The entity-relationship model – toward a unified view of data. ACM Trans. Database Systems, ACM, 1, 9-36.

▪ Dijkstra, E. W. (1986) On a cultural gap. The Mathematical Intelligencer. vol. 8, no. 1, pp. 48-52.

▪ Elmasri, Ramez; Navathe, Shamkant B. (2005) Sistemas de Bancos de Dados. Addison-Wesley, 4a. edição em português.

▪ Elmasri, Ramez; Navathe, Shamkant B. (2011) Sistemas de Bancos de Dados. Pearson, 6a. edição em português.

▪ Guimarães, Célio (2003) Fundamentos de Bancos de Dados: Modelagem, Projeto e Linguagem SQL. Editora UNICAMP, 1a. edição.

Page 160: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Agradecimentos

▪ Luiz Celso Gomes Jr (professor desta disciplina em 2014) pela contribuição na disciplina e nos slides.

Page 161: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

André Santanchèhttp://www.ic.unicamp.br/~santanche

Page 162: Modelagem · 2016-02-29 · Banco de Dados Modelagem André Santanchè e Patrícia Cavoto Instituto de Computação – UNICAMP Agosto 2015 F a n t a s i a à C o n s t a n t i n

Licença▪ Estes slides são concedidos sob uma Licença Creative

Commons. Sob as seguintes condições: Atribuição, Uso Não-Comercial e Compartilhamento pela mesma Licença.

▪ Mais detalhes sobre a referida licença Creative Commons veja no link:http://creativecommons.org/licenses/by-nc-sa/3.0/

▪ Fotografia da capa feita por André Santanchè no Petit Palais (Paris) em 17/02/2013 do quadro: Fantasia à Constantinople de Felix Ziem