Refactorización en Base de Datos. mayo de 2008

Documentos relacionados
DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

A. Introducción. B. Los DATABASES TRIGGERS. PL/SQL en objetos de la base de datos. Oracle 11g - SQL, PL/SQL, SQL*Plus 271

Triggers. BASES DE DATOS Mercedes García Merayo

BD Activas: Motivación

Unidad 6. Procedimientos Almacenados y Disparadores

Triggers 24/12/2016. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

PL/SQL avanzado: Secuencias, triggers, cursores y subprogramas

SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC

Concepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a

Práctica 3: Lenguaje SQL 2ª Parte: Definición de datos. Objetivos

Diseño de bases de datos

RESTRICCIONES DE DOMINIOS

Unidad III. Bases de Datos

SQL: Vistas, Triggers, y Procedimientos Almacenados

GUIA DE TRIGGERS (Disparadores) EN MYSQL

SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero

Jair Ospino Ardila -- Guía Sencilla

Bases de Datos 2: Procedimientos Almacenados, Funciones y Triggers. Tecnólogo en Informática, sede Paysandú Bases de Datos 2

Triggers en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia

Tema II: El modelo relacional de datos. (2.7) Automatización

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

Cursores, Triggers, Indices, Transacciones, Vistas Gestión y Modelación de Datos

Lenguaje SQL (2ª Parte) Definición de datos

Checks, Triggers y Excepciones en InterBase: validando desde la base de datos

Diseño de bases de datos

DISPARADORES EN SQL SINTAXIS GENERAL DE UN DISPARADOR EN SQL:2003

Otros objetos de Base de Datos

Los disparadores pueden emplearse para muchas cosas diferentes, incluyendo:

Departamento de Lenguajes y Sistemas Informáticos

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

La sintaxis de un trigger a nivel de registro es:

Tema: DISPARADORES (TRIGGERS)

Examen de Ficheros y bases de datos ITIS Convocatoria de junio II PARCIAL

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008

Procedimientos, Funciones, Trigger y Cursores en ORACLE

Disparadores (triggers)

INTRODUCCIÓN A LAS BASES DE DATOS. L.I Gerardo Benavides Pérez

DISEÑO DE BASES DE DATOS ºC Examen 8/Feb/2006

5.1 Procedimientos y Funciones Almacenados. 5.2 Disparadores (Triggers).

Tipos de datos en SQL. SQL. DDL (Data Definition Language) CREATE DOMAIN CREATE TABLE CREATE TABLE. CREATE TABLE con restricciones de atributo

Examen de Ficheros y bases de datos Convocatoria de junio II PARCIAL

Ejercicios SQL - Definición de Datos - Solución

1. Primero abrimos el aplicativo pgadmin con el cual manejaremos la base de datos de Postgres.

PRÁCTICA III. DISPARADORES EN SQL (II)

CONOCIMIENTOS DE CONCEPTOS BASES DE DATOS

Práctica A: Implementación de la integridad de datos

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

Bases de Datos I. Vistas

Laboratorios de BASES DE DATOS. (I.T. Informática)

Departamento de Lenguajes y Sistemas Informáticos E.T.S. de Ingeniería Informática Universidad de Sevilla Avda Reina Mercedes, s/n.

Triggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

Cuestión: Proceso de consultas en BD Relacionales. Problema 1: Diseño conceptual

Conceptos de Bases de Datos Relacionales Triggers

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1

Tema 5. Lenguaje de Definición de Datos

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

DISEÑO DE BASES DE DATOS 2007/2008 2ºC Examen 18/Jun/2008. Cuestiones. Problema 1: Diseño conceptual BD

Uso de Disparadores. Miguel Angel Garduño Cordova Isaac Méndez Hernández

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

Catedra de Base de Datos

EXAMEN: BASES DE DATOS 4º Ingeniería Informática (31 de enero de 2008)

ejemplos de consultas SQL para obtener claves, DF y DMV en la BD de prendas de ropa

BASES DE DATOS 2º CURSO E.U.I. / F.I. Práctica 3: El lenguaje SQL. 2ª Parte: Definición de datos 10 DE ABRIL DE 2000

SQL SERVER APLICADO (SSA010)

LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2)

Bases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 2013

Disparadores en ORACLE

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento

PRÓLOGO... XI CAPÍTULO 1. FUNDAMENTOS DEL LENGUAJE PL/SQL.

En este curso se presenta un análisis profundo de la base de datos MySQL para los sistemas operativos Windows y Linux.

Laboratorio Informix. Stored Procedures Triggers

Examen de Bases de datos Grado de Ingeniería en Informática, Febrero, 2015

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

UTIM Universidad Tecnológica de Izúcar de Matamoros

OBJETIVO GENERAL.- Aplicar los conocimientos adquiridos durante el estudio del tema SQL.

PL/SQL. - La unidad de programación utilizada por PL/SQL es el bloque. - Todos los programas de PL/SQL están conformados por bloques.

HERRAMIENTAS DE SISTEMAS DE GESTION DE BASES DE DATOS

