Vous êtes sur la page 1sur 9

Introduo: Viso Geral

Histrico Antes de SGBD ... os 7 problemas Modelos de Dados Linguagens Transaes Usurios de BD

Histrico
Dcada de 1950: Primeiros computadores. Programao em linguagem de mquina. Surgimento de Sistemas Operacionais e Linguagens de Programao Sistemas de arquivos com acesso no seqencial 1959: Sistema RAMAC (Random-Access Method of Accounting and Control) - IBM 1961: CODASYL (Conference on Data Systems Languages) Conceituao de SGBD e modelos de dados. Proposta do Modelo de Rede. 1968: Primeiro SGBD comercialmente disponvel. Modelo Hierrquico. IMS IBM SABRE IBM + American Airlines 1970: Proposta do Modelo Relacional Surgimento de prottipos de SGBDR s: o INGRES (UC Berkeley) o Sistema R (IBM) 1976: Proposta do Modelo Entidade-Relacionamento. 1983: Primeiro SGBDR de grande porte disponvel (Oracle). 1985: Modelos Orientados a Objetos.

SGBD

Sistema Gerenciador de Banco de Dados - conjunto de dados associados a um conjunto de programas para acesso a estes dados conjunto de dados banco de dados objetivo proporcionar um ambiente tanto conveniente quanto eficiente para a recuperao e armazenamento das informaes do banco de dados.

Antes de SGBD:
1. 2. 3. 4. 5. 6. 7.

Inconsistncia e redundncia de dados Dificuldade de acesso aos dados Isolamento de dados Problemas de integridade Problemas de atomicidade Anomalias no acesso concorrente Problemas de segurana

Inconsistncia e redundncia

J que arquivos e aplicaes so criados e mantidos por diferentes programadores, em geral, durante longos perodos de tempo, comum que os arquivos possuam formatos diferentes e os programas sejam escritos em diversas linguagens de programao. Ainda mais, a mesma informao pode ser repetida em diversos lugares (arquivos). Ainda, pode originar inconsistncia de dados; isto , as vrias cpias dos dados podero divergir ao longo do tempo.

Dificuldade de acesso aos dados

Suponha que uma empresa precise dos nomes de todos os clientes que moram em uma rea da cidade cujo CEP 78733 pede ento que crie tal relao como este tipo de solicitao no foi prevista no projeto do sistema, no h nenhuma aplicao disponvel para atend-la mas existe uma aplicao para gerar a relao de todos os clientes da empresa assim, duas alternativas: 1) separar manualmente da lista de todos os clientes aqueles que necessita 2) requisitar um programador para escrever o programa necessrio.

Ambas alternativas so, obviamente, insatisfatrias. ...Dias depois necessrio obter quais clientes com saldo superior a R$6.000,00.

Isolamento de dados

Como os dados esto dispersos em vrios arquivos, e estes arquivos podem possuir diferentes formatos, difcil escrever novas aplicaes para recuperao apropriada dos dados.

Problemas de integridade

Os valores dos dados atribudos e armazenados em um banco de dados devem satisfazer a certas restries para manuteno da consistncia. Exemplo: o balano de uma conta bancria no pode cair abaixo de um determinado valor (digamos, R$5,00). Os programadores determinam o cumprimento desta restrio atravs da adio de cdigo apropriado aos vrios programas aplicativos. Entretanto, quando aparecem novas restries, difcil alterar todos os programas para increment-las. O problema ampliado quando as restries atingem diversos itens de dados em diferentes arquivos.

Problemas de atomicidade

Um sistema computacional (como qualquer outro dispositivo) est sujeito a falhas. Em muitas aplicaes crucial assegurar que, uma vez detectada uma falha, os dados sejam salvos em seu ltimo estado consistente, anterior a ela. Exemplo: um programa para transferir R$50,00 da conta A para uma conta B. Se ocorrer falha no sistema durante sua execuo, possvel que os 50 reais sejam debitados da conta A sem serem creditados na conta B, criando um estado inconsistente no banco de dados. Logicamente, essencial para a consistncia do banco de dados que ambos, dbito e crdito ocorram, ou nenhum deles seja efetuado. Isto , a transferncia de fundos deve ser uma operao atmica deve ocorrer por completo, ou no ocorrer.

Anomalias no acesso concorrente

Atualizaes simultneas nos dados para aumento do desempenho do sistema como um todo e para melhores tempos de resposta. Nestes ambientes, a interao entre atualizaes concorrentes podem resultar em inconsistncia de dados. Exemplo: o saldo de uma conta bancria A de R$500,00 dois clientes debitam da conta A ($50 e $100, respectivamente) operaes ocorrendo simultaneamente podem resultar em erro (ou gerar inconsistncia). Na execuo dos programas, ambos lem o saldo antigo, retiram, cada um seu valor correspondente, sendo o resultado armazenado. Dependendo de qual deles registre seu resultado primeiro, o saldo da conta A ser $450 ou $400, ao invs do valor correto de $350.

Problemas de segurana

Nem todos os usurios de banco de dados esto autorizados ao acesso a todos os dados. Exemplo: num sistema bancrio, os funcionrios do departamento pessoal devem ter acesso apenas ao conjunto de pessoas que trabalham no banco. Eles no deveriam ter acesso s informaes dos clientes do banco. Uma vez que os programas de aplicao so inseridos no sistema como um todo, difcil garantir a efetividade das regras de segurana.

Modelo de Dados

