Você está na página 1de 42

Tecnologias e Linguagens para Banco de Dados I

1 modulo - Tcnico em Informtica

Prof.: Evandro Lopes da Silva


Nilson Augustini

Introduo...
Neste mdulo, iremos conhecer os conceitos,
metodologias e tcnicas para a elaborao de um Banco
de Dados.
Inicialmente, iremos abordar o conceito de Dados,
Banco de Dados e SGBD Sistemas de Gerenciamento
de Dados:
Dados :
Algo que faz parte da realidade;
Fatos que podem ser gravados e que possuem um
significado implcito;
Informaes armazenadas de maneira que possam
ser utilizadas posteriormente.
1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Banco de Dados :
[Chu, 1985]
Um banco de dados um conjunto de arquivos relacionados entre si;
[Date, 2000]
Um banco de dados uma coleo de dados operacionais
armazenados usados pelas aplicaes de uma determinada
organizao;

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Banco de Dados :
[Elmasri & Navathe, 2000]
Banco de Dados (BD): uma coleo de dados relacionados:
Representa aspectos do mundo real (minimundo ou universo de
discurso) e mudanas no mundo real devem ser refletidas no BD.
uma coleo lgica e coerente de dados com algum significado
inerente. Uma organizao randmica de dados no pode ser
considerada um BD.
Um BD construdo em atendimento a uma proposta especfica.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
SGBD Sistema Gerenciador de Banco de Dados :
Um Sistema Gerenciador de Banco de Dados (SGBD) um conjunto de
programas que permite criar e manter um banco de dados;
constitudo por um conjunto de dados associados a um conjunto de
programas para acesso e manutenabilidade desses dados.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Sistema de Banco de Dados
Usurios/Programadores

Programas de Aplicaes / Consultas (Queries)


Programas para Processamento de consultas /
gerenciamento de dados

SGBD

Software para Acesso aos Dados Armazenados

Definio dos dados

1 modulo Tc. em Informtica

Banco de dados
armazenados

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Interao

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Sistema de Processamento de Arquivos
Os programas gravam seus dados em disco, seguindo estruturas prprias;
Para acess-los necessrio conhecer sua estrutura;
Se vrios programas compartilham seus dados, todos devem conhecer e
manipular as mesmas estruturas;
Se algum programa precisar de alguma mudana de dados, todos os
programas tero que ser alterados, mesmo que a alterao ocorra em
dados que ele no utiliza.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Sistema Gerenciamento de Banco de Dados
Entre os programas e os dados colocado um sistema que converte o
formato em que os dados esto gravados para o formato especfico que cada
programa precisa, ento cada programa:
V apenas os dados que lhe interessa;
No precisa entrar em detalhes de como seus dados esto fisicamente
gravados;
No precisa ser modificado se a estrutura de dados que ele no utiliza
for mudada.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Independncia dos Dados
Sistema de arquivos

Aplicativos

Dados
(arquivos)

O acesso/gerenciamento aos/dos
dados feito diretamente pelos
programas aplicativos.

1 modulo Tc. em Informtica

Sistema de Banco de Dados

Aplicativos

SGBD

Dados
(arquivos)

O acesso/gerenciamento aos/dos dados


feito pelo SGBD. O SGBD funciona
como uma interface entre o BD e os
programas aplicativos.

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Funes bsicas do Sist. Gerenc. de Banco de Dados
Simplificar o desenvolvimento de aplicaes caracterizadas por uso
intensivo de DADOS:
Provendo servios que diminuem o tempo de desenvolvimento;
Utilizando ferramentas que possibitam ao usurio:
Realizar entrada de dados;
Examinar dados;
Manipular dados de acordo com a aplicao.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Funes bsicas do Sist. Gerenc. de Banco de Dados
Construir ou carregar a
Base de Dados

Controle
Operacionais

Gerncia
de Dados

Manipular a Base de Dados

Processamento concorrente
e compartilhamento entre
usurios e programas, porm
mantendo todos os dados vlidos e consistentes.

SGBD

Administrador - DBA

Definir a Base de Dados

Modelagem de
Dados

1 modulo Tc. em Informtica

Analistas e Projetistas do SGBD


Usurios

