SQL-Server: Consulta para saber cuántas tablas o vistas hay en una base de datos

¿Manejas una base de datos en SQL-Server? ¿Quieres saber cuántas tablas tienes en tu base de datos? ¿Y cuántas vistas? ¿Y ambas? Estas consultas te darán esa información:

#Contar Tablas
SELECT COUNT(*) from Information_Schema.Tables where TABLE_TYPE = 'BASE TABLE'

#Contar Vistas
SELECT COUNT(*) from Information_Schema.Tables where TABLE_TYPE = 'VIEW'

#Contar Tablas y vistas
SELECT COUNT(*) from Information_Schema.Tables 
Anuncios

SQL-Server y capitalización compuesta: calcular el capital final.

Ayer veíamos cómo calcular el capital final y los intereses sobre un importe aplicando la formula de la capitalización simple en una consulta de SQL-Server. Hoy vamos a ver cómo calcular el capital final, pero con la fórmula de la capitalización compuesta:

La capitalización compuesta es una fórmula financiera que permite calcular el equivalente de un capital en un momento posterior.

La diferencia entre la capitalización simple y la compuesta radica en que en la simple sólo genera intereses el capital inicial, mientras que en la compuesta se considera que los intereses que va generando el capital inicial, ellos mismos van generando nuevos intereses.

La fórmula para obtener el capital final sería Cf = C0 * (( 1 + i) ^ t) siendo C0 el capital inicial, i el tipo de interés y t el tiempo. Ahora supongamo, como en el ejemplo de la capitalización simple, que tenemos una tabla llamada Depositos con una columna Capital donde almacenamos el dato del capital inicial, que para el ejemplo serán 2000 euros (C0=2000), una columna Interes con el tipo de interés, que para el ejmplo será del 5% anual (i=0.05) y una columna Tiempo que será de 10 años.

Entonces ¿cómo nos quedaría la consulta?

Select CONVERT(float,Importe)*POWER(CONVERT(float,(1.00+Interes)),Tiempo) from Depositos

¿Por qué metí ahí las funciones CONVERT() para asegurarme de que los valores con los que se operan son float? Bueno, en el caso del importe porque ya sabéis, como comentamos anteriormente, que SQL-Server 2008 (también os comenté que estoy estudiando las versiones posteriores) convierte a enteros los resultados de las operaciones si operamos con algún entero en las mismas. En el caso del segundo es por el funcionamiento de la función POWER(). Dicha función recibe dos parámetros y devuelve el valor del primer parámetro elevado al valor del segundo parámetro, pero el tipo de dato devuelto es siempre el mismo tipo que el enviado en el primer parámetro. Si, por ejemplo, recibe un valor Numeric(4,2) redondearía el resultado a dos decimales y nos daría un resultado bastante impreciso por ello.

SQL-Server y Capitalización simple:calcular los intereses y el capital final

La capitalización simple es una fórmula financiera que permite calcular el equivalente de un capital en un momento posterior. Se utiliza generalmente en depósitos o préstamos a corto plazo.

Partiendo de un capital (aquí será C0) del que se dispone inicialmente, se determinará la cuantía final que se recuperará en el futuro sabidas las condiciones en las que la operación se contrata (tiempo –t– y tipo de interés –i-).

La fórmula para calcular los intereses sería la siguiente: I = C0 * i * t. Es decir, los intereses son el Capital multiplicado por el tipo de interés y el tiempo.

Ahora supongamos que tenemos una tabla Cuentas donde guardamos el capital inicial y las condiciones. Supongamos que tenemos un capital inicial de 1000 euros (C0=1000) guardado en el campo Capital, a un interés del 10% anual (i=0.1) almacenadado en el campo Interes y por un año (t=1) almacenado en el campo Tiempo:

Select Capital*Interes*Tiempo as InteresAnual from Cuentas

El resultado de la consulta de arriba debería ser de 100 euros.

Ahora, usando los mismos datos del ejemplo de arriba ¿Cómo sabríamos cual es el capital final? Una opción es calcular el interés y sumarlo al capital inicial, otro es aplicar la fórmula CapitalFinal = C0 * (1 + (i * t)). La consulta sería así:

