Vai reto.. reto… segue..segue.. segue.. Vai dar uma ganda volta..

Hoje gostaria de vos mostrar como o MSSQL pode ser útil em cenários em que necessitamos de explorar várias hipóteses para ver qual é a melhor solução.

Cenário:
Necssitamos de encontrar o caminho mais curto entre dois pontos (para este exemplo será o Nó 1 e 6) considerando que o custo dos trajetos varia:



Para representar a informação dos caminhos vamos criar uma tabela onde registamos a distancia entre cada ponto (Nó)



Esta tabeka possui as distancias entre cada ponto.

Considerando que cada ligação poderá ser bi-direcional podemos começar por obter as distâncias entre todos os nós recorrendo à seguinte consulta:



A partir daqui basta criar uma CTE que comece por pesquisar todos os caminhos que possuem como inicio o nosso ponto de partida (Nó 1):



Desta consulta inicial constatamos que existem 3 caminhos inicais possíveis (Destino Nós:4, 5 e 6). Embora já tenhamos encontrado um caminho que temcomo destino o Nó 6 este pode não ser o caminho mais curto. Para continuarmos a verificar caminhos possíveis iremos agora consultar todos os destinos possíveis que tenham como origem o Nó 4 e 5.. e assim sucessivamente. Para isso vamos usar a faculdade de recursividade das CTEs



Constatamos assim que o caminho mais curto será: 1->5->3->6.

NOTA: Esta CTE não foi otimizada para efeitos de simplicidade dos exemplos apresentados. 

Esperemos que tenham gostado..


Workshops gratuitos sobre SQL Server

A Allen Informatica, em parceria com a Microsoft, está oferecendo workshops gratuitos sobre SQL Server 2012. Um dos diferenciais desses workshops é que haverá laboratórios durante as palestras. Cada wokshop terá a duração de 7 horas (10 às 17 Hs). … Continuar lendo

Treinamento PowerShell 3.0 Online

Estão abertas as inscrições para o primeiro treinamento de PowerShell online ministrado por ninguém menos que Laerte Junior, PASS Regional Mentor, autor no Simple-Talk além de ser uma referência de

Leia mais...

Eventos: Chris Webb na Rumos, CTP via SQLPort



Enquanto vos vou dando mais algum tempo para resolverem isto, deixo aqui umas quantas referências a eventos que aí vêm:



        •       Três sessões a não perder no CTP SQLPort. São pagas mas o valor reverte totalmente para a elaboração do próximo SQLSaturday Lisboa (podem submeter sessões para o SQLPort #267 aqui)

        Columnstore com o Niko
          Hekaton com o Pedro 
            PowerBI com o Bruno
             

              REALIZANDO CONSULTA EM ARQUIVO DO SQL SERVER PROFILER (.TRC) COM A FUNÇÃO FN_TRACE_GETTABLE()

              Neste post demonstrarei como realizar consulta em arquivos gerados pelo SQL Server Profiler. Muitas vezes coletamos as informações que estão em execução no SQL Server através da ferramenta SQL Server Profiler, porém quando necessitamos realizar filtros e ordenamentos na console no do SQL Server Profiler encontramos algumas limitações. Vale lembrar que podemos gerar um trace […]

              Introdução ao cache no SQL Server

              Segundo a Wikipédia “[…] cache é um dispositivo de acesso rápido, interno a um sistema, que serve de intermediário entre um operador de um processo e o dispositivo de armazenamento ao qual esse operador acede. A vantagem principal na utilização de um cache consiste em evitar o acesso ao dispositivo de armazenamento o que pode […]

              Simulando – Minimal Logging – Microsoft SQL Server 2008 R2 e 2012.

              Galera, bom dia. Tudo bem? Gostaria de compartilhar com vocês neste artigo um conceito que coloquei em prática há alguns dias. Estou me referindo ao chamado Minimal Logging, fiquei muito surpreso ao usar esta prática, algo que me ajudou muito a entender um pouco mais sobre o processo de geração de Logs de Transações em […]

              Criando e Executando um assembly pelo SQL Server

              Fala Galera, Todos sabemos que a linguagem T-SQL possui limitações, alguma vez você já precisou fazer algum processo muito elaborado e acabou esbarrando em alguma delas? Pois é, saiba que o SQL Server possuí uma integração com linguagens de programação, Visual Basic e C#, o que nos permite utilizar todas suas vantagens. Vamos inciar criando […]

              [discere] Primeiro Curso CONFIRMADO



              É com enorme prazer que anunciamos que, apenas 3 semanas após o lançamento do projeto discere.pt, já temos confirmado o inicio do primeiro Curso.

              Assim o curso Querying Microsoft SQL Server 2012 tem início confirmado no dia 30 do presente mês de Setembro e terá uma duração de 6 semanas (ver calendário formativo).  


              Ainda existem vagas disponíveis por isso convidamos todos aqueles que também quiserem embarcar nesta experiência discere.pt a visitarem o sitio discere e inscreverem-se (formulário de inscrição)

              Márcio Gomes vs SQL – Fight 1

              Olá pessoas, A partir desta semana, o Márcio Gomes terá um espaço para expressar todo seu amor ao SQL, então boa diversão! SQL Go To Hell… PLZ! por Márcio Gomes Antes de tudo eu gostaria de agradecer ao Paulo pelo espaço cedido no SQL FROM HELL, não existe lugar melhor na internet para eu expressar […]
              Go to Top