Implementación Asistida BD Firebird/Interbase SQL Server

Slides:



Advertisements
Presentaciones similares
Envolviendo la API de Firebird/Interbase CoNaIISI 2013 UTN FRC Mg. Guillermo Cherencio.
Advertisements

UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO MODULO IV ADMINISTRACIÓN DE BASES DE DATOS Administración del DBMS E.I. L.E. Prof. Ramón Castro Liceaga SEMINARIO.
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
MULTIPLAN Multiplan es la práctica en grupo que hemos tenido que realizar durante el curso según las especificaciones dadas en la asignatura.
 Trabaja con el esquema relacional surgido en los laboratorios de IBM  La instalación completa ocupa alrededor de 10 Mb incluyendo librerías, ejemplos.
Migración de informes de Oracle Reports 6i a IReport en el Escritorio de Tramitación de la Consejería de Salud de la Junta de Andalucía Dpto. Informática.
Aplicaciones para el manejo óptimo de la información.
Ciclope Weather Web Services ● Que tenemos – – RSS: (No Web.
Sponsors Agradecimiento especial Mejores prácticas de SQL Server para SharePoint On Premise Alberto De Rossi MCP / MCT SQL Server.
COMANDOS BÁSICOS MYSQL BASES DE DATOS 2 UNIVERSIDAD DE LA AMAZONIA.
BASE DE DATOS EN LA WEB POR- OSIRYS MARCIAGA JESUS NIETO.
EXPERIENCIA DE IMPLEMENTACIÓN DE APLICACIONES EMS
Conferencia 10. BD Cliente Servidor. Integridad Referencial
Convenciones de nomenclatura y diseño
Diseño de Bases de Datos
Lineamientos informales para un buen diseño
Estado del arte y Gestión de la Información
DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA
Esta presentación llevará probablemente a un debate con la audiencia, lo que generará elementos de acción. Use PowerPoint para realizar un seguimiento.
BASE DE DATOS INTRODUCCION.
Programación Orientada a Objetos
Lineamientos para un buen diseño de base de datos
Lic. Héctor Rubén Morales – Dr. Ricardo Justo Castello -
Arquitectura de una Base de Datos
SQL: Structured Query Language
Stored Procedures Firebird.
CURSO DE TABLAS DINÁMICAS
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
Técnicas y Herramientas de Computación
Conceptos y definición básicos
Esquema Relacional Pasaje a Tablas
Conectividad de Bases de Datos
UN DISPARADOR O TRIGGER es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Es una rutina autónoma.
Arquitectura de una Base de Datos
Prof. Daniel Obando Fuentes
Restricciones de integridad en el modelo relacional
Implementación Asistida BD Firebird/Interbase SQL Server
EDWIN SANTIAGO YACELGA MALDONADO SANGOLQUÍ – ECUADOR 2016
SQL Lenguaje de Consulta Estructurado
UNIVERSIDAD DE LAS FUERZAS ARMADAS-ESPE
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Por: Norma Yaneth Buenaventura Cárdenas
CCAPA Tecnologías de Información SAC Ref.: Presentación OSA-ERP
CCAPA Tecnologías de Información SAC Ref.: Presentación OSA-ERP
PostgreSQL Herramienta para Administración
Sistema de Gestión de Incidencias y Ventas
TIPOS DE SISTEMAS OPERATIVOS ● Sistemas Operativos de multiprogramación (o sistemas operativos de multitarea). ● Sistemas Operativos distribuidos. ● Sistemas.
BD Activas: Motivación
Java Enterprise edition
Servidor de Reportes basado en Tecnología Java y XML
Universidad Alonso de Ojeda Facultad de Ingeniería
Niveles de abstracción de una BD
SISTEMA ELECTRONICO DE CONTROL DE OBRAS BITACORA Versión 2.0
Unidad 1. Introducción a las Bases de Datos FUNDAMENTOS DE BASE DE DATOS.
POSTGRE SQL CONCEPTO El uso de caracteres en mayúscula en el nombre PostgreSQL puede confundir a algunas personas a primera vista. Las distintas pronunciaciones.
OBJETOS.
BASES DE DATOS II.
FRAMEWORK DE DESARROLLO DE APLICACIONES EMPRESARIALES WEB
CC Bases de Datos Otoño Clase 10: SQL: Vistas y Disparadores
Fundamento s de Base de Datos I SEMANA 5 ING. SAÚL PÉREZ VEGA Modelo Relacional.
BASE DE DATOS (Parte N°1) Docente: Lic. David I. López Pérez.
¿Qué es una Base de Datos? Es un conjunto de datos almacenados. Su esquema es el siguiente : Tabla Persona Base de Datos Tabla Profesión.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Principales Características De Motores De Bases de Datos.
La programación de objetivos didácticos en Terminótica
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS Magallanes Napa, Anthony Yair.
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
El SQL es el lenguaje estándar ANSI/ISO de definición, manipulación y control de bases de datos relacionales. La sigla que se conoce como SQL corresponde.
Transcripción de la presentación:

Implementación Asistida BD Firebird/Interbase SQL Server Guillermo Cherencio – UTN FRD CoNaIISI 2016 UCASAL

¿Qué es Firebird? http://www.firebirdsql.org Base de Datos Relacional Open Source Deriva de Interbase (Borland/Inprise) PL/SQL (funciones, stored procedures, triggers, DSQL, cursores, etc) Windows / Linux Herramientas

Implementaciones extremas MODELO A

Modelo A Sin aislación entre Usuario, App y BD Escasa implementación PL/SQL Código SQL externo a la BD Permiso S,I,U,D sobre tablas Gestión de permisos en disparadores y tablas auxiliares Dificultad en implementación de Reglas semánticas en BD

Implementaciones extremas MODELO B

Modelo B Aislación entre Usuario, App y BD API de comunicación con BD Código PL/SQL compilado Permiso Ejecución sobre procedures Simplificación de gestión de permisos sobre disparadores Sin necesidad de tablas auxiliares Facilidad para implementar Reglas semánticas en BD Simplificación código SQL en App

Modelo de Diseño e Implementación ¿Modelo A o B? UoD Diseño Conceptual Diseño Lógico Tipo Sub-Tipo Mutuamente Excluyentes Entidad Debil con discriminante consecutivo ascendente Atributos Derivados Redundantes Calculados Cardinalidad Maxima Sobre la misma tabla Casos Genéricos de Implementación Relación Padre - Hijo

Implementación Asistida FB ¿Replicación? FBJReplicator Modulo Implementación Asistida Reglas Semánticas específicas Casos Genéricos de Implementación FBJReplicator Modulo Replicación (CoNaIISI 2015)

Restricciones en Disparadores No DDL No Select sobre tabla objeto del disparador Orden: Eventos Before Aplicación Constraints: PK,UK,CK,FK Eventos After Permisos al objeto disparador sobre las tablas que utiliza

Estrategia de Desarrollo e Implementación Análisis de casos genéricos de implementación Implementación manual de triggers para cada caso genérico de implementación. Depuración y simplificación código Triggers Desarrollo de modulo dentro FBJReplicator para automatizar implementación de casos Desarrollo BD de testing, depuración Empaquetado y distribución Proyecto FBJReplicator (FBJR) http://sourceforge.net/projects/fbjreplicator

Implementación de Casos Modelo B Se asume modelo A implementado Por cada tabla crear procedimiento: SP_{tabla}(Op,atrib1,atrib2,...,atribN) Op->I,U,D Atrib1..N->atributos tabla Retorno: 0 → Ok, sino código error y mensaje error. SP_S{tabla}() Retorno: tuplas de tabla

Base de Datos FB 3.0 Testing PRODUCTO(IDP,DESCR,STOCK) FACTURA(NRO,FECHA,MONTO) monto=sum(subtotal) DETALLE(NRO,IDP,CANTIDAD,PRECIO,SUBTOTAL) nro fk factura, idp fk producto subtotal=cantidad*precio LIBRO(ISBN,TITULO) EJEMPLAR(ISBN,NRO,UBICACION) isbn fk libro, nro=1..N por ISBN PERSONA(DNI,APE,NOM) EMPLEADO(DNI,SALARIO) dni fk persona CONTRATISTA(DNI,VALOR) Atributos Derivados EF-ED discriminante consecutivo ascendente Tipo- Sub Tipo mutuamente excluyente

Implementación de Casos Atributos Derivados a) Como derivados: -clausula “COMPUTE BY” -derivando la tabla en objeto VIEW, Select Procedure -implementación aplicable a Modelo A y B b) Como atributo redundante (misma tabla): Ejemplo: detalle(nro,idp,cantidad,precio,subtotal) subtotal=cantidad * precio EVENTO ITEM BI SUBTOTAL=CANTIDAD*PRECO BU SUBTOTAL=CANTIDAD*PRECIO