DR/UC. DR/UC FACTURA(CIF, N_Factura, Fecha, Total) ASIGNATURA(Cod_Asignatura, Titulación, Nombre_Asig, Curso, Empresa_fotocopias, precio_fotocopia)

Gestión de Usuarios en MySQL

Catedra de Base de Datos

Manejo de Tablas y Llaves Foráneas

Implementación de funciones definidas por el usuario

Haga clic para PostgreS cambiar el estilo

Tarea del 12 de enero de Tarea del 19 de enero de Crear su página web. Por ejemplo, en jimdo.com

[ EDICION ESPECIAL] En el siguiente ejemplo se agrega un archivo de datos de 5 MB a la base de datos BD_Ejemplo01.

Apartado A (3 puntos):

EXAMEN DE BASES DE DATOS 11/06/04 Esquema de trabajo

VERSIÓN Fecha de generación: Última modificación: Versión: 1. Manual Técnico Service Pack.

SQL Los fundamentos del lenguaje (con ejercicios corregidos) (2ª edición)

ADMINISTRACIÓN DE BASE DE DATOS

Examen de Bases de datos Grado de Ingeniería en Informática 3 de septiembre, 2015

INSTITUTO TECNOLÓGICO SUPERIOR DE ESCÁRCEGA. Organismo público descentralizado de la administración. Pública del estado de Campeche

Facturación utilizando más de una tasas de Impuesto al Valor Agregado (I.V.A.) Suite Profit Plus

Tema 5. DML (Parte II)

Reorganización de la Base de Datos

T07 Opciones de integridad referencial

INDICE CARTAS DESCRIPTIVAS S3

GBD Diseño físico de DDBB

Transcripción:

Refactorización en Base de Datos mayo de 2008

Refactorización en Bases de Datos Un cambio en el esquema de BD para mejorar su diseño manteniendo su semántica y comportamiento. Refactorizar aspectos estructurales: definiciones de tablas y vistas. Refactorizar aspectos funcionales: stored procedures y triggers. Refactorizaciones sobre BDs son mas difíciles de implementar. Los impedimentos son del tipo cultural y carencia de herramientas.

Refactorización en Bases de Datos

Refactorización en Bases de Datos ALTER TABLE Account ADD Balance Numeric; CREATE OR REPLACE TRIGGER SynchronizeCustomerBalance BEFORE INSERT OR UPDATE ON Account REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW DECLARE BEGIN IF :NEW.Balance IS NOT NULL THEN UpdateCustomerBalance; END IF; END;

Drop Column Mecanismos de actualización de esquemas: Opción DROP COLUMN de ALTER TABLE o creación de una tabla temporal. Opción SET UNUSED de ALTER TABLE Si la columna es clave principal, removerla de las claves foráneas asociadas y reemplazar la clave primaria en la tabla. Mecanismos de migración CREATE TABLE CustomerFavoriteColor AS SELECT CustomerID, FavoriteColor FROM Customer;

Drop View Mecanismos de actualización de esquemas: DROP VIEW. Drop Table Mecanismos de actualización de esquemas: Remover restricciones de claves foráneas hacia la tabla a eliminar Renombrar la tabla y automáticamente se cambian todas las referencias hacia la tabla renombrada Mecanismos de migración: CREATE TABLE TaxJurisdictionsRemoved AS SELECT * FROM TaxJurisdictions;

Introduce Calculated Column Mecanismos de actualización de esquemas: Determinar estrategia de sincronización: batch jobs, actualizaciones, triggers. Determinar el cálculo del valor. Determinar cuál tabla contendrá la columna. Añadir la columna Implementar la estrategia Mecanismos de migración: UPDATE Customer SET TotalAccountBalance = (SELECT SUM(balance) FROM Account WHERE Account.CustomerId = Customer.CustomerId)

Introduce Surrogate Key

Introduce Surrogate Key (Inverso a Replace Surrogate Key with Natural Key) Mecanismos de actualización de esquemas: Añadir la nueva columna (ADD COLUMN) Añadir un nuevo índice para la clave. Deprecate la columna original Añadir y actualizar los triggers de integridad referencial. Mecanismos de migración: Generar valores para la clave y asignar esos valores a las claves foráneas

Merge Columns (Inverso Split Column)

Merge Columns Mecanismos de actualización de esquemas: Añadir la nueva columna (ADD COLUMN) Implementar un trigger de sincronización entre las columnas. Mecanismos de migración: UPDATE Customer SET PhoneNumber = PhoneAreaCode*10000000 + PhoneLocal);

Merge Tables (Inverso Split Tables) Mecanismos de actualización de esquemas: Crear la tabla que será la mezcla de las dos tablas. Implementar triggers de sincronización entre las tres tablas (Evitar triggers ciclicos). Mecanismos de migración: Mediante un script o carga de datos

Move Column

Rename Column

Rename Table

Rename Table

Rename View

Replace LOB with Table

Replace Column

Replace 1:N with Associative Table

Referencias Refactoring Databases. Evolutionary Database Design. Ambler, S. and Sadalage, P. Addison Wesley 2006