Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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;
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.
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.
Introduo...
Sistema de Banco de Dados
Usurios/Programadores
SGBD
Banco de dados
armazenados
Introduo...
Interao
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.
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.
Introduo...
Independncia dos Dados
Sistema de arquivos
Aplicativos
Dados
(arquivos)
O acesso/gerenciamento aos/dos
dados feito diretamente pelos
programas aplicativos.
Aplicativos
SGBD
Dados
(arquivos)
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.
Introduo...
Funes bsicas do Sist. Gerenc. de Banco de Dados
Construir ou carregar a
Base de Dados
Controle
Operacionais
Gerncia
de Dados
Processamento concorrente
e compartilhamento entre
usurios e programas, porm
mantendo todos os dados vlidos e consistentes.
SGBD
Administrador - DBA
Modelagem de
Dados
Projetistas de Aplicaes
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
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
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
Introduo...
Caractersticas de um SGBD
Espelhamento
Replicao
Clusterizao
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 )
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)
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
Introduo...
Tipos de Modelo de Dados
Modelos fsicos
Utilizados para descrever como os dados so fisicamente armazenados
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
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).
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.
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.
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.
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.
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
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).
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.
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
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.
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
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
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.
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
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
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.
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.
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.
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
Driver
Gerenciador
ODBC
Driver
ODBC 1
SGBD 1
Driver
ODBC 2
SGBD 2
Driver
ODBC N
SGBD N
Introduo...
Exemplo
ESCOLA
Professores
Cursos
Alunos
cdigo
pronturio
turma
nome
disciplina
curso
nome
turma
Disciplinas
Disciplinas
cdigo
Disciplinas
cdigo
professor
cdigo
professor
nome
professor
nome
nome
cdigo
nome
Notas
pronturio
curso
turma
disciplina
mdia