Buscar

BD 05 - Modelo Lógico

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Prof. Alexandre Mignon
Banco de Dados
Modelo Lógico
1Material baseado em: HEUSER, Carlos Alberto. Projeto de Banco de Dados. Porto Alegre: Sagra Luzzato, 2004.
Composição de um Banco de Dados Relacional
➔ Um banco de dados relacional é composto de tabelas ou 
relações
➔ Uma tabela é um conjunto não ordenado de linhas (ou tuplas)
◆ Cada linha é composta por uma série de campos (valor de atributo)
◆ Cada campo é identificado por nome de campo (nome de atributo)
◆ O conjunto de campos das linhas de uma tabela que possuem o mesmo 
nome formam uma coluna
2
Chaves
➔ Conceito básico para estabelecer relações entre linhas de 
tabelas de um banco de dados relacional
➔ Há ao menos dois tipos de chaves:
◆ Chave primária
◆ Chave estrangeira
3
Chave Primária (PK - Primary Key)
➔ É uma coluna ou uma combinação de colunas cujos valores 
distinguem uma linha das demais dentro de uma tabela
◆ Chave primária simples: apenas um atributo (campo) compõe a chave 
primária
◆ Chave primária composta: mais de um atributo compõe a chave primária
➔ Exemplo 01 - Tabela Departamento
4
Departamento
CodDept Nome
D001 Financeiro
D002 Engenharia
D003 Comercial
chave primária
Chave Primária (PK - Primary Key)
➔ Exemplo 02 - Tabela Dependente
➔ Uma chave primária deve ser mínima, isto é, quando todas as 
suas colunas forem efetivamente necessárias para garantir o 
requisito de unicidade de valores da chave.
5
Dependente
CodEmpregado NoDepen Nome Tipo
E1 01 João Filho
E1 02 Maria Esposa
E2 01 Ana Esposa
E5 01 Paula Esposa
E5 02 José Filho
chave primária (composta)
Chave Estrangeira (FK - Foreign Key)
➔ É uma coluna ou uma combinação de colunas, cujos valores 
aparecem necessariamente na chave primária de uma tabela
➔ É o mecanismo que permite a implementação de 
relacionamentos em um banco de dados relacional.
➔ Exemplo: Antes de efetuar a alocação de um funcionário em 
um departamento, é necessário que o departamento em 
questão conste na tabela de departamentos.
6
Departamento
CodDept Nome
D001 Financeiro
D002 Engenharia
D003 Comercial
Funcionario
CodFunc Nome CPF CodDept
1001 Antonio 000111222-33 D002
1002 Beatriz 111222333-44 D003
1003 Claudio 222333444-55 D001
chave estrangeira
Chave Estrangeira (FK - Foreign Key)
➔ Uma chave estrangeira nem sempre referencia uma chave 
primária de outra tabela
➔ Ela pode ser usada para referenciar uma chave primária da 
própria tabela
7
Empregado
CodEmp Nome CPF CodEmpGerente
E5 Antonio 000111222-33 -
E3 Beatriz 111222333-44 E5
E2 Claudio 222333444-55 E5
chave estrangeira
referencia a chave primária
da própria tabela
Chave Estrangeira (FK - Foreign Key)
A existência de uma chave estrangeira impões restrições que devem ser 
garantidas em diversas situações de alteração do banco de dados.
➔ Inclusão de uma linha na tabela que contém a chave 
estrangeira
◆ Deve ser garantido que o valor da chave estrangeira apareça na coluna 
da chave primária referenciada
➔ Alteração do valor da chave estrangeira
◆ Deve ser garantido que o novo valor de uma chave estrangeira apareça 
na coluna da chave primária referenciada
➔ Exclusão de uma linha da tabela que contém a chave primária 
referenciada pela chave estrangeira
◆ Deve ser garantido que na coluna chave estrangeira não apareça o valor 
da chave primária que está sendo excluída
8
Chave Única (Unique)
➔ Utilizada quando um determinado campo não deve ser repetido 
e não é chave primária
➔ Aumenta a consistência do banco de dados
➔ Exemplo: Cadastro de Funcionários - Cada funcionário recebe 
um código único, que é chave primária. Para maior segurança 
e consistência podemos optar que o campo CPF também seja 
único, evitando que o mesmo funcionário seja cadastrado duas 
vezes.
9
Domínios e Valores Vazios
➔ Para cada coluna de uma tabela deve ser especificado um 
conjunto de valores (alfanumérico, numérico, …) que os 
campos da respectiva coluna podem assumir
➔ Este conjunto de valores é chamado de domínio da coluna ou 
domínio do campo
➔ Também deve ser especificado se os campos da coluna 
podem estar vazios (null) ou não
◆ Indica que não é necessário o campo receber nenhum valor de seu 
domínio
➔ As colunas nas quais não são admitidos valores vazios são 
chamadas de colunas obrigatórias
➔ As colunas nas quais podem aparecer campos vazios são 
chamadas de colunas opcionais
10
Restrições de Integridade
➔ Um dos objetivos primordiais de um SGBD é a integridade de 
dados. 
◆ Significa dizer que os dados refletem corretamente a realidade 
representada pelo banco de dados e que são consistentes entre si
➔ Para tentar garantir a integridade de um banco de dados os 
SGBD oferecem o mecanismo de restrições de integridade
◆ É uma regra de consistência de dados que é garantida pelo próprio 
SGBD
➔ Costuma-se classificar as restrições de integridade nas 
seguintes categorias a seguir
11
Restrições de Integridade
➔ Integridade de domínio
◆ Especifica que o valor de um campo deve obedecer a definição de 
valores admitidos para a coluna (o domínio da coluna)
➔ Integridade de vazio
◆ Especifica se os campos de uma coluna podem ou não ser vazios (se a 
coluna é obrigatória ou opcional)
◆ Campos que compõem a chave primária sempre devem ser diferentes 
de vazio
➔ Integridade de chave
◆ Restrição que define que os valores da chave primária e chave única 
devem ser únicos
➔ Integridade referencial
◆ Define que os valores dos campos que aparecem em uma chave 
estrangeira devem aparecer na chave primária da tabela referenciada 12
Especificação de Banco de Dados Relacional
➔ A especificação de um banco de dados relacional (chamada de 
esquema do banco de dados) deve conter no mínimo a 
definição do seguinte: 
◆ Tabelas que formam o banco de dados
◆ Colunas que as tabelas possuem
◆ Restrições de Integridade
➔ São utilizadas diversas notações para a especificação do 
esquema de banco de dados
➔ Neste material apresenta-se:
◆ Notação textual compacta
◆ Notação gráfica
13
Notação Textual Compacta
Departamento (CodDept, Nome)
Funcionário (CodFunc, Nome, CPF, CodDept)
CodDept referencia Departamento
➔ Nesta notação, são listadas as tabelas e, para cada tabela, 
enumerados, entre parênteses, os nomes das colunas que 
compõem a tabela
◆ As colunas que compõem a chave primária aparecem sublinhadas
◆ Após a definição da tabela aparece as definições das chaves 
estrangeiras
<nome de coluna ch. estrangeira> referencia <nome de tabela> ou
(<nome de coluna>1,<nome de coluna>2,…) referencia <nome de tabela> 
14
Notação Gráfica (brModelo)
➔ Na notação compacta não é possível determinar a 
cardinalidade do relacionamento
15
Transformação entre Modelos
➔ A abordagem ER é voltada à modelagem de dados de forma 
independente do SGBD considerado
◆ Adequada para a construção do modelo conceitual
➔ A abordagem relacional modela os dados a nível de SGBD 
relacional
◆ Um modelo neste nível de abstração é chamado de modelo lógico
➔ O projeto lógico de um BD relacional consta da transformação 
de um modelo ER em um modelo lógico
16
Visão Geral do Projeto Lógico
Um determinado modelo ER pode 
ser implementado através de 
diversos modelos relacionais
➔ Diferentes modelos relacionais podem 
resultar em diferentes desempenhos do 
sistema construído sobre o banco de 
dados
➔ Diferentes modelos relacionais podem 
implicar maior facilidade, ou dificuldade 
de desenvolvimento e manutenção do 
sistema construído sobre o banco de 
dados.
17
Transformação ER para Relacional
1. Tradução inicial de entidades e respectivos atributos
2. Tradução de relacionamentos e respectivos atributos
3. Tradução de generalizações/especializações
18
Tradução Inicial de Entidades
➔ Cada entidade é traduzida para uma tabela
➔ Cada atributo da entidade define uma coluna desta tabela
➔ Os atributos identificadores da entidade correspondem às 
colunas que compõem a chave primária da tabela
Esquema relacional:
Pessoa (CodPessoa,Nome,Endereço,DataNasc,DataAdm)
19Implementação de Relacionamentos
➔ O fator determinante para a tradução a adotar no caso de 
relacionamentos é a cardinalidade mínima e máxima das 
entidades que participam do relacionamento
➔ Existem três formas básicas de tradução de relacionamentos 
para o modelo relacional
◆ Tabela própria
◆ Colunas adicionais dentro de tabela de entidade
◆ Fusão de tabelas de entidades
20
Tabela Própria
➔ O relacionamento é implementado através de uma tabela 
própria
➔ Esta tabela contém as seguintes colunas:
◆ colunas correspondentes aos identificadores das entidades relacionadas 
◆ colunas correspondentes aos atributos do relacionamento
21
Colunas adicionais dentro de tabela de entidade
➔ A outra alternativa de implementação de um relacionamento é 
a inserção de colunas em uma tabela correspondente a uma 
das entidades que participam do relacionamento
22
Fusão de Tabelas de Entidades
➔ Somente pode ser aplicada quando o relacionamento é de tipo 
1:1
➔ A tradução consta de implementar todos atributos de ambas 
entidades, bem como os atributos do relacionamento em uma 
única entidade.
23
Relacionamentos Binários - Cardinalidade Máxima 1:1
24
Relacionamentos Binários - Cardinalidade Máxima 1:N
25
Relacionamentos Binários - Cardinalidade Máxima N:N
26
Relacionamento com Atributo Identificador
27
Auto-Relacionamentos
28
Auto-Relacionamentos
29
Relacionamentos Ternários
30
Generalização/Especialização
31
Exercício
Uma empresa de consultoria deseja registrar informações sobre seus 
projetos e consultores. Para cada projeto é necessário armazenar o 
código, nome e endereço da empresa que solicitou o projeto, o número 
do projeto, a data de início e de término do projeto, o valor do projeto, o 
número, nome, número do documento de identidade e especialização dos 
consultores que participaram do projeto, as horas que trabalharam em 
cada projeto e a função que exerceu (líder ou membro). Uma mesma 
empresa pode solicitar diversos projetos e um mesmo consultor pode 
trabalhar em diversos projetos
1. Criar o modelo conceitual (DER)
2. Criar o modelo lógico
32
Exercício - Resolução - Modelo Conceitual
33
Exercício - Resolução - Modelo Conceitual
34

Continue navegando