| Cursos
On-line Gratuitos-
Migrando de Access para SQL Server
Aula
01
Vamos
iniciar um novo conceito no estudo de banco de dados, a migração.
E quais as reais vantagens de migrar um banco de dados ACCESS para
um banco de dados SQL ?
1)
Maior segurança
2)
Transações confiáveis;
3)
Processamento baseado no servidor;
4)
Maior desempenho no acesso a dados.
O
SQL Server, é um gerenciador de banco de dados que oferece um desempenho
maior que o Access, não desmerecendo o mesmo. O limite de um banco
de dados Access, que também é acessado pelo VB é de 2 gigabytes.
Ao
contrário de outros sistemas de banco de dados, o backup dos dados
do SQL poderá ser realizado sem que os usuários sejam desconectados
do sistema, aumentando assim a produtividade do ambiente.
Na
quase totalidade dos casos, o SQL estará sendo executado sobre o
Windows NT, o que faz com que ele suporte um número muito maior
de usuários ligados ao sistema e possa executar consultas paralelamente.
Um
outra grande vantagem do SQL Server é que o mesmo está protegido
contra falhas do sistema, como por exemplo, uma queda de energia,
através de um mecanismo que executa a recuperação de banco de dados
para seu último estado de consistência.
Interagindo
com o Windows NT, o SQL Server usa o sistema de Login único na rede
e no banco de dados, facilitando assim a administração do sistema.
O
SQL Server é baseado em um sistema cliente/servidor, ou seja, o
banco de dados (tabelas, índices, etc...) ficam armazenados em um
único computador, denominado SERVIDOR que é acessado através da
rede por computadores CLIENTES. O SQL Server processa as consultas
no servidor e serve apenas os resultados aos clientes, diminuindo
assim o tráfego na rede.
Para
executar qualquer tipo de conversão, primeiramente deveremos observar
a tabela a seguir, que nos mostra a compatibilidade do tipo de campo
ACCESS com o SQL:
| Tipo
de dados do Access |
Compatibilidade
com o SQL |
| Sim/Não |
Bit |
| Número
(byte) |
Tinyint |
| Número
(inteiro) |
Smallint |
| Número
(inteiro longo) |
Int |
| Número
(simples) |
Real |
| Número
duplo (duplo) |
Float |
| Currency |
Money
ou smallmoney |
| Decimal/numérico |
Decimal
ou numeric |
| Data/Hora |
Datetime
ou smalldatetime |
| Autonumeração |
Int
(com a propriedade identidade definida) |
| Texto |
Varchar
ou nvarchar |
| memorando |
Texto |
| OLE |
Imagem |
Antes
de iniciar o estudo da migração, devemos conhecer um pouco mais
sobre o SQWL Server.
Introdução
Banco
de dados Cliente/Servidor
Antes
de iniciarmos o nosso estudo em SQL, temos a obrigação de intender
o conceito de banco de dados Cliente/Servidor.
Antes
do Cliente / Servidor, alguns sistemas armazenavam o banco de dados
na mesma máquina onde os mesmos eram processados.
Em
seguida surgiram as redes locais, e tais banco de dados foram transferidos
para o computador central. Quando um terminal queria realizar uma
consulta ( pesquisa ) em uma determinada tabela do banco de dados,
toda a tabela era transferida a máquina terminal, e lá os dados
eram processados. E se tivéssemos mais de uma máquina efetuando
a mesma pesquisa em uma mesma tabela ao mesmo tempo?
Automaticamente
existia um crescimento no tráfego da rede, lentidão no processo
e até mesmo erros nos sistemas.
Já
com o banco de dados Cliente / Servidor, este quadro mudou muito,
pois seguindo o mesmo exemplo citado, a consulta solicitada por
um terminal, fazia com que todo o processamento fosse realizado
no servidor e somente a resposta enviada ao terminal, diminuindo
assim o tráfego na rede, aumentando a performance do sistema e reduzindo
o número de erros.
Um
outro recurso muito marcante no sistema Cliente / Servidor diz respeito
a segurança, através de sistemas de cadastramento de usuários e
senhas.
Existem
diversos sistemas de banco de dados cliente / servidor, entre eles
SQL Server, Oracle, Sybase, Interbase, Informix, etc
SQL
Server 7
Já
sabemos que o SQL Server é um banco de dados Cliente/Servidor, que
traz várias novidades com relação as versões anteriores. Entre elas,
e talvez a que mais chamou a atenção é que as versões anteriores
só rodavam sob a plataforma Windows NT, porém esta roda também sob
o ambiente Windows 95/98.
Outra
característica marcante é a facilidade de se integrar com a Internet.
Instalando
o SQL Server 7
Primeiro
vamos analisar as exigências de Hardware do SQL Server. Observe
a tabela abaixo :
| Hardware |
Configuração
mínima |
| Computador |
DEC
Alpha AXP ou Intel ( Pentium 200MHz ou superior ) |
| Memória
RAM |
Mínimo
de 32Mb, porém se tivermos uma memória maior com certeza
a performance de nossa aplicação será bastante superior. |
| Disk
Drive |
CD
ROM Drive |
| Espaço
em disco |
Dependendo
da opção de instalação são requeridos até 170Mb. |
Agora,
vamos passar a analisar as exigências de Software do SQL Server.
Observe a tabela abaixo:
| Software |
Exigências |
| Sistema
Operacional |
Microsoft
Windows NT 4.0 com SP3 (service pack), Microsoft Windows
95 OSR2 ou Microsoft Windows 98 |
Porém
vale lembrar que, quando instalado no Windows NT ele é executado
como um serviço, e quando instalado no Windows 9x ele roda como
uma aplicação.
Após
considerar tais fatores, vamos à instalação do SQL Server ...
Ao
Colocar o CD-ROM do software na unidade correspondente, siga os
passos seguintes :
Automaticamente
será aberta uma janela com uma série de opções. Escolha a opção
Install Components, conforme mostra a figura a seguir

