• Nenhum resultado encontrado

modelo-relacional

N/A
N/A
Protected

Academic year: 2021

Share "modelo-relacional"

Copied!
15
0
0

Texto

(1)

Modelo Relacional

Ana Maria de Carvalho Moura

e-mail:anamaria.moura@gmail.com

LNCC – Rio de Janeiro

Sumário

¡

Modelo Relacional

l 

Conceitos básicos

l 

Chaves

l 

Restrições de Integridade

(2)

AMCM 3 Requisitos de Dados

Projeto

Conceitual

Projeto

Lógico

Projeto

Físico

Esquema Conceitual Esquema Físico Esquema Lógico Modelo do SGBD SGBD específico Não Não Sim Não/Sim Sim Sim

Dependência nível de Projeto X SGBD

Projeto de Banco de Dados

AMCM 4

MODELO DE DADOS

Conjunto de conceitos bem definidos com base em mecanismos de abstrações, utilizados para descrever o mundo real em estruturas capazes de serem processadas por um computador.

<estrutura, operações, restrições>

Modelo de Dados

(3)

AMCM 5

MODELOS DE DADOS

– 

estrutura: define as regras gerais p/

especificação de estruturas de dados do

modelo;

– 

operações: definem as operações possíveis

s/ a estrutura.

– 

restrições: regras p/ definição de

propriedades estáticas/ dinâmicas da

aplicação, não convenientemente expressas

pelo modelo.Podem ser inerentes, explícitas

ou implícitas.

Classificação dos Modelos de Dados

¡ 

Primitivos: registros / arquivos

operações: read/ write sobre registros

¡ 

Clássicos:

hierárquico, redes, relacional

nível de abstração: entre esquema físico/

lógico

¡ 

Semânticos

Ex: ERE,SDM,SAM,SHM +, UML, ONTOUML...

¡ 

R-O e Orientados a Objeto:

comportamento

(4)

AMCM 7

Categorias de Modelos de Dados

• 

Modelos conceituais:

representam a realidade a um nível alto de abstração. Ex: Entidades-Relacionamentos, Redes Semânticas, Modelos Semânticos

•  Modelos lógicos ou de implementação:

suportam descrições de dados que possam ser processadas por computador. Ex: Hierárquico, Redes,

Relacional, R-O, OO •  Modelos físicos:

descrevem como os dados são armazenados no computador através de informações como tipos de arquivos, formatos e ordenação de registros, caminhos de acesso. Ex: Sistemas de arquivos (seqüenciais indexados, diretos, invertidos)

AMCM 8

Modelo Relacional

Ø

Introduzido pelo pesquisador da IBM, Edward Codd, em

1970, gerou uma grande quantidade de pesquisa

acadêmica ao longo da década de 70.

E. Codd: A Relational Model for Large Shared Data

Banks, Communications of the ACM, 13(6), June

1970

Ø

Características marcantes: modelo

formal

por natureza,

estruturas de dados simples e uniformes.

Ø

O modelo relacional baseia-se na teoria matemática de

conjuntos, onde os dados são representados através de

uma coleção de relações ou tabelas.

(5)

AMCM 9

Objetivos do Modelo

¡ 

Prover esquemas de fácil utilização

¡ 

Melhorar a independência lógica e física de

dados

¡ 

Prover usuários com linguagens de

manipulação de BD de alto nível, permitindo o

seu uso por usuários não experientes

¡ 

Otimizar o acesso ao BDs

¡ 

Melhorar a integridade e segurança dos dados

¡ 

Permitir a sua utilização em uma variedade

ampla de aplicações

¡ 

Prover uma abordagem metodológica para o

projeto de esquemas

Definições

¡ 

Relação (R)

Subconjunto do produto cartesiano de

domínios.

¡ 

Domínio

D é um conjunto de valores atômicos, isto é, cada valor

no domínio é indivisível no modelo relacional. Um tipo de dados ou formato é também associado a cada domínio.

Exemplos: conjunto dos inteiros, dos caracteres de comprimento 20, das cores, dos brasileiros, etc.

(6)

AMCM 11

Produto cartesiano

tupla

relação

Sejam D1, D2, D3, ..., Dk os domínios dos tipos de dados de uma relação. O produto cartesiano representado por D1, X D2 X D3 X ... X Dk é o conjunto de todas as k-ênuplas (v1,v2,..., vk) onde vi ∈ Di. . Exemplo: K=2 (grau da relação) D1= { 0,1} D2= { a,b,c } D1 XD2 = { (0,a), (0,b), (0,c), (1,a), (1,b), (1,c) }

Relação: r(R) ⊆ ( dom(A1) X dom(A2) X ... X dom(An) )

