Mostrando postagens com marcador Redes. Mostrar todas as postagens
Mostrando postagens com marcador Redes. Mostrar todas as postagens

terça-feira, 3 de dezembro de 2013

Usando Aliases e Literais de Strings - SQL na Prática

O que são Aliases

As aliases podem ser atribuídas para colunas na lista de seleção e para fontes de dados na cláusula FROM; Declarações de SELECT podem ser feitas facilmente para serem lidas usando ALIASES (apelidos).

Aliases, tanto para colunas e tabelas, dentro de uma instrução SELECT são feitas para tornar a digitação e a leitura da declaração mais simples;

As Aliases não fazem somente a declaração mais fácil de ler, mas também podem fazer mais fáceis de ler e interpretar o conjunto de resultados;

Na prática:
- A cláusula opcional AS pode ser adicionada para que a declaração fique mais legível;
Ambas as declarações abaixo são equivalentes;

SELECT e.ContactID AS 'Employee Identification Number'
FROM HumanResources.Employee AS e

SELECT e.ContactID 'Employee Identification Number'
FROM HumanResources.Employee AS e


Literais de string:

- São valores constantes;
- Pode ser inserida dentro de uma coluna derivada para formatar um dado;
- Pode ser usada como valores alternativos em funções, como na função ISNULL();

-- Se MiddleName for null, ele retorna o '' (sem espaço)
-- Substring pega a desde a posição 1 (1º parâmetro)
-- de MiddleName, mais 1 caractere (2º parâmetro)

SELECT (LastName + ',' + FirstName + ''
 + ISNULL(SUBSTRING(MiddleName,1,1),'')) as Name
FROM Person.Contact
ORDER BY LastName,FirstName,MiddleName;

SELECT (LastName + ',' + SUBSTRING(FirstName,1,2)) as Name
FROM Person.Contact
ORDER BY LastName,FirstName,MiddleName;

Literais de strings são Strings estáticas que são inseridas dentro de colunas derivadas, como uma vírgula entre partes de um nome concatenado. Eles também podem ser usados como valores alternativos em vez do valor da coluna numa função como NULLIF() e COALESCE().

- Aliases de Colunas e tabelas não são literais de Strings;
- Literais de strings podem ser usadas por funções como retorno de valores alternativos;

quinta-feira, 16 de maio de 2013

Modelo de Referência ISO/OSI

Dentro deste cenário de grande variedade de sistemas operacionais, CPUs, interfaces de rede, tecnologias e várias outras variáveis, e a necessidade de interconexão entre os diversos sistemas computacionais, em 1977, a International Organization for Standardization  – ISO, criou um sub-comitê para o desenvolvimento de padrões de comunicação para promover a interoperabilidade entre as diversas plataformas. Foi então desenvolvido o modelo de referência Open Systems Interconnection – OSI.

O comitê ISO assumiu o método “dividir para conquistar”, dividindo o processo complexo de comunicação em pequenas sub-tarefas (camadas), de maneira que os problemas passem a ser mais fáceis de tratar e as subtarefas melhor otimizadas. O modelo ISO/OSI é constituído por sete camadas, descritas sucintamente a seguir de cima para baixo:

7 - Aplicação: Esta camada funciona como uma interface de ligação entre os processos de comunicação de rede e as aplicações utilizadas pelo usuário.
6 - Apresentação Aqui os dados são convertidos e garantidos em um formato universal.
5 - Sessão: Estabelece e encerra os enlaces de comunicação.
4 - Transporte: Efetua  os  processos de sequenciamento e, em alguns casos, confirmação de recebimento dos pacotes de dados.
3 - Rede: O roteamento dos dados através da rede é implementado aqui
2 - Enlace: Aqui a informação é formatada em quadros (frames). Um quadro representa a exata estrutura dos dados fisicamente transmitidos através do fio ou outro meio.
1 - Física: Define a conexão física entre o sistema computacional e a rede. Especifica o conector, a  pinagem, níveis de dimensões físicas, características mecânicas e elétricas, tensão, etc.

Cada camada se comunica com sua semelhante em outro computador. Quando a informação é passada de uma camada para outra inferior, um cabeçalho é adicionado aos dados para indicar de onde a informação vem e para onde vai. O bloco de cabeçalho + dados de uma camada é o dado da próxima camada.

A unidade de informação muda de nome ao longo das camadas de maneira que podemos saber sobre qual camada se está referindo pelo nome destas unidades. A tabela abaixo relaciona os diversos nomes destas unidades de informação ao longo das camadas:

7 - Aplicação: Mensagem
4 - Transporte: Segmento
3 - Rede: Datagrama
2 - Enlace: Quadro/Frame
1 - Física: Bit

quarta-feira, 15 de maio de 2013

Protocolos e Aplicações

