projeto de banco de dados. modelagem de dados objetivo: coletar os dados do mundo real e transformar...

38
Projeto de Banco de Dados

Upload: internet

Post on 17-Apr-2015

111 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Projeto de Banco de Dados

Page 2: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Modelagem de Dados Objetivo: coletar os dados do mundo real e

transformar em informações que podem ser armazenadas em um SGBD.

seres, objetos, fatos

Informações informais

informações formais

dados

cadeias de bits

Mundo Real

Modelo Descritivo

Modelo Conceitual

Modelo Operacional

Modelo Físico

Page 3: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Modelos de Banco de Dados

Modelo de (Banco de) Dados: descrição das informações que estão armazenadas em um banco de dados.

Page 4: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Modelos de Banco de Dados

Modelo Conceitual: não contém detalhes sobre a representação em meio físico das informações;

Modelo Lógico: descrição de como as informações estão organizadas internamente, visão do usuário do SGBD; e

Modelo Físico: descreve os dados no nível mais baixo (interno); trata dos aspectos de implementação do SGBD.

Page 5: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

DESENVOLVIMENTO DE BANCOS DE DADOS

Modelo Conceitual

Page 6: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

DESENVOLVIMENTO DE BANCOS DE DADOS

Modelo Lógico

Id Tipo Devastação

Number

Varchar Varchar

Page 7: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

DESENVOLVIMENTO DE BANCOS DE DADOS

Modelo Físico

Page 8: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Modelos de Banco de Dados

Modelo Conceitual

Page 9: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Modelos de Banco de Dados

Modelo Conceitual

Registra que dados podem aparecer no banco de dados, mas não registra como estes dados estão armazenados no SGBD;

Existem vários técnicas de modelagem conceitual:

- Abordagem Entidade-Relacionamento; e

- Abordagem orientada a objetos.

Page 10: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Modelos de Banco de Dados

Diagrama Entidade-Relacionamento (DER)

Page 11: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Modelos de Banco de Dados

Modelo Lógico

Page 12: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Modelos de Banco de Dados

Modelo Lógico Também conhecido como Modelo Lógico com

Base em Registros;

Dependente do tipo particular de SGBD que está sendo usado;

Page 13: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Modelos de Banco de Dados Os modelos lógicos mais conhecidos são:

Modelo de Rede

Modelo Hierárquico

Modelo Relacional

Modelo Orientado a Objetos

Modelo Objeto – Relacional

Page 14: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD
Page 15: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

TEmpregadoRGnomeendereçogerentesalárioBasecomissão

salário()

Orientado a Objetos

TEmpregado

RGnome

endereço

gerente

salárioBase

comissão

salário()

TEmpregado

RGnome

endereço

gerente

salárioBase

comissão

salário()

Objeto-Relacional

Page 16: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Modelagem

Exemplo: Sistema para o controle de dados dos alunos de uma universidade. (1)

(2) Modelo descritivo: A universidade mantém o cadastro de seus alunos por RA, nome, endereço, fone e data de nascimento. Sobre as disciplinas que são oferecidas a universidade mantém o código, título, descrição e carga horária. O histórico de um aluno associa os alunos as disciplinas que eles cursaram em cada ano e mantém a nota e freqüência que eles obtiveram.

Page 17: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Modelagem de Dados

(3) Modelo Conceitual: MER - Modelo Entidade-Relacionamento: objetos

são representados como entidades e as associações entre eles como relacionamentos.

Alunos Hist. Disciplinasnn

notafreq

anoRA nome

end.

fonedata_nasc.

cod título

descr. carga_hor

Page 18: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Modelagem de Dados Modelo Orientado a Objetos: dados do mundo real

são representados como objetos, que possuem atributos e métodos. Objetos organizados em classes ligados por associações. Exemplo usando OMT:

Alunos

RAnomeend.fonedata_nasc

cadastraratualizar end.

Disciplinas

cod.títulodescr.carga_hor.

cadastrar_disc

Históricoanofreqüência

nota

cadastrar_Histalterar_nota

Page 19: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Modelagem de Dados