Grafo de uma relação

¡  Relação Binaria R(A1,A2)

¡  Uma relação N-ária é uma

generalização da relação binária

DOM(A1) DOM(A2) DOM(A1) DOM(A2) 1 2 3 4 • • • • • a b c a b c 1 2 3 4

(7)

AMCM 13

Conceitos Básicos

Ø

Esquema de relação

R (entidade)

q

R(A

1

, A

2

, ..., A

n

): conjunto de atributos {A

1

, A

2

, ...,

A

n

}.

q

Atributo A

i:

papel desempenhado por algum

domínio D no esquema de relação R.

q

Domínio de A

i:

dom(A

i

).

q

Um esquema de relação é usado para descrever

uma relação.

Exemplo:

ESTUDANTE (Nome, CPF, Tel_Res, Endereço, Tel_Trab, Idade, CR)

Conceitos Básicos - cont

¡  Instância de relação r de um esquema de relação R(A1,

A2, ..., An), denotado por r(R), é um conjunto de n-uplas r = { t1, t2, ..., tm } .

¡  Cada ênupla ou tupla é uma lista ordenada de n valores

t = { v1, v2, ..., vn }, onde cada valor vi é um elemento do domínio dom(Ai) ou um valor nulo especial. t[Ai ] refere-se ao valor vi em t para o atributo Ai

¡  São também usados os termos intensão da relação para

o esquema R e extensão da relação para uma instância r(R) da relação.

(8)

AMCM 15

ESTUDANTE

Nome CPF Tel_Res Cidade Tel_Trab Idade CR

Benjamim 305612435-20 (021)373-1616 Caxias 19 3,21 Catarina 381621245-10 (021)375-4409 Niteroi 18 2,89 Ricardo 422112320-00 Santos (021)749-1253 25 3,53 Carlos 489221110-02 (011)376-9821 São Paulo (021)749-6492 28 3,93 Barbara 533691238-11 (021)839-8461 Rio de Janeiro 19 3,25

atributos

tuplas

nome da relação

Exemplo

k (ESTUDANTE)=7

Cardinalidade da relação Estudante= 5 (n0 de tuplas)

Resumo : Create Table

¡ 

Criação de tabelas em SQL

CREATE TABLE <relation name>

(<attribute definition>+)

[{PRIMARY KEY | UNIQUE} (<attribute name>

+)]

¡ 

com :

<attribute definition> ::= <nome atributo>

<data type>

[NOT NULL [{UNIQUE | PRIMARY KEY}] ]

¡ 

Exemplo :

CREATE TABLE Estudante

