Anda di halaman 1dari 18

Fundamentos de BD

BD inteligente Information retrieval Objetos complexos BD OO Inteligncia artificial Hipermdia

Modelos semnticos BD relacional

Linguagens OO

BD em rede

BD hierrquico

Sistema de arquivos

Arquitetura de BDs centralizados


Arquitetura em 3 nveis (proposta ANSI/SPARC 75, 78)
As operaes sobre dados so descritas atravs de uma DML Data Manipulation Language
Operaes de I/O Recuperao e armazenamento dos dados

Cada schema descrito com o uso de uma DDL Data Description Language
Definio de meta-dados Catlogo de objetos registrados na base de dados

Modelos de dados so utilizados para a representao dos dados nos diversos nveis da arquitetura, segundo um paradigma qualquer
No nvel interno so utilizados os modelos fsicos Nos nveis conceitual e externo so utilizados modelos conceituais e modelos lgicos
Conceitual: ERD (Relacional), DB Semntico Lgico: rvore de segmentos (Hierrquico), Data-sets (Rede)

Arquitetura de BDs centralizados


Usurio A1 Usurio A1
Usurio A2 Usurio A2

Usurio B1 Usurio B1

Usurio B2 Usurio B2

Viso VisoExterna ExternaA A


Mapeamento externo/conceitual

Viso Visoexterna externaB B

Mapeamento

Viso Visoconceitual conceitual


Mapeamento conceitual/interno

SGBD SGBD

Banco de Dados Armazenado (Viso interna)

Modelos de Dados
Modelos Conceituais
Representam a semntica do mundo real (so modelos do significado intrnseco da informao representada) Abstrao de conceitos mais prximos da percepo da realidade dos usurios da informao

Modelos de Dados
Modelos Lgicos
Agncia
Nmero Nome Cidade

Cliente
Nmero Nome Endereo CPF

Investimento
Nmero Tipo Data Incio Data Fim Saldo

Financiamento
Montante Data IncioN Parcelas

So utilizados para a implementao de SGBDs Utilizam estruturas de registros para descrever dados So classificados de acordo com o tipo de estrutura e operaes em que se baseiam:
Hierrquico Rede Relacional Listas invertidas OO

Movimento
Data Indicador Valor

Arquitetura de um SGBD
usurios simples
programas de aplicao

programa de aplicaes
compilador + chamadas DML

usurios ocasionais
consultas DML

DBA

define esquema BD

pr-compilador DML

processador de consultas DML compilador DDL

otimizador DML cdigo objeto do programa de aplicao

SGBD
gerenciador de arquivos do SO arquivos de dados arquivos de ndices dicionrio de dados

Arquitetura de um SGBD
SGBD
Deve oferecer um conjunto de facilidades e servios que definem a capacidade que um sistema deve possuir para ser considerado um sistema de banco de dados Facilidades para manter a integridade e a segurana dos dados Suporte a mltiplos usurios interagindo com o BD, com acesso concorrente
Transaes e concorrncia Bloqueios e recuperao

Principais funes
Manuteno da estrutura fsica dos dados
Os objetos do BD devem ser persistentes

Uso de linguagem para armazenar e recuperar dados


Definio de dados via DDL Manipulao de dados via DML

Facilidades para backup e restaurao de dados corrompidos Facilidades para manuteno dos meta-dados Prover independncia entre dados e programas Prover ferramentas para administrao de dados, manuteno e consulta ao catlogo

Arquitetura de um SGBD
User Query User Interface
Anlise e Traduo da Consulta

Otimizador

Scheduler

Subsistema Armazenamento

Buffer de Dados

Integridade

Segurana

Recuperao

Catlogo

Banco de Dados

Usurios de um SGBD
Usam
DBA = Administrador do Banco de Dados DA = Administrador de Dados Analista de Sistemas Usurios finais
projetistas de BD desenvolvedores de aplicaes casuais paramtricos sofisticados

Projetam