2)
Nesta próxima janela, você irá definir a forma de instalação do
SQL Server. Caso você esteja instalando o SQL no NT, selecione DATABASE
SERVER - STANDARD EDITION, porém se for instalar o SQL no Windows
95/98, escolha a opção DATABASE SERVER - DESKTOP EDITION..
3)
Na janela que se abriu neste ponto, você tem a opção LOCAL INSTALL,
para instalar o SQL na máquina em uso, ou REMOTE INSTALL, caso
queira instalar o software em uma máquina remota.
4)
Serão apresentadas a seguir duas telas, sendo que a segunda trata
da licença de uso. Aceitando os termos, clique em NEXT.
5)
Na próxima janela entre com o seu nome e o nome de sua empresa se
for o caso. Clique em Next.
6)
Entre com o CD-KEY, a sua chave para instalação do SQL e clique
em Ok.
7)
Neste ponto será apresentado o tipo de instalação : TYPICAL (instala
os componentes padrões), MINIMUM (que instala a configuração
mínima dos componentes) ou CUSTOM.
A
Instalação Típica, instala
automaticamente o SQL Server e utilitários de cliente com as opções
padrão de instalação. São instalados : SQL Server, Book On Line,
Quick Tour e Waths New. A Instalação Compacta instala o mínimo
de arquivos necessários para operar o SQL Server , e usa todas as
opções padrão de instalação. Essa opção ocupa em média 74Mb de espaço
no seu disco. A instalação Personalizada permite que o operador
faça a escolha de quais componentes exatamente serão instalados,
e outras opções que não são disponibilizadas nas opções de instalação
citadas anteriormente.
Vale
lembrar que na sua instalação, são criados os seguintes diretórios
/ subdiretórios :
X:\MSSQL
- diretório default da instalação. Obs.: caso durante a mesma,
você queira alterar o nome do diretório padrão, escolha um nome
sem espaços e com até 8 caracteres.
- BACKUP
- este
armazena os arquivos de backup;
- BINN
- Armazena os arquivos executáveis das ferramentas de administração
bem como os arquivos de Help e as DLLs.
- DEVTOOLS
- Armazena
as ferramentas opcionais de desenvolvimento e arquivos exemplos
que acompanham o SQL.
- HTML
- Armazena os arquivos em HTML e relacionados.
- DATA
- nesta são armazenados os arquivos de dados.
- JOBS
- Armazena dados referentes a informações sobre as tarefas
do SQL Server.
- INSTALL
- Arquivos de instalação e saídas.
- LOG
- Nesta são armazenados os arquivos de log de erro.
- REPLDATA
- usado para serviços de reaplicação.
- UPGRADE
- Criada apenas se você solicitar a instalação do assistente
de atualização, e armazena os arquivos do assistente de atualização
da versão.
8.
Agora siga as instruções de acordo com a modalidade de instalação
que você selecionou.
Os
componentes do SQL Server
DATABASES
( Banco de Dados ) : Como
o próprio nome diz, contém os objetos responsáveis por representar
os dados de uma forma geral bem como o acesso aos mesmos.
TABELAS
: as tabelas constituem talvez a principal parte de um banco
de dados. Sob forma de uma planilha eletrônica, através de linhas
e colunas, as tabelas armazenam os registros. Um registro é constituído
por uma linha de dados, e os dados são representados por colunas.
Ou seja, cada coluna tem a responsabilidade de armazenar um tipo
de informação, e o conjunto dos mesmos formam um registro.
Entendendo
melhor as tabelas
Quando
você vai a uma loja qualquer e decide abrir um crediário, a primeira
coisa a se fazer é preencher uma ficha. Esta ficha tem uma série
de informações ao seu respeito. Nome, endereço, profissão salário,
etc...
O
conjunto dessas informações formam um registro sobre a sua pessoa.
E cada uma das informações que você preencheu nesta ficha ( registro
), formam um campo. Então Nome é um campo do registro do cliente,
endereço é um campo do registro do cliente, e assim sucessivamente.
Então
já entendemos o que é um registro e um campo. Porém os campos possuem
algumas propriedades. Por exemplo : quando você preencheu o campo
que solicitava a sua renda, no papel você tinha um espaço para o
preenchimento. No micro, temos que informar ao sistema, como será
este espaço. O campo salário possui um tipo, neste caso é um número,
já o campo que armazena o seu nome é um campo do tipo texto.
E
nos campos, ainda podemos criar restrições quanto ao seu preenchimento.
Por exemplo, o campo salário bruto não vai aceitar uma renda inferior
a R$ 136,00 ( um salário mínimo ).
Se
você ainda ficou confuso com essas especificações não se preocupe,
durante o curso iremos trabalhar muito sobre estas questões e você
irá se acostumar com o tempo.
DATABASE
DIAGRAMS : Permite que você represente graficamente as tabelas,
seus índices e algumas outras propriedades, facilitando assim algumas
tarefas que seriam complexas de se realizarem através do uso de
comandos da linguagem Transact-SQL. Por exemplo, é muito mais fácil
realizar a comunicação entre duas tabelas, utilizando linhas e traçando
as mesmas de uma ponta a outra do sistema, do que ter que especificar
esta transação através de comandos.
INDICES
: Vou te fazer uma pergunta ... imagine um arquivo de uma clínica
com 50.000 fichas de pacientes já atendidos. De que forma é mais
fácil localizar a ficha de um paciente, se elas estiverem na ordem
em que foram criadas ou em ordem alfabética? Com certeza iremos
localizar uma ficha muito mais rapidamente, caso as mesmas estejam
ordenadas alfabeticamente. Assim acontece também com as tabelas.
Caso desejemos localizar um registro, a busca se dará mais rapidamente
caso a sua tabela esteja ordenada através de um campo chave.
VISÕES
: Uma visão nada mais é do que uma tabela virtual, resultado
de uma consulta. Por exemplo, temos a tabela com 50.000 registros
de atendimento a pacientes, e pedimos uma consulta (query) sobre
os pacientes que foram atendidos na data de ('10/07/1999'). O resultado
será apresentado em uma visão, tabela virtual com os registros selecionados
através de um conjunto de instruções. Quem já trabalhou por exemplo
com Delphi e SQL está acostumado com esta situação.
STORED
PROCEDURES : conjunto de comandos da linguagem TRANSACT-SQL
para acesso aos dados de um banco de dados.
TRIGGERS
: um trigger é uma stored procedure que é automaticamente executada
quando um registro da tabela é alterado em decorrência da execução
de um comando do tipo INSERT, UPDATE ou DELETE. Estes comandos iremos
estudar mais adiante.
WIZARDS
: também conhecido como assistentes, que possuem a função de
realizar diversas tarefas administrativas do sistema, sem a necessidade
de comandos Transact-SQL. As operações são realizadas através de
caixas de diálogo que interagem com o usuário. Veja abaixo a lista
dos principais assistentes do sistema :
| Assistente |
Função |
| Create
Backup |
Cria
um backup do banco de dados |
| Create
Database |
Executa
a criação de um banco de dados |
| Create
Index |
Executa
a criação de um índice |
| Index
Tuning |
Executa
o processo de ajuste fino de um índice |
| Create
Alert |
Executa
a criação de um alerta |
Até
o momento tivemos uma noção geral do que é um Banco de Dados, o
que é o SQL e seus principais recursos/componentes.
Nosso
próximo passo é aprender a trabalhar com tais recursos.
Antes
de nos conectarmos ao SQL Server, os serviços do banco de dados
precisam estar ativos no servidor. Se durante o processo de instalação
você optou pela opção de auto-inicialização dos serviços do SQL
Server, o procedimento que iremos mostrar a seguir não é necessário.
Se não foi esta a sua opção, deverá iniciar os serviços do SQL antes
de efetuar o login no banco de dados.
Inicializando
os Serviços no SQL Server
Para
isso, proceda da seguinte forma :
1)
Clique em <INICIAR>;
2)
Vá até a opção <PROGRAMAS>;
3)
Agora procure pela opção <MICROSOFT SQL SERVER 7.0;
4)
Clique sobre o item SERVICE MENAGER.