#Así multiplicando
Select Capital*(1.00+(Interes*Tiempo)) as CapitalFinal from Cuentas

Recuerda que SQL-Server, al menos en la versión 2008 (estoy actualizándome ahora a 2017, con mucho por leer), convierte siempre a entero si utilizas enteros en la operación, por eso que puse el uno seguido de decimales en la segunda consulta. Recuérdalo también a la hora de almacenar los datos y de operar con ellos.

Otro punto importante: el tipo de interés y el plazo deben referirse a la misma medida temporal. Es decir: si el tipo es anual el plazo debe de ir en años, pero si el tipo es mensual el plazo irá en meses. Por ejemplo, ¿con los datos de antes cómo se calcularía el interés generado en cinco meses?

Select Capital*(Interes/12.00)*5.00 as InteresMeses from Cuentas

Dividimos el interés anual entre 12 para obtener el interés mensual y multiplicamos por 5 para obtener el resultado deseado.

Lightbeam: Genera un gráfico para ver quién rastrea tus datos

La privacidad está en boca de todos estos días, secuela del terremoto del caso Cambridge Analytica. Yo mismo lo noto en la estadística de este sitio, las entradas sobre el tema están siendo más visitadas. Y sobre una entrada antigua vamos a hablar: en verano de 2013 le echábamos un vistazo a Collusion, un add-on para Firefox desarrollado por la propia Mozilla que nos permitía ver, en forma de gráfico, a qué sitios web (llamémoslos third-parties) eran enviados nuestros datos desde las webs que visitamos. Este proyecto entonces estaba en fase beta, pero unos meses más tarde llegaría la primera versión final ya con nombre nuevo: Lightbeam.

¿Cómo funciona Lightbeam? Pues la idea es esta: cuando tú visitas una web Lightbeam crea un gráfico que muestra qué third-parties (sitios de terceros) están activos en la misma. Ojo, no todos tienen por qué estar espiándote, pueden ser simplemente que cargue imágenes de un CDN externo, librerías de javascript o tipografías. En cualquier caso, ahí estarán representadas. Cuando visites un segundo sitio Lightbeam hará lo mismo, y así sucesivamente con todos. Lo interesante de esto es que verás como algunas aplicaciones de terceros se van uniendo desde varios sitios, permitiéndote saber quiénes pueden verte desde varios sitios distintos. Tienes la opción de descargar tus datos en formato JSON y de usar distintos formatos de visualización.

LightBeam Mozilla

¿Y la privacidad de esta aplicación? Según la propia Mozilla ellos no usan tus datos, estos se almacenan localmente en tu navegador, se puden borrar desde el mismo y se eliminan automáticamente también cuando se desinstala el add-on.

Al contrario que la versión beta, Collusion, Lightbeam sí que te permite habilitar una protección contra el rastreo que complemente y amplía la que de por si te ofrece ya Firefox. Puedes ver en la parte superior derecha un interruptor que pone Tracking Protection para habilitarlo o deshabilitarlo.

 

Configurar el DNS de CloudFlare en Windows y Linux

Hace un par de días CloudFlare ha anunciado un nuevo servicio gratuito de DNS, con la idea de competir con los de Google y los de OpenDNS (cuya popularidad ha caído desde que lo adquirió CISCO). La empresa afirma que es el servidor de DNS gratuito más rápido del mercado y también el más seguro en términos de privacidad, comprometiéndose a no minar datos y a borrar sus logs cada 24 horas (ahora a cada uno corresponde creer en la buena fé de las empresas implicadas, claro). Si quieres probarlo aquí te contamos cómo puedes configurar tu equipo:

¿Cómo lo hago en Linux?

Abre el fichero /etc/resolv.conf con un editor de texto (por ejemplo Nano) y añade estas dos líneas (adicionalmente puedes borrar los otros DNS si lo crees necesario)

nameserver 1.1.1.1
nameserver 1.0.0.1

Si utilizas IPV6 puedes añadir adicionalmente:

nameserver 2606:4700:4700::1111
nameserver 2606:4700:4700::1001

