Vous êtes sur la page 1sur 37

Banco de Dados I

Introduo

Fabricio Breve

Introduo
SGBD (Sistema Gerenciador de Banco de Dados): coleo de dados interrelacionados e um conjunto de programas para acessar esses dados Coleo de dados (Banco de Dados): informaes relevantes a uma empresa Objetivo: recuperar tais informaes de maneira conveniente e eficiente

Termos Tpicos
Dados - fatos que podem ser armazenados ex:nomes, telefones, endereos Base de dados - coleo de dados interelacionados logicamente, ex: agenda de telefones, ficha de clientes Sistema Gerenciador de Banco de Dados (SGBD) coleo de programas que permite a criao e gerncia de bases de dados

Viso Geral - SGBD


SGBD

Nome: Joo Idade: 45 anos Funo: XX

ProgA.exe

ProgB.exe

ProgC.exe

USURIO

Sistema de Arquivos Viso Geral


Sistema Operacional
Arquivo
Nome: Joo Idade: 45 anos Funo: XX

ProgA.exe

ProgB.exe

ProgC.exe

USURIO

Aplicaes dos SGBD


Banco (clientes, contas, emprstimos) Linhas areas (reservas, horrios) Universidades (alunos, cursos, notas) Transaes de Carto de Crdito (compras, faturas) Telecomunicao (registro de chamadas, cobranas, saldos de cartes pr-pago)

Aplicaes dos SGBD


Finanas (valores mobilirios, vendas, compras de aes, ttulos, dados de mercado) Vendas (clientes, produtos, compras) Revendas online (pedidos, avaliaes) Indstria (gerenciamento de cadeia de suprimentos, produo, estoques, pedidos) Recursos Humanos (funcionrios, salrios, descontos em folha, benefcios, contracheques)

Interao de Pessoas e Banco de Dados


No incio as pessoas lidavam com o banco de dados indiretamente (relatrios impressos, fatura de carto, caixa bancrio, agente de reservas) Hoje as pessoas lidam diretamente com o banco de dados, mesmo sem perceber (sistemas telefnicos interativos, comrcio eletrnico, internet banking)

Importncia de banco de dados


Faz parte da vida das pessoas: imagine quantas vezes voc interage com um banco de dados mesmo sem perceber? Fabricantes de SGBD esto entre as maiores empresas do mundo (Ex.: Oracle) Empresas de produtos diversificados (Microsoft, IBM, Borland, etc.) tem SGBDs como parcela importante de seus negcios

Por que no usar o Sistema de Arquivos


Redundncia e inconsistncia dos dados: cada programa ter seus prprios arquivos, o mesmo dado pode estar em vrios locais ao mesmo tempo
Ex.: telefone de cliente no registro de conta poupana e de conta corrente

Por que no usar o Sistema de Arquivos


Dificuldade de acesso a dados: novas consultas no previstas levaro muito tempo para serem programadas
Ex.: novo relatrio apenas com clientes de um determinado bairro)

Por que no usar o Sistema de Arquivos


Isolamento de Dados: dados dispersos em arquivos dispersos em diferentes formatos dificultam programao Problemas de Integridade: restries tem de ser implementadas no software.
Ex.: saldo de aplicao sempre > R$ 25,00

Por que no usar o Sistema de Arquivos


Problema de Atomicidade: em caso de falha preciso que os dados sejam restaurados completamente.
Ex.: transferncia de R$ 50,00 da conta A para a conta B, uma falha poderia fazer com que o dinheiro fosse debitado da conta A mas no creditado na B

Por que no usar o Sistema de Arquivos


Anomalias de acesso concorrente: vrios usurios podem estar lendo/escrevendo dados simultaneamente.
Exemplo de problema: dois clientes fazendo saques de R$ 50,00 e R$ 100,00 de uma mesma conta bancria
Transao 1: l saldo de R$ 500,00 Transao 2: l saldo de R$ 500,00 Transao 1: grava saldo atualizado de R$ 450,00 Transao 2: grava saldo atualizado de R$ 400,00

Por que no usar o Sistema de Arquivos


Problema de Segurana: nem todos os usurios do sistema devem ser capazes de acessar todos os dados, e difcil impor tais restries de segurana
Ex.: funcionrio de vendas no precisa ter acesso aos dados do financeiro

Evoluo dos Bancos de Dados


Dados armazenados

Programas com gerncia de arquivos

SGBD

Programas de Aplicao de BD

Viso dos dados


SGBD deve fornecer ao usurio uma viso abstrata dos dados, ocultando detalhes de como os dados so armazenados e mantidos