Caso
você, ao invés de iniciar (Start), escolha a opção de PAUSE, novas
conexões de usuários não poderão ser realizadas, porém as transações
que estiverem sendo executadas neste momento não são paralisadas.
É o contrário do que ocorre, caso você clique sobre o botão STOP,
nesta situação, todas as transações são finalizadas e os usuários
desconectados.
Registrando
Servidores
Quando
instalado, o SQL Server automaticamente registra o servidor local.
Porém pode acontecer de você querer acessar o SQL Server instalado
em outro servidor, para isso é necessário que você registre o mesmo.
Isto é feito através do Utilitário ENTERPRISE MANAGER.
1)
Clique em Iniciar
2)
Vá até programas
3)
Clique em Microsoft SQL Server 7.0;
4)
Clique sobre a opção ENTERPRISE MENAGER, conforme mostra a figura
a seguir :

Ao
clicar sobre esta opção, será exibida a janela do aplicativo em
questão. A tela tem o formato parecido com o que exibe a figura
abaixo :

Nesta
janela, clique com o botão direito do Mouse sobre o item SQL Server
Group. Será exibido um menu suspenso com várias opções. No nosso
caso, teremos que clicar sobre a opção NEW SQL SERVER.
Na
janela que se abriu, observe as seguintes opções e seus objetivos
:
Caixa
de diálogo Server : Digite ou selecione o nome do servidor;
Seção
Connection : na mesma você irá definir como será o tipo de autenticação
usada para a conexão. Caso você selecione USE WINDOWS NT autentication,
os usuários que quiserem se logar a este novo servidor, deverão
se logar ao NT com um login válido para o mesmo. Se a opção escolhida
por você for USE SQL SERVER AUTENTICATION, deverão usar um login
cadastrado no próprio SQL SERVER, independente dos logins do NT.
Obs.:
Vale lembrar que as caixas de edição LOGIN NAME e PASSWORD, existentes
na seção em questão, devem ser preenchidas para cadastro do LOGIN
e da SENHA para este banco de dados.
Caixa
de Listagem SERVER GROUP : Na mesma você deverá selecionar um
grupo para alocar o servidor. O padrão é o grupo SQL Server Group.
Após
definidas estas opções, basta clicar em OK e o novo servidor é registrado,
e passa a constar na lista de servidores disponíveis, dentro do
grupo selecionado.
Excluindo
Um Servidor.
O
processo para a exclusão de um servidor é muito simples, basta clicar
sobre o servidor com o botão direito do mouse e escolher a opção
DELETE SQL SERVER, em seguida confirmar a opção.
Mudando
o Registro de um Servidor
Para
efetuar esta operação, proceda da seguinte forma:
1)
Clique com o botão direito do mouse sobre o servidor a ser editado;
2)
No menu suspenso que é apresentado, clique sobre a opção EDIT SQL
SERVER REGISTRATION;
3)
Neste ponto, é exibida a seguinte janela na tela de seu micro :