Implementación de Casos Atributos Derivados c) Como atributo redundante en relación P-H modelo A: -Tipo Operación: count,max,min,sum Ej.: factura(nro,fecha,monto) monto=sum(detalle.subtotal) EVENTO FACTURA DETALLE AI Insertar tupla en T.AUX, monto=0 Update tupla T.AUX,monto=monto+subtotal BU No permito cambios en PK AD Borro tupla en T.AUX Update tupla T.AUX, monto=monto-subtotal AU Update tupla T.AUX, monto=monto – old.subtotal + new.subtotal 14 / 27

Implementación de Casos Tipo – SubTipo Mutuam. Excluyente Idem Modelo A y B Ej.: Tipo: Persona, SubTipos: Empleado, Contratista EVENTO EMPLEADO CONTRATISTA BI Si existe tupla en CONTRATISTA entonces Error! Si existe tupla en EMPLEADO entonces Error! BU Si DNI cambio entonces Si existe NEW.DNI en CONTRATISTA entonces Error! Si DNI cambio entonces Si existe NEW.DNI en EMPLEADO entonces Error!

Implementación de Casos Cardinalidad Maxima Modelo A Ej.: Una factura no puede tener mas de 20 productos factura(nro,...) detalle(nro,idp,...) Contador de items (ci) en tabla auxiliar EVENTO FACTURA DETALLE BI Si factura_aux.ci >= 20 entonces Error! AI Insertar tupla en factura.aux, ci=0 factura_aux.ci = factura_aux.ci + 1 BU Si nro cambio entonces si factura_aux.ci >= 20 entonces Error! AU Si nro cambio entonces ci = ci – 1 para OLD.NRO ci = ci + 1 para NEW.NRO AD Borrar tupla en factura_aux factura_aux.ci = factura_aux.ci - 1

