33
Arnaldo Rocha 1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Embed Size (px)

Citation preview

Page 1: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

BANCO DE DADOSModelo Relacional

Page 2: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Conceitos Gerais: Relação

Nelson 21 M 010110

Davi 22 M 010100

... ... ... ...

Maria 22 F 101000

Definição 1: Dados os conjuntos S1, S2, ...., Sn, não necessariamente distintos, diz-se que R é uma relação sobre esses n conjuntos se R é um conjunto de m tuplas, nas quais o primeiro elemento assume valores em S1, o segundo em S2, e assim por diante.

tupla 1

EXEMPLO:

tupla m

S1

S4S2

S3

Aluno

nome da relação

Page 3: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Conceitos Gerais: AtributosDefinição 2: Dada uma relação R, define-se como seus atributos os

nomes das funções que mapeiam os valores de cada um de seus elementos nos respectivos conjuntos S1, S2, ...., Sn.

Nelson 21 M 010110

Davi 22 M 010100

... ... ... ...

Maria 22 F 101000

EXEMPLO:

Nome Matrícula

S1

S4S2

S3

Idade SexoATRIBUTOS

relação

Aluno

Page 4: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Conceitos Gerais: Domínios ...Definição 3: Dada uma relação R, o domínio do atributo Aj ,

dom(Aj ), é o conjunto Sj no qual o atributo assume valores.

Nelson 21 M 010110tupla

Nome

Matrícula

S 1S 4

S 2

S 3

Idade Sexoatributos

DOMÍNIOSdom(Nome)

dom(Idade)

dom(Sexo)

dom(Matrícula)

Page 5: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Conceitos Gerais: Domínios ...

• Todo domínio possui uma descrição física e outra semântica.

• a descrição física serve para identificar o tipo e o formato dos valores que compõem o domínio.

exemplo: char(13), “(ddd)ddd-dddd”

• a descrição semântica serve para ajudar na interpretação de seus valores.

exemplo: “Nomes de Departamentos da UERJ”

Page 6: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Conceitos Gerais: Domínios

Atributo Tipo Formato Semântica

NomeEstudante char(50) A(50) nomes próprios de pessoas.

IdadeEstudante inteiro 99 inteiros entre 18 e 60representando a idade depessoas em anos.

PesoEstudante float 999,99 números decimaisrepresentando pesos depessoas, em Kilos.

Telefone char(10) (999)999-9999 números de telefoneválidos no Brasil.

Departamento char(5) AAAAA siglas dos departamentosexistentes na UERJ.

domínio

descrição física descrição semântica

EXEMPLOS

Page 7: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Conceitos Gerais: Domínios ... O mesmo domínio pode se aplicar a vários atributos. Os atributos de uma relação podem ser vistos como

diferentes interpretações para o mesmo domínio.

Nome Matrícula TelefoneCasa

Endereço TelefoneEscritório

Idade CR

Números Locais de TelefonesESTUDANTE

Telefone Residencial de um Estudante

Telefone Comercial de um Estudante

Page 8: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Conceitos Gerais: Esquema de uma Relação ...

usado para descrever uma relação através da especificação de seus atributos e domínios.

formado pelo nome da relação e uma lista de atributos A1, A2, ..., An, onde Aj é o nome do papel desempenhado pelo domínio Dj no esquema da relação R.

também chamado de intensão da relação R.

Page 9: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Conceitos Gerais: Esquema de uma Relação

ALUNO Nome Idade Sexo Matrícula

Nelson 21 M 010110

Davi 22 M 010100

... ... ... ...

Antonio 19 M 111111

EXEMPLO:

Definição 4: O esquema de uma relação R, denotado por R (A1:D1, A2:D2, ..., Am:Dm) , é formado pelo nome da relação e pela lista de seus atributos e respectivos domínios.

intensão da relação R

ALUNO (Nome: NomePessoas,Idade: IdadePessoas,Sexo: SexoPessoas,Matrícula: CódigosMatrícula)

extensão ou instância da relação R