LOGINS
no SQL Server
Para
se conectar ao SQL Server, o usuário passa por dois estágios : autenticação
e validação de permissão.
A
autenticação identifica o usuário através de uma conta de login,
e tem a função de verificar a condição de se conectar ao banco de
dados.
Se
a autenticação for realizada, ou seja, se o login da autenticação
for aceito, o usuário se conecta ao SQL Server, e neste ponto, o
usuário necessita obter permissão para acessar os bancos de dados
de um servidor específico. Este processo é feito através do uso
de contas de login no banco de dados a ser usado.
O
SQL opera com dois tipos de autenticação, abaixo iremos detalhar
cada uma delas :
Autenticação
do Windows NT
Neste
tipo de autenticação, a conta do usuário no SQL Server é comparada
ao login do usuário do Windows NT. Caso seja compatível, o SQL aceita
o login. Caso não seja compatível, o usuário não consegue se conectar
ao SQL Server.
Caso
você esteja usando o SQL na plataforma Windows 98, automaticamente
este tipo de autenticação está nula.
Autenticação
Mista
É
o serviço de autenticação independente do sistema de login do Windows
NT, gerenciado pelo próprio SQL Server.
Configurando
no SQL o modo de autenticação.
Esta
é mais uma simples tarefa a se realizar no SQL. Para isso, proceda
da seguinte forma :
1)
Clique com o botão direito do mouse sobre o servidor em questão;
2)
Selecione o item Properties;
3)
Selecione a ficha Security. Neste ponto será exibida a tela seguinte
:
4)
Marque o item Windows NT Only ou SQL and Windows NT, conforme o
tipo de autenticação a ser seguida pelo SQL Server, seguindo as
orientações anteriores.
Criando
Logins próprios do SQL Server 7.0
Se
o SQL Server utiliza o modo de autenticação mista, ou ainda se o
mesmo está sendo executado no Windows 95/98, você deverá criar contas
que peçam um nome e uma senha específica para o usuário. Para isso
você deverá proceder da seguinte forma :
1)
Clique sobre o servidor que receberá o novo login;
2)
Clique com o botão direito do mouse sobre a pasta logins, neste
ponto será exibida a seguinte janela :


