Vous êtes sur la page 1sur 64

SGBDs

Sistemas de Arquivos Convencionais


n

Caractersticas:

Vrios arquivos, diferentes programas para recuperar informaes

Desvantagens:

Redundncia e inconsistncia de dados Dificuldade de acessar informao (programa pode no estar disponvel) Anomalias de acesso concorrente (multiusurios) Problemas de segurana e integridade Isolamento de dados

Sistemas de Banco de Dados


n

Caractersticas:

Coleo de arquivos inter-relacionados + Conjunto de programas para armazenar, gerenciar e acessar esses arquivos.

Vantagens

Consistncia e integridade dos dados Segurana Controle de acesso concorrente (multi-usurio) Backup e recuperao de falhas

Caractersticas de um SGBD
n

Um SGBD facilita as seguintes tarefas:

Definio do BD: tipos de dados, estruturas e restries que devem ser consideradas

Construo do BD: insero propriamente dos dados no meio persistente; Manipulao do BD Consulta ao BD: recuperar uma informao especfica Manuteno ao BD: alterar uma informao armazenada

So requisitos de um SGBD:

Facilidade de uso Correo Facilidade de manuteno

Confiabilidade Segurana Desempenho

Um SGBD oferece
n

Interfaces baseadas em modelo de dados de alto nvel tanto para a definio da estrutura da base quanto para sua consulta
Sistema de Banco de Dados

Usurios/Programadores

Programas de Aplicao/Consulta

Mecanismos que garantem restries de integridade (ex. triggers, assertions)

Atomicidade-consistncia-integridadedurabilidade) (ex. controle de concorrncia, susbsistema de recuperao)

Software para gerenciar o banco de dados

n n

Controle de acesso Mtodos de acesso e armazemento eficientes (ex. otimizao de consultas)

Dicionario Arquivos de de dados dados

Banco de Dados

SGBD (DBMS)

Softwares p/ processar as consultas/programar

Especificao em nveis
n

nvel externo:

especificao da organizao conceitual do BD, vista por um grupo de usurios

Externo

Externo

nvel conceitual:

especificao da organizao conceitual do BD, ou seja, o qu o BD armazena

conceitual

nvel fsico ou interno:

especificao das estruturas de armazenamento do BD, ou seja, como o BD est armazenado


Fsico

Vantagens da especificao em nveis


n n

Facilidade de manuteno Independncia fsica (dos dados)

Eterno

Externo

permite modificar as estruturas de armazenamento sem impactar as aplicaes

Independncia lgica (dos dados)

separao entre esquema externo e esquema conceitual permite com impacto mnimo nas aplicaes (construdas sobre os esquemas externos)
Modelo de Dados

conceitual

modificar a organizao conceitual

Fsico

Modelos de dados
n

Conjunto de conceitos usados para representar os dados, os relacionamentos entre esses dados e as restries de consistncia

No processo de modelagem necessrio construir uma abstrao dos objetos e fenmenos do mundo real.

Abstrao de dados
n

Nvel de vises (de usurio)


Alto nvel de abstrao Diferentes usurios podem ter diferentes vises do BD

Nvel lgico ou conceitual

Descreve quais dados esto armazenados e as relaes entre eles

Nvel fsico

Descreve como os dados esto armazenados Baixo nvel de abstrao Estruturas complexas e detalhadas

Abstrao de dados
Nvel de usurio
Viso 1 - Cliente Viso 2 - Caixa Viso 3 - Gerente

Cliente(Cod, Nome, Tel, Endereo)

Nvel lgico

Conta(Num, Agencia, Cliente, Saldo) Agencia(Num, Endereco) Funcionario(Nome, Salario, Admiss.)

Nvel fsico

Banco de Dados Armazenado

Projeto de um Banco de Dados


n

Comea com um levantamento de requisitos

Termina com o projeto fsico do banco

Projeto de um Banco de Dados


n

Comea com um levantamento de requisitos

n n n

Modelagem conceitual Modelagem lgica Refinamento e projeto fsico

Termina com o projeto fsico do banco

Modelo Entidade-Relacionamento (E-R)


n

Introduzido em 1976 por Peter Chen, a abordagem mais adotada para modelagem conceitual de dado. Objetivo facilitar o projeto do banco de dados representando sua estrutura lgica Definio: modelo baseado na percepo do mundo real como um conjunto de objetos chamados entidades e pelo conjunto de relacionamentos entre esses objetos. Ao longo do tempo diferentes verses de foram sendo propostas para representar diferentes conceitos.