Por defecto /etc/resolv.conf permite un máximo de tres servidores, pero esto puede modificarse en el fichero /usr/include/resolv.h, cambiando el valor de la variable MAXNS.

También puedes modificar las DNS desde alguna herramienta del entorno gráfico, pero esta explicación a través de ficheros es universal.

¿Cómo lo hago en Windows?

Por no andar rompiéndome los huevos con distintas versiones de Windows también vamos a ver cómo hacerlo por línea de comandos (probado en Windows 7, Windows 2k8 y Windows 2k12), claro que siempre lo puedes hacer vía entorno gráfico:

wmic nicconfig where (IPEnabled=TRUE) call SetDNSServerSearchOrder ("1.1.1.1", "1.0.0.1")

O que é a Tríade CID?

Esta é uma tradução ao português dum artigo antigo. Cá uma ligação ao orixinal.

A Tríade CID não tem relação com poemas medievais castelhanos nem com as bandas desenhadas do Hernández Palacios, mas é um conceito da cibersegurança que faz ênfase em três princípios que têm de trabalhar em conjunto para garantir a segurança de um sistema informático: Confidencialidade, Integridade e Disponibilidade.

 

  1. Confidencialidade: Os dados têm de estar só na mão dos utentes autorizados. Umas políticas de controlo do acesso têm de ser aplicadas para evitar que a informação classificada cair em mãos, seja ou não de forma intencionada, de utentes sem acesso.
  2. Integridade: O conceito integridade faz referência  a que os dados que temos armazenados sejam corretos e completos. Tem de se poder garantizar que os dados não foram mudados de forma não autorizada, que não é possível a perda destes dados é que os mesmos são consistentes, isto é que a informação é mesmo correcta à que temos no mundo exterior.
  3. Disponibilidade: Afinal, o conceito disponibilidade implica que a informação tem de estar acessível sempre para os utentes autorizados num tempo razoável. Isto é que os dados têm de estar sempre disponíveis para os utentes.

Na altura de desenhar uma estratégia de cibersegurança para uma empresa ou simplesmente na altura de armazenar qualquer coleção de dados confidenciais um deve considerar que estes três pontos têm de ser atingidos.  

¿Puedo descargar una copia de mis datos de Facebook? ¿y de Linkedin? ¿y de Twitter?

Estos días, tras todo el escándalo alrededor de la privacidad en Facebook y del uso de datos de los usuarios por parte de Cambridge Analytica algunas personas me han preguntado ¿puedo ver qué datos tiene Facebook almacenados sobre mi? Su recelo, además, alcanzaba a otras redes sociales.

En principio es posible descargar un fichero con todos los datos que, a priori, dichas redes dicen tener sobre ti. Veamos:

Facebook:

En la parte superior derecha de la web tienes un icono de una flecha señalando hacia abajo, justo a la derecha de un icono con una interrogación. Si pulsas en dicho icono se despliega un menú, donde debes pinchar sobre Configuración.

facebook1

En dicho menú tienes un enlace sobre el que pinchar, como puedes ver en la imagen de debajo, que te llevará a una pantalla desde que la que te solicitarán tu contraseña de nuevo para enviarte a tu correo de contacto un fichero con los datos solicitados.

Facebook: Enlace descargar fichero

LinkedIn:

Si pulsas sobre el icono con la miniatura de tu foto en la parte superior derecha se despliega un menú. En dicho menú eliges Ajustes y Privacidad.

Linkedin menú

Dentro ya de la ventana de Ajustes marcas la pestaña Privacidad que te aparecerá arriba y buscas entre las opciones que te da debajo la opción Descarga tus Datos, dentro del título Cómo utiliza LinkedIn tus datos.

Linkedin datos

Twitter:

Si pulsas sobre el icono con la miniatura de tu foto en la parte superior derecha se despliega un menú. En dicho menú eliges Configuración y Privacidad.

Twitter menú

En el menú de la derecha eliges Tus Datos de Twitter y allí ya sigues las instrucciones para descargarte tu fichero de datos.

Twitter descargar datos