esquema da relação ALUNO

Page 10: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Conceitos Gerais: Intensão x Extensão Para uma mesma intensão pode existir mais de uma

extensão.

ALUNO Nome Idade Sexo Matrícula

Nelson 21 M 010110

Davi 22 M 010100

... ... ... ...

Antonio 19 M 111111

Pedro 22 M 9213025

Luana 20 F 9421059

... ... ... ...

Henrique 19 M 9511032

alunos do campus central alunos do campus de Resende

Page 11: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

v11 v12 ... v1n

... ... ... ...

vm1 vm2 ... vmn

Revisitando o Conceito de Relação ...Definição 5: Uma relação ou instância de relação r do

esquemaR (A1:D1 , A2:D2 , ...., An:Dn), também denotada por r(R), é um conjunto de m-tuplas r = {t1, t2, ..., tm}, onde cada tupla t = < v1, v2, ..., vn> é uma lista ordenada de n valores, em que cada valor vi, 1<= i <= n, ou é nulo ou pertence ao domínio Di = dom(Ai).

t1

A1

dom(A1) dom(An)

An

. . .

. . .

tm

... relação r(R)

esquema R

Page 12: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Revisitando o Conceito de RelaçãoDefinição 6: Uma relação ou instância de relação do

esquemaR (A1:D1 , A2:D2 , ...., An:Dn), r(R), é um subconjunto do Produto Cartesiano dos domínios que definem R, isto é:

r(R) (dom(A1) x dom(A2) x ... x dom(An))

• O Produto cartesiano especifica todas as possíveis combinações de valores dos domínios subjacentes, isto é:

|dom(A1)| * |dom(A2)| * ... * |dom(An)| • Dessas possíveis combinações, a instância r(R) de uma relação, num

dado instante, reflete apenas as tuplas que representam um estado particular do mundo real.

Page 13: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Banco de Dados Relacional ...• o universo de um banco de dados relacional é um conjunto finito,

não vazio, de relações.• o esquema de um banco de dados relacional é o conjunto dos

esquemas das relações que o formam, isto é:

R1 (A11, A12, ........., A1n)R2 (A21, A22, ........., A2n)....Rm (Am1, Am2, ......., Amn)

• uma instância de um banco de dados relacional, num certo instante, é o conjunto das instâncias de suas relações, no mesmo instante.

• o mesmo esquema pode se aplicar a diferentes instâncias de um banco de dados.

Page 14: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Características das Relações ... Não existe ordem entre as tuplas de uma relação.

ALUNO Nome Idade Sexo Matrícula

Antonio 19 M 111111

Davi 22 M 010100

Nelson 21 M 010110

... ... ... ...

ALUNO Nome Idade Sexo Matrícula

Nelson 21 M 010110

Davi 22 M 010100

... ... ... ...

Antonio 19 M 111111

Do ponto de vista conceitual, não há diferença entre essas duas relações.

Page 15: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Características das Relações ... Desde que seja mantida a correspondência entre atributos e

valores, não existe ordem entre os atributos de uma relação.

ALUNO Matrícula Nome Sexo Idade

111111 Antonio M 19

... ... ... ...

ALUNO Nome Idade Sexo Matrícula

Antonio 19 M 111111

... ... ... ...

Do ponto de vista conceitual, não há diferença entre essas duas relações.

Page 16: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Características das Relações ... Todos os atributos de uma relação devem ser atômicos, isto é,

indivisíveis em termos de valores e componentes.

ALUNO Nome Telefone Sexo DataDeNascimento

Dia Mês Ano

Cláudia 245.9261 F 10 03 1974

... ... ... ... ... ...

Antonio 246.6666325.9887987.9231

M 25 08 1977

RelaçãoInválida! atributo

multivaloradoatributo

composto

Page 17: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Características das Relações ... O esquema de uma relação pode ser interpretado como uma

declaração ou um tipo de assertiva. Cada tupla da relação pode ser interpretada como um fato ou uma

instância particular dessa assertiva.

ALUNO Nome Idade Sexo Matrícula