Projetistas de Aplicaes

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Caractersticas de um SGBD
CONTROLE DE REDUNDNCIA: A redundncia, ou seja, a repetio de
dados deve ser evitada para se minimizar possibilidade de inconsistncias;
COMPARTILHAMENTO DE DADOS: Em um ambiente multiusurios deve-se
possibilitar a manipulao simultnea de dados distintos ou dos mesmos
dados conforme regras abaixo;
CONTROLE DE ACESSO: Verificao automtica do tipo de acesso pedido
por cada usurio. Os nveis de segurana so estabelecidos para cada
usurio independentemente, de acordo com suas necessidades. A
identificao de cada usurio, por parte do SGBD, feita pelo nome e
senha cadastrados.
1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Caractersticas de um SGBD
CONTROLE DE TRANSAO: Transao o conjunto de operaes que
devem ser executadas completamente. So normalmente usadas em
situaes crticas (atualizaes ou incluses) de longa durao que podem
afetar a consistncia do BD (Banco de Dados);
ACESSO EM MLTIPLAS INTERFACES: Possibilidade usar diversas interfaces
mesmo se o SGBD estiver sendo utilizado;
RESTRIES DE INTEGRIDADE: Estabelecimento de um formato para os
dados inseridos de modo a garantir integridade e facilitar o
armazenamento

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Caractersticas de um SGBD
BACKUP E RECUPERAO: Estabelecer o backup automtico do BD total
ou parcial em momentos estabelecidos pelo DBA. Proporcionar proteo
contra a perda de informaes devido a falhas no dispositivo de
armazenamento (discos)
INDEPENDNCIA DE DADOS: A descrio fsica dos arquivos mantida
internamente pelo SGBD e de sua inteira responsabilidade e
exclusividade
INDEXAO AUTOMTICA: Com a indicao explcita dos atributos que
sero mais utilizados em consultas, o SGBD cria os arquivos de indexao
que tornaro mais rpidas as pesquisas.
1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Caractersticas de um SGBD
Espelhamento

1 modulo Tc. em Informtica

Replicao

