segunda-feira, 23 de setembro de 2013

SQL: Descrevendo as etapas de um SQL

Sempre que nos deparamos com um banco de dados, seja ele pequeno ou grande e temos a missão de extrair informações, de uma forma ou outra vamos acabar nos deparando com instruções SQL. Um dialeto que é padrão mundial para bancos de dados relacionais, baseado fortemente no idioma inglês, que nos fornece uma forma simples, porém eficiente de obter dados.




Mas você sabia que, quando enviamos uma consulta SQL para nosso banco, ele segue uma sequência lógica bem definida e matematicamente proposta para nos devolver os dados? Se você respondeu não, fique tranquilo, todo bom desenvolvedor prefere pôr a mão na massa mesmo, mas como sempre um pouco de conhecimento teórico é bom, abaixo eu descrevo cada uma das seis fases e um breve resumo do que está acontecendo quando executamos elas:


Primeira etapa – FROM: Basicamente, é aqui que sistema reconhece quais tabelas você quer consultar, incluindo possíveis joins;

Segunda etapa – WHERE: É aqui onde acontece a validação dos predicados, para cada linha é testada a condição informada e somente quando a mesma for verdadeira, a linha é retornada;

Terceira etapa – GROUP BY: Cria agrupamentos para as rows de acordo com as colunas informadas;

Quarta etapa – HAVING: Uma validação semelhante ao where, porem ela reflete sobre os grupos e não sobre as rows;

Quinta etapa – SELECT: É nesse momento que as propriedades e demais funções inseridas vão ser retornadas;

Sexta etapa – ORDER BY: Em um conceito Non-Relational, ele é responsável por formatar a forma de exibição desejada para os dados retornados.



Agora que você já conheceu essa sequência, experimente identificar alguns erros nas suas próprias consultas, vocês vão ver como eles fazem bem mais sentido agora.

Nenhum comentário:

Tags

Microsoft (82) Google (33) Windows (23) Internet (20) Windows 7 (15) Internet Explorer (13) Segurança (12) Games (11) Gmail (5) Jogos (5) Mobile (5) Mozila Firefox (5) Visual Studio 2010 (5) Banco de Dados (4) Kinect (4) Orkut (4) Video Game (4) Videos (4) 3D (3) Chrome Os (3) Twitter (3) Web Designer (3) YouTube (3) Acessibilidade (2) Adobe (2) Analise (2) Artigos (2) Asp.Net (2) HTML5 (2) Internet Explorer 9 (2) Live Messenger (2) SqlServer (2) Steve Jobs (2) Sun (2) Telefonia (2) Wifi (2) Yahoo (2) blizzard (2) .Net (1) 3G (1) 4G (1) App Store (1) CEO (1) Cinema (1) Firefox (1) IBM (1) Java (1) Mozilla (1) Música (1) Nuvem (1) PS3 (1) PSN (1) Steve Ballmer (1) Televisor (1) Visual Studio 11 (1) Web 2.0 (1) eBook (1) w3c (1)