Você está na página 1de 39

Instituto Nacional de Pesquisas Espaciais

Modelo de banco de dados relacional

Alunos: Alessandra, Renato e Wanderson Disciplina: Computao Aplicada II

Agenda

Contextualizao e Chaves Operadores relacionais e relacionamentos

Redundncia, ndices e Regras de Codd

Contextualizao

1970

Nova maneira de representao de dados: Edgar Codd -

Antecessores:

Modelo de Redes e Modelo Hierrquico

Baseado em Lgica de predicados e Teoria de Conjuntos Caracterstica:

Concentra-se na representao lgica dos dados e seus relacionamentos, desconsiderando detalhes fsicos de armazenamento Independncia estrutural e de dados (Tabela) Representao simples dos dados Facilidade com consultas complexas

Vantagens:

Modelo Relacional

Representa os dados como uma coleo de tabelas (relaes) Tabela Estrutura bidimensional composta de linhas e colunas Representao persistente de uma relao lgica Contm um conjunto de ocorrncias de entidades relacionadas

Tabelas

Terminologia Relacional
Tabela = relao Linhas = tuplas Cabealho de coluna = atributo Tipo de dado de cada coluna = domnio

Os valores de alguns atributos em uma tupla podem no ser conhecidos ou podem no se aplicar. Nesses casos, utilizamos um valor especial chamado null.

Chaves

Garantir identificao nica de cada linha

Utilizadas para estabelecer relaes entre as tabelas


Garantir a integridade dos dados Na prtica: Um ou mais atributos (colunas) que determinam os outros atributos

Tipos de chave

Um ou mais atributos (colunas) que determinam os outros atributo Chave composta: Uma chave com dois ou mais atributos

Atributo de chave: Qualquer atributo que faa parte de uma chave

Tipos de chave

Superchave: Um conjunto de um ou mais atributos que identifica unicamente uma entidade no conjunto de entidades

Chave candidata: superchaves mnimas, ou seja, o menor subconjunto que identifique cada linha exclusivamente
Chave primria: uma chave candidata que escolhida como meio principal de identificao de entidades dentro de um conjunto de entidades.

Tipos de chave

Chave Estrangeira:

Atributo cujo valor corresponde a chave primria de outra tabela Valor se refere a uma linha vlida existente em outra tabela (Integridade referencial)

Chave Secundria: Estritamente para fins de recuperao de dados Podem criar ndices nas tabelas para otimizar as buscas

Valor nulo

Um espao (atributo) sem entrada de dado

No podem ser atribudo a chaves


Representam: Um valor de atributo desconhecido Um valor de atributo conhecido, mas ausente Razes para evit-los Funes de contagem, mdia e soma Problemas lgicos

Regras de integridade
Muitos SGBDRs aplicam as regras de integridade automaticamente. Integridade de Entidades:

Chave primria: entradas nicas e no nula Finalidade: cada linha possuir uma identidade exclusiva Se a chave estrangeira contm um valor, este valor est relacionado a uma tupla existente em outra relao Entrada nula : no h chave primria correspondente Finalidade:
Possvel que um atributo no tenha um valor correspondente Torna impossvel a excluso de uma linha em uma tabela cuja chave primria tenha valores obrigatrios de chave estrangeira em outra tabela.

Integridade Referencial

Operadores relacionais

A lgebra relacional define teoricamente os operadores fundamentais relacionais:


Unio Interseco Diferena Produto Seleo Projeo Juno

A utilizao de operadores relacionais produz novas relaes

Unio

Combina todas as linhas e colunas das duas tabelas, excluindo as linhas duplicadas.

Interseco e diferena

Produto

Seleo

Projeo

Juno

Combina informaes de duas ou mais tabelas. Tipos:


Juno natural Juno completa Juno externa esquerda Juno externa direita

Juno natural

Juno externa esquerda

Juno externa direita

Relacionamentos dentro do Banco de Dados Relacional

O relacionamento 1:M
o ideal da modelagem relacional Deve ser a norma em qualquer projeto relacional

O relacionamento 1:1
Deve ser raro em qualquer projeto de banco de dados relacional

Os relacionamentos M:N
No podem ser implantados dessa forma no modelo relacional Pode ser alterado para dois relacionamentos 1:M.

Relacionamento 1:M
a norma do banco de dados relacional encontrado em qualquer ambiente de bancos de dados

Relacionamento 1:M

Relacionamento 1:M