Projetistas e implementadores de SGBD Desenvolvedores de ferramentas


CASE (upper,lower, i-case) geradores de telas e relatrios 4GL linguagens naturais monitores de performance

Mantm

Analistas de Suporte DBA

Responsabilidades do DBA
Decidir o contedo de informaes do banco de dados; Decidir a estratgia de armazenamento e a estratgia de acesso; Servir de elo de ligao entre os diversos usurios do BD; Definir os controles de segurana e integridade; Definir a estratgia de backup e recuperao; Monitorar o desempenho e atender as necessidades de modificaes.
Rotinas Rotinas Rotinas Rotinas Rotinas de carga de banco de dados; de dump e de recuperao; de reorganizao; estatsticas; analticas.

Qual a diferena entre o DA e o DBA?

Modelo Hierrquico
Segmento pai
AGNCIA

Segmento raiz (root)

CLIENTE

INVESTIMENTO

FINANCIAMENTO

Segmento filho

MOVIMENTO

Modelo Hierrquico - IMS


DBD - Data Base Description
DBD SEGM FIELD FIELD SEGM FIELD FIELD FIELD NAME=BANCO NAME=AGENCIA,BYTES=64 NAME=(NUMAGE,SEQ),BYTES=4,START=1 NAME=NOMAGE,BYTES=30,START=5 NAME=MOVTO,PARENT=INVTO,BYTES=16 NAME=DTMOV,BYTES=8,START=1 NAME=INDMOV,BYTES=1,START=9 NAME=VLMOV,BYTES=7,START=10

Modelo Hierrquico - IMS


PSB - Program Sensitivity Block
PCB - Program Communication Block
PCB DBDNAME=BANCO SENSEGNAME=AGENCIA,PROCOPT=G SENSEGNAME=CLIENTE,PROCOPT=G SENSEGNAME=INVTO,PROCOPT=G SENFLD NAME=NUMINV,START=1 SENFLD NAME=DTFIM,START=17 SENFLD NAME=VLSALDO,START=25 SENSEGNAME=MOVTO,PROCOPT=GIR

Modelo Hierrquico - IMS


DL/I (Linguagem de Manipulao do BD)
SSA - Segment Search Argument
Ex: CLIENTE (NUMCLI =123456)

Comandos:
GU - Get Unique GN - Get Next GNP - Get Next Within Parent ISRT - Insert DLET - Delete (requer GHU, GHN ou GHNP anterior) REPL - Replace (requer GHU, GHN, ou GHNP anterior)

Modelo de Rede - CODASYL (DBTG)


Cliente Nome CPF Cidade clicon Nmero Conta set name is clicon owner is Cliente member is Conta Saldo set name is agecon owner is Agncia member is Conta Agncia Nmero Nome agecon

conjuntos

Modelo de Redes
Linguagem de manipulao de dados
Comandos:
find
find find find find find any duplicate first next owner

rea de trabalho de programa


Gabarito de registro Ponteiros correntes Indicador de estado
Tipo de registro Tipo de conjunto Run unit DB-status DB-record-name DB-set-name

Regras de integridade
insertion is

get store modify (requer find for update) erase (requer find for update) connect disconnect reconnect

retention is order is

Manual (connect) Automatic (store)

Fixed Mandatory Optional first / last next / prior system default sorted

Modelo Orientado a Objetos


pessoa

Hierarquia
ISA

empregado ISA

cliente

escriturrio

caixa

secretria

class pessoa { string nome; Herana string endereo; char sexo; }; class cliente isa pessoa { int classificao_crdito; }; class empregado isa pessoa { int nmero_empregado; date data_incio; int salrio; }; class escriturrio isa empregado { int nmero_conta_despesa; }; class caixa isa emrpegado { int horas_por_semana; int nmero_estao; }; class secretria isa empregado { int horas_por_semana; string gerente; };

Modelo Orientado a Objetos


