scc0141 - bancos de dados e suas aplicações prof. jose fernando rodrigues junior material...

39
SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

Upload: internet

Post on 17-Apr-2015

110 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

SCC0141 - Bancos de Dados e Suas Aplicações

Prof. Jose Fernando Rodrigues Junior

Material original: Elaine Parros Machado de Sousa

MER – Parte 1

Page 2: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 3: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 4: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 5: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

USP – ICMC – GBDI

▪Conjunto de Entidades (CE)

▪Conjunto de Relacionamentos (CR)

▪Atributos de Entidades

▪Atributos de Relacionamentos

MER – Construtores Sintáticos

Page 6: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 7: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

USP – ICMC – GBDI

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

▪ Notação DER: retângulo

Pessoa Disciplina

Conjunto de Entidades

Page 8: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 9: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

USP – ICMC – GBDI

▪ Notação DER: losango

PessoaDisciplina

Escola

Matricula

Trabalha

Conjunto de Relacionamentos

Page 10: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

USP – ICMC – GBDI

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

PessoaDisciplina

Matricula

Faz Prova

Conjunto de Relacionamentos

Page 11: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

USP – ICMC – GBDI

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

▪ atributos de entidades▪ atributos de relacionamentos

Atributos

Page 12: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 13: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 14: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 15: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 16: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 17: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 18: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 19: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 20: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

USP – ICMC – GBDI

Número Créditos

▪ Ex: onde colocar um atributo NOTA???

Pessoa

Matricula

Disciplina

Nome

No. USP

Nome

Atributos

Sigla

Page 21: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 22: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 23: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 24: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 25: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 26: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

USP – ICMC – GBDI

Atributo Composto

Pessoa

NomeNUSP

Endereço

Composto

RuaNúmeroCEPCidade

Pessoa

NomeNUSP

RuaNúmeroCEPCidade

Endereço

Notação

Page 27: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

USP – ICMC – GBDI

Atributo Composto

Pessoa

NomeNUSP

Endereço

EndRuaCEPCidade

NomeNumeroApart

Nome

Pessoa

NomeNUSP EndRua Númer

oCEPCidade

Endereço

Apart

Notação

Page 28: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 29: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

USP – ICMC – GBDI

N.Ser.Med.

Atributo Multivalorado

Alergias

Aluno

Nome

Multivalorado

N.Ser.Med.

Alergias

Aluno

Nome

Notação

Page 30: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 31: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

USP – ICMC – GBDI

Data Nascimento

Atributo Derivado

Idade

Aluno

Nome

Derivado

Notação

Aluno

Nome

Data NascimentoIdade

Page 32: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

USP – ICMC – GBDI

Atributo Derivado

Número Créditos

Pessoa

Matricula

Disciplina

Nome

No. USPNome

Sigla

Nro Disciplinas

Page 33: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 34: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 35: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 36: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 37: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 38: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

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 39: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa MER – Parte 1

Exercício – Base de Dados de alunos de uma universidade Um aluno ingressa na universidade para cursar apenas um

curso. Dados pessoais do aluno, como nome, endereço e CPF são armazenados. Além disso, cada aluno recebe na universidade um número único. Os cursos têm nome e código. Os alunos se matriculam em disciplinas, das quais sabe-se sigla, nome, número de créditos e livros recomendados. As disciplinas são ministradas por professores, sendo que uma disciplina pode ter apenas um professor. Para cada disciplina que ministra, o professor pode adotar um método de ensino. Cada professor é vinculado a uma área de pesquisa, e possui uma sala onde realiza seu trabalho. As salas são para um professor apenas, e são localizadas de acordo com um número, e com o campus e o bloco onde estão. Além disso, a universidade possui um programa de auxílio em que um aluno pode ser ajudado por um (e somente um) estudante voluntário, mas o voluntário pode ajudar vários alunos.