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

1 BD Activas: Motivación zLos SGBD convencionales son “pasivos”. Sólo ejecutan preguntas o transacciones realizadas por los usuarios o por los programas.
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.
INTRODUCCIÓN A LAS BASES DE DATOS Revisión de Conceptos.
Copyright  Oracle Corporation, All rights reserved. Agenda.
 Trabaja con el esquema relacional surgido en los laboratorios de IBM  La instalación completa ocupa alrededor de 10 Mb incluyendo librerías, ejemplos.
Grupo Farrera Proyecto ReportesFarrera. Problemática Apariencia en los reportes obsoleto Dificultad para el acceso a la información Dificultad para tener.
Clasificación del Software Prof. Laura Cardozo. Software Se denomina software, programática, equipamiento lógico o soporte lógico a todos los componentes.
Entrega final de proyecto Software para la gestión de inscripciones en cursos Universidad Nacional de Colombia Maestría en Ingeniería de Sistemas y Computación.
Un modelo de Gestión Automatizada de Dispositivos IP mediante Software Libre Un Modelo de Gestión Automatizada de Dispositivos IP mediante Software Libre.
 UML (Unified Modeling Language).  “Lenguaje" para especificar, y no para describir, métodos o procesos. Es una notación.  Para definir un sistema.
Ciclope Weather Web Services ● Que tenemos – – RSS: (No Web.
Poder Judicial del Estado de Tabasco Metodología para la automatización del control de quejas y actas administrativas.
MANUALES DE PROCEDIMIENTOS ¿¿Que son los manuales ?? Manuales de procedimientos.
COMANDOS BÁSICOS MYSQL BASES DE DATOS 2 UNIVERSIDAD DE LA AMAZONIA.
1 LENGUAJES DE PROGRAMACIÓN. Son aplicaciones específicas diseñadas para crear otras aplicaciones o programas. Son programas para crear programas. 2.
Conferencia 9. ODBC, OLE DB y JDBC.
TESIS DE GRADO DESARROLLO DEL SISTEMA WEB PARA LA ADMINISTRACIÓN DE LAS ACTIVIDADES ACADÉMICAS DE ALUMNOS, PROFESORES Y RESPONSABLES DE LOS DEPARTAMENTOS.
BASES DE DATOS Y METADATOS
SQL: Structured Query Language
Técnicas y Herramientas de Computación
Implementación Asistida BD Firebird/Interbase SQL Server
Programación Avanzada
Diseño de Bases de Datos
Introducción a Sistemas Operativos (clase práctica)
Lineamientos para un buen diseño de base de datos
Arquitectura de una Base de Datos
SQL: Structured Query Language
Stored Procedures Firebird.
Proyecto de Software. t07
Fundamentos de negocios y comercio electrónico.
SQL 2: Structured Query Language
Conectividad de Bases de Datos
Creamos soluciones que se adaptan a ti..
Arquitectura de una Base de Datos
5. SQL Procedural.
El resultado obtenido en esta etapa son las especificaciones de lo que se debe hacer para solucionar el problema.
SQL Lenguaje de Consulta Estructurado
TÍTULO DEL PROYECTO Plataformas Computacionales de Entrenamiento, Experimentación, Gestión y Mitigación de Ataques a la Ciberseguridad.
CLASIFICACION DEL SOFTWARE
Análisis y Diseño de Sistemas de Información
Construyendo soluciones Web con SIU-Toba
BASE DE DATOS relacional
MODELO RELACIONAL.
Diseño de bases de datos relacionales
Bases de Datos Daniel Rojas UTN.
Los Intersistemas.
Las herramientas Case Julian madrigal.
Santana Mejía Andrea Michell Villarruel Miranda Alejandro Ernesto
Empresa: Software ABC Colombia
PostgreSQL Herramienta para Administración
Contratos ASUNTOS TRATADOS:.
Creamos soluciones que se adaptan a ti..
El sistema de Calidad de GFI/AST
RELOJ CHECADOR DE HUELLA
Bkeeper-Contable.
SECAP F NOMBRE: J MICHAEL EDUARDO QUEVEDO H. CURSO: I INFORMATICA B
Servidor de Reportes basado en Tecnología Java y XML
Unidad 1. Introducción a las Bases de Datos FUNDAMENTOS DE BASE DE DATOS.
BASES DE DATOS II.
Instituto Tecnológico de Zacatecas
La administración on-line Consulta de datos usando ASP
SQL1 7/9 Baloian Acceso a Bases de Datos
Aidan Hogan CC Bases de Datos Otoño 2019 Clase 7: Actualizaciones, Restricciones, Formas Normales Aidan.
CC Bases de Datos Otoño Clase 10: SQL: Vistas y Disparadores
UNIDAD 2 MODELO DE DATOS.
¿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.
AUTOR: SALGADO ESCOBAR STALIN SEBASTIAN DIRECTOR: ING. JOSE SANCHO
LA INTEGRACIÓN SEGMENTADA COMO METODOLOGÍA DE DESARROLLO PARA UNA GERENCIA DE SISTEMAS DE INFORMACIÓN EFECTIVOS 05/08/2019.
Gestión de Proyectos Informáticos (GPI) ISW
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 Atributos Derivados d) Como atributo redundante en relación P-H modelo B: -Tipo Operación: count,max,min,sum Ej.: factura(nro,fecha,monto) monto=sum(detalle.subtotal) EVENTO FACTURA DETALLE BI monto=0 AI Update tupla FACTURA,monto=monto+subtotal BU No permito cambios en PK AU Si cambio SUBTOTAL Entonces Update tupla FACTURA, monto=monto – old.subtotal + new.subtotal AD Borro tupla en T.AUX Update tupla FACTURA, monto=monto-subtotal 15 / 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 19

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