Conceitos de OO usados como ferramenta de anlise e projeto e convertidos para especificaes de tabelas em um BD Relacional com abrangncia para tipos complexos e orientao a objetos
Modelos relacionais estendidos ou relacionais-objeto

Linguagem de Programao OO com extenses para tratamento de bancos de dados


Linguagens de Programao Persistentes C++, Smalltalk VS SQL embutida Persistncia de Objetos Identidade de Objetos e Ponteiros Armazenamento e Acesso a Objetos Persistentes

10

Modelo Relacional
Criado por E. F. Codd, 1970 Base matemtica teoria dos conjuntos Os dados so vistos atravs de relaes bidimensionais, chamadas de tabelas ou relaes Cada relao tem um nmero fixo de atributos Atributos so associados a domnios Suporta relaes nos nveis externo e conceitual Implica restries de integridade
Integridade de entidade = chave primria (PK) Integridade referencial = chave estrangeira (FK)

Modelo Relacional
F# NOME STATUS
S.P Rio de Janeiro ...

CIDADE

Domnios Atributos

Chave Primria
F# FNOME ST CIDADE

11 Joo

1 1 2 1 2

SBC SP SP SA SCS

Relao

12 Maria 22 Marcos 25 Andria 28 Carla

Tuplas

11

Modelo Relacional
cdigo nome total-mov qtde nmero data-elab data-entr (0-1)

(1,N) produto movimento

(0,N) pedido

total-ped

(0,N)
preo categoria

faturamento

rua nmero sala (0-1) cidade cep

endereo
(1,1)

(1,1) cliente

cdigo nome status

uf

telefone (0,1) limite

Modelo Relacional
Esquema do BD
Coleo dos esquemas das relaes Esquema da relao R representado por R(A1, A2, , An), onde R o nome da relao e Ai so os nomes dos atributos

Cada atributo possui associado um domnio de valores dom(Ai) Uma relao um subconjunto do produto cartesiano dos domnios que a definem: r ( dom(A1) X dom(A2) X X dom(An) )

Instncia de um esquema
O prprio BD ou a coleo de relaes do BD

Tupla
Uma lista de valores de atributos Uma linha de uma tabela

12

Modelo Relacional
Integridade de dados no Modelo Relacional
Restrio de domnio:
O valor de cada atributo um valor atmico dentro do domnio daquele tipo de atributo
Natureza do domnio Domnio aberto ou fechado Nulo

Restrio de chave primria (integridade de entidade):


Uma relao deve ter pelo menos um atributo identificador a ser usado como chave primria (PK)
Atributo ou conjunto de atributos cujo valor ou combinao de valores deve ser distinto e no nulo em qualquer instncia da relao

Restrio de integridade referencial


Uma tupla em uma relao que se refere a outra relao deve referenciar uma tupla existente naquela relao O(s) atributo(s) que referencia outra relao chamado de chave estrangeira(FK) A excluso de uma tupla na relao referenciada pode no ser permitida ou ocorrer em cascata

Regras de Codd para SGBDR


Regras fundamentais
Regra 0
Um SGBD, para ser relacional, deve gerenciar BDs somente atravs de suas funes relacionais

Regra 12
Se um SGBD relacional possui uma linguagem de baixo nvel (single-record-ata-time), esta linguagem no pode ser utilizada para contornar regras de integridade e restries expressas na linguagem relacional de maior nvel

Regras estruturais
Regra 1
Toda informao em um BD relacional representada explicitamente no nvel lgico e definida exatamente de um modo: por valores em tabelas

Regra 6
Todas as vises que so teoricamente atualizveis, so tambm atualizveis pelo SGBD

13

Regras de Codd para SGBDR


Regras de integridade
Regra 3
Valores nulos so suportados por SGBDs relacionais para representar informao ausente ou no aplicvel, independente do tipo do dado Restries de integridade especficas de um BD devem ser definidas na linguagem de dados relacional e armazenadas no catlogo, e no nas aplicaes

Regra 10

Regras de manipulao de dados


