SQL Server
SQL Server 2008
- Componentes
- Criando um BD
-
Componentes
O SQL server 2008 oferece diversos compone\ntes opcionais e ferramentas relacionadas a eles.
Para instalá-los, devemos usar a página Feature Selection do SQL Server Installation Wizard, na qual escolhemos quais deles serão incluídos no momento da instalação do SQL Server 2008.
- SQL Server Database EngineMecanismo central de armazenamento, processamento e segurança dos dados. Usado para criar bancos de dados relacionais para o processamento de transações ou processamento analítico. A criação inclui as tabelas para armazenar os dados e objetos como indices, views e stored procedures. A partir disso podemos visualizar e manipular os dados e garantir sua segurança.Esse mecanismo oferece acesso controlado e processamento de transações de forma rápida para as solicitações feitas pela maioria das aplicações que processam dados.Para essas tarefas, este mecanismo conta com ferramentas como: SERVICE BROKER, REPLICATION, NOTIFICATION SERVICES E FULL-TEXT SERARCH:
- SERVICE BROKER: Suporte nativo ao database engine para aplicações de envio de mensagens e listagem. Facilita principalmente a comunicação entre bancos de dados diferentes por meio de aplicações complexas criadas a partir dos componentes do Database Engine.
- REPLICATION: Conjunto de ferramentas para copiar e distribuir dados e objetos de um banco de dados para outro e então, sincronizá-los para manter consistência.
- NOTIFICATION SERVICES: Plataforma para desenvolvimento de aplciações que geram e enviam notificações. Costuma-se utilizar essa ferramenta para criar e enviar mensagens de forma pontual e personalizada para muitos assinantes e para ampla variedade de dispositivos, como um celular por exemplo.
- FULL-TEXT SEARCH: Esta ferramenta oferece uma funcionalidade para a realização de buscas full-text nas tabelas de dados baseados em caracteres.
- Analysis ServicesPermite desenvolver e controlar o processamento analítico, através da criação de soluções complexas de exploração de dados. É aplicável a qualquer estrutura multidimensional que contenha detalhes de dados agregados de códigos de origem.
- Reporting ServicesTambém conhecido como SSRS, Reporting Services é uma plataforma de informações baseada no servidor. Inclui um conjunto de ferramentas com as quais podemos criar, manipular e comunicar informações através de relatórios. Funciona dentro do ambiente Microsoft visual Studio e é integrada com as ferramentas e componentes do SQL Server.
Integration Services
Plataforma de desenvolvimento de soluções para transformação e integração dos dados com a finalidade de resolver problemas complexos de negócios. Podemos mover os dados, atualizar os locais de armazenamento, copiar dados, fazer download de arquivos e mandar mensagens de e-mails sem resposta aos eventos.
Para saber a versão do seu SQL Server:
select @@version;
ou
SELECT
SERVERPROPERTY(‘productversion’),
SERVERPROPERTY (‘productlevel’),
SERVERPROPERTY (‘edition’)
Criando um BD
create database banconovo;
Renomeando:
exec sp_rename @objname = ‘Categoria’, @newname = ‘categoria’
Aqui são criados 2 arquivos:
banconovo.MDF – armazena os dados
banconovo.LDF – armazena os logs de transaçõesPara executar comandos SQL, você precisa estar trabalhando no banco específico onde estarão as tabelas, para isso certifique que está no BD certo:
use banconovo;
Criando uma tabela
create table novatabela; –tabela sem nenhuma coluna
create table alunos
( num_aluno int,
nome char(30),
data_nascimento datetime,
idade int,
e_mail char(50),
fone_res char(14) )
Tipos de dados:
::::::::::…. Numéricos Exatos ….::::::::::
Integers .:
- bigint – 8 bytes – (-2^63 a 2^63-1)
- int – 4 bytes – (-2^31 a 2^31-1)
- smallint – 2 bytes – (-2^15 a 2^15-1)
- tinyint – 1 byte – (0 a 255)
bit .:
Decimal e Numeric .:
- Decimal(<T>,<D>) – (-10^38+1 a 10^38-1) ***Novas Nomenclaturas
- Numeric(<T>,<D>) - (-10^38+1 a 10^38-1) ***Deprecated
- <T> – Máximo de algarismos
- <D> – Casas decimais
- Ex: Decimal(6,2) = 1000,00
Money e smallmoney .:
- money – 8 bytes – Necessário inserir com $, mas não é gravado o caracter no bd.
- smallmoney – 4 bytes -
::::::::::…. Numéricos Aproximados ….::::::::::
- float(n) - Valor numérico, o n é a precisão, o padrão é usar 53 – ***Pesado
- real – igual ao float precisão 24 ou float(24).
::::::::::…. Data e Hora ….::::::::::
- datetime – (8 bytes) – 1 jan de 1753 a 31 de dez de 9999 – exatidão de 3,33 milissegundos.
- smalldatetime – (4 bytes) – 1 de jan de 1900 a 6 de junho de 2079 – exatidão de 1 min.
::::::::::…. Strings e caracteres ….::::::::::
- char(n) – máximo de 8000 caracteres não unicode, onde n é a qtde de caracteres a serem usados. O que for definido em n será o espaço na memória reservado fisicamente, independente se a string for ou não do tamanho especificado, ou seja, muitas vezes ocupa espaço em vão e isto explica o maior uso do varchar.
- varchar(n) – máximo de 8000 caracteres não unicode, onde n representa o tamanho máximo que a string suportará, nesse caso o espaço da memória só será alocado para a string real inserida, ou seja, se a string nome(10) receber “jao”, será alocado somente 3 caracteres e não os 10. cada caracter ocupa 1 byte
- text – máximo de 2^31 -1 caracteres não unicode.
::::::::::…. Strings de caracteres unicode ….::::::::::
- nchar(n) – ocupa 2 bytes, usado em países como China e Japão que possuem muitos símbolos no idioma.
- nvarchar(n) – ocupa 2 bytes, usado em países como China e Japão que possuem muitos símbolos no idioma.
- ntext – será excluido das próximas versões.
::::::::::…. Strings binárias ….::::::::::
- binary(n) – dado binário com máximo de 8000 bytes (n)
- varbinary(n) – dado binário com máximo de 8000 bytes (n)
- image – dado binário com máximo de 2^31 -1 bytes. (será retirado das próximas versões)
::::::::::…. Outros tipos de dados ….::::::::::
cursor – referencia a um cursor
sql_variant – tipo que suporta vários outros tipos do sql server, exceto os seguintes: text, ntext, timestamp e sql_variant.
table – armazena um cj de dados q será processado posteriormente.
timestamp – número binário exclusivo, muito usado para guardar a data/hora.
uniqueidentifier – Compreende um Global Unique Idenfifier(GUID), ou um identificador único universal.
Manipulando campos do tipo datetime:
SET DATEFORMAT YMD;
GETDATE();
DAY();
MONTH();
YEAR();
DATEPART();
DATEADD();
Somar 30 dias a data atual:
select DATEADD(day,30,GETDATE());
DATEDIFF();
Funções
Replace
UPDATE TABELA SET CAMPO = REPLACE(CAMPO, ‘ , ‘, ‘ . ‘)
Divisão por 0
case when D2_QUANT <> ’0′ then (D2_CUSTO1/D2_QUANT) else ’0′ end as custoUnitario,