Buscar

Banco de Dados 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 56 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 56 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 56 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

BANCO DE DADOS
Tópicos Abordados:
ƒ Conceito sobre Banco de Dados e SGBD’s
ƒ Arquiteturas
ƒ Modelos de Dados
ƒ Tipos de Softwares Gerenciadores de B. D.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
2
SUMÁRIO
Introdução.................................................................................................03
1.0 – Banco de Dados...............................................................................04
2.0 – Sistema Gerenciador de Banco de Dados........................................04
2.1 – Modelo de Dados.................................................................05
2.2 – Tipos de Arquiteturas...........................................................07
2.3 – Capacidades do SGBD.........................................................08
3.0 – Arquiteturas de Banco de Dados......................................................09
3.1 – Aspectos Relevantes.............................................................10
3.2 – Vantagens dos Bancos de Dados..........................................11
3.3 – Linguagens de Base de Dados..............................................12
4.0 – O que é Modelo de Dados?..............................................................12
4.1 – Modelo Entidade Relacionamento.......................................12
4.2 – Entidades e Atributos...........................................................12
4.2.1 – Tipos de Atributos..............................................13
4.3 – Relacionamentos...................................................................15
4.4 – Entidade Fraca......................................................................19
4.5 – Modelo de Entidade Relacionamento Extendido.................20
4.5.1 – Especialização e Generalização...........................20
4.6 – Operações..............................................................................22
5.0 – Tipos de Sistemas Gerenciadores de Banco de Dados......................23
5.1 – dBase......................................................................................23
5.2 – MySQL..................................................................................25
5.3 – PostgreSQL ...........................................................................29
5.4 – Oracle.....................................................................................31
5.5 - Microsoft SQL Server.............................................................31
5.6 - Microsoft Access...................................................................32
5.7 - Data Warehouse.....................................................................34
5.7.1 – Metadado..............................................................37
5.7.2 - Data Mart.............................................................38
5.7.3 - Data Mining.........................................................43
6.0 – Alguns Conceitos Importantes...........................................................51
7.0 - Conclusão..........................................................................................55
8.0 - Bibliografia........................................................................................56
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
3
INTRODUÇÃO
Saber o significado de um Banco de Dados e que o SGBD é um sistema que o
gerencia não é saber o bastante, pois estamos falando de um grande volume de dados,
ou seja, informações que precisam ser armazenadas, acessadas, atualizadas por um
indefinido espaço de tempo, dando aos seus usuários agilidade e qualidade de resposta
no cruzamento das informações.
Esse armazenamento e gerenciamento surgiram para deixar de lado os primitivos
sistemas de arquivos que não conseguiam controlar os inúmeros processos e usuários
que faziam uso de seus pequenos recursos.
Atualmente os bancos de dados não impõem limites de armazenamento, em alguns
casos não necessita de muito hardware, nos proporciona segurança e até tem capacidade
de nos disponibilizar múltiplas visões dos dados.
Esses sistemas gerenciadores de arquivos seja ele “free” (gratuito) ou não, ambos
tem capacidade de nos trazer ferramentas necessárias para o gerenciamento de qualquer
tipo de informações armazenadas, independente de sua representação ou modelo pelo
qual as informações estão estruturadas.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
4
1.0 – Banco de Dados
O que é um Banco de Dados?
O termo Banco de Dados foi criado para indicar coleções organizadas de dados
armazenados em computadores digitais; utilizando um conceito, Banco de Dados ou
Bases de Dados são conjuntos de dados integrados com uma estrutura que organizam
informações. Sendo essas informações utilizadas normalmente para um mesmo fim. Um
banco de dados é usualmente mantido e acessado por meio de um software conhecido
como SGBD.
Estritamente falado, o termo Banco de Dados deve ser aplicado apenas aos dados,
enquanto o termo Sistema Gerenciador de Bancos de Dados deve ser aplicado ao
software com a capacidade de manipular bancos de dados de forma geral. Porém, é
comum misturar os dois conceitos.
2.0 – Sistema Gerenciador de Banco de Dados
O que é um SGBD?
Um sistema Gerenciador de Banco de Dados ou Sistema Gestor de Base de Dados
(SGBD), é um conjunto de programas responsáveis pelo gerenciamento de uma base de
dados. È um sistema extremamente complexo, responsável pela persistência,
organização e recuperação dos dados.
Historicamente, o primeiro Sistema Gerenciador de Banco de Dados comercial
surgiu no final de 1960 com base nos primitivos sistemas de arquivos disponíveis na
época, os quais não controlavam o acesso concorrente por vários usuários ou processos.
Os SGBDs evoluíram desses sistemas de arquivos de armazenamento em disco, criando
novas estruturas de dados com o objetivo de armazenar informações.
Com o tempo, os SGBD’s passaram a utilizar diferentes formas de representação, ou
modelos de dados, para descrever a estrutura das informações contidas em seus bancos
de dados.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
5
2.1 - Os modelos de dados mais utilizados pelos SGBD’s são:
Modelo Hierárquico
O modelo hierárquico foi o primeiro a ser reconhecido como um modelo de dados.
Seu desenvolvimento somente foi possível devido à consolidação dos discos de
armazenamento endereçáveis, pois esses discos possibilitaram a exploração de sua
estrutura de endereçamento físico para viabilizar a representação hierárquica das
informações. Nesse modelo de dados, os dados são estruturados em hierarquias ou
árvores. Os nós das hierarquias contêm ocorrências de registros, onde cada registro é
uma coleção de campos (atributos), cada um contendo apenas uma informação. O
registro da hierarquia que precede a outros é o registro-pai, os outros são chamados de
registros-filhos.
Modelo em Rede
O modelo em rede surgiu como uma extensão ao modelo hierárquico, eliminando o
conceito de hierarquia e permitindo que um mesmo registro estivesse envolvido em
várias associações.
Esse modelo permite que várias tabelas sejam usadas simultaneamente através do
uso de apontadores (ou referências). Algumas colunas contêm apontadores para outras
tabelas ao invés de dados. Assim, as tabelas são ligadas por referências, o que pode ser
visto como uma rede.
O gerenciador Data Base Task Group (DBTG) da CODASYL (Committee on Data
Systems and Languages) estabeleceu uma norma para este modelo de banco de dados,
com linguagem própria para definição e manipulação de dados. Os dados tinham uma
forma limitada de independência física. A única garantia era que o sistema deveria
recuperaros dados para as aplicações como se eles estivessem armazenados na maneira
indicada nos esquemas. Os geradores de relatórios da CODASYL também definiram
sintaxes para dois aspectos chaves dos sistemas gerenciadores de dados: concorrência e
segurança. O mecanismo de segurança fornecia uma facilidade na qual parte do banco
de dados (ou área) pudesse ser bloqueada para prevenir acessos simultâneos, quando
necessário. A sintaxe da segurança permitia que uma senha fosse associada a cada
objeto descrito no esquema. Ao contrário do Modelo Hierárquico, em que qualquer
acesso aos dados passa pela raiz, o modelo em rede possibilita acesso a qualquer nó da
rede sem passar pela raiz. No Modelo em Rede o sistema comercial mais divulgado é o
CAIDMS da Computer Associates. O diagrama para representar os conceitos do modelo
em redes consiste em dois componentes básicos: Caixas, que correspondem aos
registros e Linhas, que correspondem às associações.
Modelo Relacional
O modelo relacional é uma teoria matemática desenvolvida por Edgar Frank Codd
que surgiu na década de 1970, para descrever como as bases de dados devem funcionar.
Porém, a implementação do modelo exigia pesquisas e só na década de 1980 eles iam
começar a ganhar o mercado, se estabilizando totalmente como líder do mercado a partir
da década de 1990.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
6
Embora esta teoria seja a base para o software de bases de dados relacionais, muito
poucos sistemas de gestão de bases de dados seguem o modelo de forma restrita e todos
têm funcionalidades que violam a teoria, desta forma variando a complexidade e o
poder. A discussão se esses bancos de dados merecem ser chamados de relacional ficou
esgotada com tempo, com a evolução dos bancos existente.
De acordo com a arquitetura ANSI / SPARC em três níveis, os bancos de dados
relacionais possuem três camadas: um conjunto de visões compondo o nível externo;
uma coleção de estruturas de dados, a saber relações, compondo o nível conceitual; um
conjunto de índices ou métodos de acesso a dados armazenados, compondo o nível
interno.
A teoria relacional de banco de dados define um conjunto de operações lógicas, a
saber a álgebra e o cálculo relacionais. Essas operações são a base da linguagem SQL.
Um dos pontos fortes do modelo relacional de banco de dados é a possibilidade de
definição de um conjunto de restrições de integridade. Estas definem os conjuntos de
estados e mudanças de estado consistentes do banco de dados, determinando os valores
que podem e os que não podem ser armazenados.
Diferentemente dos bancos de dados em rede, nos bancos de dados relacionais os
relacionamentos entre as tabelas não são codificados explicitamente na sua definição.
Em vez disso, se fazem implicitamente pela a presença de atributos chave. Como
resultado, bancos de dados relacionais podem ser reorganizados e utilizados de maneira
flexível e de formas não previstas pelos projetistas originais. Por causa dessa
flexibilidade, muitos bancos de dados são baseados no modelo relacional, embora
imperfeitamente.
O modelo relacional apareceu devido às seguintes necessidades: aumentar a
independência de dados nos sistemas gerenciadores de banco de dados; prover um
conjunto de funções apoiadas em álgebra relacional para armazenamento e recuperação
de dados. Modelo que revelou-se ser o mais flexível e adequado ao solucionar os vários
problemas que se colocam no nível da concepção e implementação da base de dados. A
estrutura fundamental do modelo relacional é a relação (tabela). Uma relação é
constituída por um ou mais atributos (campos) que traduzem o tipo de dados a
armazenar. Cada instância do esquema (linha) é chamada de tupla (registro). O modelo
relacional não tem caminhos pré-definidos para se fazer acesso aos dados como nos
modelos que o precederam. O modelo relacional implementa estruturas de dados
organizadas em relações. Porém, para trabalhar com essas tabelas, algumas restrições
precisaram ser impostas para evitar aspectos indesejáveis, como: Repetição de
informação, incapacidade de representar parte da informação e perda de informação.
Essas restrições são: integridade referencial, chaves e integridade de junções de
relações.
Modelo Orientado a Objetos
Os bancos de dados orientados a objeto começaram a se tornar comercialmente
viáveis em meados de 1980. A motivação para seu surgimento está em função dos
limites de armazenamento e representação semântica impostas no modelo relacional.
Alguns exemplos são os sistemas de informações geográficas (SIG), os sistemas CAD e
CAM, que são mais facilmente construídos usando tipos complexos de dados. A
habilidade para criar os tipos de dados necessários é uma característica das linguagens
de programação orientadas a objetos.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
7
Contudo, estes sistemas necessitam guardar representações das estruturas de dados
que utilizam no armazenamento permanente. A estrutura padrão para os bancos de
dados orientados a objetos foi feita pelo Object Database Management Group (ODMG).
Esse grupo é formado por representantes dos principais fabricantes de banco de
dados orientados a objeto disponíveis comercialmente. Membros do grupo têm o
compromisso de incorporar o padrão em seus produtos. O termo Modelo Orientado a
Objetos é usado para documentar o padrão que contém a descrição geral das facilidades
de um conjunto de linguagens de programação orientadas a objetos e a biblioteca de
classes que pode formar a base para o Sistema de Banco de Dados. Quando os bancos
de dados orientados a objetos foram introduzidos, algumas das falhas perceptíveis do
modelo relacional pareceram ter sido solucionadas com esta tecnologia e acreditava-se
que tais bancos de dados ganhariam grande parcela do mercado. Hoje, porém, acredita-
se que os Bancos de Dados Orientados a Objetos serão usados em aplicações
especializadas, enquanto os sistemas relacionais continuarão a sustentar os negócios
tradicionais, onde as estruturas de dados baseadas em relações são suficientes.
2.2 - Tipos de arquiteturas de SGBDs
Arquitetura Centralizada
Na arquitetura centralizada, existe um computador com grande capacidade de
processamento, o qual é o hospedeiro do SGBD e emuladores para os vários aplicativos.
Esta arquitetura tem como principal vantagem a de permitir que muitos usuários
manipulem grande volume de dados. Sua principal desvantagem está no seu alto custo,
pois exige ambiente especial para mainframes e soluções centralizadas.
Arquitetura do tipo Sistemas de Computador Pessoal – PC
Os computadores pessoais trabalham em sistema stand-alone, ou seja, fazem seus
processamentos sozinhos. No começo esse processamento era bastante limitado, porém,
com a evolução do hardware, tem-se hoje PCs com grande capacidade de
processamento. Eles utilizam o padrão Xbase e quando se trata de SGBDs, funcionam
como hospedeiros e terminais. Desta maneira, possuem um único aplicativo a ser
executado na máquina. A principal vantagem desta arquitetura é a simplicidade.
Arquitetura Cliente-Servidor
Na arquitetura Cliente-Servidor, o cliente executa as tarefas do aplicativo, ou seja,
fornece a interface do usuário (tela, e processamento de entrada e saída). O servidor
executa as consultas no DBMS e retorna os resultados ao cliente. Apesar de ser uma
arquitetura bastante popular, são necessárias soluções sofisticadas de software que
possibilitem: o tratamento de transações, as confirmações de transações, desfazer
transações, linguagens de consultas e gatilhos (triggers). A principal vantagem desta
arquitetura é a divisão do processamento entre dois sistemas, o que reduz o tráfego de
dados na rede.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-75578
Banco de Dados Distribuídos (N camadas)
Nesta arquitetura, a informação está distribuída em diversos servidores. Cada
servidor atua como no sistema cliente-servidor, porém as consultas oriundas dos
aplicativos são feitas para qualquer servidor indistintamente. Caso a informação
solicitada seja mantida por outro servidor ou servidores, o sistema encarrega-se de obter
a informação necessária, de maneira transparente para o aplicativo, que passa a atuar
consultando a rede, independente de conhecer seus servidores. Exemplos típicos são as
bases de dados corporativas, em que o volume de informação é muito grande e, por isso,
deve ser distribuído em diversos servidores. Porém, não é dependente de aspectos
lógicos de carga de acesso aos dados, ou base de dados fracamente acopladas, em que
uma informação solicitada vai sendo coletada numa propagação da consulta numa
cadeia de servidores. A característica básica é a existência de diversos programas
aplicativos consultando a rede para acessar os dados necessários, porém, sem o
conhecimento explícito de quais servidores dispõem desses dados.
2.3 - Capacidades do SGBD
Controle de Redundância
No processamento tradicional de arquivos, muitos grupos de usuários mantêm seus
próprios arquivos para manipular suas aplicações de processamento, que pode provocar
o armazenamento de informações redundantes, causando, duplicação de esforços,
desperdício de espaço, inconsistência, ou seja, alteração em alguns arquivos e em outros
não, ou em todos os arquivos, porém, de maneira independente.
Compartilhamento de Dados
SGBD’s multiusuários devem fornecer controle de concorrência para assegurar que
atualizações simultâneas resultem em modificações corretas. Um outro mecanismo que
permite a noção de compartilhamento de dados em um SGBD multiusuário é a
facilidade de definir visões de usuário, que é usada para especificar a porção da base de
dados que é de interesse para um grupo particular de usuários.
Restrições de Acesso Multiusuário
Quando múltiplos usuários compartilham uma base de dados, é comum que alguns
usuários não autorizados não tenham acesso a todas as informações da base de dados.
Por exemplo, os dados financeiros são freqüentemente considerados confidenciais e,
desse modo, somente pessoas autorizadas devem ter acesso. Além disso, pode ser
permitido a alguns usuários, apenas a recuperação dos dados. Já, para outros, são
permitidas a recuperação e a modificação. Assim, o tipo de operação de acesso -
recuperação ou modificação - pode também ser controlado. Tipicamente, usuários e
grupos de usuários recebem uma conta protegida por palavras chaves, que é usada para
se obter acesso à base de dados, o que significa dizer que contas diferentes possuem
restrições de acesso diferentes. Um SGBD deve fornecer um subsistema de autorização
e segurança, que é usado pelo DBA para criar contas e especificar restrições nas contas.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
9
O SGBD deve então obrigar estas restrições automaticamente. Note que um controle
similar pode ser aplicado ao software do SGBD.
Fornecimento de Múltiplas Interfaces
Devido aos vários tipos de usuários, com variados níveis de conhecimento técnico,
um SGBD deve fornecer uma variedade de interfaces para atendê-los. Os tipos de
interfaces incluem linguagens de consulta para usuários ocasionais, interfaces de
linguagem de programação para programadores de aplicações, formulários e interfaces
dirigidas por menus para usuários comuns.
Representação de Relacionamento Complexo entre Dados
Uma base de dados pode possuir uma variedade de dados que estão inter-
relacionados de muitas maneiras. Um SGBD deve ter a capacidade de representar uma
variedade de relacionamentos complexos entre dados, bem como recuperar e modificar
dados relacionados de maneira fácil e eficiente.
Reforçar Restrições de Integridade
Muitas aplicações de base de dados terão certas restrições de integridade de dados.
A forma mais elementar de restrição de integridade é a especificação do tipo de dado de
cada item. Existem tipos de restrições mais complexas.
Um tipo de restrição que ocorre freqüentemente é a especificação de que um registro
de um arquivo deve estar relacionado a registros de outros arquivos. Um outro tipo de
restrição especifica a unicidade sobre itens de dados. Estas restrições são derivadas da
semântica dos dados e do mini-mundo que eles representam. Algumas restrições podem
ser especificadas ao SGBD e automaticamente executadas. Outras restrições podem ser
verificadas pelos programas de atualização ou no tempo da entrada de dados. Note que
um item de dados pode ser “inserido” erroneamente, mas ainda atender as restrições de
integridade.
Fornecer Backup e Restauração
Um SGBD deve fornecer recursos para restauração caso ocorram falhas de hardware
ou software. O subsistema de backup e restauração do SGBD é o responsável pela
restauração. Por exemplo, se o sistema de computador falhar no meio da execução de
um programa que esteja realizando uma alteração complexa na base de dados, o
subsistema de restauração é responsável por assegurar que a base de dados seja
restaurada ao estado anterior ao início da execução do programa. Alternativamente, o
subsistema de restauração poderia assegurar que o programa seja reexecutado a partir do
ponto em que havia sido interrompido.
3.0 - Arquiteturas de Banco de Dados
As primeiras arquiteturas usavam mainframes para executar o processamento
principal e de todas as funções do sistema, incluindo os programas aplicativos,
programas de interface com o usuário, bem como a funcionalidade dos SGBDs. Esta é a
razão pela qual a maioria dos usuários fazia acesso aos sistemas via terminais que não
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
10
possuíam poder de processamento, apenas a capacidade de visualização. Todos os
processamentos eram feitos remotamente, apenas as informações a serem visualizadas e
os controles eram enviados do mainframe para os terminais de visualização, conectados
a ele por redes de comunicação. Como os preços do hardware foram decrescendo,
muitos usuários trocaram seus terminais por computadores pessoais (PC) e estações de
trabalho. No começo os SGBDs usavam esses computadores da mesma maneira que
usavam os terminais, ou seja, o SGBD era centralizado e toda sua funcionalidade,
execução de programas aplicativos e processamento da interface do usuário eram
executados em apenas uma máquina. Gradualmente, os SGBDs começaram a explorar a
disponibilidade do poder de processamento no lado do usuário, o que levou à
arquitetura cliente-servidor.
A arquitetura cliente-servidor foi desenvolvida para dividir ambientes de
computação onde um grande número de PCs, estações de trabalho, servidores de
arquivos, impressoras, servidores de banco de dados e outros equipamentos são
conectados juntos por uma rede. A idéia é definir servidores especializados, tais como
servidor de arquivos, que mantém os arquivos de máquinas clientes, ou servidores de
impressão que podem estar conectados a várias impressoras; assim, quando se desejar
imprimir algo, todas as requisições de impressão são enviadas a este servidor. As
máquinas clientes disponibilizam para o usuário as interfaces apropriadas para utilizar
esses servidores, bem como poder de processamento para executar aplicações locais.
Esta arquitetura se tornou muito popular por algumas razões. Primeiro, a facilidade de
implementação dada a clara separação das funcionalidades e dos servidores.
Segundo, um servidor é inteligentemente utilizado porque as tarefas mais simples
são delegadas às máquinas clientes mais baratas. Terceiro, o usuário pode executar uma
interface gráfica que lhe é familiar, ao invés de usar a interface do servidor. Desta
maneira, a arquitetura cliente-servidor foi incorporada aos SGBDscomerciais.
Diferentes técnicas foram propostas para se implementar essa arquitetura, sendo que a
mais adotada pelos Sistemas
Gerenciadores de Banco de Dados Relacionais (SGBDRs) comerciais é a inclusão
da funcionalidade de um SGBD centralizado no lado do servidor. As consultas e a
funcionalidade transacional permanecem no servidor, sendo que este é chamado de
servidor de consulta ou servidor de transação. É assim que um servidor SQL é fornecido
aos clientes. Cada cliente tem que formular suas consultas SQL, prover a interface do
usuário e as funções de interface usando uma linguagem de programação. O cliente
pode também se referir a um dicionário de dados o qual inclui informações sobre a
distribuição dos dados em vários servidores SQL, bem como os módulos para a
decomposição de uma consulta global em um número de consultas locais que podem ser
executadas em vários sítios. Comumente o servidor SQL também é chamado de back-
end machine e o cliente de front-end machine. Como SQL provê uma linguagem padrão
para o SGBDRs, esta criou o ponto de divisão lógica entre o cliente e o servidor.
3.1 - Aspectos relevantes
É necessário considerar alguns aspectos relevantes para atingir a eficiência e a
eficácia dos sistemas informatizados desenvolvidos, a fim de atender seus usuários nos
mais variados domínios de aplicação: automação de escritórios, sistemas de apoio a
decisões, controle de reserva de recursos, controle e planejamento de produção,
alocação e estoque de recursos, entre outros. Tais aspectos são:
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
11
o Os projetos Lógico e Funcional do Banco de Dados devem ser capazes de prever
o volume de informações armazenadas a curto, médio e longo prazo. Os projetos devem
ter uma grande capacidade de adaptação para os três casos mencionados;
o Deve-se ter generalidade e alto grau de abstração de dados, possibilitando
confiabilidade e eficiência no armazenamento dos dados e permitindo a utilização de
diferentes tipos de gerenciadores de dados através de linguagens de consultas
padronizadas;
o Projeto de uma interface ágil e com uma "rampa ascendente" para propiciar
aprendizado suave ao usuário, no intuito de minimizar o esforço cognitvo;
o Implementação de um projeto de interface compatível com múltiplas
plataformas (UNIX, Windows NT, Windows Workgroup, etc);
o Independência de Implementação da Interface em relação aos SGBDs que darão
condições às operações de armazenamento de informações (ORACLE, SYSBASE,
INFORMIX, PADRÃO XBASE, etc).
o Conversão e mapeamento da diferença semântica entre os paradigmas utilizados
no desenvolvimento de interfaces (Imperativo (ou procedural), Orientado a Objeto,
Orientado a evento), servidores de dados (Relacional) e programação dos aplicativos
(Imperativo, Orientado a Objetos).
3.2 - Vantagens dos Bancos de Dados
o Potencial para obrigar a Padronização
A abordagem de base de dados permite que o DBA defina e obrigue a padronização
entre os usuários da base de dados em grandes organizações. Isso facilita a comunicação
e a cooperação entre vários departamentos, projetos e usuários. Padrões podem ser
definidos para formatos de nomes, elementos de dados, telas, relatórios, terminologias,
etc. O DBA pode obrigar a padronização em um ambiente de base de dados
centralizado, muito mais facilmente que em um ambiente onde cada usuário ou grupo
tem o controle de seus próprios arquivos e programas de aplicação.
o Flexibilidade
Mudanças na estrutura de uma base de dados podem ser necessárias devido a
mudanças nos requisitos. Por exemplo, um novo grupo de usuários pode surgir com
necessidade de informações adicionais, ainda não disponíveis na base de dados. Alguns
SGBD’s permitem que tais mudanças na estrutura da base de dados sejam realizadas
sem afetar a maioria dos programas de aplicações existentes.
o Redução do Tempo de Desenvolvimento de Aplicações
Uma das principais características de venda da abordagem de base de dados é o
tempo reduzido para o desenvolvimento de novas aplicações, como a recuperação de
certos dados da base de dados para a impressão de novos relatórios. Projetar e
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
12
implementar uma nova base de dados pode tomar mais tempo do que escrever uma
simples aplicação de arquivos especializada. Porém, uma vez que a base de dados esteja
em uso, geralmente o tempo para se criar novas aplicações, usando-se os recursos de um
SGBD, é bastante reduzido. O tempo para se desenvolver uma nova aplicação em um
SGBD é estimado em 1/4 a 1/6 do que o tempo de desenvolvimento, usando-se apenas o
sistema de arquivos tradicional, devido às facilidades de interfaces disponíveis em um
SGBD.
o Disponibilidade de Informações Atualizadas
Tão logo um usuário modifique uma base de dados, todos os outros usuários
“sentem” imediatamente esta modificação. Esta disponibilidade de informações
atualizadas é essencial para muitas aplicações, tais como sistemas de reservas de
passagens aéreas ou bases de dados bancárias. Isso somente é possível devido ao
subsistema de controle de concorrência e restauração do SGBD.
o Economia de Escala
A abordagem de SGBD’s permite a consolidação de dados e de aplicações
reduzindo-se, desse modo, o desperdício em atividades redundantes de processamento
em diferentes projetos ou departamentos. Isto possibilita à organização como um todo
investir em processadores mais poderosos, e periféricos de armazenamento e de
comunicação mais eficientes.
3.3 - Linguagens de Base de Dados
o Linguagem de Definição de Dados (“Data Definition Language” - DDL): é
utilizada pelo DBA e projetistas de base de dados para definir seus esquemas. O SGBD
tem um compilador para processar descrições em DDL e construir a descrição do
esquema armazenado no catálogo;
o Linguagem de Manipulação de Dados (“Data Manipulation Language” - DML):
uma vez que o esquema é compilado e a base de dados preenchida com dados, os
usuários têm que ter algum modo de manipular os dados. Manipulações comuns como
recuperação, inserção, remoção e modificação de dados são realizadas pela DML.
4.0 - O que é Modelo de Dados?
É uma imagem gráfica de toda a base de informações necessárias para um
determinado empreendimento.
4.1 - Modelo Entidade Relacionamento
O Modelo Entidade-Relacionamento é um modelo de dados conceitual de alto-nível,
ou seja, seus conceitos foram projetados para serem compreensíveis a usuários,
descartando detalhes de como os dados são armazenados; modelo proposto por Peter
Chain em 1976. Sua principal finalidade é identificar entidades de dados e seus
relacionamentos.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
13
4.2 - Entidades e atributos
Uma entidade representa um objeto do mundo real que possui existência própria e
cujas características ou propriedades desejamos armazenar. O objeto representado pode
ser um objeto concreto (uma pessoa, um carro, um livro, etc) ou abstrato (um
departamento, um projeto, um curso). As características do objeto que desejamos
armazenar damos o nome de atributos. Cada atributo de uma entidade possui um nome e
um valor especifico.
ð Representação de uma entidade.
Um conjunto de entidades inclui um número qualquer de entidades similares, ou
entidades do mesmo tipo. Por entidades do mesmo tipo entenda-se entidades que
possuem os mesmos atributos, cada um deles com um valor próprio. Conjuntos de
entidades são representados em um diagrama entidade-relacionamento por meio de
retângulos contendo o nome do tipo de entidade no seu interior e arestas ligando esses
retângulos aos atributos das entidades. Os atributos aparecem, normalmente, dentro de
ovais.
ð Na representação acima temos um conjunto de Entidades e seus atributos.4.2.1 - Tipos de Atributos
Os atributos no Modelo Entidade-Relacionamento podem ser:
o Atributos Simples ou Atômicos
São os atributos que não são divisíveis.
o Atributos compostos
Podem ser divididos em várias partes (sub-atributos) com significados
independentes. O atributo Endereço de um funcionário, por exemplo, pode ser dividido
em Rua, Número e Bairro.
NOME
FUNCIONÁRIO
TELEFONE
ENDEREÇO
NOME
FUNCIONÁRIO
TELEFONE
ENDEREÇO
NÚMERO
BAIRRO
RUA
EMPREGADO
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
14
ð Representação dos atributos compostos do endereço de um funcionário.
o Atributos Monovalorados
São aqueles que possuem apenas um valor para aquela entidade.
o Atributos multivalorados
Podem assumir diversos valores. Como por exemplo o atributo Telefone de um
funcionário já que pode assumir diversos valores.
ð Atributos multivalorados são representados graficamente por uma oval de
bordas duplas.
o Atributos derivados:
Em alguns casos, dois ou mais atributos estão relacionados, por exemplo, a idade e
data de nascimento de um funcionário. Para um determinado funcionário, podemos
determinar a sua idade por meio da data de nascimento e da data atual. Atributos como a
idade são chamados de atributos derivados, ao contrário dos atributos que chamamos de
armazenados.
NOME
FUNCIONÁRIO
TELEFONE
ENDEREÇO
NÚMERO
BAIRRO
RUA
NOME
FUNCIONÁRIO
TELEFONE
ENDEREÇO
NÚMERO
BAIRRO
RUA
D. NASCIMENTO
IDADE
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
15
ð Atributos derivados são representados graficamente por uma oval de bordas
pontilhadas.
Os valores correspondentes dos atributos de duas entidades não podem ser todos
iguais. A lista de atributos de um conjunto de entidades deve ser suficiente para
caracterizar completamente qualquer entidade do conjunto. Essas considerações nos
levam ao conceito de atributo-chave:
o Atributo-chave
Tipo de atributo cujos valores são distintos para cada entidade em um conjunto de
entidades. O RG de um funcionário, por exemplo, constitui um atributo-chave para o
tipo de entidades FUNCIONÁRIO. Algumas vezes, um conjunto de atributos pode
formar uma chave. Mais do que isso, alguns tipos de entidades podem ter mais que um
atributo-chave.
ð O nome do atributo chave de um tipo de entidade geralmente aparece
sublinhado.
ð No gráfico temos a representação de dois atributos-chave para o conjunto de
entidade funcionário; sendo um composto(RG) e outro simples(CPF).
4.3 – Relacionamentos
Ao definir as entidades componentes de um diagrama entidade relacionamento,
nota-se vários relacionamentos implícitos entre elas. Sempre que um atributo de um tipo
de entidade refere-se a um outro tipo de entidade, temos um relacionamento entre as
entidades.
Um conjunto de relacionamentos inclui um número qualquer de relacionamentos
similares, ou relacionamentos do mesmo tipo. Por relacionamentos do mesmo tipo
entende-se relacionamentos que associam os mesmos tipos de entidades.
NOME
FUNCIONÁRIO
TELEFONE
ENDEREÇO
NÚMERO
BAIRRO
RUA
RG
Nº DO RG
ÓRGÃO EXP.
CPF
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
16
ð Na representação acima temos o relacionamento entre o funcionário e o
departamento no qual ele trabalha.
ð Conjunto de relacionamentos são representados por meio de losangos, contendo
o nome do tipo de relacionamento, conectados aos conjuntos de entidades cujos
elementos ele associa.
ƒ Os relacionamentos estão associados às definições de grau, atributos e papéis em
um relacionamento.
o Grau de um relacionamento
O grau de um relacionamento corresponde ao número de diferentes tipos de
entidades que dele participam. Os relacionamentos mais comuns são aqueles de grau
dois (relacionamentos binários). O tipo de relacionamento Trabalha NO, por exemplo,
possui grau dois.
ð Um exemplo de tipo de relacionamento ternário é FORNECE, que associa os
tipos de entidades FORNECEDOR, PEÇA e PROJETO.
PEÇA
FORNECEDOR FORNECE PROJETO
FUNCIONÁRIO TRABALHA NO DEPARTAMENTO
ENDEREÇO
NÚMERO
NOMETELEFONE
NOME
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
17
o Atributos de um relacionamento
Assim como no caso das entidades, relacionamentos também podem possuir certos
atributos. O número de horas que um funcionário trabalha em um projeto, por exemplo,
pode ser visto como um atributo do relacionamento DESENVOLVE.
o Papéis em um relacionamento
Um relacionamento pode associar entidades do mesmo tipo (relacionamentos
recursivos ou auto-relacionamentos). Nesse caso, é necessário o conceito de papel da
entidade no relacionamento. Ele corresponde a função que uma entidade cumpre dentro
de um relacionamento. O relacionamento SUPERVISIONA, corresponde a um
relacionamento recursivo que associa duas entidades de funcionários, uma no papel de
supervisor e outra no papel de supervisionado.
ð Graficamente, o papel das entidades encontra-se representado nas arestas
ligando o relacionamento ao conjunto de entidades.
ƒ Relacionamentos normalmente obedecem algumas restrições determinadas pela
aplicação sendo projetada. São elas:
FUNCIONÁRIO DESENVOLVE PROJETO
HORAS
FUNCIONÁRIO SUPERVISIONADO
SUPERVISOR
SUPERVISIONADO
ENDEREÇO
TELEFONE
NOME
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
18
o Cardinalidade de um relacionamento(Binário)
Determina o número de relacionamentos dos quais uma entidade pode participar. O
relacionamento do tipo TRABALHA NO, por exemplo, possui cardinalidade N:1. Ou
seja, 1 departamento está associado com (ou emprega) vários funcionários, mas um
funcionário pode trabalhar em um único departamento. Além da N:1, relacionamentos
podem possuir cardinalidades 1:1, 1:N e N:M. Um exemplo de relacionamento 1:1 é o
GERENCIA, o qual relaciona um (único) departamento com o (único) funcionário que
o gerencia. Um exemplo de relacionamento M:N é o DESENVOLVE, que associa
vários funcionários a vários projetos.
ð Cardinalidades são representadas graficamente pelos número 1, M e N junto as
arestas que relacionam os conjuntos de entidades.
ð Representação gráfica de um relacionamento de cardinalidade 1:1.
o Restrição de Participação
Determina se a existência de uma entidade está condicionada ou não ao seu
relacionamento com outra entidade. Existem dois tipos de restrições de participação:
total e parcial. Na primeira, uma entidade existe somente quando ela se relaciona com
outra entidade via um relacionamento. Se a política da empresa determina, por exemplo,
que todo funcionário deve trabalhar em um departamento, então a participação de
FUNCIONÁRIO em TRABALHA NO é total. Caso contrário se a existência de uma
entidade independe do fato dela estar relacionada com outra, tem-se uma restrição de
participação parcial. A participação de FUNCIONÁRIO em DESENVOLVE, por
exemplo, é parcial. Ou seja, nem todo funcionário precisa desenvolver um projeto
dentro da empresa.
FUNCIONÁRIO GERENCIA DEPARTAMENTO
ENDEREÇO
NÚMERO
NOMETELEFONE
NOME
1 1
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
19
ð A restrição de participação total é representada graficamente por meio de linhas
duplas ligando o conjunto de entidades ao conjunto de relacionamentos. Já a
participação parcial é representada por meio de linhas simples.
4.4 - Entidade Fraca
Tipo de entidade que depende de outra entidade para existir.
Tipos de entidades que não possuem atributos chaves são denominados de fracas,
diferente dos tipos de entidadesque possuem (ao menos um) atributo-chave,
denominadas entidades fortes (ou regulares). Entidades pertencentes a um tipo de
entidade fraca são identificadas por seus atributos e suas relações com entidades
especificas de um outro tipo de entidade.
Esse último tipo de entidade é dito proprietário ou identificante. Um tipo de
entidade fraca sempre atende a restrição de participação total no seu relacionamento
com o tipo de entidade identificante. Isso porque uma entidade fraca não pode ser
identificada unicamente sem uma entidade forte correspondente.
Considere como exemplo o tipo de entidade DEPENDENTE que se relaciona com
FUNCIONÁRIO. Ela é utilizada na modelagem dos dependentes de cada funcionário
via um relacionamento 1:N. Os atributos de DEPENDENTE são Nome e Parentesco
(com o funcionário). Dois dependentes de dois funcionários distintos podem ter o
mesmo nome e relacionamento, mas ainda ser entidades distintas. Eles são identificados
como tal apos a determinação da entidade funcionário em particular com o qual cada
dependente esta relacionado.
Um tipo de entidade fraca tem, normalmente, uma chave parcial. Ela corresponde ao
conjunto de atributos que pode identificar unicamente as entidades fracas relacionadas a
mesma entidade proprietária. No exemplo acima, o atributo Nome do dependente é
chave parcial.
Entidades fracas são representadas por meio de retângulos com bordas duplas.
Relacionamentos envolvendo entidades fracas são representadas por meio de losangos
com bordas duplas. E, normalmente, chaves parciais são sublinhadas com linhas
pontilhadas.
FUNCIONÁRIO TRABALHA
NO
DEPARTAMENTO
ENDEREÇO
NÚMERO
NOMETELEFONE
NOME
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
20
4.5 - Modelo Entidade Relacionamento Extendido
O modelo ER extendido inclui todos os conceitos do modelo Entidade
Relacionamento mais os de subclasse / superclasse e especialização / generalização
relacionados.
Em muitos casos, um conjunto de entidades inclui vários subconjuntos que
necessitam ser representados explicitamente dada a significância de cada um deles na
aplicação sendo desenvolvida. As entidades do tipo FUNCIONÁRIO, por exemplo,
podem ser agrupadas em SECRETÁRIO, ENGENHEIRO, TÉCNICO, etc.
O conjunto de entidades em cada um desses grupos corresponde a um subconjunto
das entidades em FUNCIONÁRIO. Em outras palavras, toda entidade em um desses
grupos também é um funcionário. Cada um desses grupos é chamado de subclasse do
tipo de entidade FUNCIONÁRIO. O tipo de entidade FUNCIONÁRIO, por sua vez, é
dito superclasse de cada uma das subclasses. Uma entidade da subclasse e da
superclasse representam a mesma entidade do mundo real. Uma entidade “João
Fernando" do tipo SECRETÁRIO, por exemplo, é também o funcionário “João
Fernando". Uma entidade não pode existir na base de dados como sendo membro
apenas de uma subclasse. Entretanto, não é necessário que toda entidade em uma
superclasse seja membro de alguma subclasse. Vale observar que uma entidade membro
de uma subclasse herda todos os atributos da entidade membro correspondente da
superclasse.
4.5.1 - Especialização e Generalização
Especialização é o processo de definir um conjunto de subclasses de um tipo de
entidade. O conjunto de subclasses que formam uma especialização é definida com base
em alguma(s) característica(s) que distingue as entidades da superclasse. O conjunto de
subclasses SECRETÁRIO, ENGENHEIRO e TÉCNICO, por exemplo, é uma
especialização da superclasse FUNCIONÁRIO onde a diferenciação entre os
funcionários faz-se por meio do tipo de emprego de cada entidade.
FUNCIONÁRIO POSSUI DEPENDENTES
ENDEREÇO
PARENTESCO
TELEFONE
NOME
NOME
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
21
Uma especialização é representada diagramaticamente por meio de linhas ligando as
subclasses que definem a especialização a um circulo que, por sua vez, esta ligado por
uma linha à superclasse. Além disso, tem-se o símbolo de contido em cada uma das
linhas que conecta as subclasses à superclasse indicando a "direção" da especialização.
Atributos que se aplicam somente a entidades de uma subclasse em particular
encontram-se associados aos retângulos representando aquela subclasse. Esses atributos
são chamados de atributos específicos da classe. Similarmente, uma subclasse pode
participar de relacionamentos específicos. É o caso, por exemplo, de técnicos que
ministram cursos.
O processo inverso ao da especialização, ou seja, o processo onde suprimimos as
diferenças entre vários tipos de entidades, identificamos suas características em comum
e as generalizamos em uma única superclasse é chamado de generalização. Por
exemplo, os tipos de entidades CARRO DE PASSEIO e CAMINHÃO podem ser
generalizados no tipo de entidade VEÍCULOS.
ð Representação de uma especialização de Funcionário.
NOME
FUNCIONÁRIO
TELEFONE
ENDEREÇO
NÚMERO
BAIRRO
RUA
CPF
SECRETÁRIA ENGENHEIROTÉCNICO
DATA NASC. TIPO
GRAU ESCOLAR
MINISTRA
CURSO
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
22
4.6 – Operações:
Exemplos de algumas operações para atualização de bases de dados relacionais:
o Insert
A operação Insert prove uma lista de valores de atributos de uma nova tupla a ser
inserida em uma relação.
Exemplo: Insert <José, 68760317502, 09/09/1979, 2> em FUNCIONÁRIO.
o Delete
A operação Delete executa a remoção de uma ou mais tuplas especificadas por meio
de condições associadas a determinados atributos da relação.
Exemplo: Delete a tupla de FUNCIONÁRIO com CPF = '68760317502’.
o Update
A operação Update modifica os valores de um ou mais atributos de uma tupla de
uma certa relação. Aqui também a tupla é especificada por meio de condições
associadas a determinados atributos da relação.
Exemplo: Update o CPF da tupla de FUNCIONÁRIO com CPF = '68760317502'
para '79871428613'.
Cada uma das três operações acima pode violar uma ou mais restrições de
integridade. A operação Insert, por exemplo, pode violar quatro restrições integridade
(de domínio, de chave, de integridade e de integridade referencial). Quando isso
ocorre, é comum rejeitar a inserção da nova tupla. Com relação a operação Delete, ela
pode violar a restrição de integridade referencial. Quando isso ocorre, ou a operação de
remoção é rejeitada ou propagada por meio da remoção das tuplas que referenciam a
tupla inicialmente removida.
Assim como a Insert, a operação Update também pode violar as quatro restrições de
integridade citadas.
5.0 - Tipos de Sistemas Gerenciadores de Banco de Dados
5.1 - dBASE
dBASE foi o primeiro SGBD largamente utilizado industrialmente, pelo Apple II,
Apple Macintosh e PC's IBM para DOS, onde se tornou um dos softwares mais
vendidos durante alguns anos. O dBASE nunca conseguiu migrar com sucesso para a
plataforma Microsoft Windows, e foi, em alguns casos, substituído por novos produtos,
como Paradox, Clipper, FoxPro e Microsoft Access. dBase foi vendido para a Borland
em 1991, que vendeu os direitos da linha de produtos, em 1999, para a recém-formada
dBASE Inc.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
23
A partir de meados dos anos oitenta, muitas outras companhias produziram seus
próprios "dialetos" ou variações do produto e da linguagem. Entre esses, estão: FoxPro
(atual Visual FoxPro), Arago, Force, Recital, dbFast, dbXL, QuickSilver, Clipper,
xBase++, FlagShip e Harbour. Todos foram chamados de xBase.
O formato de arquivo do dBase, o DBF, é muito usado por diversos aplicativos que
precisam somente de um formato para armazenar seus dados estruturadamente.
A licença do dBase foi entregue aos usuários com a validade de 50 anos,
prevenindo-secontra a improvável chance de um usuário utilizar sua cópia do dBase
por um extenso período de tempo.
ƒ Origens
O desenvolvedor original do dBase foi Wayne Ratliff. Em 1978, enquanto
trabalhava no Jet Propulsion Laboratory, Ratliff escreveu um programa de banco de
dados em linguagem assembly para microcomputadores rodando CP/M para ajudá-lo a
ganhar uma aposta realizada no escritório sobre quem seria o ganhador de um
campeonato de futebol. O programa foi baseado no JPLDIS (Jet Propulsion Laboratory
Display Information System) de Jeb Long e intitulado "Vulcan", em homenagem ao Sr.
Spock de Jornada nas Estrelas. De acordo com Ratliff, a linguagem utilizada no JPLDIS
era uma linguagem simples, orientada a comandos, que objetivava o uso interativo em
terminais de impressão. Existem alguns indícios de que JPLDIS foi influenciado por um
produto de banco de dados de mainframe chamado RETRIEVE.
No final dos anos 1980, George Tate, da Ashton-Tate, firmou um contrato de
marketing com Ratliff. Vulcan foi renomeado para dBase, e o software rapidamente se
tornou um grande sucesso.
ƒ A linguagem de programação dBASE
Depois deportar o Vulcan para o IMSAI 8080 e depois para o CP/M e MS-DOS
(como dBase), Ratliff adicionou comandos para acomodar a interface de vídeo, bem
como comandos mais avançados para controle de fluxo (tais como DO WHILE /
ENDDO) e lógica condicional (tais como IF / ENDIF).
Para manipulação de dados, dBase oferecia comandos e funções procedurais
sofisticados para abrir e pesquisar arquivos (p.ex: USE, SKIP, GO TOP, GO BOTTOM,
e GO recno), manipular o valor de campos (REPLACE e STORE), e manipular strings
(p.ex.: STR() e SUBSTR()), números e datas. Sua capacidade de abrir e manipular
simultaneamente diversos arquivos contendo dados relacionados levou a Ashton-Tate a
rotular o dBase como uma "base de dados relacional", muito embora o produto não
atendesse os critérios definidos pelo modelo relacional do Dr. Edgar F. Codd.
O dBase era uma linguagem interpretada, que permitia ao usuário executar
comandos digitando-se em uma linha de comando. Digitando um comando e
pressionando a tecla Entra, o interpretador imediatamente iria executá-lo. De maneira
similar, programas (arquivos texto com extensão PRG) rodavam em um interpretador
(com o comando DO), onde cada comando e variável eram processados em tempo de
execução. Isso fazia com que os programas dBase fossem simples e rápidos de escrever
e testar porque os programadores não tinham que primeiro compilá-los antes de
executá-los. (Em outras linguagens, esses passos eram tediosos nos tempos das CPUs
com apenas algumas dezenas de megahertz). O interpretador também gerenciava
automaticamente e dinamicamente a memória (não havia pré-alocação de memória nem
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
24
notação hexadecimal), o que, mais do que outras funcionalidades, tornava possível para
um usuário sem experiência de programação desenvolver aplicações.
Por outro lado, a facilidade de uso e a simplicidade apresentada pelo dBase começou
a se tornar uma limitação à medida que seus usuários tornavam-se mais especializados e
programadores profissionais eram chamados para utilizá-lo. Aplicações mais complexas
e mais críticas demandaram funcionalidades de programação profissional para maior
robustez e desempenho, bem como maior produtividade do programador.
Com o tempo, os competidores da Ashton-Tate introduziram os chamados produtos
e compiladores "clones", que introduziam funcionalidades de programação mais
robustas, tais como funções definidas pelo usuário (UDFs) para complementar as
funções básicas contidas no produto, variáveis com escopo definido, com menor
possibilidade de serem afetadas por processos externos, arrays para manuseio de dados
complexos, funcionalidades de empacotamento para a entrega de aplicações na forma de
arquivos executáveis sem interpretadores em tempo de execução, sintaxe orientada a
objeto, e interfaces para o acesso aos dados de gerenciadores de bancos de dados
externos. A Ashton-Tate também implementou diversas dessas funcionalidades, com
graus variáveis de sucesso. A Ashton-Tate e seus competidores também começaram a
incorporar SQL, a linguagem padrão ANSI/ISO para criação, alteração e recuperação de
dados armazenados em SGBDs.
No final dos anos 1980, grupos de desenvolvedores criaram um padrão para a
linguagem dBase (IEEE 1192). Foi então que a linguagem passou a ser chamada de
"Xbase" para distinguí-la do produto da Ashton-Tate. Centenas de livros foram escritos
sobre programação dBase e Xbase.
Atualmente, implementações da linguagem dBase incluem muitas funcionalidades
direcionadas para aplicações de negócios, incluindo a manipulação de interface de
usuário gráfica (GUI), manipulação de dados remotos e distribuídos, uso da Internet e
interação com dispositivos modernos. A despeito de sua funcionalidade e facilidade de
uso, o legado da linguagem dBase de ter sido "embutida" dentro de um produto
comercial popular é uma das razões pela qual ela não é um padrão dominante hoje em
dia.
ƒ Formato de arquivo .dbf
Um dos maiores legados do dBase é seu formato de arquivo .dbf, que foi
amplamente adotado.
O sistema de banco de dados dBase foi um dos primeiro a prover uma seção de
cabeçalho (header) para descrever a estrutura dos dados dentro do arquivo. Isso
significa que o programa não mais necessitava conhecimento avançado da estrutura de
dados, mas poderia perguntar diretamente ao arquivo de dados como este estava
estruturado.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
25
5.2 - MySQL
ƒ História do MySQL
O MySQL surgiu a partir da necessidade da equipe que criou o SGBD, de utilizar
algum mecanismo que permitisse a conexão de tabelas criadas na linguagem SQL para
um determinado fim. A princípio, o grupo iria utilizar o mSQL, mas logo perceberam
que esta ferramenta não era rápida o suficiente para atender às necessidades do projeto.
O jeito foi criar uma solução própria. Nascia o MySQL.
O MySQL foi criado por Michael Widenius na companhia suíça TcX. Por volta de
1979 Michael desenvolveu um banco de dados chamado UNIREG, sendo rescritos em
várias linguagens desde então" . Em 1994, a empresa TcX começou o desenvolvimento
de aplicações baseadas na Web, tendo como base o banco UNIREG, porém esse banco
possuía muito "overhead" para obter sucesso em uma aplicação para geração de páginas
dinâmicas na Web. Então a empresa TcX começou a procurar por outro banco o mSQL,
uma ferramenta baseada em SQL mas com características pobres não possuindo por
exemplo suporte a índices, e com desempenho inferior ao UNIREG.
Foi então que o desenvolvedor do banco UNIREG contatou o David Hughes criador
do mSQL, para saber do interesse dele em unir os dois bancos. Sendo positivo o
interesse de David , a empresa TcX resolveu desenvolver um novo banco, mas
mantendo ao máximo a compatibilidade com mSQL. TcX foi esperta o suficiente para
não reinventar o que já estava bem feito, ela construiu seu servidor baseado na estrutura
que já estava montada do UNIREG e utilizou grande número de utilitários escritas para
mSQL e fez API's para o novo servidor praticamente iguais ao mSQL. Como resultado
usuários do mSQL que decidissem mudar para o novo servidor da TcX, teriam apenas
que fazer pequenas e simples mudanças nos códigos existentes.
Então foi em maio de 1995 que, definitivamente, a primeira versão do MySQL foi
lançada. Um dos parceiros da TcX sugeriu a distribuição do servidor na Internet, o
objetivo disso era a utilização de um modelo pioneiro desenvolvido por Aladdin Peter
Deutsch. O resultado foi um maior flexibilidade em sem "copyright", que fez do
MySQL mais difundido gratuitamente do que mSQL.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.comWBSOFTWARES (**79)8115-7557
26
ƒ O Banco de Dados MySQL
Desenvolvido pela TCX em 1996. Atualmente a MySQL AB desenvolve o
programa. MySQL AB é a companhia dos fundadores e principais desenvolvedores do
MySQL. Eles criaram-no porque precisavam de um banco de dados relacional que
pudesse tratar grandes quantidades de dados em máquinas de custo relativamente
barato. O MYSQL é um dos bancos de dados relacionais mais rápidos do mercado,
apresenta quase todas as funcionalidades dos grandes bancos de dados . MySQL é uma
linguagem simples, em que você facilmente pode gravar, alterar e recuperar
informações num web site com segurança e rapidez O MYSQL é executado,
principalmente, em sistemas que participam da filosofia UNIX, embora outros sistemas
S.O também fornecem suporte, como Windows, por exemplo.
O MYSQL é um sistema de gerenciamento de banco de dados relacional
multiencadeado, de código fonte aberto e nível corporativo. O MySQL não é apenas um
banco de dados, mas sim um gerenciador de banco de dados. Com este SGBD (Sistema
Gerenciador de Banco de Dados), também pode ser utilizado para aplicações
corporativas, o qual, necessitam de varias conexões simultâneas, que possibilita 101
conexões simultâneas. Uma conexão é o tempo que leva para o usuário receber o dado
solicitado.
MySQL é a solução robusta para quase todo tipo de aplicação, combine a
estabilidade do MySQL com seu baixo custo de propriedade e rapidamente você irá
considerá-lo indispensável. O MySQL oferece o melhor cenário de todos SGBD,
executa em muitas plataformas, oferece um baixo TCO (custo total de propriedade) e é
muito estável .
O MySQL é um sistema de gerenciamento de bancos de dados relacional.
Um banco de dados relacional armazena dados em tabelas separadas em vez de
colocar todos os dados um só local. Isso proporciona velocidade e flexibilidade.
O Servidor MySQL foi desenvolvido originalmente para lidar com bancos de dados
muito grandes de maneira muito mais rápida que as soluções existentes e tem sido
usado em ambientes de produção de alta demanda por diversos anos de maneira bem
sucedida. Apesar de estar em constante desenvolvimento, o Servidor MySQL oferece
hoje um rico e proveitoso conjunto de funções. A conectividade, velocidade, e
segurança fazem com que o MySQL seja altamente adaptável para acessar bancos de
dados na Internet.
O Programa de Banco de Dados MySQL é um sistema cliente/servidor que consiste
de um servidor SQL multitarefa que suporta acessos diferentes, diversos programas
clientes e bibliotecas, ferramentas administrativas e diversas interfaces de programação
(API's). Também concedemos o Servidor MySQL como uma biblioteca multitarefa que
você pode ligar à sua aplicação para chegar a um produto mais rápido, menor e mais
facilmente gerenciável.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
27
ƒ Características do MySQL
o Multi-plataforma, portanto suporta diferentes plataformas: Win32, Linux,
FreeBSD, Unix, etc...
o Suporte a múltiplos processadores
o Um sofisticado sistema de senhas criptografadas flexível e Seguro.
o Suporta até 16 índices por tabela
o Código fonte escrito em C e C++ e testado com uma variedade de diferentes
compiladores
o As tabelas criadas podem ter tamanho de até 4 GB
o Banco de dados de código aberto e gratuito
o Suporte às API´s das Seguintes linguagens: PHP, Perl, C,C++,Java, Pynthon,
etc...
o Suporte à ODBC, você pode facilmente conectar o Access a um banco de dados
do MySQL
o O Cliente conecta no MySQL através de conexões TCP/IP.
o Nenhum problema com o Y2K, visto que o MySQL usa o relógio do Unix que
não apresentará problemas até 2069
o Capacidade para manipular bancos com até 50 milhões de registros
o Reduz a administração, engenharia e a sustentação custa por até 50%.
ƒ Segurança no MySQL
O MySQL possuí componentes de segurança contra ameaças externas como
crackers e outros, e também proteger os dados dos próprios usuários. O mysql apresenta
vários níveis de segurança em relação ao acesso. Todas as informações de segurança
estão armazenadas no banco mysql,
A filosofia de segurança em banco de dados refere-se a fornecer ao usuário apenas o
que é essencial para o seu trabalho.
ƒ O MySQL é gratuito?
Pessoas confundem "free" com "grátis" o que é comum aqui no Brasil. Mas em se
tratando de software este "free" é de open source e não gratuito. Para poder utilizar o
MySQL sob a licença GPL e não precisar pagar, o produto desenvolvido precisa ser
GPL também, senão, orientamos a compra da licença comercial, com baixo custo, sendo
comercializada por servidor, sem limites de usuários e processadores e ainda com
garantia perpétua de atualização de versão para o resto da vida.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
28
ƒ O MySQL é um banco de dados departamental?
O MySQL é regido pela licença GPL, portanto é open source. Muitas e analisarmos o
investimento necessário para aquisição do mesmo, podemos dizer que cabe como uma
solução departamental. Entretanto o que muitos assustam é que empresas como Nasa,
Cisco, Telefônica da Suécia, Yahoo Finance, Nokia e outras mais tem utilizado o
MySQL em aplicações de missão crítica.
ƒ COMANDOS
Todo comando SQL termina com um ' ; '.
o CREATE DATABASE
Cria um banco de dados. Este comando cria uma área lógica, diretório, onde estarão
armazenadas todas as tabelas do banco de dados.
Ex: mysql>CREATE DATABASE funcionários;
o DROP DATABASE
Apaga um banco de dados.
Ex: mysql>DROP DATABASE funcionários;
o CREATE TABLE
Comando utilizado para criar tabelas.
Ex: mysql>CREATE TABLE alunos (matricula UNSIGNED INT(10) NOT NULL,
nome CHAR(40) NOT NULL,turma CHAR(20) NOT NULL,
PRIMARY KEY (matricula));
o ALTER TABLE
Altera Tabela
Ex: mysql>ALTER TABLE alunos ADD COLUMN turno char(10) NOT NULL
o DROP TABLE
Apaga uma tabela.
Ex: mysql>DROP TABLE alunos;
o INSERT
Comando utilizado para inserir valores numa tabela.
Ex: mysql>INSERT INTO alunos(matricula,nome,turma,turno)values
(127423,'Fred Cox Junior','Eng. Eletrônica','Manhã');
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
29
o SELECT
Comando usado para recuperar valores de uma tabela. Este poderoso comando, em
conjunto com funções, possibilita a recuperação de qualquer valor de uma tabela.
Ex: mysql>SELECT * FROM alunos where nome='Fred Cox Junior';
mysql>SELECT matricula,turno FROM alunos ORDER BY matricula asc;
o DELETE
Apaga registros em uma tabela. Se não for especificada a condição where, todos os
dados serão apagados.
Ex: Mysql>DELETE FROM alunos WHERE turno='Manhã';
o UPDATE
Altera dados numa tabela.
Ex: mysql>DROP TABLE alunos;
5.3 - PostgreSQL
O PostgreSQL é um banco de dados relacional e orientado a objetos. Seu grande
triunfo é possuir recursos comuns à banco de dados de grande porte, o que o deixa apto
a trabalhar, inclusive, com operações de missão crítica. Além disso, trata-se de um
banco de dados versátil, seguro e gratuito.
É possível utilizar o PostgreSQL em vários sistemas operacionais, dentre os quais o
Windows, Linux, BSDs ou em qualquer sistema compatível com as especificações
POSIX (Portable Operating System Interface). Segundo informações do site oficial, o
PostgreSQL permite a criação de uma base de dados de tamanho infinito. Cada tabela
pode ter até 16 TB, sendo que cada linha pode ter até 1,6 TB e cada campo 1 GB. O
banco de dados ainda conta com conexões SSL, MVCC, triggers, integridade
referencial, entre outros recursos, além de ser compatível com uma série de linguagens,
tais como PHP, Python, Java, Perl, etc.
O uso do PostgreSQL é muito amplo, pois várias empresas perceberam que com ele
podem criar bases de dados complexas sem a necessidade de gastar altos valores na
AcroPDF - A Quality PDF Writer andPDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
30
aquisição de licenças. Outra vantagem, é que o PostGreSQL possui uma documentação
muito abrangente, o que permite suporte adequado às necessidades. Uma das empresas
que são citadas como exemplo do uso deste banco de dados é a Afilias, entidade
responsável por manter e registrar domínios .org na Internet.
Breve história do PostgreSQL
O PostgreSQL teve seu início na University of California at Berkeley, no ano de
1986, onde Michael Stonebraker liderou um projeto para a criação de um servidor de
banco de dados relacionais, chamado de Postgres. Essa tecnologia foi então comprada
pela Illustra, empresa posteriormente adquirida pela Informix. Porém, mesmo diante
disso, dois estudantes de Berkeley (Jolly Chen e Andrew Yu) compatibilizaram o
Postgres à linguagem SQL (Structured Query Language). Este projeto recebeu o nome
de Postgres95. Em 1996, quando o projeto estava estável, o banco de dados recebeu o
nome de PostgreSQL. No entanto, enquanto ainda possuia o nome Postgres95, o banco
de dados teve várias mudanças. O seu código foi totalmente revisado e a linguagem
SQL foi definida como padrão.
O banco de dados PostgreSQL é mantido por várias pessoas do mundo,
principalmente por colaboradores dos Estados Unidos, Canadá, Rússia e Japão. Neste
grupo, estão empresas que patrocinam o projeto, pesquisadores de universidades e
companhias de computação.
PostgreSQL x MySQL
Ambos os bancos de dados são eficientes e gratuitos. A grande dúvida que surge, é
saber qual desses SGBDs utilizar para certas aplicações. Como o PostgreSQL foi criado
para ter vários recursos e assim proporcionar suporte a tarefas complexas, seu uso é
mais indicado em aplicações com grande volume de dados ou que tratam de
informações críticas, onde o banco de dados é grande, ou seja, possui uma quantidade
alta de tabelas e campos. Assim, para uma loja de comércio eletrônico, por exemplo,
cujo volume de pedidos é alto, o PostgreSQL é muito eficiente para tratar dos dados.
O MySQL, por sua vez, tem como foco a agilidade. Assim, se sua aplicação
necessita de respostas rápidas e não é complexa, o MySQL é uma escolha muito
interessante, pois sua otimização permite velocidade alta de processamento e tempo
curto de resposta. Se você precisa de um banco de dados para trabalhar com o conteúdo
do seu site, fórum, cadastro de usuários, entre outros, o MySQL é uma escolha
adequada. Isso porque aplicações como estas não necessitam dos recursos sofisticados
que o PostgreSQL oferece, por exemplo.
Para escolher entre um destes dois SGBDs, primeiro procure o foco de cada um.
Como já dito, o PostGreSQL busca oferecer recursos avançados. O foco principal do
MySQL é a agilidade. Assim, analise primeiro os recursos de que vai precisar. Se baseie
no seguinte exemplo: você não precisa comprar um ônibus se sua família pode muito
bem ser transportada num carro de 5 lugares. A grande resposta da questão é verificar
quais os recursos necessários e escolher o SGBD que melhor se adapta a eles. Se você
escolher o PostgreSQL para operações simples, poderá perder tempo e desperdiçar
recursos. Da mesma forma, se escolher o MySQL para aplicações de porte maior,
poderá ter problemas com o gerenciamento dos dados.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
31
5.4 - Oracle
O sistema gerenciador de banco de dados Oracle surgiu no final dos anos 70,
quando Larry Ellison vislumbrou uma oportunidade que outras companhias não haviam
percebido, quando encontrou uma descrição de um protótipo funcional de um banco de
dados relacional e descobriu que nenhuma empresa tinha se empenhado em
comercializar essa tecnologia.
Ellison e os co-fundadores da Oracle Corporation, Bob Miner e Ed Oates,
perceberam que havia um tremendo potencial de negócios no modelo de banco de dados
relacional tornando assim a maior empresa de software empresarial do mundo.
O SGBD da Oracle é líder de mercado. O Oracle 9i foi pioneiro no suporte ao
modelo web. O Oracel 10g, mais recente, se baseia na tecnologia de grid.
Além do base de dados, a Oracle desenvolve uma suíte de desevolvimento chamada
de Oracle Developer Suite, utilizada na construção de programas de computador que
interagem com a sua base de dados.
A Oracle também criou a linguagem de programação PL/SQL, utilizada no
processamento de transações.
5.5 - Microsoft SQL Server
Criado pela Microsoft, o MS SQL Server é um gerenciador de Banco de dados
relacional. É um Banco de dados, muito robusto e usado muito em empresas e por
grandes sistemas corporativos. Atualmente encontra-se na versão 2005. Entre os novos
recursos está a integração com o Framework .Net, que possibilita construir rotinas
utilizando as linguagens do .Net como VB.Net e C#.
O MS SQL Server tem versões unicamente para as diversas versões do sistema
operacional Windows, da Microsoft, ao contrário do seu grande concorrente, Oracle,
que funciona em diversas plataformas e sistemas operacionais diferentes.
Suas ferramentas de gerenciamento são nativas, não necessitando que sejam
adquiridas separadamente. São elas : MS SQL Enterprise Manager (Console Central
que integra num único painel, a maioria das funções que um DBA poderá utilizar-se
para configurar e gerenciar esse RDBMS, o Query Analyzer que permite executar
querys e auxilia o gerenciamento, inclusive em Tunning, o Profile que é uma espécie de
Trace, descortinando os comandos que o gerenciador está executando, além de outras
ferramentas.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
32
5.6 - Microsoft Access
O Microsoft Access (Microsoft Office Access), também conhecido por MSAccess, é
um sistema relacional de administração de banco de dados da Microsoft, incluído no
pacote do Microsoft Office Professional, que combina o Microsoft Jet Database Engine
com uma interface de usuário gráfica. Ele permite o desenvolvimento rápido de
aplicações que envolvem tanto a modelagem e estrutura de dados como também a
interface a ser utilizada pelos usuários.
Microsoft Access é capaz de usar dados guardados em Access/Jet, Microsoft SQL
Server, Oracle, ou qualquer recipiente de dados compatível com ODBC.
Desenvolvedores de software e arquitetos de dados experientes costumam usá-lo para
desenvolver complexos e potentes programas de aplicação.
O desenvolvimento da estrutura de dados se dá de forma muito intuitiva, bastando
que o desenvolvedor possua conhecimetos básicos em modelagem de dados e lógica de
programação.
Programadores relativamente inexperientes e usuários determinados podem usá-lo
para construir aplicações simples, sem a necessidade de utilizar ferramentas
desconhecidas. O programa oferece suporte substancial para técnicas de orientação-
objeto (OO), porém não chega a ser uma ferramenta completa de desenvolvimento OO.
ƒ Utilização
Geralmente uma aplicação desenvolvida com o Access através da linguagem de
programação VBA (Visual Basic for Applications) consiste em dois arquivos, um que
se denomina BackEnd, onde ficam armazenadas todas as tabelas com seus respectivos
relacionamentos, e outro denominado FrontEnd, onde ficam armazenados os códigos
fontes, formulários, módulos, consultas, macros, etc.
O código fonte pode ser compilado, mas não é possível gerar um executável. Para
rodar os aplicativos desenvolvidos é necessário que o usuário possua em sua estação de
trabalho o MSAccess instalado ou pelo menos o seu Runtime que vem a ser uma versão
enxuta do MSAccess que servirá apenas para rodar os aplicativos sem a possibilidade de
desenvolvimento.
Com o Microsoft Access é possível desenvolver desde aplicações simples como por
exemplo, um cadastro de clientes, controle de pedidos até aplicações mais complexas,
como por exemplo, todo o controle operacional, administrativoe financeiro de uma
pequena ou até mesmo de uma média ou grande empresa, pois os aplicativos
desenvolvidos podem rodar perfeitamente em uma rede de computadores e os dados
armazenados pelo sistema podem ser publicados na Intranet ou até mesmo na Internet.
Access é pouco escalável se o acesso aos dados for feito via uma rede, portanto
qualquer aplicação que seja usado por mais de um punhado de pessoas tende à depender
em soluções com base no Cliente-Servidor. Porém, um Access do tipo "front end" (as
formas, os relatórios, pedidos de busca e códigos VB) pode ser usado paralelamente à
diversos tipos de "back ends", incluindo o próprio Access, o Microsoft SQL Server, o
Oracle ou qualquer outro produto compatível com ODBC. Esse método permite ao
desenvolvedor a mudança dos dados de uma aplicação madura para um servidor mais
avançado sem sacrificar o projeto em andamento.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
33
ƒ Características
Um dos benefícios do Access é sua relativa compatibilidade com o SQL – buscas
podem ser visualizadas e editadas como sendo indicações de SQL, e estes por sua parte
podem ser usados diretamente em Macros e Módulos VBA para manipular tabelas do
próprio Access. Usuários podem misturar e usar ao mesmo tempo VBA e Macros para
formulários de programação e lógica, além de serem oferecidos possibilidades com
técnicas de orientação-objeto.
A função "cortar e colar"(cut and paste) do Access pode torná-lo uma ferramenta
útil para a conexão entre diversos bancos de dados (por exemplo, entre o Oracle e o
Microsoft SQL Server durante conversões de dados ou bancos de dados).
Access disponibiliza várias funções de exportação e importação (import and export),
que permitem a integração entre o Windows e outras aplicações de plataforma, muitas
das quais podem ser executadas dentro das próprias aplicações ou manualmente pelo
usuário.
A partir do MS Access 2000, há uma sintaxe que permite a criação de pedidos de
busca com parâmetros, semelhante à criação de procedimentos armazenados, porém tais
procedimentos são limitados à uma declaração por procedimento.
O Microsoft Access permite que formulários contenham códigos que são ativados à
medida que mudanças são feitas à uma tabela subjacente (contanto que as modificações
são feitas apenas com aquele formulário), e é comum usar buscas "pass-through" e
outras técnicas no Access para ativar procedimentos armazenados em RDBMSs que
suportam este tipo de sistema.
Em arquivos de projeto de banco de dados do Access ADP (suportado em MS
Access 2000 e adiante), as ferramentas relacionadas aos bancos de dados são
completamente diferentes, uma vez que este tipo de arquivo é conectado ao MSDE ou
ao Microsoft SQL Server, ao invés de usar o motor Jet. Deste modo, ele suporta a
criação de quase qualquer objeto no servidor subjacente (tabelas com restrições e
gatilhos, visualizações, procedimentos armazenados e UDF's).
Contudo apenas formulários, relatórios, macros e módulos são armazenados no
arquivo ADP (outros objetos são armazenados no banco de dados "back end").
ƒ Desenvolvimento
A linguagem de programação disponível no access é a Microsoft Visual Basic for
Applications, igualmente à outros produtos da série Microsoft Office.
Duas bibliotecas de componentes COM de acesso de banco de dados são
providenciadas: a legacy Data Access Objects (DAO), apenas disponível com o Access,
e o novo ActiveX Data Objects (ADO).
Microsoft Access é facilmente aplicado à projetos pequenos porém sofre problemas
de escala com projetos maiores se as aplicações forem mal desenvolvidas.
Todas as buscas no banco de dados, formulários e relatórios são armazenados no
banco de dados, e visando os ideais de um modelo relacional, não há possibilidade de
montar uma hierarquia estruturada fisicamente a partir deles.
Uma técnica de desenvolvimento é dividir uma aplicação Access entre dados e
programas. Um banco de dados deve conter apenas tabelas e relações, enquanto outro
contém todos os programas, formulários, relatórios e pedidos de busca, assim como as
conexões para as tabelas do primeiro banco de dados.
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
34
Infelizmente, o Access não permite trilhas quando são feitas as conexões, e o
ambiente de desenvolvimento deve ter a mesma trilha do ambiente de produção, embora
seja possível escrever sua própria rotina de "conexão dinâmica" em VBA, que pode
procurar um arquivo "back end" específico através de uma pesquisa dentro da árvore do
diretório, se não puder encontrá-lo no caminho atual.Esta técnica também permite que o
desenvolvedor divida a aplicação entre arquivos diferentes, sendo então possível uma
certa estrutura.
5.7 - Data Warehouse
O que é um Data Warehouse?
Um data warehouse (ou armazém de dados, ou depósito de dados) é um sistema de
computação utilizado para armazenar informações relativas às atividades de uma
organização em bancos de dados, de forma consolidada. Caracteriza-se de um ambiente
estruturado, extensível, projetado para a análise de dados não voláteis, lógica e
fisicamente transformados, provenientes de diversas aplicações, alinhados com a
estrutura da empresa, atualizados e mantidos por um longo período de tempo.
Antes da popularização dos data warehouse e das ferramentas ERP (Enterprise
Resource Planning), uma verdadeira integração dos dados não existia, pois os antigos
“sistemas integrados” trocavam dados na forma que atendesse ás necessidades de cada
um deles, mas essa pequena integração sequer se aproxima do que se vê hoje nos ERP.
Cada aplicativo tinha uma visão do que era um cliente, um produto ou uma operação,
uma visão corporativa das informações disponiveis era praticamente ficção.
A ERP e o data warehouse podem suprir estas deficiencias, integrando dados,
provendo dados históricos, e permitindo a recuperação de informações de forma
sintética ou analítica.
O data warehouse possibilita a análise de grandes volumes de dados, coletados dos
sistemas transacionais . São as chamadas séries históricas que possibilitam uma melhor
análise de eventos passados, oferecendo suporte às tomadas de decisões presentes e a
previsão de eventos futuros. Por definição, os dados em um data warehouse não são
voláteis, ou seja, eles não mudam, salvo quando é necessário fazer correções de dados
previamente carregados. Os dados estão disponíveis somente para leitura e não podem
ser alterados.
ƒ Características
Um sistema de Data Warehouse possui quatro características básicas:
o Organizado por Temas
Um DW orientado por temas armazena informações sob a forma de assuntos
diferentes entre si e que são considerados importantes para o negócio da empresa.
Alguns exemplos de temas utilizados em projetos deste tipo são: produtos, atividades,
contas, clientes, etc.
Nos projetos de sistemas tipicamente transacionais há uma organização norteada por
aplicações funcionais. Num hospital, por exemplo, temos os sistemas de admissão de
pacientes (internação), o sistema de faturamento, o sistema de controle de estoque,
controle de infecção hospitalar, entre muitos outros. Estes sistemas estão organizados
AcroPDF - A Quality PDF Writer and PDF Converter to create PDF files. To remove the line, buy a license.
http://www.acropdf.com
WBSOFTWARES (**79)8115-7557
35
pela função desempenhada por cada setor a fim de suprir as necessidades de controle
das informações do dia a dia da entidade.
o Integrado
A integração do DW diz respeito à consistência de denominações, das unidades dos
valores contidos nas tabelas e outras padronizações aplicadas aos dados no sentido de
que estes sejam transformados até estarem num estado uniforme.
Um exemplo clássico refere-se à variável sexo do paciente. Em uma determinada
aplicação transacional podemos ter codificado o sexo do indivíduo com "M" para
masculino e "F"

Outros materiais