( matricula INTEGER PRIMARY KEY nome varchar(150,

(9)

AMCM 17

Características das Relações

Ø 

Ordem das tuplas

Uma relação é um conjunto de tuplas, onde não existe uma ordem específica para as mesmas. Todas as tuplas devem ser distintas entre si.

Ø 

Ordem dos valores dentro de uma tupla

Uma tupla é uma lista ordenada de valores, assim a ordem dos valores é importante. Uma forma alternativa de definir uma relação é considerar cada tupla como um conjunto de pares ( <atributo>,

<valor> ), onde cada par representa o mapeamento entre um

atributo Ai e um valor vi do domínio dom(Ai ). Neste caso, a ordem dos atributos não importa.

Características das Relações

¡ 

Atomicidade dos valores

Cada valor numa tupla é atômico. Em conseqüência, atributos compostos e multivalorados não são permitidos no modelo relacional. (primeira forma normal)

¡ 

Valor nulo (null)

Pode assumir diferentes interpretações:

“valor desconhecido”, “valor inexistente”, “atributo não aplicável”. Algumas implementações tentam incorporar essa interpretações.

(10)

AMCM 19

Chaves

¡  Super-chave(SK):sub-conjunto de atributos de um esquema de relação R

com a propriedade de que duas tuplas não tenham a mesma combinação de valores para esses atributos. Para quaisquer duas tuplas distintas t1 e t2 numa instância r da relação R,

t1 [SK] ≠ t2 [SK]

l  Todo esquema de relação tem pelo menos uma super-chave: o conjunto de todos os seus atributos.

¡  Chave (K):num esquema de relação R, K é uma super-chave mínima, isto

é, uma super-chave da qual não podemos remover nenhum atributo, do contrário teríamos um conjunto de atributos não super-chave. Exemplo: {CPF} é uma chave de ESTUDANTE, e qualquer conjunto de atributos que inclua CPF, como {CPF, Nome, Idade} é uma super-chave de ESTUDANTE.

¡  Chave candidata:uma chave é determinada pelo significado dos atributos

no esquema da relação. Em geral, um esquema de relação pode ter mais de uma chave (por exemplo, Nome e CPF). Neste caso, cada uma das chaves é chamada de chave candidata.

¡  Chave primária: éuma chave escolhida dentre uma das candidatas.

AMCM 20

Chaves

¡ 

Chave Estrangeira (FK):

Sejam 2 relações R1 e R2 . Um atributo de uma relação é dito chave estrangeira se ele não é chave primária de R1 mas é chave primária de R2 . R1 e R2 não são necessariamente distintos.

Exemplos:

Aluno

(matr , nome, periodo,

n

0

.dept

)

Departamento

(

n

0

.dept

, nome, chefe)

Empregado

(matr, nome,

mat_chefe

,

salário)

(11)

AMCM 21

Restrições de Integridade

Ø

Um esquema de banco de dados relacional é um

conjunto de esquemas de relação S = {R

1

, R

2

, ... , R

m

} e

um conjunto de restrições de integridade (RI) .

Ø

Uma instância de banco de dados relacional de S é um

conjunto de instâncias de relações DBI = { r

1

, r

2

, ... , r

m

}

tal que cada r

i

é uma instância de R

i

que satisfaça as

restrições especificadas em RI.

Ø

Restrições de integridade

:

q

chave, entidade, referencial, semântica

Restrições de Integridade

¡  Restrições de chave

Especificam as chaves candidatas de cada esquema de relação; valores de chaves candidatas devem ser distintos.

¡  Restrição de integridade de entidade

Nenhum valor de chave primária pode ser nulo, porque este valor identifica a tupla numa relação.

¡  Restrição de integridade referencial

•  Especificada para manter a consistência entre tuplas de

duas relações. Uma tupla em uma relação que se refere a outra relação deve se referir a uma tupla existente naquela relação. A integridade referencial é especificada através do conceito de chave estrangeira (FK, “foreign

(12)

AMCM 23

Restrições de Integridade (cont)

l  Se uma relação R2 inclui uma FK

correspondente a chave primária de uma relação R1 , então todo valor FK de R2 deve ser ou:

1. igual ao valor da PK em alguma tupla de R1 , isto é, t1 [FK] = t2 [PK]. Diz-se que a tupla t1

referencia ou se refere à tupla t2. .

2.totalmente nulo, isto é, cada valor do atributo que participa da FK deve ser nulo (R1 e R2 não necessariamente distintos).

AMCM 24

Restrições de Integridade

¡  Restrições de integridade semântica:

são restrições especificadas e mantidas num banco de dados relacional pelo programa de aplicação. Exemplos:

§  “o salário de um empregado não deve ser maior do que

o salário do seu supervisor”;

§  “o número máximo de horas por semana que um

empregado pode trabalhar em projetos é 40”.

§  Tais restrições usualmente necessitam ser programadas

em cada aplicação que usa o banco de dados; começam a ser mantidas automaticamente em modernos SGBDs que possuem capacidade ativa.

(13)

AMCM 25

Esquema de um BD Relacional

Nome CPF Data-Nasc Endereço Sexo Salário Supervisor Dept

Nome Número Gerente Data-Inicio

Num-Dept Localização

Nome Número Local Dept

CPF-Emp Num-Proj Horas

CPF-Emp Nome-Dep Sexo Data-Nasc Relacionamento

EMPREGADO DEPARTAMENTO LOCAL_DEPT PROJETO TRABALHA_EM DEPENDENTE

Um esquema de banco de dados relacional

Nome CPF Data-Nasc Endereço Sexo Salário Supervisor Dept

Nome Número Gerente Data-Inicio

Num-Dept Localização

Nome Número Local Dept

CPF-Emp Num-Proj Horas

EMPREGADO DEPARTAMENTO LOCAL_DEPT PROJETO TRABALHA_EM restrições de integridade referencial

(14)

AMCM 27 Uma instância de banco de dados relacional

Nome CPF Data-Nasc Endereço Sexo Salário Supervisor Dept

Nome Núm Gerente Data-Inicio

Num-Dept Localização

Nome Núm Local Ndep

CPF-Emp Num-Proj Horas

CPF-Emp Nome-Dep Sexo Data-Nasc Relacionamento

EMPREGADO DEPARTAMENTO LOCAL_DEPT PROJETO TRABALHA_EM DEPENDENTE Joao Frank Alicia Jane Ramon Joyce Ahmad James 123456789 333445555 999887777 987654321 666884444 453453453 987987987 888665555 09Jan55 08Dez45 19Jul58 20Jun31 15Set52 31Jul62 29Mar59 10Nov27 333445555 888665555 987654321 888665555 333445555 333445555 987654321 nulo Santos,SP Santos,SP Tatui,SP Lins,SP Marilia,SP Santos,SP Santos,SP Santos,SP M M F F M F M M 30000 40000 25000 43000 38000 25000 25000 55000 5 5 4 4 5 5 4 1 Pesq Adm Sede 5 4 1 333445555 987654321 888665555 22Mai88 01Jan92 19Jun91 1 4 5 5 5 Santos Campinas Lins Bauru Santos 123456789 123456789 666884444 453453453 453453453 333445555 123456789 333445555 333445555 123456789 999887777 123456789 987987987 987654321 123456789 888665555 ProdutoX ProdutoY ProdutoZ Informat. Reorgan. Beneficios 1 2 3 10 20 30 Lins Bauru Santos Campinas Santos Campinas 5 5 5 4 1 4 1 2 3 1 2 2 3 10 20 30 10 10 30 30 20 20 32,5 7,5 40,0 20,0 20,0 10,0 10,0 10,0 10,0 30,0 10,0 35,0 5,0 20,0 15,0 nulo 333445555 333445555 333445555 987654321 123456789 123456789 123456789 Alice Teo Joy Abner Miguel Alice Beth F M F M M F F 05Abr76 25Out73 03Mai48 29Fev32 01Jan78 31Dez78 05Mai57 Filha Filho Esposa Esposo Filho Filha Esposa AMCM 28

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

Ø Inserções podem violar as três restrições de integridade: chave,

entidade e referencial. Existem duas opções quando ocorre uma violação: rejeitar a inserção ou tentar corrigir a razão da violação. Ø Deleções podem violar apenas a restrição de integridade

referencial. Existem três opções quando isto ocorre: rejeitar a deleção, tentar propagar a deleção às tuplas que referenciam a tupla sendo deletada ou modificar os valores dos atributos referenciados que causam a violação.

Ø Modificações de atributos que não são chaves primárias ou

chaves estrangeiras não causam problemas (apenas o tipo de dado e o domínio precisam ser checados). Modificar uma chave primária corresponde a deletar uma tupla e inserir outra em seu lugar. Se o valor de uma chave estrangeira é modificado, deve-se assegurar que o novo valor se refere a uma tupla existente na relação referenciada.

(15)

AMCM 29

Bibliografia - Livros

§ Elmasri, R, Navathe, S.B. Fundamentals of Database

Systems, Benjamin-Cummings, 3a edição, 2000.

§ RamakrishnanR., Gehrke J., Database Management Systems, Mc Grw Hill, 2nd edition, 2000.

§ Implementação de Sistemas de Bancos de Dados

Hector Garcia-Molina, Jeffrey D. Ullman,Jenifer Widom, 2000. Ed. Campus

§ Silberschatz,Korth. Database Systems Concepts, Mc Graw-Hill,2006.

§ Ullman,J. Principles of Database and Knowledge-Base Systems, vol I,II. ed Computer Science Press, 1992. § Jeff Ullman & Jennifer Widom, A First Course in Database

Systems.. Prentice-Hall, 1997

§ S. Abiteboul, R. Hull e V. Vianu, Foundations of Databases, Addison Wesley 1995

§ Chao-Chig Yang, Relational Databases Ed. Prentice Hall, 1986

Referências

Documentos relacionados

Ao fechar a contratação do serviço, tudo o que for tra- tado verbalmente deverá estar discriminado minuciosa- mente em contrato: quantidade e tipo de alimentos e be- bidas; tipo e

UMC SI Modelos de Dados Independência de Hardware e Software Independência de Hardware Mundo Real Modelo Conceitual Modelo Lógico Modelo Físico Implementação..

A Baía Sul apresenta valores de salinidade marinha, devido à baixa contribuição da água doce continental (Silva, 2002) Os principais rios que contribuem no

No presente trabalho apresentou-se um modelo constitutivo de dano composto capaz de representar o comportamento diferenciado de materiais quase-frágeis, quando solicitados à

Os ganhos de produtividade proporcionados às empresas por empregados com competências para responder às exigências do mercado podem ser revertidos na forma de melhores salários

Distribuição das respostas dos Ingressantes em cada alternativa das questões objetivas no Componente de Conhecimento Específico, considerando-se a IES, Categoria

A espectroscopia no infravermelho próximo (NIR - Near- Infrared spectroscopy) foi utilizada para caracterização de 44 amostras de 19 diferentes tipos de madeiras, e a

A opção pelo relatório simplificado, não exime a empresa da responsabilidade de detalhar os dispêndios do montante principal, bem como os objetivos, as