banco de dados

Propaganda
Banco
Banco de
de Dados
Dados // 11
Banco
Banco de
de Dados
Dados // 22
Modelo Relacional
Conceito de relaç
relação matemá
matemática (semelhante a tabela de
valores) como seu bloco de construç
construção bá
básica.
Engenharia da Computaç
Computação
UNIVASF
Base teó
teórica: teoria dos conjuntos e ló
lógica de
predicados de primeira ordem.
Implementaç
Implementações comerciais:
BANCO DE DADOS
– Década de 80: SGBD Oracle e sistema SQL/DS, componente do
SO MVS, da IBM.
– SGBDRs mais conhecidos:
Aula 6
Modelo Relacional
• DB2 e Informix Dynamic Server (IBM)
• Oracle e Rdb (Oracle)
• SQL Server e Access (Microsoft)
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
Banco
Banco de
de Dados
Dados // 33
Banco
Banco de
de Dados
Dados // 44
Modelo Relacional
Modelo Relacional - Conceitos
atributos
Banco de Dados: coleç
coleção de relaç
relações cada relaç
relação tem um nome único.
nico.
Informalmente, uma relaç
relação é semelhante
a uma tabela de valores.
Conta Agência
Valor
25
Centro
236,99
678
VilaVerde
1598,70
433
Servidor
64,81
67
Matão
45,23
978
Nova Cidade 101,00
tuplas
Relação
DEPÓSITO
Domínio = conjunto de valores
permitidos para o atributo atômicos (indivisíveis)
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
Banco
Banco de
de Dados
Dados // 55
Banco
Banco de
de Dados
Dados // 66
Modelo Relacional - Domí
Domínios
Modelo Relacional - Relaç
Relação
Domí
Domínio conjunto de valores atômicos – cada valor
é indivisí
indivisível no diz respeito ao modelo relacional.
Em geral, o domí
domínio é designado como tipo de dado
especificam valores possí
possíveis
– Exemplo:
• número_do_cliente: conjunto de inteiros com quatro
algarismos números de 1 a 9999
• nome_do_cliente: conjunto de caracteres
alfanuméricos com 40 posições formato S(50)
• número_do_aluno: 2 letras indicando o curso + 3
dígitos formato AA-999
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
Definição formal de RELAÇÃO: Uma relação r(R) é uma
relação matemática de grau n nos domínios dom(A1),
dom(A2), ..., dom(An), que é um subconjunto de um
produto cartesiano dos domínios que definem R
dom(A1): domínio do atributo a1
dom(A2): domínio do atributo a2
...
dom(An): domínio do atributo an
Produto Cartesiano = dom(A1) X dom(A2) X ... X dom(An):
Relação R = subconjunto de dom(A1) X dom(A2) X ... X dom(An)
Grau (ou arity) de R = n (número de atributos do esquema da
relação)
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
1
Banco
Banco de
de Dados
Dados // 77
Banco
Banco de
de Dados
Dados // 88
Modelo Relacional - Relaç
Relação
Modelo Relacional - Acesso aos dados
Acesso aos dados
EXEMPLO
dom(A1): domínio de conta = conjunto de todos os números de
conta
dom(A2): domínio de agência = conjunto de todos os nomes de
agência
dom(A3): domínio de valor = conjunto de todos os valores
possíveis
Produto Cartesiano = dom(A1) X dom(A2) X dom(A3)
Relação DEPÓSITO =
Co nta A gên cia
Valor
25
C entro
236,9 9
678
V ilaV erde
1598,70
433
S ervidor
64,81
dom(A1) X dom(A2) X
dom(A3)
67
M atão
45,23
Grau de Depósito = 3
978
N ova C idade 101,0 0
subconjunto de
chamando de t a primeira tupla
da relação::
– t [conta] = valor de t no
atributo conta
– t[1] = valor de t no primeiro
atributo (conta)
Co nta A gên cia
Valor
25
C entro
236,9 9
678
V ilaV erde
1598,70
433
S ervidor
64,81
67
M atão
45,23
978
N ova C idade 101,0 0
– t [agência] = t[2] = valor de t
no atributo segundo atributo
(agência).
– E assim por diante...
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
Banco
Banco de
de Dados
Dados // 99
Banco
Banco de
de Dados
Dados // 10
10
Esquema de um BD
Notaç
Notações do Modelo Relacional
Esquema de um Banco de Dados Relacional:
conjunto de Esquemas de Relaç
Relações EBD = {ER1,
ER2, ..., ERn } e um conjunto de restriç
restrições de
integridade
Esquema de relaç
relação R de grau n: R(A1,A2,...A
,...An)
Banco de Dados Relacional: conjunto de Relaç
Relações
BD = {R1, R2, ..., Rn}
Tupla t em uma relaç
relação r(R): t=<v1,v2,...,v
,...,vn> - vi é o
o valor correspondente ao atributo Ai.
– cada Ri é uma instância de ERi
– cada Ri satisfaz todas as restrições de integridade.
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
Banco
Banco de
de Dados
Dados // 11
11
Banco
Banco de
de Dados
Dados // 12
12
Restriç
Restrições do Modelo Relacional
Restriç
Restrições baseadas em esquema
Regras a respeito dos valores que podem ser
armazenados nas relaç
relações
1. Restriç
Restrições de domí
domínio
– Garantem que mudanças feitas no BD por usuários não
resultem em inconsistência dos dados.
– Valores devem ser sempre satisfeitos em quaisquer das
relações R de um banco de dados BD.
Três categorias:
– Restrições inerentes baseadas em modelo.
• Exemplo: relação não pode ter tuplas repetidas.
– Restrições baseadas em esquemas: que podem ser expressas
diretamente nos esquemas do modelo de dados.
– Dentro de cada tupla , o valor de cada atributo A
deve ser um valor atômico do domínio dom(A).
2. Restriç
Restrições de chave
– Duas tuplas distintas, não podem ter valores
idênticos para todos os atributos da chave primária
e superchaves (unicidade de chave).
– Restrições baseadas em aplicação: devem ser expressas e
impostas nos programas de aplicação.
• Exemplo: tuplas que um usuário pode acessar em uma relação.
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
2
Banco
Banco de
de Dados
Dados // 13
13
Banco
Banco de
de Dados
Dados // 14
14
Restriç
Restrições baseadas em esquema
Restriç
Restrições baseadas em esquema
3. Restriç
Restrições de valores nulos
5. Restriç
Restrições de integridade referencial
– Especifica que um atributo da relação não pode ser
nulo. Por exemplo: NOME is not null.
4. Restriç
Restrições de integridade de entidade
– Nenhum valor de chave primárias pode ser nulo.
– o conceito de integridade referencial depende do
conceito de chave estrangeira
– Chave estrangeira:
• Dois conjuntos de atributos C e D compatíveis existe uma
ordem entre os atributos de ambos os domínios tal que o
primeiro atributo de C tenha o mesmo domínio do
primeiro atributo de D, o mesmo valendo para os segundos
atributos, e assim por diante.
• chave estrangeira conjunto de atributos C ⊆ R1 que não
é chave em R1, é compatível com outro conjunto de atributos
D ⊆ Rk que é a chave primária da relação Rk.
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
Banco
Banco de
de Dados
Dados // 15
15
Banco
Banco de
de Dados
Dados // 16
16
Restriç
Restrições baseadas em esquema
Restriç
Restrições baseadas em esquema
chave estrangeira conjunto de atributos
C ⊆ R1 que não é chave na relaç
relação R1,
R1, mas é
compatí
compatível com a chave primá
primária de uma outra
relaç
relação.
A restriç
restrição de integridade referencial determina
que o valor dos atributos C numa tupla qualquer
t(C) da relaç
relação R1 onde C não é chave:
– ou é igual ao valor t(D) na relação Rk onde D
é chave
– ou é nulo.
nulo
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
– Exemplo 1:
Professor = (n
(númeromero-professor,nome,data
professor,nome,data--admissão)
Disciplina = (c
(código,
digo,nomenome-disc,
disc,profprof-responsá
responsável)
vel)
Professor
númeroprofessor
213
400
67
43
25
nome
Antônio
José
Joana
João
Maria
Disciplina
dataadmissão
02/02/1999
02/04/2000
05/01/1998
10/11/1997
14/11/1996
código
CC876
CC566
AS654
AS543
nome-disc
profresponsável
Banco Dados 43
Linguagem I
25
Algoritmos
67
Compiladores 400
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
Banco
Banco de
de Dados
Dados // 17
17
Restriç
Restrições baseadas em esquema
6. Outros tipos de restriç
restrições
– Restrições de integridade semântica
• Exemplos:
– salário do empregado deve ser menor que o do chefe
– Número máximo de horas-extras é 35.
• Feitas através dos programas de aplicação ou da linguagem de
especificação de restrição (gatilhos e asserções)
– Restrições de dependência funcional
• Estabelece relacionamento funcional entre dois conjuntos de
atributos X e Y, sendo que X determina o valor de Y em todos os
estados da relação.
• Exemplo: o RA 335432 determina sempre o nome da aluna
Júlia Neme Delgado.
Prof.
ª FFátima
átima Nunes
Prof
Prof. Edmundo
Edmundo Spoto
Spoto ee Profª
Profª
Nunes Marques
Marques
3
Download