24/10/2008
Faculdade
INED
Curso Superior de Tecnologia:
B
Banco
d
de Dados
D d
Sistemas para Internet
Redes de Computadores
Disciplina: Banco de Dados
Prof.: Fernando Hadad Zaidan
1
Unidade 4
PROJETO LÓGICO
4.1 Introdução ao Projeto Lógico.
4 2 Restrições e Integridade
4.2
Integridade.
4.3 Mapeamento MER → Modelo Lógico.
2
Material usado na montagem
dos Slides
Bibliografia adicional para desenvolvimento das aulas
ADMINISTRAÇÃO DE DADOS. COMDEX – SUCESU, SP, 2002.
BARBIERI, Carlos. BI - Business Inteligence: Modelagem e tecnologia.
de Janeiro, Axcel Books, 2001.
Rio
HEUSER, C
HEUSER
C. A
A. Projeto de Banco de Dados
Dados. 5a.
5a Edição
Edição. Porto Alegre: Sagra
Luzzatto, 2004.
RAPOSO, Adriana. Apostila Banco de Dados, 2008.
ROCHA, Rogério Morais. Slides da disciplina Projeto de Banco de
Dados Relacional II. Faculdade INED, 2008.
SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S.
Sistema de banco de dados. Tradução da 5ª Edição. São Paulo:
Campus, 2006.
3
1
24/10/2008
Banco de Dados Relacionais
Conceito abstrato que define maneiras de:
- armazenar
- manipular
- e recuperar dados estruturados.
Os dados estão unicamente na forma de tabelas <*>, para
construir
t i um b
banco d
de d
dados.
d
- surgiram em meados da década de 1970;
- alguns anos mais tarde as empresas passaram a utilizar
no lugar de arquivos, bancos de dados hierárquicos e em rede.
- Edgar Frank Codd foi criador do modelo relacional (criou
as 12 regras de Codd). <*> é umas das regras.
- a linguagem dos bancos de dados relacionais é a
SQL - Structured Query Language
4
Tabela
• Todos os dados dos banco de dados relacionais são
armazenados em tabelas.
• Simples estrutura de linhas e colunas.
j
de colunas,, e estas
• Cada linha contém um mesmo conjunto
linhas devem seguir a ordem que foi especificada pelo DA.
• Em um banco de dados podem existir uma ou centenas de
tabelas.
• As tabelas associam-se entre si através de regras de
relacionamentos.
5
Tabela
• Exemplo: A tabela Empregado relaciona-se com a tabela
cargo.
• Através deste relacionamento a tabela cargo fornece a lista
de cargos para a tabela Empregado.
• Baseado numa estrutura de dados simples chamada
relação.
• É o modelo mais amplamente usado, principalmente em
aplicações convencionais de BD.
6
2
24/10/2008
Relação (tabela)
• Relação: normalmente chamada de tabela nos SGBDs
relacionais do mercado. É composta por 2 partes:
– Cabeçalho: conjunto fixo de atributos, que são as
colunas ou campos da relação.
– Corpo: conjunto variável de registros (tuplas), que
são as linhas da relação. O número de linhas define a
cardinalidade
di lid d d
da relação.
l ã
Código
10
20
30
40
Nome
Ana Maria
Paulo
Beatriz
Leonardo
Função
Idade
Analista
Programador
Analista
Gerente
Salário
30
22
40
45
1500
900
2200
3500
Corpo
7
Esquema de uma relação
• Nas relações podem ser observadas as seguintes
propriedades:
–
–
–
–
Não existem tuplas duplicadas;
A ordem das tuplas é insignificante;
A ordem dos atributos é insignificante;
Os valores dos atributos são atômicos
atômicos, sem grupos
repetitivos;
– Os atributos podem ter valores nulos, sendo que nulo
significa inexistência de valor, diferente, portanto, de
zero e branco.
8
Domínios
• Conjunto de valores a partir do qual um ou mais atributos
extraem seus valores.
• Os atributos são comparáveis entre si, se e somente se
pertencerem a um mesmo domínio.
• O domínio do atributo idade é um número inteiro entre 13 e
70 e o domínio do salário seria um número real entre
100,00 e 10.000,00.
9
3
24/10/2008
Domínios
• Domínio é um conceito semântico. Exemplos:
- Peso, qte, valor - são numéricos (reais);
- Idade é inteiro;
- Nome, Cidade é caracter.
- Data de Nascimento é Data;
O mesmo domínio pode ser utilizado múltiplas vezes em
uma relação.
• Ex: relação Peça (Codigo, Nome, Idade)
– 3 atributos diferentes com 2 domínios apenas:
• Codigo e Idade – inteiro
• Nome – caracter.
10
Chaves
As tabelas relacionam umas com as outras através das chaves.
Uma chave é um conjunto de um ou mais atributos que
determinam a unicidade de cada registro.
Chave Candidata: conjunto de atributos que definem unicamente
e minimamente
i i
t cada
d ttupla
l d
de uma relação.
l ã
Ex: Funcionario (Código, Nome, CPF). Código e CPF são
chaves candidatas.
Chave Primária (Primary Key): é uma chave escolhida entre as
chaves candidatas para identificar a tupla da relação.
Ex: Funcionario (Código, Nome, CPF). Código é a chave
primária.
11
Chave Alternativa: são as chaves candidatas não
escolhidas para chave primária.
Ex: Funcionario (Código, Nome, CPF). CPF é a chave
alternativa.
• Chave Estrangeira (Foreign Key): conjunto de
atributos de uma relação R1 que constituem chave
primária de uma outra relação R2.
- As chaves estrangeiras funcionam como elo de ligação
entre relações.
- Ex: Funcionario (Cod-Emp, Nome, Cod-Depto(FK))
Departamento (Cod-Depto, Desc_Depto)
12
4
24/10/2008
Tipos de integridade de dados
13
Restrições
Condições restritivas do modelo relacional.
• Restrição de domínio
– Especifica que o valor de cada atributo A de uma relação
deve ser um valor atômico.
• Ex: Atributo Cargo na entidade funcionário possui um
único valor;
• R
Restrições
t i õ de
d chave
h
– Tuplas de uma mesma relação não podem ter valores iguais
para todos os seus atributos --> Chave Primária <>
• Restrições de Integridade de Entidade
– Nenhuma chave primária pode ser nulo
14
• Restrição de Integridade Referencial
– Se uma entidade X possui uma chave estrangeira (FK)
que corresponde à chave primária (PK) de outra entidade
Y, então cada valor da FK da entidade X deve ser igual ao
valor da PK da entidade Y e se não existir, ser totalmente
NULA, ou seja, não possuir valor (Regra de Inclusão).
• T1[Fk]=T2[Pk],
T1[Fk] T2[Pk] onde
d T2 é alguma
l
ttupla
l d
de R2
R2; ou
• T1[Fk] é nulo
• Na prática, implica que não são permitidos valores de chave
estrangeira que não tenham sido cadastrados previamente
como chave primária.
15
5
24/10/2008
Tabelas e Chaves
Chaves Primárias
Chave Estrangeira
16
Modelo Lógico
O modelo lógico, ao contrário do modelo conceitual, é
completamente dependente da tecnologia de
implementação a ser utilizada.
– Descreve o BD no nível do SGBD, isto é, se o mesmo é
relacional orientado a objetos,
relacional,
objetos hierárquico etc.
etc
– Um modelo lógico de BD relacional, por exemplo, deve
definir quais as tabelas e o nome das colunas que compõem
estas tabelas.
– Define as chaves primárias e a normalização é feita até a
3a. forma.
Fonte: ROCHA, Rogério Morais.
17
Modelagem de Dados – do Modelo Relacional
ao Lógico
Identificação das Situações para Definição das Tabelas
A (a , t . . .)
A
a
t
a
A
1
B
b
N
R
r
N
C
A (a ,. . .)
B (b , . . .)
C (c , . . .)
R (a <fk>, b <fk>, c
<fk>, r)
c
18
18
6
24/10/2008
• Modelo Lógico
Exemplo de Modelo Lógico:
vendedor( cpf, telefone, nome, dt_nascto, sexo)
cidade( cep, nome)
cidade_vendas( cep (fk), cpf (fk), valor_da_venda)
Fonte: ROCHA, Rogério Morais.
19
• MER para Modelo Lógico
FK
Fonte: HEUSER, C. A.
20
EXERCÍCIO
Modelo Entidade Relacionamento (projeto conceitual)
cdTime
cdJogador
nomeTime
Times
M
Contratos
dtRescisao
N
nomeJogador
Jogadorees
dtContrato
Modelo Relacional (projeto lógico)
Times (cdTime, nomeTime)
Jogadores (cdJogador, nomeJogador)
Contratos (cdTime (fk), cdJogador (fk), dtContrato, dtRescisao)
21
7
24/10/2008
Bons Estudos!
Estudos!
O gênio consiste em um por cento de inspiração e noventa e nove
por cento de transpiração.
(Thomas A. Edison)
22
8
Download

Faculdade INED Unidade 4