Modelo Entidade-Relacionamento (E-R)


n

Conceitos bsicos:

Entidades
n n

Objetos bsicos do mundo real Um conjunto de entidades agrupa entidades do mesmo tipo

Relacionamentos
n

Associao entre conjuntos de entidades

Atributos
n n n

Associados a entidades e a relacionamentos Uma entidade representada por um conjunto de atributos Cada atributo possui um domnio

Modelo Entidade-Relacionamento (E-R)


n

Representao:

Retngulos: conjunto de entidades Elipses: atributos Losangos: relacionamentos

data area_total id area_const cpf nome

lote

possui

proprietrio

Modelo Entidade-Relacionamento (E-R)


n

Atributo identificador

Atributo que vai identificar unicamente cada instncia da entidade (chave primria) Devem ser sublinhados

data area_total id area_const cpf nome

lote

possui

proprietrio

Modelo Entidade-Relacionamento (E-R)


n

Cardinalidade:

expressa o nmero de entidades que uma entidade pode estar associada com 1:1, 1:n, n:1, n:n

data area_total id area_const n 1 cpf nome

lote

possui

proprietrio

Modelo Entidade-Relacionamento (E-R)


n

Exemplos de cardinalidade: 1:1


cpf nome num 1 1

endereo cidade

proprietrio

possui

cadastro

Relao correta
Cadastro Proprietario

Relao Incorreta
Cadastro Proprietario

01 02 03

00001 Pedro 00002 Paulo 00003 Katia

01 02 03 04

00001 Pedro 00002 Paulo 00003 Katia

Modelo Entidade-Relacionamento (E-R)


n

Exemplos de cardinalidade: 1:N


area_total id area_const n 1 num area

lote

pertence

quadra

Relao correta
Lote Quadra

Relao incorreta
Lote Quadra

001 002 003 004

quad01 quad02 quad03 quad04

001 002 003 004

quad01 quad02 quad03 quad04

Modelo Entidade-Relacionamento (E-R)


n

Exemplos de cardinalidade: N:N


area_total id area_const n n num nome

lote

Faz fronteira

rua

Relao correta
Lote Rua

001 002 003 004

Av. So Joo Rua Teopompo Vasconcelos Rua Imigrantes

Modelo Entidade-Relacionamento (E-R)


n

Relacionamento parcial:

Quando no existe obrigatoriedade de todas as entidades de um conjunto participarem do relacionamento


n n

Ex. Podem existir proprietrios sem cadastro A participao da entidade proprietrio no relacionamento possui parcial. endereo

cpf

nome

num 1
(1,1)

cidade

proprietrio

possui

1
(0,1)

cadastro

Modelo Entidade-Relacionamento (E-R)


n

Relacionamento total (dependncia de existncia):

Quando todas as entidades de um conjunto participam obrigatoriamente do relacionamento


n n

Ex. Todo cadastro tem que estar a associado a um proprietrio. A participao da entidade cadastro no relacionamento possui total. endereo

cpf

nome

num 1
(1,1)

cidade

proprietrio

possui

1
(1,1)

cadastro

Modelo Entidade-Relacionamento (E-R)


n

Entidade fraca:

Quando a existncia dessa entidade depende da existncia de uma outra entidade (dependncia de existncia).

num_empr

total num_pg 1 n

data total_pg

emprstimo

pago

pagamento

Modelo Entidade-Relacionamento (E-R)


n

Auto relacionamento:

Associa entidades de um conjunto a entidades desse mesmo conjunto


n

Ex. Um lote pode ser composto por outros lotes

lote

composto

Modelo Entidade-Relacionamento (E-R)


n

Relacionamento mltiplo:

Associa mais de dois conjuntos de entidades


n

Ex. Um proprietrio pode possuir vrios lotes, cada um com um contrato de compra e venda diferente.

lote

possui

proprietrio

1 contrato_compra_venda

Modelo Entidade-Relacionamento (E-R)


n

Agregao:

Uma limitao do ER: expressar relacionamentos entre relacionamentos Agregao uma abstrao na qual os relacionamentos so tratados como conjunto de entidades de nvel superior, permitindo o relacionamento entre relacionamentos.

Modelo Entidade-Relacionamento (E-R)


n

Ex.: um proprietrio pode estar associado a vrios bancos. Pra cada banco associado, o proprietrio pode ter um ou mais emprstimos.

proprietrio

associado

banco

financiado

n emprstimo

Modelo Entidade-Relacionamento (E-R)


n