Antonio 19 M 111111

... ... ... ...

Uma entidade do tipo ALUNO possui Nome, Idade, Sexo e Matrícula.

ASSERTIVA:

Existe um ALUNO de Nome “Antonio”, com “19” anos de Idade, do Sexo “M”, cuja Matrícula é “111111”.

FATO:

Page 18: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Características das Relações ... O esquema de uma relação também pode ser interpretado

como um predicado lógico. Nesse caso, as tuplas de uma relação são interpretadas como

valores que satisfazem o predicado.

PROBLEMA

Dado um esquema de relação, o conjunto verdade do predicado subjacente é formado apenas pelo conjunto de tuplas de suas instâncias !!!

Page 19: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Características das Relações Numa relação, todos os atributos devem ter nomes distintos.

Conceitualmente, não existe nada que impeça dois atributos de terem o mesmo nome. A restrição é apenas de ordem prática, para facilitar a consulta ao banco de dados.

Essa restrição decorre não apenas do fato de uma relação ser um conjunto, no sentido matemático do termo, como também do fato de suas tuplas representarem uma assertiva sobre o mundo real. Não faz sentido representar a mesma assertiva duas vezes no mesmo banco de dados.

Nenhuma relação possui atributos duplicatas.

Page 20: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Restrições do Modelo Relacional

Restrições de Domínio - especificadas através do tipo de dados de cada atributo do esquema de uma relação.

Restrições de Chave - especificadas através da definição de uma chave de acesso em cada relação.

Restrições de Integridade - especificadas através de regras específicas sobre o esquema do banco de dados.

Restrições Semânticas - especificadas através de regras sobre os esquema do banco de dados.

Page 21: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Restrições de Domínio

Especifica que o valor de cada atributo A deve ser um elemento atômico do domínio de A.

Em geral, é especificado através de tipos primitivos de dados, tais como integer, float, char, date, time, money, etc.

Também podem ser descritos através da definição de subconjuntos de tipos primitivos ou de listas enumeradas.

Page 22: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Restrições de Chave:O Conceito de Superchave

Definição 7: Define-se como SUPERCHAVE do esquema de uma relação R, todo subconjunto de atributos, tal que não existem duas tuplas em qualquer de suas instâncias, com a mesma combinação de valores para esses atributos.

Toda relação possui pelo menos uma SUPERCHAVE:

“o conjunto de todos os seus atributos”

Page 23: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Restrições de Chave: O Conceito de Chave ...Definição 8: Uma chave K do esquema de uma

relação R, é uma superchave de R, tal que a remoção de qualquer atributo de K resulta em um subconjunto de atributos K’, que não é uma superchave de R.

Uma CHAVE é uma SUPERCHAVE mínima: uma superchave da qual não se pode remover qualquer atributo sem violar a restrição de unicidade de tuplas.

Page 24: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Restrições de Chave: O Conceito de Chave ...EXEMPL

O:

ALUNO Nome Idade Sexo Matrícula

Antonio 19 M 111111

... ... ... ...

O atributo [Matrícula] é uma chave nesta relação, uma vez que nenhum par de tuplas de ALUNO pode ter o mesmo valor de “Matrícula“.

Assim sendo, qualquer subconjunto de atributos que inclua o atributo [Matrícula] constitui uma SUPERCHAVE de ALUNO.

No entanto, a superchave {Matrícula, Nome, Idade} não é uma chave de ALUNO, uma vez que a remoção dos atributos Nome e/ou Idade ainda resulta numa superchave de ALUNO.

Page 25: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Restrições de Chave: O Conceito de Chave ... O valor de um atributo-chave pode ser utilizado para identificar

uma tupla específica numa relação. Uma chave é uma propriedade do esquema de uma relação, isto

é, uma propriedade que deve ser respeitada por todas as instâncias da relação.

Atributos cujos valores no mundo real podem ser duplicados, não devem ser definidos como chaves de uma relação (Nome, por exemplo).

