Mejores prácticas en el desarrollo para SQL Server

Mario Roa
Danysoft Ingeniero de Sistemas m.roa@danysoft.com

Miguel Egea
Solid Quality Learning Iberoamericana MVP SQL Server megea@solidq.com

Fernando G. Guerrero
Solid Quality Learning Iberoamericana CEO fguerrero@solidq.com

es que en España la fecha se pone dd/mm/yyyy – ¿Añadir una columna a la tabla clientes? ¿te has vuelto loco? • ¿Entonces esto del ciclo de vida va a ser verdad? .• ¿y si no las sigo qué? – Te juro que en la oficina funcionaba – ¡Claro! Es que el usuario tiene que ser sa – Bueno.

• • • • • • Gestión del código fuente de BBDD Gestión del esquema Comparaciones de objetos Pruebas en base de datos Generación e implementación Más buenas prácticas .

• Antes de DBPro Edition – Ningún control. producción siempre tiene lo último – Copias del esquema en el control de versiones – Tratamiento especializado (DBA) .

• Después de DBPro Edition – Datos en producción – Esquema en DBPro • Control de cambios más sencillos – Checkin vs Shelve – El papel del DBA .

SQL (n veces) • Organización del esquema • Por tipo de objeto • Por esquema • Tareas pre y post deployment • Refactoring • ¡Más de un fichero por objeto! .• Importación del esquema – Ingeniería inversa (1 vez) – Esquemas en .

Comparaciones de objetos • Comparación de esquemas – Con o sin un proyecto DB Pro abierto – Diferencias en BBDD • Generación de script de diferencias – Aplicado inmediatamente – Generación de script de diferencias • Actualización. creación y borrado de objetos .

Team System DBPro .

Pruebas en base de datos • Pruebas de carga – ¿con que datos? • Datos de producción – ¿Qué pasa con los datos sensibles • Datos inventados – ¿Es suficiente con meter muchos millones de registros? – ¿Qué pasa con la integridad referencial? .

Pruebas en la base de datos • Pruebas unitarias – Tipos • Script Anterior • Prueba • Script posterior – Pre-condiciones – Post-condiciones .

Generación e implementación • Consolidación de varios scripts • Mediante MSBuild – Por tanto compatible con Team Build si se usa Team foundation .

Más buenas prácticas • • • • Vistas y vistas indexadas Procedimientos almacenados ¿para qué? Triggers DDL y DML ¿Service broker en mis aplicaciones? .

Optimizar para el rendimiento .

Sign up to vote on this title
UsefulNot useful