Ex.: um proprietrio pode estar associado a vrios bancos. Pra cada banco associado, o proprietrio pode ter um ou mais emprstimos.

proprietrio

associado

banco

financiado

Redundncia: todo par proprietrio-banco faz parte dos relacionamentos associado e financiado

n emprstimo

Modelo Entidade-Relacionamento (E-R)


n

Agregao:

Ex.: um proprietrio pode estar associado a vrios bancos. Pra cada banco associado, o proprietrio pode ter um ou mais emprstimos.

proprietrio

associado 1 financiado n emprstimo

banco

Modelo Entidade-Relacionamento (E-R)


n

Generalizao

Enfatiza a semelhana entre diferentes tipos de entidades e abstrai suas diferenas.

Especializao:

Subdivide entidades semelhantes em conjuntos de entidades mais especficas e enfatiza suas diferenas.

Modelo Entidade-Relacionamento (E-R)


n

Generalizao e Especializao

Ex.: Uma quadra pode ser do tipo comercial ou residencial


numero quadra rea uma

quadra_comercial

quadra residencial

valor_imposto_servio

num_residncias

Modelo Entidade-Relacionamento (E-R)


composto contrato_compra_venda n n 1 n faz fronteira n ruas lote n n pertence n financiado quadras n emprstimo quadras comerciais quadras residenciais 1 pago n pagamento possui 1 1 proprietrio n associado 1 n banco possui 1 cadastro

Modelo Entidade-Relacionamento (E-R)

Populao Nome Centroide

PontoFinal PontoInicial Categoria Nome RododviaID

N RODOVIAS

PASSAM

CIDADES

O que um bom modelo?


n n n n

Facilita a descrio de consultas corretas e compreensveis Os elementos do modelo tem um significado intuitivo O modelo o mais simples possvel, mas no mais simples que isso suficientemente abstrato para no sofrer alteraes face a alteraes menores no domnio do problema Se o domnio do problema se altera significantemente fcil modificar o modelo de dados (suficientemente flexvel) Mais tarde necessrio considerar o impacto do modelo de dados na eficincia das operaes no banco de dados

Decises de projeto
n n

Um conceito deve ser modelado como entidade ou atributo? Um conceito deve ser modelado como uma entidade ou um relacionamento? Identificao dos relacionamentos: binrio, ternrio? Agregao? Restries no modelo ER: Muita semntica pode (e deve) ser capturada mas algumas restries no podem ser capturadas nos diagramas ER

n n n

Exemplo: Entidade X Atributo


n

Exemplo: o endereo de um empregado deve ser modelado como um atributo ou uma entidade? Depende do problema:

se um empregado pode ter mais que um endereo ento ele deve ser uma entidade separada porque atributos s possuem um valor se faremos consultas sobre partes do endereo (ex. cidade) ento ele deve ser uma entidade separada porque atributos devem ser atmicos

Modelo Relacional
n

O modelo relacional foi inventado por E.F. (Ted) Codd como um modelo geral de dados (~1970)

Baseia-se no princpio de que todos os dados so representados matematicamente como relaes n-rias, onde uma relao n-ria um subconjunto do produto cartesiano de n domnios

n n n n

Dados so manipulados atravs de um clculo ou lgebra relacional Primeiro modelo de dados para Sistemas de Bancos de Dados comerciais usado na maioria das aplicaes para dados tradicionais Os SGBDs relacionais so baseados no modelo relacional

IBM, Informix, Microsoft, Oracle, Sybase, etc.

Modelo Relacional
n

Banco de Dados Relacional

Coleo de tabelas, compostas por colunas e linhas inter-relacionadas

PROPRIETARIO
CPF 08940256 03727298 97260089 NOME JOO DA SILVA HENRIQUE CARDOSO JOS DE SOUZA RUA SAO JOAO IMIGRANTE SAO JOAO NUMERO 180 1700 35 BAIRRO CENTRO VILA 12 CENTRO

LOTE
NUMERO 00001 00003 00039 PROPRIETARIO_CPF 08940256 03727298 03727298 AREA_TOTAL 400.000 150.000 500.000 AREA_CONST 0 75.00 0

Modelo Relacional
n

Caractersticas:

Consiste em um conjunto de tabelas ou relaes formadas por linhas e colunas Cada coluna (campo):
n n

Representa um atributo Est associada a um domnio (conjunto de valores permitidos)

Cada linha (registro ou tupla):


n

Representa um relacionamento entre um conjunto de valores para cada atributo

Modelo Relacional
n

Conceito de relao

Define uma tabela do banco de dados Domnio de um atributo: conjunto de possveis valores
n