Clusterizao

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Modelo de Dados
Conjunto de conceitos usados para descrever a estrutura de um banco de
dados
Abstrao de dados;
Estrutura = tipos de dados + relacionamentos + restries (+operaes )

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Tipos de Modelo de Dados
Modelos conceituais
Utilizados para se descrever a estrutura de um banco de dados de uma
forma mais prxima da percepo dos usurios (independente de
aspectos de implementao);
Conceitos: entidades, atributos, relacionamentos
o Exemplos:
Modelo entidade-relacionamento (ER)
Modelo funcional
Modelo orientado a objetos (OO)

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Tipos de Modelo de Dados
Modelos representacionais (lgicos)
Utilizados para se descrever a estrutura de um banco de dados da
forma como ser manipulado atravs de SGBD (mais dependente das
estruturas fsicas de armazenamento de dados)
o Exemplos:
Modelo relacional
Modelo de rede (CODASYL)
Modelo hierrquico

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Tipos de Modelo de Dados
Modelos fsicos
Utilizados para descrever como os dados so fisicamente armazenados

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Classificao dos SGBDs
Quanto ao modelo de dados adotado:
Relacionais
De rede
Hierrquicos
Orientados a objetos
Objeto-relacionais
Quanto ao nmero de usurios suportados:
Mono-usurios
Multi-usurios
Quanto localizao dos dados:
Centralizados
Distribudos
1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Usurios em um Ambiente de Banco de Dados
Podem ser divididos :
entre aqueles que de fato usam e controlam o contedo (chamados de
Atores em cena);
aqueles que fazem com que a Base de Dados possa ser desenvolvida e
o software SGBD possa ser projetado e implementado (chamados de
Trabalhadores por trs das cenas).

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Usurios em um Ambiente de Banco de Dados
Atores em cena :
Projetistas da aplicao:
Administradores do Banco de Dados ;
Projetista da Base de Dados;
Usurio Final;
Analistas de Sistemas e Programadores de Aplicaes.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Usurios em um Ambiente de Banco de Dados
Trabalhadores por trs da cena :
Projetistas do Sistema de Gerenciamento de Banco de Dados:
Projetistas e Implementadores do SGBDs;
Desenvolvedores de Ferramentas para SGBDs;
Pessoal de Suporte dos SGBDs.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Usurios em um Ambiente de Banco de Dados
Administrador do Banco de Dados (DBA) :
Autoriza o acesso Banco de Dados;
Coordena e monitora o uso da Banco de Dados;
Defini a aquisio de software e recursos de hardware;
Controla o uso dos recursos;
Monitora a eficincia das operaes.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Usurios em um Ambiente de Banco de Dados
Projetista do Banco de Dados :
Define o contedo do Banco de Dados;
Define a estrutura do Banco de Dados;
Defini as restries do Banco de Dados;
Define as transaes sobre o Banco de Dados;
Interage com os usurios finais para fazer o levantamento de requisitos
do Banco de Dados.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Usurios em um Ambiente de Banco de Dados
Usurio Final :
Utiliza o Banco de Dados para consultas e elaborao de relatrios,
sendo que alguns chegam a modificar o contedo armazenado no
Banco de Dados.
Classificam-se em:
Casuais => acessam o Banco de Dados eventualmente (quando
necessrio);
Produtivos => utilizam funes pr-definidas como transaes de
produo sobre o Banco de Dados. Exemplo : contadores,
operadores de reservas, etc.
1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Usurios em um Ambiente de Banco de Dados
Sofisticados => Analistas de Negcios, Cientistas, Engenheiros,
usurios familiares com as capacidades do sistema. Normalmente
utilizam ferramentas que operam ligadas ao Banco de Dados;
Independentes => mantm um Banco de Dados pessoal,
normalmente utilizando aplicaes j prontas (tipo pacotes).

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Arquitetura dos SGBDs
Primeira arquitetura: Centralizada (uso de Mainframes)
O processamento principal e de todas as funes do sistema
(aplicativos, interface e SGBD) eram executados nos mainframes;
Os usurios interagiam com o sistema via terminais sem poder de
processamento, conectados ao mainframe por redes de comunicao;
Com o barateamento do hardware, os terminais foram sendo trocados
por estaes de trabalho e naturalmente a tecnologia de banco de
dados comeou a aproveitar esse potencial de processamento no lado
do usurio.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Arquitetura dos SGBDs
Segunda arquitetura: Cliente-Servidor
Dividiu as tarefas de processamento criando servidores especializados
como os servidores de arquivos;
As mquinas clientes disponibilizavam as interfaces para os usurios, de
forma a capacit-lo ao uso de servidores. Tambm tinham autonomia
para executar aplicaes locais;
No caso especfico de banco de dados, nesta arquitetura, um SGBD
centralizado implantado no servidor, assim as consultas (servidor
SQL) e funcionalidades transacionais so executadas no servidor.
No lado do cliente possvel formular as consultas e desenvolver
programas aplicativos;
O servidor SQL conhecido como Back-End Machine e o cliente como
Front-End Machine.
1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Quando usar um dos SGBDs ?
Quando as funcionalidades disponibilizadas por eles forem relevantes;
Quando houver necessidade de recursos para se manter a consistncia
dos dados e oferecer apoio a aplicaes;
Quando houver necessidade de padronizao;
Quando houver necessidade de flexibilidade;
Quando houver necessidade de reduo no tempo de desenvolvimento de
uma aplicao;
Quando houver necessidade de disponibilizao de informaes
atualizadas.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Quando no usar um dos SGBDs ?
Quando as funcionalidades disponibilizadas por eles no forem
necessrias;
Quando a sobrecarga influir no desempenho;
Quando o investimento inicial for alto (hardware extras);
Quando o Banco de Dados e as aplicaes so simples, bem definidos e
sem perspectivas de mudanas;
Quando houver requisitos de tempo real;

Devido complexidade de um SGBD, ele pode no atender uma aplicao de tempo real

Quando no existe a necessidade de acessos concorrentes aos dados


