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 :

  1. Clique com o botão direito do mouse sobre o login cadastrado, conforme mostra a figura a seguir :

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

  1. Marque os agrupamentos na qual você quer que o novo usuário participe/pertença.
  2. 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 :

  1. Clique com o botão direito do mouse sobre o login recém criado.
  2. Clique sobre a opção Properties.
  3. Na janela que se abre, clique sobre a ficha Database. Será exibida uma janela idêntica a que mostra a figura a seguir :

  1. 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 ) :

  1. Clique em <Iniciar>;
  2. Vá até a opção < programas >;
  3. Vá até o grupo <Microsoft SQL Server> ;
  4. Acione a opção Enterprise Manager;
  5. Na árvore de servidores, selecione o servidor onde será criado o novo banco de dados, conforme mostra a figura a seguir :

  1. Clique sobre o ícone de assistentes.
  2. 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>.

  1. 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