Ex.: D1 = { x | x -5 e x 5 } D2 = { y | y 0 }

Modelo Relacional
n

Conceito de relao

Dados os domnios D1, D2, ..., Dn no necessariamente distintos, uma relao definida como:
R = { (d1, d2,..., dn) | d1 D1, d2 D2,..., dn Dn }

O conjunto (d1, d2,..., dn) de valores ordenados define uma tupla Uma relao o conjunto de n-tuplas ordenadas, onde n define o grau da relao

Modelo Relacional
n

Exemplo de relao PROPRIETARIO


CPF 08940256 03727298 97260089 NOME JOO DA SILVA HENRIQUE CARDOSO JOS DE SOUZA RUA SAO JOAO IMIGRANTE SAO JOAO NUMERO 180 1700 35 BAIRRO CENTRO VILA 12 CENTRO

Atributo cpf nome rua numero bairro

Domnio inteiro longo positivo conjunto de caracteres conjunto de caracteres inteiro positivo conjunto de caracteres

Modelo Relacional
n

Esquema x instncia de relao PROPRIETARIO


CPF 08940256 03727298 97260089 NOME JOO DA SILVA HENRIQUE CARDOSO JOS DE SOUZA RUA SAO JOAO IMIGRANTE SAO JOAO NUMERO 180 1700 35 BAIRRO CENTRO VILA 12 CENTRO

Esquema da relao Proprietrio

Instncia da relao Proprietrio

Modelo Relacional
n

Restries de integridade

Uma das funcionalidades bsicas que todo SGBD deve oferecer

uma regra de consistncia de dados que garantida pelo SGBD

Alguns tipos de Restries:


n n n

Restrio de domnio Restrio de chave Integridade Referencial

Modelo Relacional
n

Super-chave:

Conjunto de um ou mais atributos que permitem identificar cada registro da tabela como nico.

Chave candidata:

corresponde a super-chave mnima, ou seja, no existe sub-conjunto da chave candidata. { cpf, nome } chave candidata? { cpf } chave candidata?

Chave primria:

chave candidata escolhida no projeto da tabela do banco para identificar unicamente cada registro ou tupla.

Modelo Relacional
n

Chave primria:

Coluna ou combinao de colunas cujos valores distinguem uma linha ou registro das demais dentro de uma tabela

Restrio de chave

chave primria
PROPRIETARIO
CPF 08940256 03727298 97260089 NOME JOO DA SILVA HENRIQUE CARDOSO JOS DE SOUZA RUA SAO JOAO IMIGRANTE SAO JOAO NUMERO 180 1700 35 BAIRRO CENTRO VILA 12 CENTRO

Modelo Relacional
n

Chave primria:

Coluna ou combinao de colunas cujos valores distinguem uma linha ou registro das demais dentro de uma tabela Restrio de chave

chave primria composta


RUA
RUA SAO JOAO SAO JOAO IMIGRANTES TRECHO TRC01 TRC02 TRC01 NUM_INICIAL 0 190 0 NUM_FINAL 180 1700 500 BAIRRO CENTRO CENTRO VILA 1

Modelo Relacional
n

Chave estrangeira

Implementa a restrio de integridade referencial. Coluna ou combinao de colunas, cujos valores aparecem necessariamente na chave primria de uma outra tabela. Mecanismo que permite a implementao de relacionamentos em um banco de dados relacional.

Modelo Relacional
n

Chave estrangeira
CURSOID INFO TITULO Informtica Indust. Biologia Engenharia Civil Licenciatura Mat.

Curso
DURAO 4 4 5 4

relacionamento

BIO ENG

Aluno
MATRICULA 98765 67765 84562 34256 3452672 34529 NOME Joo Jos Maria Luis Ana Luana

MAT CURSO MAT BIO ENG INFO MAT MAT

Obs.: Atravs do relacionamento, evitamos a repetio de informaes.

Modelo Relacional
n

Chave estrangeira

Uma chave estrangeira no precisa ser uma chave primria na sua relao. Uma chave estrangeira no precisa ter o mesmo nome do que a chave primria correspondente na outra tabela (apenas o mesmo domnio).

Modelo Relacional
n

Chave estrangeira impe restries que devem ser garantidas ao serem executadas no BD:

Incluso de uma linha na tabela que contm a chave estrangeira:


n

Garantir que o valor da chave estrangeira exista na chave primria da outra tabela.

Alterao do valor da chave estrangeira:


n

O novo valor deve aparecer na coluna da chave primria referenciada.

