modelo relacional marcelo mendes manaus – 2015. o modelo relacional foi proposto em 1970 por ted...

17
Modelo Relacional Marcelo Mendes Manaus – 2015

Upload: thomaz-mangueira-lencastre

Post on 07-Apr-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

Modelo Relacional

Marcelo Mendes

Manaus – 2015

Page 2: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

O Modelo Relacional Foi proposto em 1970 por Ted Codd da

IBM Atraiu atenção imediata devido à

simplicidade e fundamentos matemáticos Foi implementado em grande número de

sistemas comerciais nos últimos 20 anos A linguagem de consulta SQL é padrão

para SGBDs relacionais comerciais

Page 3: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

Modelo Relacional Conceitos do Modelo Relacional Características de Relações Restrições Relacionais Bancos de Dados Relacionais e Esquemas Operação de Atualização e Violação de

Restrições

Page 4: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

Conceitos O modelo relacional representa o banco

de dados como uma coleção de relações. Na terminologia formal do modelo

relacional, uma linha é chamada de tupla, o título da coluna é denomidado atributo e a tabela é chamada de relação. O tipo de dado que descreve os tipos de valores que podem aparecer em cada coluna é denominado domínio.

Page 5: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

Um domínio é um conjunto de valores atômicos (indivisíveis) Ex: Números de telefone, Salários, Nomes de

empregados, Idades de empregados. Para cada domínio é especificado um tipo

ou formato de dado Ex: telefone char(10), salário decimal(15,2),

nome_emp varchar(40), idade smallint.

Conceitos

Page 6: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

Conceitos Um esquema de relação é feito de um

nome de relação (R) e uma lista de atributos (A1, A2, .., An). Cada atributo Ai é o nome desempenhado por algum domínio D no esquema R. Cliente(nome, rua, cidade, cpf)

O grau de uma relação é o número de atributos (n) de seu esquema de relação. Grau(Cliente) = 5

Page 7: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

Conceitos

CLIENTE Nome Rua Cidade CPFMonier Silves Manaus 413697262Fábio Natal Boa Vista413658929Paulo Pará Rio Branco230561947

Nome da relação Atributos

Tuplas

Atributos e tuplas da relação CLIENTE

RG101744806503432024

Page 8: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

Características Ordem de tuplas em uma relação

Matematicamente falando, elementos de um conjunto não têm ordem, logo tuplas não possuem ordem específica

Ordem de valores dentro de uma tupla uma tupla é uma lista ordenada de valores

Valores nas tuplas. Cada valor em uma tupla terá um valor atômico Um domínio é atômico se seus elementos forem indivisíveis

Interpretação de uma relação. Um esquema de relação pode ser interpretado como um

fato; Pode representar entidades ou relacionamentos; ou como valores de tuplas que satisfazem a predicados

Page 9: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

Restrições Restrições de Domínio

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

Restrições de Chave Todas as tuplas de uma relação devem ser distintas Super-Chave, Chave Candidata e Chave Primária

Restrição em Nulo Pode-se especificar se o valor nulo pode ou não ser

permitido.

Page 10: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

Restrições Restrição de integridade de entidade

nenhum valor de chave primária pode ser nulo. Restrição de integridade referencial

Informalmente, a restrição de integridade referencial diz que uma tupla da relação (R1), que refere-se a outra relação (R2), deve referir-se a uma tupla existente em R2.

Page 11: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

Restrições Chave estrangeira: Em duas relações R1 e R2, um

conjunto de atributos FK na relação R1 é uma chave estrangeira de R1 que referencia R2, se satisfaz as duas regras a seguir:

(i) Os atributos de FK tem o mesmo domínio que os atributos da chave primária PK de R2, onde os atributos FK são ditos que se referem a relação R2;

(ii) Um valor de FK em uma tupla t1 de R1, ou ocorre em uma tupla t2 de R2 ou tem valor nulo.

NOMEMAT DTNASC ENDERECOSALARIO NUMDNSSSUPER

COD NOME MATALUNOQTDEALUNOS

R1 ALUNO

R2 TURMA

Page 12: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

Restrições As restrições de integridade referencial tipicamente vem dos

relacionamentos entre entidades Uma chave estrangeira pode referir-se a sua própria relação

O relacionamento de supervisão na entidade empregado É possível mostrar diagramaticamente as restrições de

integridade através de uma seta que liga cada chave estrangeira a respectiva chave primária da relação referenciada

As restrições de integridade referencial não incluem uma grande classe de restrições mais gerais conhecidas como restrições de integridade semântica.

Salário de um empregado não pode exceder o salário de seu supervisor;

Número máximo de horas que um empregado pode trabalhar em todos os projetos por semana não pode ultrapassar 40 horas

Page 13: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

Restrições

Empregado

Gerencia Departamento

Projeto

ControlaTrabalha

Supervisiona

Possui

Dependente

Participa

1

1

1 N 1 1

N

1 N N

N

N

Salário

NSS

Nome

Endereço

DtIni

Horas

Nome

DtNasc

Parentesco

Numero Nome

Numero Nome Localização

Page 14: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

RestriçõesNOMENSS DTNASC ENDERECOSALARIO NUMDNSSSUPER

NOMEDNUMDEP NSSGER DATINIGER

NUMDEP LOCALDEP

NOMEP NUMDNUMPROJ LOCALPROJ

NSSE NUMP HORAS

NOMDEPNSSE DTNASC

EMPREGADO

DEPARTAMENTO

LOCALIZACOES_DEP

TRABALHA_EM

PROJETO

DEPENDENTEPARENTESCO

Page 15: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

Violação de RestriçõesOperação de Inserção Restrição de domínio (valor não correspondente

ao domínio especificado) Restrição de chave (se um valor de chave já

existe) Integridade de entidade (se a chave primária é

nula) Integridade referencial (se o valor da chave

estrangeira refere-se a uma tupla que não existe na relação referenciada)

A opção default (padrão) é rejeitar a inserção

Page 16: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

Violação de RestriçõesOperação de Exclusão Pode violar somente integridade referencial Ocorre quando a tupla sendo excluída é

referenciada como chave estrangeira de outras tuplas no banco de dados

Três opções estão disponíveis: Rejeitar a exclusão Propagar a exclusão Modificar o valor do atributo sendo referenciado, seja

colocando o valor null ou colocar um outro valor válido. Se o atributo referenciado fizer parte da chave primária o atributo não poderá assumir valor nulo, senão será violada a restrição de integridade de entidade

Page 17: Modelo Relacional Marcelo Mendes Manaus – 2015. O Modelo Relacional Foi proposto em 1970 por Ted Codd da IBM Atraiu atenção imediata devido à simplicidade

Violação de RestriçõesOperação de Atualização Usada para alterar os valores de um ou mais

atributos em uma tupla Atributos que não são chaves primárias ou

estrangeiras, não tem problemas, exceto a checagem de tipos e domínios

Modificar uma chave primária é a mesma coisa que apagar uma tupla e inserir outra em seu lugar. As mesmas regras de inserção e exclusão se aplicam aqui

Se uma chave estrangeira é modificada, o SGBD tem que garantir que o novo valor refere-se a uma tupla existente na relação referenciada