Relacionamento 1:1
Uma entidade pode ser relacionada a apenas uma outra entidade e vice-versa s vezes significa que os componentes de entidades no foram definidos adequadamente Pode indicar que duas entidades pertencem, na verdade, mesma tabela Algumas condies certamente exigem sua utilizao

Relacionamento M:N
Podem ser implementados criando-se uma nova entidade no relacionamento 1:M das entidades originais Podem ser facilmente evitados, criando-se uma entidade composta Inclui pelo menos as chaves primrias das tabelas que esto sendo ligadas

Relacionamento M:N

Converso de um relacionamento M:N para dois 1:M

Converso de um relacionamento M:N para dois 1:M

Modelo ER Relacionamento Expandido

Diagrama relacional e redundncia

Nova Abordagem Redundncia de Dados Redundncia de dados leva a anomalias


Essas anomalias podem acabar com a eficincia do banco de dados

Chaves estrangeiras
Possibilitam o controle das redundncias, utilizando atributos comuns compartilhados por tabelas fundamental para o controle de redundncia

s vezes a redundncia de dados necessria

ndices

Disposio ordenada utilizada para acessar logicamente as linhas de uma tabela Chave de ndice

Ponto de referncia do ndice Cada chave aponta para a localizao dos dados identificados por ela

ndice nico

um ndice em que a chave de ndice pode ter apenas um valor (linha) de ponteiro associado

Cada ndice est associado a apenas uma tabela

Componentes de um ndice

Regras de Codd para Bancos de Dados Relacionais

Em 1985, Dr. E. F. Codd publicou uma lista de 12 regras que definem um sistema de banco de dados relacional
O motivo para que Dr. Codd publicasse essa lista era sua preocupao de que muitos fornecedores comercializassem seus produtos como relacionais, embora no atendessem aos padres mnimos

Mesmo os fornecedores dominantes de bancos de dados no do suporte completo a todas as 12 regras

Regras de Codd
Regra 1 - Todas as informaes em um banco de dados relacional so representadas de forma explcita no nvel lgico e exatamente em apenas uma forma - por valores em tabelas. Regra 2 - Cada um e qualquer valor em um banco de dados relacional possui a garantia de ser logicamente acessado pela combinao do nome da tabela, do valor da chave primria e do nome da coluna. Regra 3 - Valores nulos devem ser suportados de forma sistemtica e independente do tipo de dado para representar informaes inexistentes e informaes inaplicveis. Regra 4 - A descrio do banco de dados representada no nvel lgico da mesma forma que os dados ordinrios, permitindo que usurios autorizados utilizem a mesma linguagem relacional aplicada aos dados regulares.

Regras de Codd
Regra 5 - Um sistema relacional pode suportar vrias linguagens e vrias formas de recuperao de informaes. Entretanto, deve haver pelo menos uma linguagem, com uma sintaxe bem definida e expressa por conjuntos de caracteres, que suporte de forma compreensiva todos os seguintes itens: definio de dados, definio de "views", manipulao de dados (interativa e embutida em programas), restries de integridade, autorizaes e limites de transaes (begin, commit e rollback). Regra 6 - Todas as "views" que so teoricamente atualizveis devem tambm ser atualizveis pelo sistema. Regra 7 - A capacidade de manipular um conjunto de dados (relao) atravs de um simples comando deve-se estender s operaes de incluso, alterao ou excluso de dados. Regra 8 - Programas de aplicao permanecem logicamente inalterados quando ocorrem mudanas no mtodo de acesso ou na forma de armazenamento fsico.

Regras de Codd
Regra 9 - Mudanas nas relaes e nas views provocam pouco ou nenhum impacto nas aplicaes. Regra 10 - As aplicaes no so afetadas quando ocorrem mudanas nas regras de restries de integridade. Regra 11 - As aplicaes no so logicamente afetadas quando ocorrem mudanas geogrficas dos dados. Regra 12 - Se um sistema possui uma linguagem de baixo nvel, essa linguagem no pode ser usada para subverter as regras de integridades e restries definidas no nvel mais alto.

Outras regras do modelo relacional

Alm dessas doze regras bsicas, o modelo relacional tambm define outras:
Nove regras estruturais que tratam da definio de chaves primrias, chaves estrangeiras, views, tabelas etc.; Dezoito regras de manipulao que definem as operaes de "join", "union", "division" etc.; Trs regras de integridade: integridade de entidade, integridade referencial e a capacidade de definir outras regras de integridade sem introduzir dependncia estrutural. A integridade de entidade define que uma chave primria no pode ter valores duplicados ou nulos.

Obrigado!

Você também pode gostar