Modelo Relacional
n

Chave estrangeira impe restries que devem ser garantidas ao serem executadas no BD:

Excluso de uma linha da tabela que contm a chave primria referenciada por uma chave estrangeira:
n

No se exclui a linha caso exista um valor na tabela com a chave estrangeira. Remove-se tambm a linha com o valor de chave estrangeira. Valor da chave estrangeira ajustado como NULL.

n n

Modelo Relacional
n

Chave estrangeira impe restries que devem ser garantidas ao serem executadas no BD:

Alterao do valor da chave primria referenciada por alguma chave estrangeira:


n n

Propagar a modificao No deixar que seja feita a modificao

lgebra Relacional
n n

Linguagem de consultas procedural Conjunto de operaes que usam uma ou duas relaes como entrada e geram uma relao de sada

operao (REL1) REL2 operao (REL1,REL2) REL3


Operaes unrias:
n

Operaes bsicas:

seleo, projeo, renomeao

Operaes binrias:
n

produto cartesiano, unio e diferena

Operadores da lgebra Relacional


n

Seleo:

seleciona tuplas que satisfazem um certo predicado ou condio

Clientes
Nome
Joo Maria Jos

Registro
1 2 3

a) selecionar tuplas cujo nome = Joo nome=Joo (Clientes)

Nome
Joo

Registro
1

Operadores da lgebra Relacional


b) selecionar as tuplas de Clientes cujo registro > 1

Nome
registro>1 (Clientes)

Registro
2 3

Maria Jos

c) selecionar as tuplas de Clientes com registro > 1 e registro < 3 registro>1 registro < 3 (Clientes)

Nome
Maria

Registro
2

Operadores da lgebra Relacional


n

Projeo:

gera novas relaes excluindo alguns atributos exemplo: projete o atributo nome sobre a relao Clientes

nome (Clientes)

Clientes
Nome
Joo Maria Jos

Registro
1 2 3

Nome
Joo Maria Jos

Operadores da lgebra Relacional


n

Unio:

unio de atributos do mesmo domnio que esto em relaes diferentes as relaes devem possuir o mesmo nmero de atributos exemplo: encontre todos os clientes da agncia que possuem conta corrente ou emprstimo.
n

Relaes existentes na agncia:

ContaCorrente e Emprestimo

Operadores da lgebra Relacional


n

Unio: nome (ContaCorrente) U nome (Emprestimo)

ContaCorrente Nome Conta


Joo Maria Jos 1 2 3

Resultado da unio
Nome
Joo Maria Jos Paulo Carlos

Emprestimo Nome Emprstimo


Paulo Maria Carlos 100 200 300

Operadores da lgebra Relacional


n

Diferena:

tuplas que se encontram em uma relao, mas no em outra exemplo: encontre todos clientes sem emprstimo

nome (ContaCorrente) - nome (Emprestimo)

ContaCorrente Nome Conta


Joo Maria Jos 1 2 3

Resultado da diferena

Emprestimo Nome Emprstimo

Nome

Paulo Maria Carlos

100 200 300

Joo Jos

Operadores da lgebra Relacional


n

Produto Cartesiano

Faz todas as combinaes entre as tuplas de duas relaes Gera uma nova relao formada pela unio dessas combinaes Exemplo: produto cartesiano entre os clientes e os emprstimos de Maria

emprestimo.nome = Maria (ContaCorrente X Emprestimo)


Nomecc
Joo Maria Jos 1 2 3

Conta

Nomeemp
Maria Maria Maria

Emprstimo
200 200 200

Operadores da lgebra Relacional


n

Operadores derivados:

Interseco
n n

Seleciona tudo que est em ambas relaes Exemplo: todos os clientes que possuem emprstimo
nome (Emprestimo)

nome (ContaCorrente)

ContaCorrente Nome Conta


Joo Maria Jos 1 2 3

Emprestimo Nome Emprstimo


Paulo Maria Carlos 100 200 300

Resultado da interseco

Nome
Maria

Operadores da lgebra Relacional


n

Operadores derivados

Juno
n n

Inclui um produto cartesiano, seguido de uma seleo (pode ter projeo ao final) Exemplo: nomes dos clientes com conta corrente e nmero de emprstimo:

contacorrente.nome, emprestimo.emprestimo ( contacorrente.nome = emprestimo.nome (ContaCorrente X Emprestimo))

contacorrente.nome, emprestimo.emprestimo (ContaCorrente


Emprestimo))

lgebra Relacional - Resumo

Vous aimerez peut-être aussi