Escolar Documentos
Profissional Documentos
Cultura Documentos
Vania Bogorny
operao bancria reserva de hotel matrcula em uma disciplina da universidade cadastro na vdeo locadora
Conceitos bsicos
Informao: fato til que pode ser extrado direta ou indiretamente a partir dos dados
Banco de Dados (BD): coleo de dados interrelacionados e persistentes que representa um subconjunto dos fatos presentes em um domnio de aplicao(universo de discurso)
Exemplo de um BD
Banco de dados
Banco de dados = instncia de dado + meta-dados
Instncia de dado
Dado propriamente
Meta-dados
Dicionrio de dados
Esquema da base de dados Acessado atravs de linguagens de definio de dados
Funcionalidades oferecidas
Registros de tamanho fixo com campos de tipos diferentes Possibilidade de memria virtual e persistncia ndices: hash, rvore-B Bloqueio de arquivo e registro para concorrncia
Dados de diferentes aplicaes no esto integrados Dados so projetados para atender uma aplicao especfica
Sistemas de arquivos
Em uma fbrica com os dados em sistemas de arquivos:
Sistema para Setor de Vendas Sistema para Setor de Produo Sistema para Setor de Engenharia
Arquivos de vendas
Arquivos de produo
Arquivos de engenharia
[baseado em Heuser]
Sistemas de arquivos
dados no integrados
Sistemas de arquivos
Concorrncia
Difcil implementao Polticas de acesso concorrente consistente so independentes de domnio
Tolerncia a falhas
Falta de luz, erro de disco, interrupo de funcionamento, etc Cpias? restaurao do estado anterior? Consistncia da base?
Segurana
Acesso diferenciado por tipo de usurio
10
Sistemas de arquivos
gerenciamento dos arquivos
Outros problemas:
Nmero mximo de arquivos Tamanho de memria Limitaes do tipo de arquivo, tipo de acesso Preocupaes tcnicas junto com problemas do domnio
estourou memria?, .)
11
Banco de dados
Em uma fbrica com os dados em bancos de dados:
Sistema para Setor de Vendas Sistema para Setor de Produo Sistema para Setor de Engenharia
Banco de dados
SGBD
Banco de dados
teclado.gif monitor.gif mouse.gif 10/11/2000 20/11/2000 09/11/2000
Exemplos destes Softwares: Livres: FireBird, PostgreSQL e MySQL Comerciais (pagos) Oracle, DB2 e SQLServer
13
Um SGBD (Sistema Gerenciador de Banco de Dados) consiste em uma coleo de dados inter-relacionados e em um conjunto de programas para acess-los
SGBDs so projetados para gerenciar grandes grupos de informaes
14
SGBD
O gerenciamento envolve
A definio de estruturas para o armazenamento da informao O fornecimento de mecanismos para manipular as informaes
Quando vrios usurios acessam os dados o SGBD precisa garantir a INTEGRIDADE dos dados, evitando resultados anmalos
15
Objetivos de um SGBD
Isolar os usurios dos detalhes mais internos do banco de dados (abstrao de dados). Prover independncia de dados s aplicaes (estrutura fsica de armazenamento e estratgia de acesso).
Vantagens:
rapidez na manipulao e no acesso informao, reduo do esforo humano (desenvolvimento e utilizao), reduo da redundncia e da inconsistncia de informaes, reduo de problemas de integridade, compartilhamento de dados, aplicao automtica de restries de segurana, controle integrado de informaes distribudas fisicamente.
16
Objetivos de um SGBD
O grande objetivo de um SGBD prover aos usurios uma viso ABSTRATA dos dados
O sistema omite certos detalhes de como os dados so armazenados e mantidos Mas oferece mecanismos eficientes para BUSCA e ARMAZENAMENTO
17
Abstrao de Dados
Mundo Real
Sistema Mdico
Modelo Conceitual
(modelo abstrato dos dados)
Independente
Mdico
CRM nome
Consulta
Paciente
Dependente
Modelo Lgico
(estrutura dos dados)
Relacional
Orientado a Objetos
Objetorelacional
Dependente
Modelo Fsico
Modelos de Dados
20
Modelos de Dados
Um modelo de dados uma coleo de ferramentas conceituais para a descrio de dados, relacionamentos, semntica de dados e restries de consistncia
21
Modelos de Dados
Entidade-Relacionamento (ER) Orientado a Objetos (OO) Redes Hierrquico Relacional Objeto-relacional Orientado a Objetos
Modelos mais antigos
22
23
O Modelo de Redes
Os dados so representados por colees de registros e os relacionamentos por elos
Jos Figueiras
Campinas
900
55
556
Joo Laranjeiras Campinas 647 Antnio Ip So Paulo
1.000
5.366
801
10.533
24
Clientes
Contas
O Modelo Hierrquico
Os dados e relacionamentos so representados por registros e ligaes, respectivamente. Os registros so organizados como colees arbitrrias de rvores.
Jos
Figueiras
Campinas
Antnio
Ip
So Paulo
Joo Laranjeiras
Campinas
556
1.000
647
5.366
900
55
647
5.366
801
10.533
25
O Modelo Relacional
Tabela Cliente (dados)
cd-cliente
015 021 037 Jos Joo Antnio
nome
Figueiras Laranjeiras Ip
rua
Campinas Campinas
cidade
So Paulo
nro-conta
900 556 647 801
saldo
55 1.000 5.366 10.533
cd-cliente
015 021 021 037 037
nro-conta
900 556 647 647 801
26
27
Funes de um SGBD
28
Instncias e Esquemas
A coleo de informaes armazenadas chamada de INSTNCIA do banco de dados (mudam com frequncia) O projeto geral do banco de dados chamado ESQUEMA do banco de dados (no mudam com frequncia)
29
O uso de bancos de dados permite modificar o ESQUEMA dos dados em um nvel sem afetar a definio do esquema em um nvel mais alto. Isto chamado de Minimundo independncia dos dados Projeto Conceitual
Nveis De Abstrao
esquema instncias
30
Independncia fsica de dados: habilidade de modificar o esquema fsico sem a necessidade de reescrever os programa aplicativos Estas modificaes so necessrias para melhorar o desempenho Independncia lgica de dados: habilidade de modificar o esquema conceitual sem a necessidade de reescrever os programas aplicativos Estas modificaes so necessrias quando a estrutura lgica alterada.
31
A independncia lgica dos dados mais difcil de ser alcanada do que a independncia fsica, pois os programas so bastante dependentes da estrutura lgica dos dados que eles acessam
32
Um esquema de banco de dados especificado por um conjunto de definies expressas por uma linguagem especial chamada linguagem de definio de dados (Data Definition Language) O resultado da compilao de comandos de uma DDL o conjunto de tabelas que sero armazenadas no dicionrio (ou diretrio) de dados
33
Um dicionrio de dados contm metadados, i.e., dados sobre os dados Este dicionrio (diretrio) consultado antes que os dados sejam lidos ou modificados no sistema de banco de dados
34
A busca da informao armazenada no BD A insero de novas informaes no BD A eliminao de informaes do BD A modificao dos dados armazenados no BD
No nvel fsico precisamos definir algoritmos que permitam acesso eficiente aos dados
35
A linguagem de manipulao dos dados permite ao usurio manipular os dados da seguinte forma:
Procedural: o usurio informa qual dado deseja acessar e como obt-lo No-procedural: o usurio informa qual dado deseja acessar SEM especificar como obt-lo
36
Linguagens no-procedurais so usualmente mais fceis de aprender e usar do que DMLs procedurais Se o usurio NO especificar COMO obter os dados, as linguagens noprocedurais podero gerar um cdigo no to eficiente.
37
Uma consulta (QUERY) um comando de busca de uma informao no BD A parte da DML que busca informaes chamada LINGUAGEM DE CONSULTA
38
Programadores de Aplicativos:
So os usurios que escrevem os programas de aplicao atravs da DML Exemplos de um sistema bancrio so programas que geram cheques, fazem dbitos e crditos em contas, transferem fundos entre contas Interagem com o sistema sem escrever programas Formulam consultas em uma linguagem de consulta, e cada consulta submetida a um processador de consulta, cuja funo gerar um comando da DML
39
Escrevem aplicativos especializados como sistemas especialistas Interagem com o sistema invocando os programas aplicativos
Usurios ingnuos
Exemplo: um cliente do banco invocaria um programa para efetuar a transferncia de 50 reais da conta A para a conta B
40
Administrador do banco de dados: tem o controle central dos dados e dos programas de acesso aos dados
41
Definio do esquema Definio de estruturas de armazenamento e mtodos de acesso Modificao de esquema e de organizao fsica Concesso de autorizao para acesso aos dados Especificao de restries de integridade
42
Gerenciador de arquivos Gerenciador do banco de dados Processador de consultas Pr-compilador da DML Compilador da DDL
Transaes
44
Otimizador de Consultas
45
46
Bibliografia
Elmasri & Navathe Fundamentos de Bancos de Dados Carlos Alberto Heuser Projeto de Banco de Dados Korth e Silberchatz Sistema de Bancos de Dados
47