Bancos de Dados Gratuitos - Revista ClubeDelphi 133 - Partes 2 e 3

Este artigo finaliza a série sobre bancos de dados gratuitos trazendo ao leitor mais dois bancos de dados: o MaxDB e o SQLite. Além disso, são apresentados outros componentes interessantes de acesso a bancos de dados.

De que se trata o artigo

Este artigo é uma continuação do artigo anterior e trata sobre bancos de dados gratuitos, tanto proprietários como open-source, e das maneiras disponíveis no mercado de se conectar a eles. Serão apresentados os bancos de dados, o passo a passo para sua instalação e os componentes de conexão.

Em que situação o tema é útil

A escolha de um sistema gerenciador de banco de dados é um passo crucial no planejamento e análise de um sistema. Além disso, muitos sistemas têm a necessidade de acessar mais de um banco de dados diferente, e o desenvolvedor deve saber acessar todos. O SQL Express e o Oracle Express são as versões gratuitas, e limitadas, dos mais robustos e populares bancos de dados proprietários.

Bancos de dados Gratuitos

Não é apenas de Interbase e Firebird que o Delphi vive. No artigo anterior foram abordados, além do banco de dados Firebird, os bancos MySql e PostgreSQL. Neste artigo serão mostrados o banco de dados Microsoft SQL Server 2008 Express e o Oracle 10G Express e o IBM DB2. Apenas esses seis bancos de dados não cobrem nem de longe a totalidade dos bancos de dados existentes. Além disso, BDs relacionais não são o único tipo de banco existente. Em artigos futuros serão abordados outros tipos de bancos de dados.

No artigo anterior foram apresentados os bancos de dados open-source MySql, Firebird e PostgreSQL. Foram apresentados componentes alternativos para acesso aos dados e bancos de dados de exemplo foram testados. Também foram feitas medições de tempo em “selects” com várias tecnologias diferentes.

Porém apenas a performance da consulta foi medida, dos bancos de dados em si não foi medida a performance por não termos um banco de dados de teste igual para cada SGBD.

Microsoft SQL Server Express

O Microsoft SQL Server Express sem dúvida é um dos mais conhecidos e queridos sistemas gerenciadores de bancos de dados, principalmente por programadores que não trabalham apenas com Delphi. Tem uma confiabilidade típica de bancos de dados profissionais, além de um controle rígido de acessos, usuários e papéis. Esses devem ser muito bem configurados para que seja implementada uma boa segurança. Outras características interessantes do SQL Server são suas stored procedures, cuja sintaxe lembra um pouco o pascal.

Um ponto muito interessante no SQL Server é que, embora ele tenha recursos avançados de gerenciamento, automação e conversão, que outros bancos de dados gratuitos não têm, ele não se torna dificílimo de aprender por causa disso. Um recurso muito interessante é o FullTextSearch, onde é possível eleger tabelas para criar catálogos de palavras/strings e poder fazer uma busca com a função “contains”, que aceita muitos parâmetros e coringas diferentes, e é muito mais eficiente do que um “like” tradicional.

Nota do DevMan

FullText Search

O tipo de consulta categorizado como FullText é o tipo que cria um índice com as palavras de um texto. Uma vez que esse índice é criado, pode-se efetuar consultas no estilo utilizado por buscadores (Google, Bing). No geral, o texto a ser indexado passa por um analisador, que tem a função de identificar palavras chave, passando essas palavras para o indexador, que mantém isso em ordem. Esse recurso não é exclusivo para bancos de dados relacionais como SQL Server, Oracle ou MySQL. Existem também os frameworks de FullText Search. O mais conhecido na área de desenvolvimento de software é o Lucene (para Java) e sua versão para .Net. A principal vantagem em se usar um framework externo é retirar essa responsabilidade do banco de dados, deixando-o livre para realizar as consultas principais de um sistema.

Na seção de links desse artigo encontra-se a URL para download do SQL Server Express. O processo de instalação é um pouco demorado, mas não tem segredos. A Figura 1 mostra o início de sua instalação.

Figura 1. Clicar em “New Instalation” para iniciar o processo

O instalador do SQL antes verificará se todos os pré-requisitos estão instalados. Caso falte algum requisito o software acusará. Depois de instalados todos os requisitos clique em re-run. Então pode-se escolher quais recursos instalar. O SQL Server trabalha com o conceito de instância de servidor, assim, durante sua instalação deve-se informar um nome ou utilizar o sugerido, como mostra a Figura 2.

Figura 2. Escolha do nome de instância

Um usuário deve ser escolhido para ser o usuário no qual o SGBD irá rodar. Geralmente é criado um usuário com o mesmo nome do banco de dados (o PostgreSQL e o MySQL fazem isso automaticamente, já o SQL Server permite que você crie ou escolha). Pode-se escolher um dos usuários de sistema do Windows para a execução do sistema gerenciador de banco de dados. Na sequência da instalação escolhe-se o tipo de autenticação (Authentication Mode).

O modo de autenticação “Windows” permite que o usuário, no caso o programa que acessará o banco ou o próprio SQL Management Studio, entre com as credenciais do Windows, ou seja, o login e senha atuais ou um login e senha da rede, do Active Directory ou da máquina servidora. Já o modo “mixed” permite o uso de usuários e senhas do próprio SGBD além das credenciais do Windows.

Nota do DevMan

Grandes empresas possuem dezenas, quando não, centenas de máquinas conectadas em rede. A localização de um determinado recurso (impressora, scanner, estação) compartilhado precisa ser rápido e fácil. Para gerenciar isso, em ambientes Windows, a Microsoft desenvolveu o Active Directory. Este é um serviço de rede que cria uma banco de dados centralizado com as informações da rede, facilitando a localização de qualquer recurso. Foi implementado utilizando protocolos padronizados como o LDAP (Lightweight Directory Access Protocol) o que permite um intercâmbio de informações com outros produtos que também utilizam o padrão LDAP

