Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning...
-
Upload
blanca-pilar -
Category
Documents
-
view
14 -
download
8
Transcript of Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning...
![Page 1: Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning Iberoamericana CEOfguerrero@solidq.com Mario Roa Danysoft.](https://reader033.fdocuments.mx/reader033/viewer/2022061216/54a7963d497959eb6d8b499e/html5/thumbnails/1.jpg)
Mejores prácticas en el desarrollo para SQL Server
Fernando G. GuerreroFernando G. Guerrero
Solid Quality Learning IberoamericanaSolid Quality Learning IberoamericanaCEOCEO
[email protected]@solidq.com
Mario RoaMario Roa
DanysoftDanysoftIngeniero de SistemasIngeniero de [email protected]@danysoft.com
Miguel EgeaMiguel Egea
Solid Quality Learning IberoamericanaSolid Quality Learning IberoamericanaMVP SQL ServerMVP SQL Server
[email protected]@solidq.com
![Page 2: Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning Iberoamericana CEOfguerrero@solidq.com Mario Roa Danysoft.](https://reader033.fdocuments.mx/reader033/viewer/2022061216/54a7963d497959eb6d8b499e/html5/thumbnails/2.jpg)
• ¿y si no las sigo qué?¿y si no las sigo qué?– Te juro que en la oficina funcionabaTe juro que en la oficina funcionaba– ¡Claro! Es que el usuario tiene que ser sa¡Claro! Es que el usuario tiene que ser sa– Bueno, es que en España la fecha se pone Bueno, es que en España la fecha se pone
dd/mm/yyyydd/mm/yyyy– ¿Añadir una columna a la tabla clientes? ¿te has ¿Añadir una columna a la tabla clientes? ¿te has
vuelto loco?vuelto loco?• ¿Entonces esto del ciclo de vida va a ser ¿Entonces esto del ciclo de vida va a ser
verdad?verdad?
![Page 3: Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning Iberoamericana CEOfguerrero@solidq.com Mario Roa Danysoft.](https://reader033.fdocuments.mx/reader033/viewer/2022061216/54a7963d497959eb6d8b499e/html5/thumbnails/3.jpg)
• Gestión del código fuente de BBDDGestión del código fuente de BBDD• Gestión del esquemaGestión del esquema• Comparaciones de objetosComparaciones de objetos• Pruebas en base de datosPruebas en base de datos• Generación e implementaciónGeneración e implementación• Más buenas prácticasMás buenas prácticas
![Page 4: Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning Iberoamericana CEOfguerrero@solidq.com Mario Roa Danysoft.](https://reader033.fdocuments.mx/reader033/viewer/2022061216/54a7963d497959eb6d8b499e/html5/thumbnails/4.jpg)
• Antes de DBPro EditionAntes de DBPro Edition– Ningún control, producción siempre tiene lo Ningún control, producción siempre tiene lo
últimoúltimo– Copias del esquema en el control de versionesCopias del esquema en el control de versiones– Tratamiento especializado (DBA)Tratamiento especializado (DBA)
![Page 5: Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning Iberoamericana CEOfguerrero@solidq.com Mario Roa Danysoft.](https://reader033.fdocuments.mx/reader033/viewer/2022061216/54a7963d497959eb6d8b499e/html5/thumbnails/5.jpg)
• Después de DBPro EditionDespués de DBPro Edition– Datos en producciónDatos en producción– Esquema en DBProEsquema en DBPro
• Control de cambios más sencillosControl de cambios más sencillos– Checkin vs ShelveCheckin vs Shelve– El papel del DBAEl papel del DBA
![Page 6: Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning Iberoamericana CEOfguerrero@solidq.com Mario Roa Danysoft.](https://reader033.fdocuments.mx/reader033/viewer/2022061216/54a7963d497959eb6d8b499e/html5/thumbnails/6.jpg)
• Importación del esquemaImportación del esquema– Ingeniería inversa (1 vez)Ingeniería inversa (1 vez)– Esquemas en .SQL (n veces)Esquemas en .SQL (n veces)
• Organización del esquemaOrganización del esquema• Por tipo de objetoPor tipo de objeto• Por esquemaPor esquema
• Tareas pre y post deploymentTareas pre y post deployment• RefactoringRefactoring• ¡Más de un fichero por objeto!¡Más de un fichero por objeto!
![Page 7: Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning Iberoamericana CEOfguerrero@solidq.com Mario Roa Danysoft.](https://reader033.fdocuments.mx/reader033/viewer/2022061216/54a7963d497959eb6d8b499e/html5/thumbnails/7.jpg)
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
![Page 8: Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning Iberoamericana CEOfguerrero@solidq.com Mario Roa Danysoft.](https://reader033.fdocuments.mx/reader033/viewer/2022061216/54a7963d497959eb6d8b499e/html5/thumbnails/8.jpg)
Team System DBProTeam System DBPro
![Page 9: Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning Iberoamericana CEOfguerrero@solidq.com Mario Roa Danysoft.](https://reader033.fdocuments.mx/reader033/viewer/2022061216/54a7963d497959eb6d8b499e/html5/thumbnails/9.jpg)
Pruebas en base de datos
• Pruebas de cargaPruebas 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?
![Page 10: Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning Iberoamericana CEOfguerrero@solidq.com Mario Roa Danysoft.](https://reader033.fdocuments.mx/reader033/viewer/2022061216/54a7963d497959eb6d8b499e/html5/thumbnails/10.jpg)
Pruebas en la base de datos
• Pruebas unitariasPruebas unitarias– Tipos
• Script Anterior• Prueba• Script posterior
– Pre-condiciones– Post-condiciones
![Page 11: Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning Iberoamericana CEOfguerrero@solidq.com Mario Roa Danysoft.](https://reader033.fdocuments.mx/reader033/viewer/2022061216/54a7963d497959eb6d8b499e/html5/thumbnails/11.jpg)
Generación e implementación
• Consolidación de varios scripts• Mediante MSBuild
– Por tanto compatible con Team Build si se usa Team foundation
![Page 12: Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning Iberoamericana CEOfguerrero@solidq.com Mario Roa Danysoft.](https://reader033.fdocuments.mx/reader033/viewer/2022061216/54a7963d497959eb6d8b499e/html5/thumbnails/12.jpg)
Más buenas prácticas
• Vistas y vistas indexadas• Procedimientos almacenados ¿para qué?• Triggers DDL y DML• ¿Service broker en mis aplicaciones?
![Page 13: Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning Iberoamericana CEOfguerrero@solidq.com Mario Roa Danysoft.](https://reader033.fdocuments.mx/reader033/viewer/2022061216/54a7963d497959eb6d8b499e/html5/thumbnails/13.jpg)
Optimizar paraOptimizar parael rendimientoel rendimiento
![Page 14: Mejores prácticas en el desarrollo para SQL Server Fernando G. Guerrero Solid Quality Learning Iberoamericana CEOfguerrero@solidq.com Mario Roa Danysoft.](https://reader033.fdocuments.mx/reader033/viewer/2022061216/54a7963d497959eb6d8b499e/html5/thumbnails/14.jpg)