Regra 2 Regra 4

Cada valor de dado em um BD relacional deve poder ser acessado logicamente atravs de uma combinao do nome da tabela, valor da chave primria e nome da coluna A descrio do BD deve ser apresentada no nvel lgico da mesma maneira que os dados comuns, possibilitando que os usurios autorizados apliquem para sua consulta a mesma linguagem que utilizam para consultar os dados comuns Um SGBD relacional pode suportar diversas linguagens e diversos modos de uso terminal. Mas deve haver pelo menos uma linguagem cujos comandos sejam expressos em caracteres e que seja efetiva para suportar a definio de dados, de vises, manipulao de dados, restries de integridade, permisses de acesso e delimitao de transaes Todo operando que descreve o resultado de uma operao de recuperao simples deve ser capaz de ser aplicado tambm a uma operao simples de insero, atualizao ou excluso de dados

Regra 5

Regra 7

Regras de Codd para SGBDR


Independncia fsica de dados
Regra 8
Os programas de aplicao e atividades de uso terminal permanecem logicamente inalteradas mesmo quando se modificar a representao no armazenamento ou nos mtodos de acesso aos dados

Independncia lgica de dados


Regra 9
Os programas de aplicao e atividades de uso terminal permanecem logicamente inalterados quando mudanas que preservem as informaes e que teoricamente permitem a no alterao so executadas na base de dados

Independncia de distribuio
Regra 11
Um SGBD relacional tem independncia de distribuio

14

Operaes do Modelo Relacional


Linguagens relacionais
Clculo relacional:
Baseado num ramo da lgica matemtica chamado de clculo de predicados. Emprega uma formulao descritiva

lgebra relacional:
Baseia-se em operaes de manipulao de conjuntos e relaes. Emprega uma formulao prescritiva, ou seja, relaes resultantes so obtidas atravs de operaes explcitas sobre relaes dadas O resultado sempre uma relao, mesmo que vazia

lgebra Relacional
um conjunto de operadores matemticas sobre relaes Estes operadores so manipulados atravs de uma operao de atribuio que atribui o valor de uma expresso algbrica arbitrria a uma outra relao A lgebra relacional possui basicamente 8 operadores:
SELECT PROJECT PRODUCT UNION INTERSECT DIFFERENCE JOIN DIVIDE

15

lgebra Relacional - SELECT


Extrai tuplas especficas de uma relao especfica.

Select

lgebra Relacional - PROJECT


Extrai atributos especficos de uma relao especfica. Project

16

lgebra Relacional - PRODUCT


Constri uma relao a partir de duas relaes especficas consistindo em todas as possibilidades de pares de tuplas concatenadas, uma de cada duas relaes especficas.
Produto

a b c

x y

a x a y b x b y c x c y

lgebra Relacional - UNION


Constri uma relao consistindo em todas as tuplas que aparecem em ambos os pares de relaes especficas.

17

lgebra Relacional - INTERSECT


Constri uma relao consistindo em todas as tuplas que aparecem em ambos os pares de relaes especficas.

lgebra Relacional - DIFFERENCE


Constri uma relao consistindo em todas as tuplas que aparecem na primeira, mas no na segunda, do par de relaes especificadas.

18

lgebra Relacional - JOIN


Constri uma relao a partir de duas relaes especficas consistindo em todas as possibilidades de pares de tuplas concatenadas, uma de cada duas relaes especficas, de forma que em cada par as duas tuplas satisfaam uma condio especfica. Join

a1 b1 a2 b1 a3 b2

b1 c1 b2 c2 b3 c3

a1 b1 c1 a2 b1 c1 a3 b2 c2

lgebra Relacional - DIVIDE


Toma duas relaes, uma binria e outra unria, e constri uma relao consistindo em todos os valores de um atributo da relao binria com equivalncia (no outro atributo) a todos os valores da relao unria. Divide

a a a b c

x y z x y

x z

19

Anda mungkin juga menyukai