Implementación de Casos Cardinalidad Maxima Modelo B Ej.: Una factura no puede tener mas de 20 productos factura(nro,...,ci) detalle(nro,idp,...) Contador de items (ci) en factura EVENTO FACTURA DETALLE BI ci=0 Si factura.ci >= 20 entonces Error! AI factura.ci = factura.ci + 1 BU Si nro cambio entonces si factura.ci >= 20 entonces Error! AU Si nro cambio entonces ci = ci – 1 para OLD.NRO ci = ci + 1 para NEW.NRO AD factura.ci = factura.ci - 1

Implementación de Casos Entidad Fuerte – Debil discriminante consecutivo ascendente Modelo A Ej.: libro(isbn,...) ejemplar(isbn,nro,..) nro=1..N libro_aux(isbn,ue) ue=ultimo ejemplar EVENTO LIBRO EJEMPLAR BI nro=libro_aux.ue+1 AI Insertar tupla en libro_aux,ue=0 libro_aux.ue=libro_aux.ue + 1 BU No permito cambios en PK BD Si nro <> libro_aux.ue entonces Error! (borra de ultimo ejemplar hacia atras) AD Borrar tupla en libro_aux libro_aux.ue=libro_aux.ue - 1

Implementación de Casos Entidad Fuerte – Debil discriminante consecutivo ascendente Modelo B Ej.: libro(isbn,titulo,ue) ejemplar(isbn,nro,..) nro=1..N ue=ultimo ejemplar EVENTO LIBRO EJEMPLAR BI ue=0 nro=libro.ue+1 AI libro.ue=libro.ue + 1 BU No permito cambios en PK BD Si nro <> libro.ue entonces Error! (borra de ultimo ejemplar hacia atras) AD libro.ue=libro.ue - 1

Estrategia de Desarrollo e Implementación: FBJR Interfaz gráfica → Swing Framework Multiplataforma → Java Conexión a servidor FB 3.0 → Jaybird JDBC Driver Implementación de Casos, generación de código PL/SQL Ejecución código PL/SQL, exportación, importación GPL, desarrollo colaborativo, codigo abierto → SourceForge Entorno simple de desarrollo → BlueJ

Interfaz Grafica FBJR Asistida Conexión Tablas Area Scripts PL/SQL Area Opciones Caso Implementacion Area Error PL/SQL Operaciones PL/SQL Mensajes

Limitaciones / TODO List No soporta UNDO En algunos casos, para disminuir complejidad, no permite cambios en PK Cambios en nombres de triggers, position Sólo para FB TODO list: Tutorial, documentación usuario, ayuda on- line

Features Generación automática de scripts PL/SQL Exportación, Importación, Copia, etc scripts generados Parametrizable (mensajes, idioma, etc) Permite modificar scripts generados Información detallada sobre tabla seleccionada Funciona con FB 3.0 Mutiplataforma Licencia GPL, disponible en sourceforge

Demo FBJReplicator Modulo Implementación Asistida FB 3

Guillermo Cherencio – UTN FRD ¿PREGUNTAS? ¡¡MUCHAS GRACIAS POR SU ATENCION!! http://sourceforge.net/projects/fbjreplicator/ Guillermo Cherencio – UTN FRD