modelo relacional

26
Introdução a Banco de Dados MODELO RELACIONAL Iana Daya Cavalcante Facundo Passos [email protected] IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Upload: joel-santos

Post on 10-Feb-2017

325 views

Category:

Education


0 download

TRANSCRIPT

Introdução a Banco de Dados

MODELO RELACIONAL

Iana Daya Cavalcante Facundo Passos [email protected]

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Foi introduzido por Codd (1970) e tem por finalidade representar os

dados como uma coleção de relações, onde cada relação é representada

por uma tabela;

Tornou-se um padrão de fato para aplicações comerciais, devido a sua

simplicidade e performance. É a base para a maioria dos SGBD que

dominam o mercado atualmente;

É um modelo lógico formal, baseado na teoria matemática das relações.

Descreve as estruturas de dados em uma forma possível de ser

processada por um SGBD;

DB2 (IBM), SQL-DS (IBM), Oracle, Informix, Ingres, Sybase entre outros.

Histórico

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Conceitos Básicos

No Modelo Relacional ou MR os dados são representados num Banco

de Dados como uma coleção de tabelas (relações);

Cada tabela terá um nome, que será único, e um conjunto de atributos

com seus respectivos nomes e domínios;

Todos os valores de uma coluna são do mesmo tipo de dados.

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Terminologia

Cada tabela é chamada de relação;

Uma linha de uma tabela é chamada de tupla;

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Terminologia

O nome de cada coluna é chamado de atributo;

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Terminologia

O tipo de dado que descreve cada coluna é chamado de domínio..

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Terminologia

DESCRIÇÃO FÍSICA E SEMÂNTICA

descrição física serve para identificar o tipo e o formato dos valores

que compõem o domínio.

Ex: char(14), “(ddd)dddd-dddd”

descrição semântica serve para ajudar na interpretação de

seus valores.

Ex: “Número dos telefones do CEFET/PB”

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Terminologia

DESCRIÇÃO FÍSICA E SEMÂNTICA

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Terminologia

Observação: o mesmo domínio pode se aplicar a vários atributos e

que os atributos de uma relação podem ser vistos como diferentes

interpretações para o mesmo domínio.

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Terminologia

ESQUEMA DE RELAÇÃO

Um esquema de relação R, denotado por R(A1,A2,...,An),

é usado para descrever uma relação através da especificação de seus

atributos e domínios.

Um esquema de relação R pode também ser chamado de intenção da relação R.

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Terminologia

Observação:Para uma mesma intenção pode existir mais de

uma extensão.

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Terminologia

O grau de uma relação é o número de atributos que seu esquema contém.

Estudante (matrícula, nome, fone, idade, curso) grau = 5

Revista ( nome, ano, volume) grau = 3

GRAU DA RELAÇÃO

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Terminologia

SNAPSHOT

Um instante (snapshot) de relação r, do esquema R(A1, A2, ...,An),

denotado por r(R), é o conjunto de n-tuplas r = {t1,t2,...,tn}.

Cada tupla t é uma lista ordenada de valores t = <v1,v2,...,vn> em que

cada valor vi, 1<= i <= n, ou é nulo ou pertence ao domínio Di = Dom(Ai).

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Terminologia

CARACTERÍSTICAS DAS RELAÇÕES

A ordem das tuplas e dos atributos não têm importância;

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Terminologia

CARACTERÍSTICAS DAS RELAÇÕES

Todo atributo possui valor atômico;

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

CARACTERÍSTICAS DAS RELAÇÕES

Terminologia

Cada atributo numa relação tem um nome que é único dentro

da relação;

Todas as tuplas devem ser únicas (conjunto).

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Chaves

CHAVES DE UMA RELAÇÃO

No Modelo Relacional convencionou-se sublinhar os atributos que

compõem a chave primária.

Ex.: Empregado (Matrícula, Nome, Endereço, Função,Salário)

Um mesmo atributo pode ter nomes diferentes nas diversas relações

em que participa.

Ex: Empregado (Matrícula, Nome, Endereço, Função, Salário,Dep)

Departamento( CodDepart, Nome, Gerente, DataInício)

Atributos que representam diferentes conceitos podem ter o

mesmo nome.

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Integridade de Entidade: Nenhum valor de chave primária poderá

ser NULO.

Chaves

RESTRIÇÕES DE INTEGRIDADE

Integridade de Chave: Toda tupla tem um conjunto de atributos que

a identifica de maneira única na relação (chave primária).

Integridade Referencial: Uma relação pode ter um conjunto de

atributos que contém valores com mesmo domínio de um conjunto de

atributos que forma a chave primária de uma outra relação.

Este conjunto é chamado chave estrangeira.

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Chaves

CHAVE ESTRANGEIRA

Empregado (matric, nome,endereço, função, salário,depart)

Departamento (coddepto, nome, matricgerente)

REGRAS

Os atributos da chave estrangeira têm o mesmo domínio dos atributos

da chave primária de outra relação R2;

Um valor da chave estrangeira numa tupla t1 de R1 possui o mesmo

valor da chave primária para alguma tupla t2 em R2 ou é NULO;

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Uma chave estrangeira pode referenciar-se a sua própria

relação (auto-relacionamento).

Ex.:Empregado(matrícula,nome,salário,matr_supervisor)

As restrições de integridade semânticas são especificadas através de

regras sobre o esquema do banco de dados.

Ex.: "Nenhum empregado pode ganhar mais que seu gerente"

"O número de horas que um empregado pode trabalhar em um projeto

tem de ser menor ou igual a 54 horas".

As restrições de integridade devem ser implementadas pelo SGBD.

Chaves

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Operações de Atualização em Relações

INSERÇÃO

Inserir <'102', 'André', null, 'Engenheiro', '1.980', 'D2'>

Inserir <null,'Cecília',null,'Engenheiro','1.950','D1'>

Inserir <'100', 'Maria', null, 'Técnica', '950','D1'>

é aceito sem problemas

viola a restrição de chave

viola restrição de integridade de entidade

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Inserir <'108', 'Mauro', 'Rua 4', 'Técnico', '980', 'B6'>

viola a restrição de integridade referencial

Operações de Atualização em Relações

O que fazer quando se detectar uma violação de integridade?

Rejeitar a inserção (podendo explicar o porquê);

Tentar corrigir a anomalia para depois inserir.

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Operações de Atualização em Relações

REMOÇÃO

Remover da tabela empregado a tupla com matrícula = '100'.

remoção aceita sem problemas.

Remover da tabela empregado a tupla com matrícula = '100'.

viola a regra de integridade referencial. O que fazer com os empregados

que estão alocados neste departamento?

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Operações de Atualização em Relações

O que fazer quando uma violação ocorrer numa remoção?

Rejeitar a remoção;

Dar o efeito cascata na remoção, removendo todas as tuplas

referenciadas por aquela tupla que está sendo removida;

Modificar os atributos referenciados para novos valores ou nulos

(caso não façam parte da chave primária).

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Operações de Atualização em Relações

MODIFICAÇÃO

Modificar o salário do empregado com matrícula='250'

Modificar o número do departamento da tupla de empregado com

matrícula '210' para 'D1'

operação aceita sem problemas.

operação aceita sem problemas.

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Modificar o número do departamento de empregado '108' para 'D9'

viola a integridade referencial

Modificar a matrícula do empregado '100' para '250'

viola regra de integridade de chave.

Operações de Atualização em Relações

IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba