Cursos On-line Gratuitos- Migrando de Access para SQL Server

Aula 02

Agora que já sabemos instalar o SQL Server, trabalhar com tabelas Access, só falta uma coisa para migrar tabelas do Access (que é o tipo de dados nativo do VB) para o SQL, que vem sendo adotado por inúmeras empresas.

TABELAS

Antes de você partir para a criação das tabelas, deverá fazer um estudo minucioso do seu banco de dados e das informações que você terá que armazenar. Muitos desenvolvedores tem o hábito de definir o banco de dados quando já estão dentro do módulo de criação das tabelas., sem ter estudado e definido previamente as informações necessárias para a confecção das mesmas, podendo com isso colocar em risco a qualidade das informações.

O SQL Server pode trabalhar com a criação de tabelas de duas formas :

1) Temporárias - são criadas em memória.
2) Permanentes - são gravadas em disco.

Cada tabela a ser criada no SQL poderá ter no máximo 1024 campos ( Colunas ). Cada campo ( Coluna ) deve possuir algumas especificações, como seu nome, tipo de dados que vai armazenar. Outras informações são opcionais, tipo valor padrão e limitações, como por exemplo valor máximo, etc...

O número de registros em uma única tabela é limitado pelo tamanho do local de armazenamento dos mesmos.

Assim como em outros ambiente de desenvolvimento, no SQL, cada tabela recebe um nome, e este nome é único, assim como seus campos também. Por exemplo, em uma mesma tabela, não podemos ter dois campos "TELEFONE", neste caso, teríamos que criar o campo "TELEFONE_RESIDENCIAL", e "TELEFONE_COMERCIAL".

Quando criamos uma tabela no SQL, a mesma é armazenada no que chamamos de FileGroup.

Conforme comentamos anteriormente, todo campo ( Coluna ) de uma tabela, deve informar o tipo de dados que vai armazenar. A esta especificação denominamos "DATA - TYPES". O SQL Server já traz consigo uma infinidade de DATA-TYPES, porém em uma operação mais específica, podemos criar nossos próprios DATA-TYPES.. Listamos a seguir a lista dos DATA-TYPES do SQL Server 7.0 :

Dados binários :

Binary(n)

Usado para armazenar números hexadecimais com tamanho fixo ( até 8 KB )

Varbinary(n)

Usado para armazenar números hexadecimais com tamanho variável ( até 8 KB )

image

Se o dado binário for maior que 8 KB, use o tipo de dado image. Este tipo é usado para armazenar documentos do Word, imagens, planilhas do excel, etc.

Caracteres : que podem armazenar letras, números e outros símbolos.

Char(n)

Para caracteres com tamanho fixo ( até 8Kb )

Varchar(n)

Para caracteres com tamanho variado (até 8 KB )

text

Para caracteres com tamanho maior do que 8 KB, como documentos HTML.

Data e Hora :

datetime

Armazena dados alfanuméricos que representam datas de 1/1/1753 a 31/12/9999. Ocupa 8 bytes no disco

smalldatetime

Armazena dados alfanuméricos que representam datas de 1/1/1900 a 6/6/2079. Ocupa 4 bytes no disco

Dados numéricos :

Para armazenar números inteiros, escolha uma das opções que segue :

Int

Armazena números entre -2.147.483.648 a 2.147.483.647. Ocupa em disco 4 bytes

smallint

Armazena números entre -32768 a 32767

tinyint

Armazena valores entre 0 a 255. Ocupa em disco 1 byte.

Para armazenar números decimais, escolha uma das opções que segue :

Decimal(p,s)

Para armazenar números exato. O parâmetro P indica o número de dígitos que o campo poderá conter antes e depois do ponto decimal. Já o parâmetro S determina o número de dígitos após o ponto decimal.

Numeric(p,s)

Para armazenar números exato. O parâmetro P indica o número de dígitos que o campo poderá conter antes e depois do ponto decimal. Já o parâmetro S determina o número de dígitos após o ponto decimal.

Float(n)

Para armazenar números não exatos, como dízimas periódicas. Neste caso, o dado é aproximado de acordo com o processador do sistema. O parâmetro n determina a precisão do número. Se for de 1 a 24, a precisão é de 7 digitos, e ocupa 4 bytes. Se for de 25 a 53, a precisão é de 15 dígitos, e ocupa 8 bytes de espaço.

real

Corresponde a float(24)

Dados monetários :

money

Armazena valores de -922.337.203.685.477,5808 a +922.337.203.685.477,5807. Ocupa 8 bytes.

smallmoney

Armazena valores de 214.748,3648 a 214.748,3647 e ocupa 4 bytes.

Você pode observar que , ao determinar um tipo de dados para uma coluna ( campo ), força o usuário a entrar com um valor específico. Por exemplo, letras não são aceitas em campos numéricos.

E você ainda tem a possibilidade de fazer com que a entrada de dados se aproxime ao máximo do que você deseja, através de um recurso do SQL chamado de restrição, através de chaves primárias e externas, valores padrões para o campo, etc...

Este processo é chamado de integridade do banco de dados através das Constraints.

As constraints tem prioridade sobre tiggers, regras e valores defaut. Existem cinco tipos de Constraints :

Not Null : especifica que um campo ( coluna ) não pode aceitar o valor nulo Null.

Check : limita os valores que podem ser colocados no campo ( coluna ) por meio do teste de uma condição booleana baseada no conteúdo que se pretende atribuir a mesma. Por exemplo, você poderia estabelecer o campo salário entre os valores 136 e 10000 :

Salario >= 136,00 and Salario <=10000

Chaves primárias : Também conhecida como primary key é um campo ou um conjunto de campos que identifica de forma única um registro de uma tabela. Em outras palavras, o campo sendo chave primária, não pode ter o seu conteúdo repetido em um outro registro.

Uma tabela só pode conter uma chave primária, e os campos que foram selecionados como chave primária não podem conter valores nulos.

Chaves externas : também conhecida como foreign key, é um campo ou um conjunto deles que correspondem a chave primária de uma outra tabela. A chave externa é utilizada para relacionamento de tabelas.

Por exemplo : Em uma tabela contendo os registros de compras, poderia ter como campo o código do fornecedor para qual a mercadoria foi comprada. O campo código do vendedor, um dos campos da tabela de compras, seria a chave primária da tabela fornecedores. Note que, ao inserirmos um novo registro na tabela de compras, o valor do campo que é a chave externa deve existir na tabela que o mesmo está ligado.

Unique : determina o comportamento de campos que não são chave primária. Com ela, o campo não admite valores duplicados, permite valores nulos, e criamos automaticamente um índice para facilitar a pesquisa na tabela.

Como primeiro exemplo, vamos criar três tabelas : uma para conter os dados dos autores de livros, outra para conter os livros e uma terceira para associar autores e livros.

Observe a estrutura da tabela de autores :

Campo

Tipo

Tamanho

Nulo

Default

Observação

Codigo_autor

ID

4

não

   

Nome

varchar

30

Não

   

fone

varchar

16

Sim

   

email

varchar

30

Sim

   

endereco

varchar

40

Sim

   

bairro

varchar

20

Sim

   

cidade

varchar

20

Sim

   

estado

varchar

2

Sim

   

Cep

varchar

9

     

ativo

bit

1

     

Observe a estrutura da tabela Livros :

Campo

tipo

Tamanho

Nulo

Default

Observação

Codigo_livro

ID

4

Não

   

titulo

varchar

40

não

   

Valor

money

8

Não

   

Secao

char

10

Não

   

Data_pub

datetime

8

Sim

   

 

Observe a estrutura da tabela LivrosAutor :

 

Campo

tipo

Tamanho

Nulo

Default

Observação

Codigo_livro

ID

5

Não

   

Codigo_autor

ID

5

Não

   

Vamos finalmente ao que nos interessa, a criação de tabelas. Para isso, proceda da seguinte forma :

  • Na árvore de servidores do Enterprise Manager, clique com o botão direito do mouse sobre o banco de dados no qual você quer criar a tabela .
  • No menu suspenso que surgiu, selecione a opção new, item table, conforme mostra a figura a seguir :

  • Ao clicar sobre a opção New ... Table, irá surgir a seguinte janela na tela do seu micro :


  • Digite o nome da tabela a ser criada e em seguida clique sobre o botão de OK. No nosso exemplo, a primeira tabela tem o nome de autores.
  • Neste ponto, será exibida a seguinte janela na tela de seu micro :


A seguir, vamos dar a descrição das funções da estrutura de tabela :

Column name - digite nesta coluna o nome do campo;

Datatype - escolha o tipo de dado que o campo poderá conter;

Lenght - se necessário, entre com o tamanho do campo.

Precision - defina a precisão desejada.

Allow Nulls - marque o quadro se o campo aceitar valores nulos, ou desmarque-o caso o usuário tenha que entrar necessariamente com um valor para o mesmo.

Default value - defina, se for o caso, um valor default para o campo.

Identy - Marque o quadrado se o campo for identificador de registro. Neste caso, o campo não pode conter valores nulos, automaticamente a opção Allow Nulls deverá estar desmarcada.

Algumas considerações importantes :

  1. Caso você tenha definido o campo como ID, defina em Identify Seed o valor inicial do campo e em Identify Increment o incremento.

RowGrid - cria um conteúdo único para a coluna em nível global. Uma tabela pode ter uma única coluna deste tipo e deve ser criada com o data type uniqueidentifier.

Então, conforme visto até o momento, vamos criar a estrutura em si da tabela de autores. No final do processo, a sua tela ficará parecida com a figura que segue :

Após ter digitado todo o conteúdo da tabela, falta definir a chave primária, que neste caso é o campo Codigo_autor. Para isso, clique na coluna anterior a Column Name, e em seguida clique sobre o botão Set Primary Key, conforme mostra a figura a seguir :



Apagando uma tabela do banco de dados

Para realizar esta tarefa., proceda da seguinte forma :

  • Dentro do banco de dados onde foi gerada a tabela, selecione a pasta Tables. Observe que a tabela irá aparecer a na divisão da janela à direita, conforme mostra a figura a seguir :

  • Clique com o botão direito do mouse sobre a tabela a ser excluída;
  • No menu suspenso que se abre, clique sobre a opção Delete. Será exibida a seguinte janela na tela do seu micro :


Renomeando uma tabela

O processo é praticamente o mesmo visto no passo anterior, porém para renomear, basta clicar no botão RENAME ao invés de clicar no botão DELETE, e inserir o novo nome da tabela.

Incluindo, editando e excluindo os dados de uma tabela

Quem já trabalhou com o Access, ou até mesmo algum aplicativo do Dbase III, como o assist, vai ver que é muito simples incluir dados em uma tabela do SQ, bem como alterar ou excluir registros.

Para ter acesso a estas operações, clique com o botão direito do mouse sobre a tabela a movimentar, e em seguida, no menu suspenso que se abre, clique sobre a opção OPEN TABLE .... RETURN ALL ROWS, conforme mostra a figura a seguir :



Após feito isto, será exibida a seguinte janela na tela de seu micro :


Nesta janela, podemos incluir, alterar ou excluir registros.

Para Incluir registros, basta clicar com na coluna Codigo_autor e iniciar a digitação dos dados desde registros. Chegando ao final desta linha, sobre o campo ativo, após a inclusão do seu valor, será automaticamente aberto um novo registro.

Para alterar qualquer dado de qualquer campo, basta clicar sobre o registro e seu respectivo campo e alterar o seu conteúdo.

Para excluir um registro, clique sobre o ponteiro do mesmo e em seguida pressione a Tecla DELETE. Será aberta uma janela pedindo para que você confirme a operação.

Alterando a estrutura de uma tabela

Pode acontecer, de após ter concluído a estrutura da tabela, você tenha que incluir ou excluir um campo criado. Para realizar esta operação, proceda da seguinte forma :

Inserindo um novo campo :

  • Clique com o botão direito do mouse sobre a tabela que terá um novo campo;
  • No menu que se abre, clique sobre a opção DESIGN TABLE;
  • Selecione a coluna (campo) que se tornará a coluna seguinte à nova coluna que você irá criar, dando um clique com o botão direito do mouse sobre a mesma;
  • No menu suspenso que foi aberto, clique sobre a opção INSERT COLUMN;
  • Preencha todos os dados do novo campo ( coluna );
  • Clique sobre o ícone que representa a ação de salvar ( SAVE );

Excluindo um campo existente :

  • Siga os 2 primeiros passos do exemplo anterior;
  • Clique com o botão direito do mouse sobre o campo a ser excluído;
  • No menu suspenso que é aberto, clique sobre a opção DELETE COLUMN;
  • Clique no ícone que representa a ação de salvar ( SAVE );

 

Como primeiro exercício de nosso curso, você deverá criar a estrutura das outras duas tabelas.

 

Voltar

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