Linguagens OO
BD em rede
BD hierrquico
Sistema de arquivos
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)
Usurio B1 Usurio B1
Usurio B2 Usurio B2
Mapeamento
SGBD SGBD
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
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
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
Mantm
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.
Modelo Hierrquico
Segmento pai
AGNCIA
CLIENTE
INVESTIMENTO
FINANCIAMENTO
Segmento filho
MOVIMENTO
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)
conjuntos
Modelo de Redes
Linguagem de manipulao de dados
Comandos:
find
find find find find find any duplicate first next owner
Regras de integridade
insertion is
get store modify (requer find for update) erase (requer find for update) connect disconnect reconnect
retention is order is
Fixed Mandatory Optional first / last next / prior system default sorted
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; };
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
Tuplas
11
Modelo Relacional
cdigo nome total-mov qtde nmero data-elab data-entr (0-1)
(0,N) pedido
total-ped
(0,N)
preo categoria
faturamento
endereo
(1,1)
(1,1) cliente
uf
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
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
Regra 10
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
Independncia de distribuio
Regra 11
Um SGBD relacional tem independncia de distribuio
14
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
Select
16
a b c
x y
a x a y b x b y c x c y
17
18
a1 b1 a2 b1 a3 b2
b1 c1 b2 c2 b3 c3
a1 b1 c1 a2 b1 c1 a3 b2 c2
a a a b c
x y z x y
x z
19