Após
concluída as operações necessárias, clique em Ok.

Este
login é criado assim que você realiza a instalação do SQL Server,
e o mesmo não possui senha. Você não deve usar este login, o ideal
é que você crie um novo login para o administrador do SQL Server,
e use o mesmo ao invés do login SA.
Mesmo
assim, caso prefira usar o login em questão, é ideal que você estabeleça
uma senha para o mesmo.
Agrupamentos
de papéis do Servidor
Quando
você instala o SQL Server, diversos roles, também conhecidos como
papéis são criados, e eles tem a função de exibir e gerenciar as
atividades realizadas no servidor. Os mesmos estão armazenados dentro
da opção Security, item Server Roles, conforme mostra a figura a
seguir :

Sysadmin
- pode
realizar qualquer atividade no SQL Server
Serveradmin
- estabelece opções de configuração e pode também desligar o
servidor
Setupadmin
- pode gerenciar servidores ligados e procedures de inicialização
Securityadmin
- pode gerenciar logins e permissões de criação de banco de dados,
assim como ler arquivos de log de erros
Processadmin
- pode gerenciar processos sendo executados no SQL Server
Dbcreator
- pode criar e alterar banco de dados
Diskadmin
- pode administrar arquivos de disco
Você
tem como visualizar as atividades que cada um dos grupos pode realizar,
para isso, proceda da seguinte forma :
1)
Clique com o botão direito do mouse sobre o agrupamento desejado;
2)
Escolha a opção properties;
Selecione
a ficha Permissions, e será exibida a seguinte janela na tela de
seu micro :

