SERIE DISEÑO DE BASES DE DATOS: ¿Y por qué diseñar una base de datos?

Hace bastante tiempo quería escribir un artículo de nivel “básico” sobre este tema y al decir básico no pretendo, de ninguna manera, sugerir que es un asunto de principiantes, sino todo lo contrario son aspectos que se deben tener en cuenta y bien aprendidos para considerarse a si mismo un profesional con conocimiento de bases de datos.

Bien, hace más de 7 años dicto un curso de Diseño y Programación de Bases de Datos y cada ciclo, en la primera clase, me pongo como objetivo despertar el interés de mis alumnos por la materia que les impartiré durante 16 semanas. Pues bien este post va dirigido principalmente a ellos, con la clara idea de que será de utilidad a cualquier individuo que quiera documentarse un poco más sobre esta cautivadora disciplina.

En sucesivas entregas tocaré aspectos relacionados a teoría de base de datos, por ejemplo: la diferencia entre dato e información, por ahora me centraré unicamente en la necesidad y utilidad del diseño de una base de datos. Una base de datos es, en muchos sentidos, un repositorio de datos, este repositorio puede ser […]

Serie Preparación Examen 70-453: Entendiendo el Declarative Management Framework (DMF) en SQL Server 2008 (Parte 2 de 2)

Este es el segundo de una serie de posts que tratan sobre los temas menos conocidos del examen 70-453: Upgrade: Transition Your MCITP SQL Server 2005 DBA to MCITP SQL Server 2008 necesario si uno posee la certificación MCITP SQL Server 2005 DBA y desea actualizar a la versión 2008 es decir obtener el MCITP SQL Server 2008 DBA.

En el último post hablamos sobre una nueva característica en SQL Server 2008: el Declarative Management Framework (DMF), en este post hablaremos acerca de las diferentes opciones para usar el DMF que por espacio no pudimos ver en el último post.

On Change – Log Only

¿Qué pasaría si solamente quisiéramos registrar las acciones que no se ciñan a cierta política que establecemos?

Bueno pues podemos configurar nuestra política en modo On Change – Log Only de tal manera que para eventos no tan críticos que no se ciñan a cierta política sean permitidos pero al mismo tiempo los administradores puedan tener conocimiento de que ocurrieron. Para ello dirigirse al Explorador de Objetos en SQL Server Management Studio, carpeta Management, nodo Policy Management, nodo Policies para luego dar clic derecho sobre la política pl_procedimiento_almacenado_nombre_largo y elegir la opción Propiedades, luego en el cuadro de diálogo Open Policy, en la sección Evaluation Mode, elegir la opción On change – log only y finalmente presionar el botón OK. […]

Serie Preparación Examen 70-453: Entendiendo el Declarative Management Framework (DMF) en SQL Server 2008 (Parte 1 de 2)

Este es el primero de una serie de posts que tratan sobre los temas menos conocidos del examen 70-453: Upgrade: Transition Your MCITP SQL Server 2005 DBA to MCITP SQL Server 2008 necesario si uno posee la certificación MCITP SQL Server 2005 DBA y desea actualizar a la versión 2008 es decir obtener el MCITP SQL Server 2008 DBA, en mi caso he dado este examen dos veces y si bien conocía bastante características de administración del producto muy comunes desde versiones anteriores, mi preparación no fue suficiente en las nuevas características introducidas en la versión 2008 de SQL Server, por lo que no fue suficiente para alcanzar el puntaje requerido. Pues bien en este artículo abordaré una nueva característica presente desde la versión 2008: el Declarative Management Framework (DMF). […]

El poder de sp_executesql

Recuerdo hace mucho tiempo haber escuchado que la ejecución de código Transact SQL dinámico era peligrosa pues podía prestarse a ser parte de las llamadas SQL Injections, bien en parte es cierta esa afirmación sin embargo, recordemos cómo hacíamos esas ejecuciones dinámicas en el pasado.

NOTA: si desea bajar el script completo, hacer clic en la imagen:

–Creamos una base de datos de prueba […]

Clausula OUTPUT en SQL SERVER

Generalmente, uno no espera que una sentencia de modificación haga más que modificar datos. Es decir, no esperamos que una sentencia de modificación retorne un resultados. Sin embargo, en algunos escenarios el poder recuperar datos de registros modificados puede ser útil.

Hasta el día de hoy, y desde versiones anteriores de SQL Server, los triggers nos brindan la posibilidad de acceder a las tablas virtuales deleted e inserted en las cuales, solamente durante la ejecución del trigger se podía recuperar, generalmente para razones de auditoría, los registros que eran eliminados, modificados o insertados. Bien, desde SQL Server 2005, existe la opción de […]

Funciones Niládicas

Muchas veces, ya por costumbre, escribimos código TRANSACT SQL de manera natural y no reparamos en la sintaxis que utilizamos. Pues bien, hace algún tiempo durante una clase me pasó que, al escribir “de manera natural” código TRANSACT SQL, me topé con una pregunta que me hizo un alumno al variar el uso de la omnipresente función no determinística GETDATE() por una función que leyó en la Internet llamada CURRENT_TIMESTAMP, la cual en teoría le debía, en teoría, proveer el mismo resultado. Grande fue la sorpresa del alumno al notar que el reemplazo simple le generaba un error de sintaxis:

Después de unos segundos de pensar en el error, caí en la cuenta que dicha función no requería […]