O Microsoft SQL Server possui vários bancos de dados de exemplo. Alguns mantidos pela própria Microsoft e outros mantidos pela comunidade. O interessante dos bancos de dados de exemplo da Microsoft é que por trás deles há uma “historinha” como se fossem os problemas e levantamentos de requisitos de uma empresa fictícia e todo o material didático dos treinamentos Microsoft é baseado nessa empresa “de mentirinha”. Destaque para o banco de dados AdventureWorks que se trata de uma fábrica de bicicletas. Na seção de links há a url para baixar os bancos de testes da Microsoft. A conexão pode ser realizada com um desses bancos.

Uma vantagem do banco de exemplo Northwind da comunidade é que ele pode ser recriado do zero a partir da execução de um arquivo .sql que pode ser baixado na seção de links e também está disponível com o fonte desta edição.

Os valores dos inserts podem ser mudados para que dados diferentes sejam inseridos no banco. Fique à vontade para modificar de acordo com seu gosto.

Para criar o banco de dados basta executar o script sql em uma janela do SQL Server Management Studio (Figura 3).

Figura 3. O SQL Server Management Studio

subtitulo]Oracle Express

O mais respeitado banco de dados tem também uma versão Express, e embora configurações finas sejam sempre bem vindas não é necessário ser um DBA para instalar o Oracle 10G.

A única parte da instalação do Oracle que merece uma atenção é a parte onde se coloca a senha para o usuário system, que é o “admin” do Oracle, mostrado na Figura 4.

Figura 4. Definição de senha para o usuário SYSTEM do Oracle

Junto com o banco de dados é instalado um web Server e um aplicativo para gerenciamento do banco. Toda a administração do Oracle, como criação de tabelas, gerenciamento de recursos, memória, usuários e comandos SQL será feita através de um browser.

O Oracle tem o conceito de instância e schema. O banco de dados (database) é a instância, enquanto que para cada usuário criado ele cria um schema diferente.

O conceito de schema é o que chamamos de database em outros bancos de dados como Firebird. Enquanto que o conceito de instance é o que é chamado de namespaces em outros bancos.

Uma limitação chata do Oracle Express Edition é que ele permite a criação de apenas uma instância. Isso pode não ser considerado uma grande limitação, mas imagine-se criando dois sistemas de domínios completamente diferentes em um mesmo servidor. Cada “usuário” nos arquivos de configuração dos sistemas acessa apenas um “banco de dados”, não tem como dois usuários acessarem um mesmo banco, ou como um usuário acessar vários bancos. Na versão full do Oracle não existe essa limitação: é possível criar várias instâncias de banco de dados.

Isso tudo significa que, diferentemente dos bancos de dados vistos até agora, quando se der o preenchimento do parâmetro database ou database name de um componente de acesso a dados deve-se escolher o nome da instância padrão. O login e senha é que determinará na verdade qual é o “banco de dados” ou o conjunto de tabelas que será visível.

Como cada usuário tem um schema, ou table-space, diferente, em dois usuários pode existir tabelas com o mesmo nome.

Além da limitação de uma única instância ele possui outras limitações:

1 – A limitação de executar em apenas um processador, mesmo que o servidor tenha vários;

2 – As tabelas de usuário (user data), que são as tabelas usadas por seu sistema excetuando-se as tabelas de sistema do próprio Oracle, podem chegar ao tamanho máximo de 4gb;

3 – A edição Express pode usar no máximo 1gb de memória livre, mesmo que o servidor tenha mais que isso.

Nota: Depois de instalado o Oracle deve-se decidir se o projeto de teste rodará no mesmo computador que o servidor Oracle ou se rodará em outro. Independente da escolha, no computador onde funcionará a aplicação, que chamamos de client, deve-se instalar as bibliotecas client do Oracle, disponíveis para download na seção de links (arquivo OracleXEClient.exe). Depois disso é necessário configurar os arquivos tnsnames.ora e listener.ora que estão na pasta C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN. A configuração padrão deve funcionar, entretanto verifique a documentação do Oracle para eventuais dúvidas.

DB2 Express

Ao iniciar a instalação do DB2 Express, nos deparamos com a escolha de qual modo de instalação será utilizado. A instalação feita será uma instalação típica. O único recurso que não está presente na instalação típica é o Full Text Search. Para isso faça uma instalação customizada.

Outra configuração delicada é indicar se o serviço rodará com o usuário db2admin ou com a conta LocalSystem do Windows (Figura 5). Cada caso é um caso, deve-se analisar isso tanto na concepção do sistema como na implantação, deve-se questionar onde o banco irá rodar, se é em um datacenter, quem fará a administração, quais as vantagens e desvantagens de se usar uma conta do sistema, quais as vantagens e desvantagens de se usar uma conta comum, o que é mais seguro, o que é mais flexível, qual opção permite acesso do banco de dados à arquivos no disco, para importação e assim por diante.

Figura 5. Definição de usuário

A visão do banco de dados que este artigo pretende dar é uma visão do ponto de vista do desenvolvedor, que deve-se preocupar mais com o código e as regras de negócio. Detalhes do banco de dados devem ficar a cargo do DBA especialista na ferramenta selecionada.

No exemplo a senha do usuário db2admin foi “1234567890a_” isso porque as políticas de segurança do Windows ou da rede podem exigir tamanho mínimo de senha e mistura entre caracteres numéricos, alfanuméricos e especiais. Isso pode acontecer durante a instalação do PostgreSQL também. Após a instalação será oferecida a criação de um banco de dados de exemplo, como mostra a Figura 6.

"

[...] continue lendo...
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados