Neste exemplo iremos aprender a criar um Banco de Dados, onde consiste em dois arquivos um que irá
armazenar os dados e outro os log's das transações. Para poder executar o script é necessário ter na raiz da máquina C: a pasta SQLSV criada.
Vá em iniciar Todos os Programas - Sql Server 2005 - Sql Server management Studio, Clicar um New Query e para criar um novo banco de dados o combo na parte superior da barra de ferramentas tem que estar em banco Master.
CREATE DATABASE FINANCEIRO Vá em iniciar Todos os Programas - Sql Server 2005 - Sql Server management Studio, Clicar um New Query e para criar um novo banco de dados o combo na parte superior da barra de ferramentas tem que estar em banco Master.
ON (
NAME = FINANCEIRO_DADOS,
FILENAME = 'C:\SQLSV\FINANCEIRO_DADOS.mdf', -- criação do Arquivo de dados
SIZE = 5 , -- tamanho do arquivo inicial de dados
MAXSIZE = 20,
FILEGROWTH = 5 -- percentual de auto crescimento do bando de dados
)
LOG ON
(
NAME= FINANCEIRO_log,
FILENAME = 'C:\SQLSV\FINANCEIRO_LOG.ldf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 10
)
Obs: um banco de dados pode ser criado também via interface gráfica, com um click no botão direito do mouse em cima da Databases e selecionando New Database podemos definir as informações de um novo banco.
2 - Criando tabelas
Para criar tabelas em um bando de dados é bem simples, mas temos que prestar muita atenção nos tipos de dados que iremos utilizar.
Os tipos de dados mais utilizados e principalmente pelos iniciantes são:
- DATETIME: Armazena hora e data variando de 1 de janeiro de 1753 até 31 de Dezembro de 9999. A precisão de hora é armazenada até os centésimos de segundos.
- DECIMAL(I,D) e NUMERIC(I,D): Armazenam valores numéricos inteiros com casas decimais utilizando precisão. I deve ser substituído pela quantidade de dígitos total do número e D deve ser substituído pela quantidade de dígitos da parte decimal (após a vírgula). DECIMAL e NUMERIC possuem a mesma funcionalidade, porém DECIMAL faz parte do padrão ANSI e NUMERIC é mantido por compatibilidade. Por exemplo, DECIMAL(8,2) armazena valores numéricos decimais variando de – 999999,99 até 999999,99
- CHAR(N): Armazena N caracteres fixos (até 8.000) no formato não Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo é preenchido com espaços em branco.
- VARCHAR(N): Armazena N caracteres (até 8.000) no formato não Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo não é preenchido.
- INT: Valores numéricos inteiros variando de -2.147.483.648 até 2.147.483.647
CREATE TABLE TIPO_DESPESAS
(
ID_TIPO int IDENTITY(1,1) NOT NULL,
DESCRICAO varchar(50) NOT NULL,
TIPO char(1) NULL,
CONSTRAINT [PK_TIPO] PRIMARY KEY (ID_TIPO)
)
Obs: ID_TIPO, DESCRICAO e TIPO são os nomes dos campos; Int, Varchar e Char são os tipos de dados; IDENTITY indica que o campo é auto-incrementável, ou seja, é uma numeração aoutmática crescente; NOT NULL e NULL indica se o campo pode ser vazio ou requerido e CONSTRAINT PRIMARY KEY de um determinado campo indica que ele é único na tabela ele nunca irá se repetir em outro registro da mesma tabela.
3 - Inserindo dados na Tabela
Abaixo irei apresentar duas formas de inserir dados em uma tabela.
1º - Exemplo
INSERT INTO TIPO_DESPESAS VALUES ( 'FIXA' , 'F')
2° - Exemplo
INSERT INTO TIPO_DESPESAS
SELECT 'VARIAVEL' , 'V'
Obs: Podemos perceber facilmente que não foi especificado na inserção o campo ID_TIPO, pois como havia dito anteriormente um campo IDENTITY é auto incrementável e logo quando faço a inserção dessa forma o campo é automáticamente atualizado.
Após executar com sucesso os três primeiros passos vamos rodas o seguinte Script que irá informar os dados contidos na tabela.
SELECT * FROM TIPO_DESPESAS
OK......................................
4 - Alterando dados da tabela (Update)
Neste exemplo vamos alterar o campo tipo da tabela que criamos acima, se executarmos um select na tabela iremos ver o estado atual da mesma e ouro após o Update iremos perceber a alteração no campo TIPO.
UPDATE TIPO_DESPESAS
SET TIPO ='A'
WHERE ID_TIPO = 1
UPDATE TIPO_DESPESAS
SET TIPO ='B'
WHERE ID_TIPO = 2
Vamos executar novamente para ver a alteração.
SELECT * FROM TIPO_DESPESAS
5 - Conhecendo Constraints
Agora que já aprendemos o básico vamos começar a se aprofundar. Em criação de tabelas é possível o SQL Server oferece a criação de Constraints, nos exemplos abixo de criãção de tabelas iremos utilizar cada uma delas para melhor entendimento.
Tipos de Constraints :
- - PRIMARY KEY
- - FOREIGN KEY
- - NOT NULL
- - UNIQUE
- - CHECK
(
ID_DESP INT IDENTITY ,
DESCRICAO VARCHAR(40) NOT NULL ,
ID_TIPO INT NOT NULL ,
CONSTRAINT PK_DESP PRIMARY KEY(ID_DESP) ,
CONSTRAINT FK_TIPO FOREIGN KEY(ID_TIPO)
REFERENCES TIPO_DESPESAS
)
INSERT INTO DESPESAS VALUES ( 'CONTA DE LUZ' , 1)
INSERT INTO DESPESAS VALUES ( 'CONTA DE ÁGUA' , 1)
INSERT INTO DESPESAS VALUES ( 'CONTA DE TELEFONE' , 1)
INSERT INTO DESPESAS VALUES ( 'RESTAURANTES E BARES', 2)
INSERT INTO DESPESAS VALUES ( 'CARTÃO VISA' , 2)
INSERT INTO DESPESAS VALUES ( 'CARTÃO MASTERCARD' , 2)
INSERT INTO DESPESAS VALUES ( 'PRESTAÇÃO CARRO' , 1)