Vous êtes sur la page 1sur 33

Banco de Dados

Introduo
Joo Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP

Importncia dos Bancos de Dados


A competitividade das empresas depende de dados precisos e atualizados. Conforme a empresa cresce, aumenta a sua dependncia por dados abundantes e complexos. Assim, ferramentas de gerenciamento, extrao rpida e precisa de informaes fundamental. Soluo: Sistema Gerenciador de Banco de Dados, ou SGBD.

Uma perspectiva histrica


No incio da computao, programas tinham o nico objetivo de armazenar e manipular dados. Esses programas gravavam seus dados em disco, segundo estruturas prprias. Programas que no conhecessem a estrutura dos dados no podiam utilizar os dados.

Estrutura dos dados

Arquivo

Uma perspectiva histrica


Se vrios programas precisassem compartilhar os dados de um mesmo arquivo, todos os programas teriam que conhecer e manipular as mesmas estruturas.

Estrutura dos dados Estrutura dos dados

Arquivo

Uma perspectiva histrica


Se algum programa precisasse realizar alguma mudana na estrutura de dados,


Todos os programas que acessam esse mesmo arquivo tinham que ser alterados, mesmo que a alterao ocorresse em dados no manipulados pelos programas. Garantir a unicidade das estruturas de dados entre os diversos programas devido existncia de redundncias.

Isso gerava um grande problema:


Uma perspectiva histrica


Para evitar esse problema, colocou-se um sistema intermedirio:


Que conhece a estrutura de dados do arquivo. Fornece apenas dados que cada programa precisa. Armazena adequadamente os dados de cada programa.

Arquivo

Uma perspectiva histrica


Agora, com esse sistema intermedirio:


Os programas "vero" apenas os dados que lhes interessam. Os programas no precisam conhecer os detalhes de como seus dados esto gravados fisicamente. Os programas no precisaro ser modificados se a estrutura de dados que utilizam no for modificada. As alteraes ficam concentradas nesse sistema intermedirio.

Uma perspectiva histrica


Com o tempo, esse sistema intermedirio passou a gerenciar vrios arquivos. A essa coleo de arquivos foi dado o nome de Banco de Dados e o sistema intermedirio recebeu o nome de Sistema Gerenciador de Banco de Dados (SGBD).

S G B D

Arquivo Arquivo Arquivo

Uma perspectiva histrica


O primeiro SGBD comercial surgiu em 1960. Com o tempo, surgiram padres para descrever as estruturas de dados: os modelos de dados. A descrio do banco de dados, segundo um modelo de dados chamada de meta dados.

Meta Dados

Dados

SGBD

BD

Uma perspectiva histrica


Hoje,

um banco de dados:

uma coleo de dados coerente e logicamente relacionados com algum significado associado. projetado, construdo e populado com dados que atendem a um propsito e audincia especficos. Representa algum aspecto do mundo real, chamado de minimundo.

Arquivos versus SGBDs


Processamento tradicional de Arquivos
Definio dos dados parte do cdigo de programas de aplicao Dependncia entre aplicao e dados

SGBD
Meta Dados

Vantagens do SGBD
eliminao de redundncias eliminao de redundncias facilidade de manuteno facilidade de manuteno

Independncia entre aplicaes e dados

Representao de dados em nvel fsico

Representao conceitual atravs de dados e programas

Cada viso implementada por mdulos especficos

Permite mltiplas vises

facilidade de consultas

Quando usar SGBD


Quando no Usar SGBD


Controle redundncia Controle consistncia e integridade Acesso multiusurio Compartilhamento de dados Controle acesso e segurana Controle de recuperao e restaurao Consultas eficientes

Dados e aplicaes simples e estveis Requisitos de temporeal no puderem ser atendidos

Principais Caractersticas dos SGBDs


Arquitetura Three-schema

Apoio a mltiplas vises de dados (nvel externo) Capacidade de abstrao de dados (nvel conceitual) Capacidade de descrever a estrutura de armazenamento fsico dos dados (nvel interno) Compartilhamento de dados e processamento de transaes.

Arquitetura Three-schema
Independncia Lgica de Dados: a capacidade de alterar o esquema conceitual sem ter que mudar os esquemas externos ou programas de aplicao. Usurios Finais Viso Externa 1
NVEL EXTERNO

...

Viso Externa n
Mapeamento Conceitual-Externo

Esquema Conceitual
NVEL CONCEITUAL

Mapeamento Conceitual-Interno

Independncia Fsica de Dados: a capacidade de alterar o esquema interno sem ter que alterar o esquema conceitual e externo.
NVEL INTERNO

Esquema Interno

BD1

...

BDn

Modelagem de Dados
O OSistema Sistema dever devergerar geraro o seguinte seguinte relatrio relatrio... ...

Modelo de Dados

Projetista de Banco de Dados

Especialista de Negcio

Esquema Conceitual

minimundo
coleta e anlise de requisitos

requisitos funcionais
Anlise funcional
independente SGBD dependente SGBD

requisitos de bd
projeto conceitual

Especificao transaes (alto nvel)

esquema conceitual projeto lgico

projeto das funcionalidades


Dependente - fabricante e verso de SGBD

esquema lgico

projeto fsico

Implementao das transaes

bd

aplicaes

Modelos de Dados
Existem

modelos para diferentes nveis de abstrao de representao de dados


modelos

conceituais modelos lgicos modelos fsicos