Existem vários outros protocolos que pertencem ao grupo TCP/IP dos quais podemos citar: SMTP, DNS, NFS, HTTP, RIP, Rlogin, X Windows, Packet Internet Groper – PING, Traceroute. Segue abaixo algumas informações:

Domain Name Server – DNS: também chamada de Name Service, esta aplicação relaciona endereços IP com os seus respectivos nomes atribuídos a dispositivos da rede.

Simple Mail Transfer Protocol – SMTP: este protocolo é utilizado nos serviços básicos de envio de mensagens.

Network File System – NFS: este sistema foi desenvolvido pela Sun Microsystems e permite que computadores possam “montar” discos ou parte deles (diretórios) de dispositivos remotos e operá-los como se fossem locais.

HyperText Transfer Protocol  – HTTP: este protocolo é a base do ambiente World Wide Web que basicamente permite a leitura dinâmica e interativa de documentos constituídos de texto, imagens e som.

Protocolo Internet - IP

O protocolo Internet é definido na camada 3 do modelo ISO/OSI. Esta camada é responsável pelo endereçamento dos pacotes de informação dos dispositivos origem e destino e possível roteamento entre as respectivas redes, se diferentes. Este roteamento é executado através do IP.

Como visto anteriormente, o endereço IP é composto de 4 octetos, que são divididos em parte rede e parte dispositivo, chamados de identificadores de rede e de host, de acordo com o tipo de classe definido pelos primeiros bytes do primeiro octeto, e/ou subrede, definida pelo número de máscara.

Este protocolo, usando a parte rede do endereço ou identificador de rede, pode definir a melhor rota através de uma tabela de roteamento mantida e atualizada pelos roteadores.

Este protocolo recebe os dados da camada superior (transporte) na forma de segmentos. Ocorre então o processo de fragmentação e os conjuntos de dados passam a se chamar datagramas. Estes datagramas são então codificados para envio à camada inferior (física) para encaminhamento no meio físico.

Cabeçalho: contém informação sobre a versão do número IP (ipv4 ou ipv6) e o tipo de serviço (ToS), muito usado em aplicações que necessitem de Qualidade de Serviço (QoS).

Comprimento: informa o comprimento do datagrama incluindo dados e cabeçalho.

Fragmentação: instrui ao protocolo, como reagrupar datagramas quando chegam após um processo de fragmentação muito comum em interfaces defeituosas e tráfego intenso.

Time to Live – TTL:  informa o número de roteadores que podem redirecionar o datagrama. O valor é decrementado até zero a cada roteador quando então o datagrama é descartado, impedindo a criação de  loops  e assim garantindo estabilidade ao processo de roteamento.

Verificação de Erro:  seleciona que processo será utilizado na detecção de erros: Cyclical Redundance Check – CRC ou Frame Check Sequence – FCS.

Endereço Fonte e Endereço Destino: 32 bits cada, caracterizam por completo toda informação sobre endereçamento necessária ao processo de roteamento.

Todas as informações necessárias para que o IP possa se comunicar com o resto da rede estão distribuídas nestes campos, principalmente naqueles relativos ao endereçamento. É importante observar que a camada de rede utiliza estes endereços lógicos de 4x8bits, para definir as redes existentes e como conseguir obter informação delas. Entretanto, para que os dados cheguem aos  hosts é necessário um outro tipo de endereço: endereço Media Access Control - MAC ou Ethernet.

Protocolo TCP/IP

Existem duas versões do protocolo IP: O IPV4 que é a versão atual, que utilizamos na maioria das situações, enquanto o IPV6 é a versão atualizada que prevê um numero brutalmente maior de endereços que deve se popularizar a partir de 2012 ou 2014, quando os endereços IPV4 começarem a se esgotar. No IPV4, os endereços IP são compostos por quatro blocos de 8 bits (32 bits no total), que são representados por meio de números de 0 a 255 (Cobrindo as 256 possibilidades permitidas por 8 bites), como “192.168.12.14” ou “169.224.210.143”. Os grupos de 8 bits que formam o endereço são chamados de “Octetos”, que dá origem a expressões como: “Primeiro Octeto do Endereço”. De qualquer forma, a divisão dos endereços em Octetos e o uso de números decimais serve apenas para facilitar a configuração para nós, seres humanos.

Quando processadas, os endereços são transformados em binários como: “01010101000101”.

As faixas de endereços começadas com: “10”, “192.168” ou de “172.16” até “172.31” são reservadas para o uso de redes locais, e por isso não são usadas na Internet. Os roteadores que compõem a grande rede são configurados para ignorar pacotes provenientes destas faixas de endereço, de forma que as inúmeras redes locais que utilizam endereços na faixa “192.168.0.X” (Por exemplo) podem conviver pacificamente, sem entrar em conflito.