Sob a estrutura do BD est o modelo de dados, que um conjunto de ferramentas conceituais usadas para: descrio de dados, relacionamentos entre dados, semntica de dados e regras de consistncia Existe a seguinte classificao para os modelos de dados: modelos lgicos com base em objetos modelos lgicos com base em registros modelos fsicos

Modelos Lgicos - base em Objetos


So usados na descrio de dados no nvel lgico e de vises: w Modelo w Modelo w Modelo w Modelo Entidade-Relacionamento Orientado a Objeto Semntico de Dados Funcional de Dados

Modelo Entidade-Relacionamento
rua nmero nome cidade saldo

conta cliente
depositante

Modelos Lgicos - base em Registros

So usados para descrever os dados no nvel lgico e de viso. O BD estruturado atravs de registros de formato fixo de todos os tipos; cada registro define nmero fixo de campos (atributos), e cada campo possui normalmente tamanho fixo (simplifica a implementao do BD no nvel fsico). Modelo relacional Modelo de rede Modelo hierrquico

Modelo Relacional

usa um conjunto de tabelas para representar tanto os dados como a relao entre eles. cada tabela possui mltiplas colunas e cada uma possui um nome nico (ATRIBUTOS)

Exemplo: Cliente nome Mrio Rui Silvia rua Itatiaia Rua XV Av.D.Pedro cidade Rib.Preto S.Carlos Itu Conta nro-conta 1234 1333 5512 7556 saldo 55,00 600,00 350,00 3.000,00

Cliente_conta nome nro-conta Mrio 1234 Rui 1333 Rui 7556 Silvia 5512 Silvia 7556

Modelo de Rede

representado por um conjunto de registros (como no Pascal) e as relaes entre estes registros so representadas por links (ponteiros) registros so organizados no BD por um conjunto de grafos arbitrrios.

Exemplo: Mrio Itatiaia Rib.Preto 1234 1333 Rui Rua XV S.Carlos 7556 3.000,00 55,00 600,00

Silvia

Av.D.Pedro

Itu

5512 350,00

Modelo Hierrquico

similar ao modelo em rede - dados e suas relaes serem representadas por registros e links. Diferena: no modelo hierrquico os registros esto organizados em rvores ao invs de grafos arbitrrios

Exemplo:

Mrio Itatiaia

Rib.Preto Rui Rua XV S.Carlos

Silvia

Av.D.Pedro

Itu

1234

55,00

7556 3.000,00

5512 350,00

1333

600,00

7556 3.000,00

Diferena entre os modelos


O modelo relacional difere por no usar nem ponteiros nem links (relaciona os registros por valores prprios a eles) Como no necessrio uso de ponteiros, houve a possibilidade do desenvolvimento de fundamentos matemticos para sua definio.

Modelos Fsicos de Dados


Usados para descrever os dados no nvel mais baixo Modelo unificado (unifying model) Modelo de partio de memria (frame-memory model) Esses modelos tratam dos aspectos de implementao dos SGBDs.

Linguagens de Banco de Dados


Existem dois tipos de linguagens: 1. Especfica para os esquemas do BD (Linguagens de Definio de Dados) 2. Para expressar consultas e atualizaes (Linguagem de Manipulao de Dados)

Linguagem de Definio de Dados DDL


Utilizadas para expressar a especificao do esquema de dados (DDL: Data Definition Language) O resultado da compilao dos parmetros das DDL s armazenado em tabelas especiais que constituem o dicionrio de dados ou diretrio de dados do BD. Dicionrio de dados: um arquivo de metadados (dados a respeito de dados)- no SGBD, esse arquivo consultado antes que o dado real seja modificado. Exemplo de comandos DDL:

create table alter table drop table create view, drop view

Linguagem de Manipulao dos Dados - DML


DML: data-manipulation language. Por manipulao de dados, entende-se: recuperao das informaes armazenadas no BD insero de novas informaes no BD remoo de informaes do BD modificao das informaes do BD

A DML viabiliza o acesso (manipulao) dos dados de forma compatvel ao modelo de dados apropriado. Existem dois tipos de DML: Procedurais: exigem que o usurio especifique quais dados so necessrios, e como obt-los. No Procedurais: exigem que se especifique quais dados so necessrios, sem especificar como obt-los.

A parte de uma DML responsvel pela recuperao das informaes chamada de linguagem de consultas (query language). Exemplo de comados DML:

select insert update

Transaes

Muitas operaes em um BD devem constituir uma nica unidade lgica de trabalho: atomicidade consistncia isolamento durabilidade (persistncia) Transao uma coleo de operaes que desempenha uma funo lgica nica dentro de uma aplicao do sistema de BD.

Administrador de Banco de Dados


Tem o controle centralizado tanto dos dados quanto dos programas de acesso a estes dados denominado DBA (Data Base Administrator). Suas funes so: Definio do esquema Definio da estrutura de dados e mtodo de acesso Esquema e modificaes na organizao fsica Fornecer autorizao de acesso ao sistema Especificao de regras de integridade

Usurios de Banco de Dados

So diferenciados pelas expectativas de interao com o sistema: Programadores de aplicaes - interagem com o sistema atravs de chamadas DML, envolvidas por programas escritos na linguagem hospedeira (por exemplo, Pascal, C, Delphi) Usurios sofisticados - interagem sem escrever programas. Formulam suas solicitaes ao BD atravs de linguagens de consultas Usurios especialistas - escrevem aplicaes especializadas de BD que no podem ser classificadas como aplicaes tradicionais em processamento de dados (ex: sistemas de dados geogrficos) Usurios navegantes - interagem chamando aplicativos j escritos (exemplo: utilizam um formulrio de cadastro).

Vous aimerez peut-être aussi