Nveis de Abstrao
Nveis de abstrao:
Fsico: o mais baixo, descreve como os dados esto realmente armazenados (complexo e de baixo nvel) Lgico: descreve quais dados esto armazenados e a relao entre eles (estruturas simples, ocultando complexidade real) Viso: (view) o mais alto, descreve apenas parte do banco de dados (as relevantes para um usurio)

Nveis de Abstrao
Nvel de Viso Viso 1 Viso 2 Viso N

Nvel Lgico

Nvel Fsico

Esquemas de banco de dados


Esquema: a estrutura lgica do banco de dados
Exemplo: O banco de dados consiste nas informaes sobre um conjunto de clientes e contas e na relao entre eles Anlogo s informaes de tipo de uma varivel em um programa Esquema fsico: projeto de banco de dados no nvel fsico Esquema lgico: projeto de banco de dados no nvel lgico

Instncia do banco de dados


Instncia: o contedo real do banco de dados em um determinado ponto no tempo Anlogo ao valor de uma varivel

Modelo de Dados
Coleo de ferramentas conceituais para descrever:
Dados Relaes entre dados Restries de consistncia

Um modelo de dados oferece uma maneira de descrever o projeto de um banco de dados em nvel fsico, lgico e de viso

Modelos Hierrquico e de Rede


So os primeiros modelos Intimamente relacionados com implementao, dificultam a tarefa de modelagem So pouco usados atualmente, estando restritos a sistemas muito antigos que ainda so utilizados

Modelo Relacional
Usa uma coleo de tabelas para representar dados e a relao entre eles Cada linha da tabela corresponde a um registro Cada coluna da tabela representa um atributo o sistema mais usado, a grande maioria dos SGBDs baseada nele

Modelo relacional
Exemplo de dados tabulares no modelo relacional

Atributos

Exemplo de banco de dados relacional

Modelo de Entidade/Relacionamento
Baseado em uma percepo do mundo real Coleo de objetos bsicos (entidades) e suas relaes Muito usado no projeto de banco de dados

Modelos de dados baseados em objeto


Modelo de dados orientado a objeto
Extenso do modelo E-R com noes de orientao a objetos

Modelo de dados relacional de objeto


Combina recursos do modelo de dados orientado a objeto e do modelo de dados relacional

Modelo de dados semi-estruturado


Permite especificao de dados em que itens de dados individuais possam ter diferentes conjuntos de atributos (o oposto dos modelos tradicionais) XML amplamente utilizada para representar esses dados

Evoluo dos Sistemas de BD

Linguagens de manipulao de dados (DML)


Linguagem para acessar e manipular os dados organizados pelo modelo de dados apropriado
A DML tambm conhecida como linguagem de consulta

Tipos de acesso:
Recuperao de informao armazenada Insero de novas informaes Excluso de informaes Modificao de informaes

Linguagens de manipulao de dados (DML)


Duas classes de linguagem
Procedurais usurio especifica que dados so necessrios e como obter esses dados Declarativas (no procedurais) usurio especifica que dados so necessrios sem especificar como obter esses dados

SQL a linguagem de consulta mais utilizada

Linguagem de definio de dados (DDL)


Usada para especificar o esquema do banco de dados Tambm utilizada para especificar propriedades adicionais dos dados, incluindo:
Restries de domnio (Ex.: tipo inteiro) Assertivas (Ex.: saldo > $100) Autorizao (dependendo do tipo de usurio, ex.: somente leitura, somente insero, etc.)

Linguagem de definio de dados (DDL)


Resultado de uma instruo DDL armazenada no dicionrio de dados Dicionrio de dados contm metadados (dados sobre os dados)

Algumas Ferramentas
Sistemas comerciais
IBM DB2 Oracle Microsoft SQL Server Informix Sybase

Gratuitos
MySQL PostgreSQL Firebird

Questes
1. Cite algumas vantagens de se utilizar banco de dados 2. Descreva situaes de seu dia-a-dia em que voc utiliza banco de dados 3. Para que servem os diferentes nveis de abstrao em bancos de dados? 4. Qual a vantagem de um SGBD utilizar uma linguagem de consulta declarativa (como o SQL) em vez de apenas uma biblioteca de funes em C ou C++ para realizar manipulao de dados?

Referncias Bibliogrficas
SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistema de Banco de Dados. 5 Ed. Campus, 2006 PONTI JR, Moacir. Banco de Dados: Introduo - Notas de Aula. 2006.

Vous aimerez peut-être aussi