(4) Modelo Operacional: descrição de alto nível da implementação.

Modelo Relacional: dados e relacionamentos representados por uma coleção de tabelas. Ocupa mais de 90 % do mercado atual.

Page 20: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Modelagem de DadosExemplo:

alunos

cod título descr. carga

disciplinas

RA cod ano freq nota

histórico

RA nome end fone data

Page 21: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Características do modelo relacional: cada tabela tem seu nome diferente das demais na

mesma base de dados cada coluna tem seu nome diferente das demais

na mesma tabela colunas contém os atributos linhas contém informações de 1 entidade cada célula pode conter no máximo 1 item de dado ordem das linhas é irrelevante ordem das colunas é irrelevante nunca temos duas linhas iguais chave primária

Page 22: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Modelagem de Dados (5) Modelo Físico: representação

dos dados no meio físico. Estruturas de dados mais complexas.

Representação própria de cada SGBD.

Page 23: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Projeto de um BD Modelo Entidade-Relacionamento (ER) Técnica de modelagem de dados mais utilizada

Criada em 1976 por Peter Chen

Os conceitos centrais dessa abordagem são: Entidade: conjunto de objetos da realidade, modelada

sobre os quais deseja-se manter informações no BD. Geralmente, uma entidade é representada como uma tabela em bancos de dados relacionais. Representadas por retângulos.

Aluno Disciplina Cliente

Conta Corrente

Page 24: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Os conceitos centrais dessa abordagem são: Atributo: dado que é associado a cada ocorrência de

uma entidade ou de um relacionamento. Em termos relacionais, geralmente significa um campo. Representadas em eclipses

Cliente

Projeto de um BD Modelo Entidade-Relacionamento (ER)

Page 25: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Projeto de um BD Modelo Entidade-Relacionamento (ER)

Relacionamento: conjunto de associações entre entidades.

A

Page 26: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Projeto de um BD Modelo Entidade-Relacionamento (ER)

Relacionamento: conjunto de associações entre entidades.

Aluno Disciplina

Cliente Conta Correntemovimenta

cursa

Page 27: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Cardinalidade

Expressa o número de entidades ao qual outra entidade pode ser associada através do relacionamento. Pode ser expressa por alguns sinais: flechas, pés de galinha, números, etc... São grafadas sobre a linha do relacionamento nas duas extremidades:

Cardinalidade 1:

Cardinalidade N:

Page 28: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Cardinalidade

Cardinalidade Um-para-um (1:1)

Estado Capitalpossui

1 1

Page 29: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Cardinalidade

Cardinalidade Um-para-muitos (1:N)

Aluno Disciplina

Cliente Conta Correntemovimenta

cursa

1 N

1 N

Page 30: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Cardinalidade

Cardinalidade Muitos-para-muitos (N : N)

Aluno Disciplina

Cliente Conta Correntemovimenta

cursa

N N

N N

Page 31: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Diagramas ER

Cliente Conta Correntemovimenta

1 N

Nome Rua

Código Cidade Numero Quantia

Page 32: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Diagramas ER

Aluno DisciplinaCursa

1 N

Matr Nome

Curso Período Nome CargaH

Codigo

Page 33: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Projeto de um BD

A transformação do projeto da abordagem ER para um BD relacional não é direta, mesmo assim, existem algumas regras que nos auxiliam nessa conversão:

Page 34: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Entidade -> Relação

Page 35: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Entidade -> Relação

Aluno (Numero, Nome, Morada)Criança (NumA, Nome)

A

Page 36: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Prestando atenção nas cardinalidades....

As relações 1:1 ou 1:N do ER não geram tabelas mas obrigam à inclusão de novos atributos nas tabelas já existentes:

Page 37: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Prestando atenção nas cardinalidades....

As relações 1:1 ou 1:N do ER não geram tabelas mas obrigam à inclusão de novos atributos nas tabelas já existentes:

Page 38: Projeto de Banco de Dados. Modelagem de Dados Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD

Prestando atenção nas cardinalidades....

Para cada relação N:N deve existir uma tabela própria com os atributos determinantes das entidades relacionadas que formam a sua chave primária