organizao dos arquivos de dados em disco no so manipulados por usurios ou aplicaes que acessam o BD decises de implementao de cada SGBD

Modelos de Dados
Redes Hierrquico Relacional Entidade-Relacionamento ER

- Estendido Objeto Objeto - Relacional

Modelos de Dados Conceituais


Representao

com alto nvel de

abstrao
modela de forma mais natural os fatos do mundo real, suas propriedades e seus relacionamentos independente de BD preocupao com a semntica da aplicao exemplo:

modelo

entidade-relacionamento

Modelos de Dados Lgicos


Representa

os dados em alguma estrutura (lgica) de armazenamento de dados


tambm chamados de modelos de BD dependente de BD exemplos
modelo

relacional (tabelas) modelos hierrquico

Modelos de BD (Lgicos)
Apiam:

A especificao dos dados do modelo (DDL)


dados,

seus domnios e restries

A manipulao dos dados (DML)

Modelos de BD (Fsico)
Indexao

e estrutura de arquivos Transaes e controle de concorrncia Otimizao Recuperao em casos de falhas Mecanismos de proteo (segurana) Partio e agrupamento de dados

Transaes externas

Gerenciador de Transaes

SGBD

Escalonador

BD Index Log Memria Secundria

Gerenciador de Recuperao

Gerenciador de Memria

Cache Memria Primria

Matriz de Classificao de SGBDs*


Complexas
Consultas

RELACIONAL

OBJETORELACIONAL

Consultas

Simples

SISTEMA DE ARQUIVOS

LINGUAGEM DE PERSISTNCIA

Dados Simples

Dados Complexos

* Baseado no livro: Object Relational DBMS by Stonebraker and Moore, Morgan Kaufmann, 1996

Sntese dos conceitos


Banco de dados (BD) conjunto de dados integrados que por objetivo atender a uma comunidade de usurios. Modelo de dados descrio formal das estruturas de dados para representao de um BD; com suas respectivas restries e linguagem para criao e manipulao de dados.

Sntese dos conceitos


Sistema Gerenciador de banco de dados (SGBD) software que incorpora as funes de definio, recuperao e alterao de dados em um BD. Modelagem de dados a ao de representar/abstrair dados do minimundo com o objetivo de criar projetos conceituais e lgicos de um BD. Alguns autores incluem os projetos fsicos como parte da modelagem de dados, pelo fato de que as otimizaes so oriundas de anlises do comportamento dinmico do BD.

Sntese dos conceitos


Projeto conceitual BD ao que produz o esquema de dados abstratos que descreve a estrutura de um BD de forma independente de um SGBD (esquema conceitual). Projeto lgico BD ao que produz o esquema lgico de dados que representa a estrutura de dados de um BD em acordo com o modelo de dados subjacente a um SGBD.

Sntese dos conceitos


Projeto fsico BD ao que produz o esquema fsico de dados a partir do esquema de lgico de dados com a adio das estratgias de otimizao para manipulao das estruturas de dados. As estratgias de otimizao so dependentes dos fabricantes dos SGBDs e de suas verses.

Questes de Estudo
1.

2.

3.

Quando faz sentido utilizar um SGBD ao invs de simplesmente utilizar o sistema de arquivos? Quando no faz sentido utilizar um SGBD? O que independncia lgica de dados e por que esse conceito importante? Explique as diferenas entre independncia lgica de dados e independncia fsica de dados.

Questes de Estudo
4.

5.

Explique as diferenas entre esquemas externos, lgico e fsico. Como esses conceitos se relacionam com os conceitos de independncia de dados? Quais so as responsabilidades de um Projetista de Banco de Dados e do DBA?

Questes de Estudo
6.

O Sr. Avarento quer guardar informaes de seus funcionrios (nome, endereo, momentos preocupantes). O volume de dados o forou a decidir comprar um SGBD. Para economizar, ele quer comprar um que tenha apenas as caractersticas necessrias para executar uma aplicao stand-alone em seu PC. O Sr. Avarento no quer compartilhar essa lista com ningum. Indique quais das seguintes caractersticas de SGBDs o Sr. Avarento necessita? Justifique.

Segurana. Controle de concorrncia. Recuperao aps falhas. Mecanismos de viso. Linguagem de consulta.

Questes de Estudo
7. 8.

Descreva os passos de um projeto de BD. Quais dos seguintes itens exercem papel importante na representao de informaes do mundo real num BD? Comente.

Linguagem de definio de dados. Linguagem de manipulao de dados. Cach. Modelo de dados.

9. 10.

O que transao? Por que o SGBD entrelaa as aes de diferentes transaes, ao invs de execut-las sequencialmente?

Bibliografia

ELMASRI, R.; NAVATHE, S. B. [Trad.]. Sistemas de bancos de dados. Traduzido do original: FUNDAMENTALS OF DATABASE SYSTEMS. So Paulo: Pearson(Addison Wesley), 2005. 724 p. ISBN: 85-88639-17-3. Korth, H.; Silberschatz, A. Sistemas de Bancos de Dados. 3a. Edio, Makron Books, 1998. Raghu Ramakrishnan e Johannes Gehrke, Database Management Systems, Second Edition, McGraw-Hill, 2000. Takai, O.K; Italiano, I.C.; Ferreira, J.E. Introduo a Banco de Dados. Apostila disponvel no site: http://www.ime.usp.br/~jef/apostila.pdf. (pgina web visitada em 07/07/2005).

Vous aimerez peut-être aussi