41
Banco de Dados I Aula 24

Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Embed Size (px)

Citation preview

Page 1: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Banco de Dados IAula 24

Page 2: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Agenda

•Conceitos: •Modelagem de BD

▫Modelo Conceitual▫Modelo Lógico ou Realcional

•Tipos de Relacionamentos•Trabalho: construção dos relacionamentos

Page 3: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Necessidade de Modelagem•Segundo Paulo Cougo, o mundo é: “...cheio

de coisas que possuem características próprias e que se relacionam entre si”

•Uniformizar é necessário:▫Representação dos conceitos e características

observados no ambiente;▫Ignorar particularidades de implementação.

•Uso de uma ferramenta:▫Manutenabilidade

Page 4: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Modelo de BD

•Um modelo de (banco de dados é uma descrição dos tipos de informações que estão armazenadas em um banco de dados.

Page 5: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Como Modelar• Para construir um modelo de dados usa-se uma

linguagem de modelagem de dados. • Estas linguagens podem ser classificadas de

acordo com a forma de apresentar modelos, em linguagens textuais ou linguagens gráficas.

• Existem linguagens de modelagem para descrever modelos de dados em diferentes níveis de abstração e com diferentes objetivos.

• Cada representação de um modelo de dados através de uma linguagem de modelagem de dados recebe a denominação de esquema de banco de dados.

Page 6: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Objetivos da modelagem• Um banco de dados pode ser modelado (descrito)

em vários níveis de abstração. • Exemplo:

▫ Um modelo de dados que servirá para explicar a um usuários leigos em informática qual é a organização de um banco de dados provavelmente não conterá detalhes sobre a representação em meio físico, das informações. Já um modelo de dados usado por um técnico para otimizar a performance de acesso ao banco de dados conterá mais detalhes de como as informações estão organizadas internamente e, portanto, será menos abstrato.

Page 7: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Abordagem de modelagem.

•Assim como é possível, construir modelos de dados em vários níveis de abstração , também, é possível usar diferentes técnicas, aplicando diferentes conceitos aos construir modelos. Ao conjunto de conceitos usados na construção de um modelo denominamos de abordagem de modelagem.

Page 8: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Nível de Abstração

Page 9: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Modelo Conceitual•Representa e descreve a realidade do

ambiente do problema, constituindo-se em uma visão global dos principais dados e seus relacionamentos (estruturas de informação), completamente independente dos aspectos de sua implementação tecnológica. Quando falamos em modelo conceitual, estamos nos referindo aquela que deve ser a primeira etapa de um projeto de um banco de dados.

Page 10: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Objetivo do Modelo Conceitual•O objetivo do modelo conceitual é descrever

de forma simples e facilmente compreendida pelo usuário final as informações de um contexto de negócios, as quais devem ser armazenadas em um banco de dados.

•É uma descrição de alto nível, mas que tem a preocupação de captar e retratar a realidade de uma organização, processo de negócio, setor, repartição, departamento, etc.

Page 11: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Representação do Modelo Conceitual•O resultado de um modelo conceitual é um

esquema gráfico que representa a realidade das informações existentes em um determinado contexto de negócios, assim como as estruturas de dados em que estão organizadas essas informações.

•O modelo conceitual nunca deve ser construído com considerações sobre processos de negócios. O foco deve ser dirigido sempre ao entendimento e representação de uma realidade de um contexto.

Page 12: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Modelo Lógico

•Ele somente tem o seu início após a criação do modelo conceitual. A partir deste ponto vamos considerar uma das abordagens possíveis da tecnologia de SGBDs (relacional, hierárquico, rede e orientado a objetos) para a estruturação e estabelecimento da lógica dos relacionamentos existentes entre os dados definidos no modelo conceitual.

Page 13: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Representação ML•O modelo lógico descreve em formato as

estruturas que estarão no banco de dados de acordo com as possibilidades permitidas pela sua abordagem, mas sem considerar, ainda, nenhuma característica específica de SGBD.

• Isso resulta em um esquema lógico de dados sob a óptica de uma das abordagens citadas, através do emprego de uma técnica de modelagem de dados orientada às restrições de cada abordagem.

Page 14: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Modelo físico

•O modelo físico será construído a partir do modelo lógico e descreve as estruturas físicas de armazenamento de dados, tais como:

•Tipo e tamanho de campos;• Índices;•Domínio de preenchimento desses campos;•Nomenclaturas;•Exigência de conteúdo;•Gatilhos; etc.

Page 15: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Modelo Físico

•As estruturas físicas são projetadas de acordo com os requisitos de processamento e uso mais econômico dos recursos computacionais. Esse modelo detalha o estudo dos métodos de acesso ao SGBD para a criação dos índices necessários para cada informação colocada nos modelos conceitual e lógico.

Page 16: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

PROJETO DE BANCO DE DADOS•  Modelagem Conceitual• Nesta primeira fase, é construído um modelo conceitual, na

forma de um diagrama entidade-relacionamento. Este modelo independe da implementação.

• Projeto Lógico• Objetiva transformar o modelo conceitual obtido na primeira fase

em um modelo lógico. O modelo lógico define como o banco de dados será implementado em um SGBD específico.

• Projeto Físico• Nesta etapa, o modelo de BD é enriquecido com detalhes que

influenciam no desempenho do BD, mas não interferem em sua funcionalidade. Alterações neste modelo não afetam as aplicações que usam o BD.

Page 17: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Modelo Conceitual - MER

•O conceito fundamental da abordagem ER é o conceito de entidade.

Page 18: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

DER - Entidades

•Em um DER, uma entidade é representada através de um retângulo que contêm o nome da entidade. Alguns exemplos são mostrados abaixo:

Page 19: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Entidades

•Uma entidade representa um conjunto de objetos da realidade modelada. Como o objetivo de um modelo ER é modelar de forma abstrata um banco de dados, interessam-nos os objetos sobre os quais deseja-se manter informações. A entidade pode representar objetos concretos da realidade (uma pessoa, um automóvel, etc) quanto objetos abstratos (um departamento, um endereço, etc).

Page 20: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Realacionamentos• Uma das propriedades sobre as quais pode ser

desejável informações é a associação entre objetos.

• Exemplo: pode ser desejável saber quais pessoas estão associadas a quais departamentos em uma organização. A propriedade de entidade que específica as associações entre objetos é o relacionamento.

Page 21: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Realacionamentos• Em um DER, um relacionamento é representado através

de um losângulo, ligado por linhas aos retângulos representativos das entidades que participam do relacionamento. O exemplo abaixo, apresenta um DER contendo duas entidades, PESSOA e DEPARTAMENTO, e um relacionamento, LOTAÇÃO.

Page 22: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

No Exemplo

• Este modelo expressa que o banco de dados mantém informações sobre:

•  • Um conjunto de objetos classificados como pessoas (entidade

PESSOA);• Um conjunto de objetos classificados como departamento

(entidade DEPARTAMENTO); e,• Um conjunto de associações, cada uma ligando um departamento

a uma pessoa (relacionamento LOTAÇÃO).

Page 23: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Relacionamentos

Não confundir:

Relação X Relacionamento

Page 24: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Relação

•O Modelo Relacional, quando descrito de forma matemática, é definido como um modelo formado por relações (no sentido matemático) entre os domínios.

•Cada tupla é um elemento do conjunto relação.

•Ou seja, a relação é a tabela.

Page 25: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Relacionamento

•Um relacionamento do Modelo de Entidades e Relacionamentos é uma associação entre entidades distintas.

Page 26: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Tipos de Relacionamentos• Existem alguns tipos de relacionamentos possíveis no MER:• Um para um (1 para 1) - indica que as tabelas têm

relação unívoca entre si. Você escolhe qual tabela vai receber a chave estrangeira;

• Um para muitos (1 para N) - a chave primária da tabela que tem o lado 1 vai para a tabela do lado N. No lado N ela é chamada de chave estrangeira;

• Muitos para muitos (N para N) - quando tabelas têm entre si relação n..n, é necessário criar uma nova tabela com as chaves primárias das tabelas envolvidas, ficando assim uma chave composta, ou seja, formada por diversos campos-chave de outras tabelas. A relação então se reduz para uma relação 1..n, sendo que o lado n ficará com a nova tabela criada.

Page 27: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

1 para 1

•Exemplo:•Um prêmio pode ser concedido a apenas

um vencedor. E cada vencedor pode receber apenas um prêmio.

Page 28: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

1 para N

•Exemplo:•Um colégio pode ter várias turmas, mas

cada turma pertence apenas a esse colégio.

Page 29: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

N para N

•Exemplos•Um professor tem várias turmas, e cada

turma tem vários professores •Um pedido de compra pode ter várias

mercadorias, e um tipo de mercadoria pode ser listada em vários pedidos.

Page 30: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Importante

•Os relacionamento 1 para 1 e 1 para N podem ser mapeados diretamente em chaves estrangeiras nas tabelas originais.

•Já o relacionamento N para N exige o uso de uma tabela auxiliar.

Page 31: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Auto-relacionamento• Não necessariamente um relacionamento associa

entidades diferentes. O exemplo abaixo mostra um DER que contém, um auto-relacionamento, devido a isto, é necessário um conceito adicional, o de papel da entidade no relacionamento.

Pessoa

Casamento

esposamarido

Page 32: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Ferramenta Utilizada brModelo

Ferramenta free (http://www.sis4.com/brModelo/)

Criada para ensinar os conceitos de modelagem em banco de dados relacional.

Trabalho de conclusão do curso de pós-graduação em banco de dados (UNVAG – MT e UFSC)

Instalação:1.Realizar download do arquivo “brModelo.exe”

no site oficial, no menu lateral Download2.Extrair o arquivo em uma pasta qualquer.3.Executar o arquivo brModelo.exe.

Page 33: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Minimundo (1)•Uma federação de futebol deseja elaborar

um cadastro geral para os campeonatos que organiza. Um campeonato é composto de um ou mais jogos, porém um jogo pertence a um único campeonato. Para cada campeonato deseja-se saber: nome, ano e seus jogos.

Page 34: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Minimundo (1)Uma federação de futebol deseja

elaborar um cadastro geral para os campeonatos que organiza. Um campeonato é composto de um ou mais jogos, porém um jogo pertence a um único campeonato. Para cada campeonato deseja-se saber: nome, ano e seus jogos.

Page 35: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Modelagem... (1)

Page 36: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Minimundo (2)Para cada time é desejado saber: nome,

cidade, número de cadastro, estádio, os times rivais (nem todo time tem um rival, mas pode ter vários), jogos (todo time participa de jogos), o número de gols que o time marcou em cada jogo, os profissionais (jogadores ou técnicos) que já trabalharam pelo time (todo time possui jogadores e técnicos que atuaram por ele) e os jogadores dos quais o clube possui o passe (um time não é obrigado a possuir passes) e um jogador pode ter passe livre.

Page 37: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Minimundo (2) Para cada time é desejado saber:

nome, cidade, número de cadastro, estádio, os times rivais (nem todo time tem um rival, mas pode ter vários), jogos (todo time participa de jogos), o número de gols que o time marcou em cada jogo, os profissionais (jogadores ou técnicos) que já trabalharam pelo time (todo time possui jogadores e técnicos que atuaram por ele) e os jogadores dos quais o clube possui o passe (um time não é obrigado a possuir passes) e um jogador pode ter passe livre.

Page 38: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Minimundo (2)

Para cada time é desejado saber: nome, cidade, número de cadastro, estádio, os times rivais (nem todo time tem um rival, mas pode ter vários), jogos (todo time participa de jogos), o número de gols que o time marcou em cada jogo, os profissionais (jogadores ou técnicos) que já trabalharam pelo time (todo time possui jogadores e técnicos que atuaram por ele) e os jogadores dos quais o clube possui o passe (um time não é obrigado a possuir passes) e um jogador pode ter passe livre.

Page 39: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Modelagem... (2)

Page 40: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

ReferênciasSite Oficial do brModelo:

http://www.sis4.com/brModelo/Conceitos de Modelagem

http://pt.wikipedia.org/wiki/Modelo_de_Entidades_e_Relacionamentos

http://pt.wikipedia.org/wiki/Modelagem_de_dados

Aulas da disciplina de Gerenciamento de Dados e Informação do Centro de Informática – UFPE http://www.cin.ufpe.br/~if685

Aulas da disciplina de Banco de Dados

Page 41: Banco de Dados I Aula 24. Agenda Conceitos: Modelagem de BD Modelo Conceitual Modelo Lógico ou Realcional Tipos de Relacionamentos Trabalho: construção

Bibliografia

•Barbieri, Carlos. Modelagem de Dados. IBPI Press Rio de Janeiro 1994.