sábado, 25 de junio de 2016

Generalidades de bases de datos SQL Server

Qué es una base de datos en SQL Server

Una base de datos, como ya se ha  visto en entradas  que trataban aspectos generales de arquitectura y diseño, no es más que una colección organizada y estructurada de datos. Esta definición, no expresa la idea de una base de datos en SQL Server. 

Generalidades de las bases de datos SQL Server
Bloques de colores.


sábado, 18 de junio de 2016

Indices filtrados con SQL Server

Índices filtrados

Esta característica está disponible a partir de SQL Server 2008 y posteriores. Los índices de filtro o filtrados son la característica más poderosa de SQL, ya que proporciona oportunidades para un uso mucho más eficiente de las búsquedas y tiene un gran potencial.

Un índice filtrado es un índice no agrupado (non clustered) optimizado que nos permite definir filtro con la cláusula WHERE siempre que creamos el índice. Un índice filtrado bien diseñado puede mejorar el rendimiento de las consultas, reducir los costos de mantenimiento de índices, y reducir los costos de almacenamiento de cada índice en comparación con los índices de tabla completa.
Los índices filtrados permiten crear un índice en un subconjunto de datos utilizando un predicado filtrado.

Un índice no agrupado optimizado ofrece varias ventajas sobre una tabla indexada llena con un índice no agrupado.

Indices filtrados SQL Server

sábado, 11 de junio de 2016

Funciones con SQL Server

Una función es una rutina almacenada que recibe unos parámetros escalares de entrada, los procesa según la definición de la función y finalmente retorna un resultado de un tipo específico que permitirá su utilización con un objetivo.

Las funciones definidas por el usuario en SQL Server permiten retornar tablas en los resultados. Esta característica proporciona al programador facilidad a la hora de administrar sus bases de datos.

Existen tres tipos de funciones:
  • Funciones escalares
  • Funciones con valores de tabla en línea
  • Funciones con valores de tabla y múltiples instrucciones
La sintaxis de creación de las tres es muy similar, sólo se diferencian en el tipo de parámetros que retornan.

sábado, 4 de junio de 2016

Intellisense en SQL Server

Desde la versión SQL Server 2008 el editor de scripts (query analycer) de SQL Server incorpora algunas herramientas de IntelliSense aunque todavía está lejos de la funcionalidad de Visual Studio.
La tecnología IntelliSense en SQL Server aún no está muy evolucionada. En muchos lugares no aparece en absoluto, y tampoco funciona con servidores remotos. Sin embargo en las últimas versiones ha habido grandes avances en IntelliSense. 
En este artículo se hará un breve repaso de IntelliSense y cómo usarlo y también a arrojar algo de luz sobre los momentos en que no parece estar funcionando IntelliSense.

¿Que es IntelliSense?

IntelliSense para SQL Server Management Studio, se introdujo por primera vez en SQL 2008 es un mecanismo de autoescritura de código inteligente que aumenta la productividad de desarrollo al hacer fragmentos de código, las definiciones y chequeo de sintaxis sin tener que salir del editor.
IntelliSense está activado por defecto, pero se puede desactivar en Herramientas Opciones -> Editor de texto ->  Transact SQL -> IntelliSense.

IntelliSense en SQL Server

sábado, 28 de mayo de 2016

Triggers (desencadenadores) en SQL Server (2ª Parte)


Aquí la primera parte. Triggers (desencadenadores) en SQL Server  (1ª Parte)

Obtención de información de los triggers


Los triggers igual que el resto de objetos de la base de datos también aparecen en la tabla sys.sysobjets, con el identificador TR en la columna xtype, por lo que
Si deseamos saber cuántos triggers hay en una base de datos, basta hacer una consulta filtrando con TR en la columna xtype. Esto mismo es válido para el resto de objetos como procedimientos almacenados, tablas, vista, etc sólo que en el caso de los procedimientos en vez de TR hay que filtrar por P.
Para obtener la definición de los triggers definidos  podemos consultar  el campo text de la tabla sys.syscomments donde viene la definición de todos los objetos de la base de datos. En el caso de que no queremos que la definicion, del trigger sea consultada, también podemos añadir la cláusula WITH ENCRIPTION en la creación del trigger. También podemos obtener información del trigger ejecutando el procedimiento almacenado sp_help 'tr_nombre_Trigger'

Triggers en SQL Server

Validar actualizaciones de tablas

Las principales utilidades de los triggers consisten en controlar que las operaciones de actualización que se llevan a cabo sobre las tablas sean coherentes pues  centralizan las operaciones  de validación en la base de datos al realizar los procesos de añadir o eliminar datos.

sábado, 21 de mayo de 2016

El acertijo MU

Un sistema formal, es un sistema con el que se pretende capturar y abstraer la esencia de determinadas características del mundo real, con un modelo conceptual expresado en un determinado lenguaje formal.
Para definir un sistema formal, se requieren cuatro elementos:

Un alfabeto de símbolos.
Un conjunto de cadenas bien formadas llamadas axiomas.
Un conjunto finito de reglas de deducción.
Un conjunto de cadenas finitas bien formadas llamadas teoremas.

El acertijo MU, representa un pequeño sistema formal. Este acertijo fue planteado por Douglas Hofstadter en 1979 en su libro Godel, Escher, Bach. An Eternal Golden Braid 

Carácter MU en japonés
Carácter MU en japonés. Wikipedia.


Planteamiento del acertijo MU