Banco de Dados

Propaganda
Banco de Dados I
Aula 24
Agenda
• Conceitos:
• Modelagem de BD
▫ Modelo Conceitual
▫ Modelo Lógico ou Realcional
• Tipos de Relacionamentos
• Trabalho: construção dos relacionamentos
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
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.
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.
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.
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.
Nível de Abstraçã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.
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.
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
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.
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.
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.
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.
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.
Modelo Conceitual - MER
• O conceito fundamental da abordagem ER é o
conceito de entidade.
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:
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).
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.
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.
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).
Relacionamentos
Não confundir:
Relação X Relacionamento
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.
Relacionamento
• Um relacionamento do Modelo de Entidades e
Relacionamentos é uma associação entre
entidades distintas.
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.
1 para 1
• Exemplo:
• Um prêmio pode ser concedido a apenas um
vencedor. E cada vencedor pode receber apenas
um prêmio.
1 para N
• Exemplo:
• Um colégio pode ter várias turmas, mas cada
turma pertence apenas a esse colégio.
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.
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.
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
marido
esposa
Casamento
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 Download
2. Extrair o arquivo em uma pasta qualquer.
3. Executar o arquivo brModelo.exe.
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.
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.
Modelagem... (1)
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.
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.
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.
Modelagem... (2)
Referências
 Site 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
Bibliografia
• Barbieri, Carlos. Modelagem de Dados. IBPI
Press Rio de Janeiro 1994.
Download