Em geral, uma relação pode ter mais de uma chave. Nesse caso, cada chave da relação é chamada de CHAVE CANDIDATA.

A chave candidata escolhida para identificar as tuplas de uma relação é chamada de CHAVE PRIMÁRIA.

Em geral, entre todas as chaves candidatas, escolhe-se para chave primária aquela com o menor número de atributos

Page 26: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Restrições de Integridade ... Integridade de Entidade: estabelece que nenhum dos

atributos pertencentes a chave-primária de uma relação pode ter valor nulo.

Isso é para garantir a identidade individual das tuplas de uma relação, uma vez que a chave-primária é utilizada para identificar cada uma de suas tuplas.

Page 27: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Restrições de Integridade ... Integridade Referencial: estabelece que qualquer tupla

pertencente a uma relação R1 que referencie uma outra relação R2, tem de necessariamente referenciar uma tupla existente em R2.

PROFESSOR Nome Matrícula Sexo Depto

Arnaldo Rocha 24671 M DESC

... ... ... ...

DEPARTAMENTO Sigla Nome Unidade

DESC Departamento de Engenharia deSistemas e Computação

FEN

... ... ...

EXEMPLO:

chave-primária

chave-estrangeira

Page 28: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Conceitos Gerais: Chave-Estrangeira ...Definição 9: Seja FK um conjunto de atributos de um

esquema de relação R1 . Diz-se que FK é uma chave-estrangeira de R1 se FK satisfizer as seguintes condições:

1. Os atributos pertencentes a FK possuirem os mesmos domínios correspondentes aos atributos PK da chave-primária de um outro esquema de relação R2 ; e

2. O valor de FK , em qualquer tupla de R1, for nulo ou igual ao valor de PK , em alguma tupla de R2.

• Utilizadas para manter a consistência entre as tuplas de duas relações distintas e relacionadas entre si.

• Decorrem tipicamente dos relacionamentos entre entidades definidos no modelo conceitual do banco de dados.

Page 29: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Chave-Estrangeira: Exemplo

Nome SNome Matrícula DataNasc Endereço Sexo Salário SuperMat Depto

DeptoNome DeptoSigla MatrículaGerente

Depto LocalizaçãoPNome PCódigo PLocalização Depto

MatrículaEmp PCódigo Horas

MatrículaEmp DependenteNome Sexo DataNasc Parentesco

EMPREGADO

DEPARTAMENTO

DEPTO_LOCALPROJET

O

TRABALHA_EM

DEPENDENTE

Page 30: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Chave-Estrangeira: Observações ... o valor de uma chave-estrangeira deve

necessariamente aparecer como valor da chave-primária a que ela se refere.

o conjunto de restrições referenciais de um banco de dados pode ser representado através de um diagrama referencial.

EMPREGADO DEPARTAMENTO

DEPTO_LOCAL

PROJETO

TRABALHA_EM

DEPENDENTEDepto

MatrículaGerente

SuperMat

DeptoMatrículaEmp

PCódigo

MatrículaEmp

Page 31: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Chave-Estrangeira: Observações

Diz-se que existe um caminho referencial entre a relação Rn e a relação R1, quando:

Rn Rn-1 ... R3 R2 R1

Diz-se que o conjunto de relações Rn, Rn-1, ..., R2, R1 forma um ciclo referencial se existe um caminho referencial de Rn a ela mesma, isto é:

Rn Rn-1 ... R2 R1 R2 ... Rn-1 Rn

Como tratar as atualizações que violam as restrições referenciais?

Page 32: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Restrições Semânticas Especificadas através de regras sobre o esquema do

banco de dados.

o salário de um empregado tem de ser menor ou igual ao salário de seu supervisor.

o número de horas semanais que um empregado pode trabalhar em projetos tem de ser menor ou igual a 56.

EXEMPLO

Page 33: Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional

Arnaldo Rocha 1995

Linguagens de Consulta Linguagens Formais

álgebra relacional cálculo relacional

cálculo de tuplas cálculo de domínios

Linguagens Comerciais SQL QUEL QBE