Quando
criamos um novo login, deveremos determinar se o usuário será inserido
em um dos agrupamentos descritos acima. Para isso, deveremos proceder
da seguinte forma :
- Clique
com o botão direito do mouse sobre o login cadastrado, conforme
mostra a figura a seguir :

- Clique
sobre a opção properties, que se encontra no menu suspenso que
foi aberto.
- Selecione
a ficha Roles, conforme mostra a figura a seguir :

- Marque
os agrupamentos na qual você quer que o novo usuário participe/pertença.
- Em
seguida, basta clicar sobre o botão Ok.
Um
outro recurso, além de determinar a que agrupamentos do servidor
o usuário pertence, é o de estabelecer as permissões de acesso a
banco de dados, ou seja, quais dos bancos de dados já existentes,
o novo usuário poderá acessar.
Esta
tarefa também é muito simples de ser realizada. Para isso proceda
da seguinte maneira :
- Clique
com o botão direito do mouse sobre o login recém criado.
- Clique
sobre a opção Properties.
- Na
janela que se abre, clique sobre a ficha Database. Será exibida
uma janela idêntica a que mostra a figura a seguir :

- Agora
basta você marcar os bancos de dados que o usuário poderá acessar.
Quando concluir o processo, basta clicar sobre o botão Ok.
Criando
e manipulando Banco de Dados
Ao
contrário de outras versões do SQL Server, na sétima, o administrador
do sistema não precisa mais criar uma DEVICE e após isso, criar
o banco de dados através da mesma. Essa criação se dá de forma direta
e simples, com ou sem ajuda do assistente.
Primeiramente
vamos criar um banco de dados utilizando-se do assistente. Para
isso, proceda da seguinte forma ( não se esqueça que estaremos trabalhando
dentro do Enterprise Manager ) :
- Clique
em <Iniciar>;
- Vá
até a opção < programas >;
- Vá
até o grupo <Microsoft SQL Server> ;
- Acione
a opção Enterprise Manager;
- Na
árvore de servidores, selecione o servidor onde será criado
o novo banco de dados, conforme mostra a figura a seguir :

- Clique
sobre o ícone de assistentes.
- Neste
ponto, será exibida a seguinte janela na tela do seu micro:

Neste
ponto, você acaba de acessar o assistente para criação de banco
de dados. Clique sobre o botão NEXT, e a seguinte janela será aberta
na tela de seu micro :




Agora,
caso você queira estipular um tamanho máximo para o mesmo, a opção
Restrict file growth to deverá estar marcada, e na caixa de edição
ao lado, deverá ser indicado o seu tamanho máximo em Megabytes.
Após configurada estas opções, clique em <Avançar>.

- Neste
ponto será apresentada a janela com o resumo das características
do seu banco de dados, e para efetivamente cria-lo, basta clicar
sobre o botão finish, após este procedimento, o seu banco de
dados será criado. E também será questionado se você deseja
criar um plano de manutenção para o mesmo. O ideal é que se
responda YES.
Um
plano de manutenção é fundamental para o bom funcionamento de seu
banco de dados. Através dele poderemos especificar uma série de
tarefas de manutenção preventiva com o objetivo de melhorar o desempenho
e a segurança de seu banco de dados. Acreditamos que você tenha
clicado sobre a opção <YES>, logo será dado inicio ao assistente
de manutenção, conforme mostram as telas a seguir:







Voltar
Principal
| Cursos Gratuitos
| Cursos Diversos
| Dicas
| Promoções
| Mapa do
Site | QUIZ
|
|
Classificados | Central
Currículo | Fórum
| Fale Conosco |