armazenados.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Sistemas Comerciais de SGBDs
dBASE: Lanado pela Ashton-Tate e posteriormente adquirido pela
Borland. Possua uma linguagem de programao prpria para
desenvolvimento de aplicaes, teve verses para DOS e Windows,
trabalhava com gerenciamento de arquivos planos baseados em listas
invertidas. A partir da verso 7, os direitos foram vendidos pela Borland.
Paradox: Possui ambiente integrado de desenvolvimento para criao de
aplicativos. Os direitos de produo foram vendido pela Borland para a
Corel. Teve verses para DOS e hoje possui apenas verses para Windows.
DataFlex: Popular para ambiente Unix, mas teve verses para DOS e
Windows. Possui ambiente integrado para desenvolvimento de aplicaes
e hoje comercializado com o nome de Visual Data Flex.
1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Sistemas Comerciais de SGBDs
FoxBase/FoxPro: Concorrente do dBase com total compatibilidade em
termos de arquivos e programas-fontes. Com recursos adicionais como a
capacidade de pr-compilao dos cdigos-fontes para melhorar
performance. Hoje, aps a aquisio pela Microsoft da Fox Software
(produtora original), se chama: Visual FoxPro.
Access: padro em banco de dados para microcomputadores do
ambiente Windows. Possui ambiente integrado que permite a criao e
gerenciamento do banco de dados, desenvolvimento de aplicaes e
gerao de relatrios. A linguagem de programao usada neste ambiente
deriva do Visual Basic.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Sistemas Comerciais de SGBDs
Oracle: O primeiro em Banco de Dados Corporativos (cliente/servidor)
possuindo grande variedade de distribuies (para Macintosh, Windows,
Linux, FreeBSD, Unix) e para computadores de grande porte. padro SQL
com uma linguagem prpria para desenvolvimento de aplicaes.
Interbase: Foi includo, pela Borland, nas suas ferramentas de
desenvolvimento (Delphi, C++Builder, JBuider). Teve uma verso liberada
como Open Source.
MS-SQL Server: Produzido pela Microsoft, inicialmente era uma verso
especial do Sybase. As verses atuais so independentes e opera
exclusivamente sobre Windows.
1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Sistemas Comerciais de SGBDs
Sybase SQL Anywhere: Concorre com o Oracle no mercado corporativo.
Aplicaes para este banco so desenvolvidas com o PowerBuilder.
MySQL: Possui verses para Windows, Solaris, Unix, FreeBSD, Linux) e
gratuito. Muito poderoso, usado principalmente para desenvolvimento
WEB como servidor de dados para comrcio eletrnico.
PostgreSQL: Gratuito e com boa aceitao. Originalmente concebido para
rodar em Linux. Possui verses para Windows. Principalmente usado para
comrcio eletrnico juntamente com linguagem PHP.
Informix: Boa escalabilidade e desempenho. Comercializado pela IBM.
1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Sistemas Comerciais de SGBDs
DB2: Produzido pela IBM, nasceu nos ambientes de grande porte, sendo
posteriormente portado para plataformas mais simples
(microcomputadores).
Firebird: Nascido de uma iniciativa da Borland em abrir o cdigo do
InterBase 6, este sistema open source e esbanja versatilidade e robustez.
Possui recursos de trigger, store procedures e transaes concorrentes.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Sist. Comerciais Ferramentas Desenvolvimento
Alm dos SGBDs, pode-se citar algumas linguagens/ferramentas de
desenvolvimento, que manipulam os banco de dados desses gerenciadores:
Clipper: Comumente utilizado junto ao dBase. O Brasil foi o lder
mundial em vendas e uso dessa ferramenta.
Joiner: Produto nacional concorrente do Clipper, produzido por uma
empresa paulista chamada Tuxon Software, com verses para DOS,
Unix, e algum suporte para Windows.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Sist. Comerciais Ferramentas Desenvolvimento
Delphi/C++Builder/JBuilder: Ferramentas de desenvolvimento da
Borland que possuem suporte nativo aos bancos de dados Interbase e
MySQL. Delphi e C++Builder tambm podem acessar arquivos no
formato dBase, Paradox e Access nativamente, enquanto outras bases
de dados podem ser maipuladas atravs da tecnologia ODBC.
Visual Basic/Visual C++: O programador pode criar aplicaes que
acessam bancos de dados Access ou, por meio de ODBC, outros
formatos.

1 modulo Tc. em Informtica

Tecnologias e Linguagens para Banco de Dados I

Introduo...
ODBC Open Database Connectivity
So drivers que fornecem uma interface uniforme que permite a
interao entre aplicativos e diferentes gerenciadores de bancos de dados.
Aplicativos que utilizam o API do ODBC so capazes de se comunicar com
qualquer gerenciador relacional para o qual exista um driver ODBC.

Programa
aplicativo

1 modulo Tc. em Informtica

Driver
Gerenciador
ODBC

Driver
ODBC 1

SGBD 1

Driver
ODBC 2

SGBD 2

Driver
ODBC N

SGBD N

Tecnologias e Linguagens para Banco de Dados I

Introduo...
Exemplo
ESCOLA
Professores

Cursos
Alunos

cdigo

pronturio

turma

nome

disciplina

curso

nome

turma

1 modulo Tc. em Informtica

Disciplinas
Disciplinas
cdigo
Disciplinas
cdigo
professor
cdigo
professor
nome
professor
nome
nome

cdigo
nome

Notas
pronturio
curso
turma
disciplina
mdia

Tecnologias e Linguagens para Banco de Dados I