2.3.4 Estrategias de generación de claves primarias
|
|
- Beatriz Reyes Coronel
- hace 5 años
- Vistas:
Transcripción
1 2.3.4 Estrategias de generación de claves primarias
2 Estrategia 1 (1) Usar el mecanismo de generación de identificadores numéricos que proporciona la BD, en caso de que disponga de él; en otro caso, permitir integrar otra estrategia Ejemplo: Oracle y PostgreSQL proporcionan generadores de identificadores Es la estrategia que usa MiniBank
3 Estrategia 1 (2) <<Interface>> SQLAccountDAO AbstractSQLAccountDAO # AbstractSQLAccountDAO() + create(connection : Connection, accountvo : AccountVO) : AccountVO IGSQLAccountDAO + IGSQLAccountDAO() <<use>> <<Interface>> EntityIdentifierGenerator (from sql) + getnextidentifier(connection : Connection, entityname : String) : Long <<use>> EntityIdentifierGeneratorFactory (from sql) <<static>> - generatorclass : Class AbstractEntityIdentifierGenerator (from sql) - EntityIdentifierGeneratorFactory() <<static>> + getgenerator() : EntityIdentifierGenerator # AbstractEntityIdentifierGenerator() + getnextidentifier(connection : Connection, entityname : String) : Long # getquerystring(sequencename : String) : String PostgreSQLEntityIdentifierGenerator (from postgresql)
4 Estrategia 1 (y 3) Ventajas El generador de identificadores es reusable Es sencilla de implementar Suficientemente eficiente Desventajas Para insertar una nueva fila necesitamos realizar dos accesos a la BD: (1) generar el identificador y (2) insertar la fila Si la BD no proporciona generador de identificadores, es preciso implementar el método create Si proporciona columnas-contador, se debe insertar la fila sin especificar la clave (identificador) y luego leer el identificador generado En otro caso (ej.: Cloudscape), se puede usar la estrategia 3, o incluso la 2 en aplicaciones con poca carga
5 Estrategia 2 (1) Implementar EntityIdentifierGenerator en términos de la siguiente tabla entityname Account AccountOperation... nextidentifier getnextidentifier lee el valor nextidentifier de la fila correspondiente (es el valor que devuelve), le suma uno y lo almacena otra vez en la BD
6 Estrategia 2 (y 2) Problemas Número de accesos a la BD para insertar una nueva fila: 3 (2 por la generación del identificador y otro por la inserción) Si se usa SELECT FOR UPDATE para leer las filas o TRANSACTION_SERIALIZABLE con BDs con Pessimistic Locking => demasiados bloqueos Si se usa TRANSACTION_SERIALIZABLE con BDs con Optimistic Locking => con carga alta, se producirán muchas SQLExceptions Conclusión getnextidentifier podría hacer n reintentos, pero ocurrirá muchas veces y será lento Excepto para aplicaciones con poca carga, no es una estrategia válida
7 Estrategia 3: Sequence Blocks (1) Mejorar la estrategia 2 manteniendo un rango de identificadores en memoria La columna nextidentifier pasaría a llamarse lowerentityidentifier, que representaría el límite inferior de un rango de identificadores La implementación de EntityIdentifierGenerator mantendría un mapa que asocia <entiyname, <lowerentityidentifier, nextidentifier>> Inicialmente el mapa está vacío Si ((entityname está en el mapa) && (nextidentifier < lowerentityidentifier+k)) => Devolver nextidentifier e incrementarlo en una unidad En otro caso => lowerentityidentifier = Leer el valor de la columna lowerentityidentifier en la fila correspondiente (XXX) nextidentifier = lowerentityidentifier Actualizar la fila con el valor lowerentityidentifier+k Devolver nextidentifier e incrementarlo en una unidad
8 Estrategia 3: Sequence Blocks (2) El método getnextidentifier necesita ser sincronizado IdentifierGenerator debería ser un Singleton El concepto de Singleton es difuso en J2EE La máquina virtual Java garantiza que sólo hay una instancia de un Singleton por cada cargador de clases Una aplicación Java puede usar más de un cargador de clases (ej.: un contenedor de EJBs suele usar más de uno) Un contenedor de Servelts/JSP (que en teoría sólo dispone de un cargador de clases) o de EJBs podría estar replicado (cluster)=> existen otras tantas instancias de generadores de identificadores El concepto de singleton se puede implementar mediante un objeto distribuido (ej.: RMI o CORBA), pero no sería una solución eficiente El algoritmo anterior funciona aún habiendo más de una instancia del generador de identificadores Observar la línea XXX (se relee el valor de lowerentityidentifier cada vez que hay que incrementarlo en k unidades)
9 Estrategia 3: Sequence Blocks (3) Como consecuencia de lo anterior, y dado que la línea XXX y las 3 siguientes constituyen una transacción que lee un valor, lo actualiza en memoria y luego en BD Puede usarse SELECT FOR UDPATE en XXX, o Usar TRANSACTION_SERIALIZABLE para toda la transacción, haciendo n reintentos si la actualización de la fila provoca una SQLException De esta forma funciona tanto en BDs con Pessimistic Locking (que bloquean filas) como con BDs con Optimistic Locking (que generan una SQLException en caso de problemas de concurrencia) Es mejor que getnextidentifier no reciba la conexión, y en su lugar la pida En otro caso, la línea XXX y subsiguientes formarían parte de la misma transacción que la inserción de la nueva fila => la transacción es más larga y la BD mantiene filas bloquedas más tiempo
10 Estrategia 3: Sequence Blocks (y 4) Ventajas El generador de identificadores es reusable Número de accesos a la BD para insertar una nueva fila La mayor parte de las veces sólo 1 (inserción de la nueva fila) Cuando hay que leer un nuevo bloque de identificadores, 3 accesos (2 para leer y actualizar la columna lowerentityidentifier, y 1 para para insertar la nueva fila) Desventajas No se garantiza un orden de generación de identificadores La implementación es más compleja
11 Estrategia 4: UUID (1) UUID = Universally Unique IDentifier Generar la siguiente cadena de caracteres (1) (2) (3) (4) XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX (1) System.currentTimeMillis() (2) Dirección IP (3) System.identityHashCode(this) (4) Número aleatorio obtenido con java.security.securerandom NOTAS Cada campo es de 8 caracteres y está codificado en hexadecimal (2) y (3) sólo necesitan calcularse una vez
12 Estrategia 4: UUID (y 2) Ventajas La clase que implemente esta estrategia no necesita tomar ninguna precaución aunque se use en un entorno en cluster La generación de identificadores se hace en memoria Desventajas Las claves generadas son identificadores de caracteres (de 32 caracteres) => los índices que se construyan sobre estas claves no serán tan eficientes como si fuesen numéricos
13 Estrategia 4: Procedimientos almacenados (1) En esta estrategia, se implementa el método create del DAO invocando un procedimiento almacenado para insertar la fila... CallableStatement call = con.preparecall( CALL insertaccount (?,?,?) ); call.setlong(1, accoutvo.getuseridentifier().longvalue()); call.setdouble(2, accountvo.getbalance()); call.registeroutparameter(3, java.sql.types.bigint); call.execute(); accountidentifier = new Long(call.getLong(3)); return new AccountVO(accountIdentifier, accountvo.getuseridentifier(), accountvo.getbalance());
14 Estrategia 4: Procedimientos almacenados (y 2) Esta estrategia funciona tanto con BDs que proporcionan generadores de identificadores como columnas-contador Si la BD no proporciona ninguno de estos mecanismos, se puede usar un tabla como la de la estrategia 2 (ahora no sería ineficiente, dado que la lectura y actualización de la fila se hace dentro del procedimiento almacenado) Ventajas Fácil de implementar Sólo se hace un acceso a la BD Desventajas Se necesita escribir un procedimiento almacenado para cada BD, dado que la sintaxis de los procedimientos almacenados no es portable Típicamente estará dentro del script de creación de tablas
15 JDBC 3.0 permitirá Estrategia 5 (1) Devolver el identificador de una fila recién insertada Se asume que la BD puede asociar un generador de identificadores a una columna (normalmente lo permiten casi todas) Permitirá implementar el método create en el DAO de manera portable y sin usar procedimientos almacenados Ejemplo... PreparedStatement preparedstatement = con.preparedstatement( "INSERT INTO Account (usrid, balance) VALUES (?,?)", Statement.RETURN_GENERATED_KEYS); preparedstatement.setlong(1, accoutvo.getuseridentifier().longvalue()); preparedstatement.setdouble(2, accountvo.getbalance()); preparedstatement.executeupdate();
16 Estrategia 5 (y 2) Ejemplo (cont) Long accountidentifier; ResultSet resultset = preparedstatement.getgeneratedkeys(); if (resultset.next()) { accountidentifier = new Long(resultSet.getLong(1)); } else { throw... } return new AccountVO(accountIdentifier, accountvo.getuseridentifier(), accountvo.getbalance()); Ventajas Tan eficiente como la estrategia de procedimientos almacenados (1 sólo acceso) Totalmente portable Será la solución definitiva!
5.6.8 Estrategias de generación de claves primarias
5.6.8 Estrategias de generación de claves primarias Estrategias de generación de claves primarias (1) En el apartado 2.3.4 se estudiaron varias estrategias de generación de claves primarias Usar el mecanismo
Más detalles5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB
5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB Introducción La arquitectura de la capa modelo de MiniBank es igual que la de MiniPortal Paquetes nuevos en la capa modelo
Más detalles2.2 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con JDBC. Patrones usados
2.2 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con JDBC. Patrones usados Qué es MiniBank? Un sencillo ejemplo de una aplicación bancaria con los siguientes casos de uso Crear
Más detallesJDBC. Una mini-introducci. introducción
JDBC Una mini-introducci introducción Introducción JDBC (Java DataBase Connectivity) Protocolo para utilizar bases de datos relacionales desde Java Se basa en la utilización n de drivers que implementan
Más detalles2.2 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con JDBC. Patrones usados
2.2 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con JDBC. Patrones usados Qué es MiniBank? Un sencillo ejemplo de una aplicación bancaria con los siguientes casos de uso Crear
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión XI JDBC... 7 Conexión... 8 Fases del acceso a BBDD... 9 Establecer conexión con BBDD... 10 Crear
Más detalles5.2 Introducción a EJB
5.2 Introducción a EJB Java RMI como tecnología para la construcción de aplicaciones empresariales (1) Aspectos positivos Permite separar físicamente la vista y el controlador del modelo de manera sencilla
Más detallesLaboratorio de Programación III
Laboratorio de Programación III Profesor René Sandoval Ingeniero (E) Informática rene2160@gmail.com Qué es JDBC? JDBC es el acrónimo de Java DataBase Conectivity Es una especificación de un conjunto de
Más detallesPráctica sobre compartición de instancias remotas.
Práctica sobre compartición de instancias remotas. Para esta práctica se ha construido un pequeño sistema cliente-servidor que permite la resolución de Sudokus entre varios jugadores. El servidor consta
Más detallesConexión JDBC. Tecnicatura Superior en Programación UTN-FRM Programación 3
Conexión JDBC La presente guía presenta las bases de la implementación de conexiones JDBC (Conector JAVA a base de datos). Los conocimientos básicos que se deben tener son: Java. Motores de Base de Datos.
Más detallesBase de Datos JDBC. Unidad: 1 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos
Base de Datos JDBC Unidad: 1 Laboratorio de Programación Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Indice Instalación de JDBC. Tipos de controladores. Conexión con la base
Más detalles5.3 Diseño por capas con Servicios Web
5.3 Diseño por capas con Servicios Web Diseño por capas Misma idea que en CORBA Interfaz de usuario (no WS) Capa de traducción y delegación (WS) Capa de traducción y delegación (WS) IDL Capa de lógica
Más detallesTema V. JDBC. Desarrollo de Aplicaciones para Internet Curso 12 13
Tema V. JDBC Desarrollo de Aplicaciones para Internet Curso 12 13 Índice 1.Introducción 2.Arquitectura 3.Consultas SQL i. Carga de Drivers ii. Conexión iii.consulta iv.resultados 4.Tipos de Datos 5.Transacciones
Más detallesExamen de Ficheros y bases de datos Convocatoria de junio II PARCIAL
Examen de Ficheros y bases de datos Convocatoria de junio II PARCIAL ) 3 puntos) Considérese un fichero secuencial con un índice con asociación estática. El índice es primario y está organizado sobre una
Más detallesAPÉNDICE A: ACCESO A UNA BASE DE DATOS CON JDBC
APÉNDICE A: ACCESO A UNA BASE DE DATOS CON JDBC Lo primero que hay que saber es que la manera más conveniente de acceder a una base de datos utilizando el lenguaje de programación JAVA, es a través del
Más detalles3.2 Diseño de la Capa Modelo
3.2 Diseño de la Capa Modelo Objetivo Aprender un método para diseñar sistemáticamente la capa modelo de una aplicación El método se apoya en prácticas de diseño consolidadas El método es independiente
Más detallesAplicaciones Web (Curso 2014/2015)
Bases de Datos (III) Aplicaciones Web (Curso 2014/2015) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (III) p. 1 JDBC: Acceso a bases de datos relacionales en Java Bases de Datos (III) p. 2 JDBC
Más detallesComputación Web (Curso 2015/2016)
Bases de Datos (III) Computación Web (Curso 2015/2016) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (III) p. 1 JDBC: Acceso a bases de datos relacionales en Java Bases de Datos (III) p. 2 JDBC
Más detalles//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui
PL/SQL - Oracle PL/SQL (Procedural Language/SQL) es una extensión de SQL, que agrega ciertas construcciones propias de lenguajes procedimentales, obteniendose como resultado un lenguaje estructural mas
Más detallesSentencias complementarias + Disparadores
Base de Datos I Sentencias complementarias + Disparadores Objetivos: Elaborar sentencias especiales con diferentes usos y componentes. Introducción: Siempre hay tipos de consultas o transacciones especiales
Más detallesModelamiento y Diseño de Base de Datos
Modelamiento y Diseño de Base de Datos Sentencias complementarias + Disparadores Objetivos: Elaborar sentencias especiales con diferentes usos y componentes. Introducción: Siempre hay tipos de consultas
Más detallesAcceso a bases de datos desde Java: JDBC
Acceso a bases de datos desde Java: JDBC Jesús Arias Fisteus Aplicaciones Web (2016/17) Aplicaciones Web (2016/17) Acceso a bases de datos desde Java: JDBC 1 Parte I JDBC Aplicaciones Web (2016/17) Acceso
Más detallesJDBC: Java DataBase Conectivity
JDBC: Java DataBase Conectivity Integrantes: Pablo Benaprés M. Tomás Girardi J. Roberto Vargas H. Introducción Que es? API Driver Java Interactúa a con bases de datos Ejecuta consultas Recibe resultados
Más detalles18. Interfaces Declaración de una interfaz
Programación orientada a objetos con Java 191 18. Interfaces Objetivos: a) Definir el concepto de interfaz b) Interpretar el código fuente de una aplicación Java donde aparecen interfaces c) Construir
Más detallesrelacionales Arquitecturas Distribuidas 09/10
Tema 4. V Introducción a las Bases de Datos relacionales Arquitecturas Distribuidas 09/10 1 V. Introducción a las Bases de Datos relacionales 1. Descripción del concepto de base de datos (BD) relacional
Más detallesCUBE, ROLLUP, GROUPING del SQL
CUBE, ROLLUP, GROUPING del SQL Qué preguntas solucionamos con CUBE y ROLLUP? Vamos a trabajar con la siguiente tabla por no complicar los ejemplos ni el código SQL. Además una tabla como esta aunque no
Más detallesExamen de Ficheros y bases de datos (cód. 520) Ingeniería Técnica en Informática de Gestión Convocatoria de septiembre. II Parcial
Examen de Ficheros y bases de datos (cód. 520) Ingeniería Técnica en Informática de Gestión Convocatoria de septiembre II Parcial 1) (2,9 puntos). a) (0,8 puntos) Constrúyase un árbol B+ mínimo con n=5
Más detallesTópicos Avanzados de Programación (TAP3501)
DuocUC Tópicos Avanzados de Programación (TAP3501) Ariel Alexis Fierro Sáez afierrosaez@gmail.com Uso JDBC en Java Uso JDBC en aplicaciones java Class.forName("driver") Cargar/Registrar el driver JDBC
Más detallesC.I.F.: B Inscrita en el Registro Mercantil de Madrid, Tomo Libro 0, Folio 135, Sección 8. Hoja M Inscripción 1ª
INTRODUCCIÓN A JAVA QUÉ ES JAVA Introducción ORGANIZACIÓN JME (Mobile / Wireless) JSE (Core / Desktop) JEE (Enterprise / Server) LA HISTORIA El comienzo Aparición de Internet Por qué el nombre JAVA DESARROLLO,
Más detallesJava y Access. 4. En nuestra pantalla aparecerá ahora la pestaña DSN usuario seleccionada. Para crear un nuevo perfil haremos click en Agregar...
Java y Access La capacidad para acceder a bases de datos desde Java la ofrece la API JDBC (Java DataBase Conectivity). JDBC es un estándar para manejar bases de datos en Java. ODBC es un estándar de Windows
Más detallesSQL: Vistas, Triggers, y Procedimientos Almacenados
SQL: Vistas, Triggers, y Procedimientos Almacenados Dr. Gerardo Rossel Bases de Datos 1C 2018 PostgreSQL Aclaración En estas diapositivas nos basaremos principalmente en PostgreSQL. Diferentes motores
Más detallesExperto Universitario Java Enterprise Spring
Sesión 2: 1 Puntos a tratar Por qué usar para acceso a datos Problemas típicos de JDBC JDBC con JPA con Transaccionalidad declarativa 2 Por qué usar el acceso a datos de no nos obliga a usar su módulo
Más detallesJAVA 5. Conexión con Bases de Datos
JAVA 5. Conexión con Bases de Datos http://giig.ugr.es/ mgea/docencia/diu Ultima actualización: 2/Dic/2004 1 Conexión con Bases de Datos 1. Conexión con Base de Datos: controlador 2. Componentes gestión
Más detallesINTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11
Índice INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 1.1 PROGRAMA Y LENGUAJESDE PROGRAMACIÓN...12 1.1.1 EL LENGUAJE JAVA...13 1.1.2 EL JDK...15 1.1.3 LOS PROGRAMAS EN JAVA...16
Más detallesPruebas en PL/SQL 13/12/2013. Pruebas en PL/SQL. Grupo de Ingeniería del Software y Bases de Datos. Universidad de Sevilla diciembre 2013
13/12/2013 Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos 1. Características del 2. Problemas de la industria del 3. La necesidad de una ingeniería
Más detallesJDBC. Francisco Javier Solans Benedí Software Developper francisco.solans@neodoo.es
JDBC Francisco Javier Solans Benedí Software Developper francisco.solans@neodoo.es Definición Es la interfaz Java estándar para acceder a base de datos. Neodoo Microsystems S.L. 2 Configuración Para usar
Más detallesAcceso a bases de datos desde Java: JDBC
Acceso a bases de datos desde Java: JDBC Jesús Arias Fisteus Computación Web (2017/18) Computación Web (2017/18) Acceso a bases de datos desde Java: JDBC 1 Parte I JDBC Computación Web (2017/18) Acceso
Más detallesPrácticas Ingeniería del Software 3º
Prácticas Ingeniería del Software 3º JDBC JAVA con Bases de Datos UNIVERSIDAD DE CASTILLA-LA MANCHA ES de Informática de Ciudad Real Introducción JDBC es una especificación de un conjunto de clases y métodos
Más detalles1. Se usará la Base de Datos llamada. 2. Borrar la tabla CtasBanc anterior y crearla: 5.1 Procedimientos y Funciones Almacenados SQL Server
SQL Server 1. Se usará la Base de Datos llamada LaConsentida. use LaConsentida 2. Borrar la tabla CtasBanc anterior y crearla: create table CtasBanc (IdCuenta int identity primary key, tipo char(10), saldo
Más detallesCURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE
CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE PRÓLOGO... 13 APECTOS BÁSICOS DE JAVA... 15 1.1. LA MÁQUINA VIRTUAL JAVA... 15 1.2. EDICIONES JAVA... 16 1.3. ESTRUCTURA DE UN PROGRAMA JAVA... 16 1.4. EL MÉTODO
Más detallesBASES DE DATOS. Ingeniería Informática. Matemáticas e Informática
BASES DE DATOS Ingeniería Informática Matemáticas e Informática BASES DE DATOS Acceso a Bases de datos en Java DIAPOSITIVA 1 BASES DE DATOS Contacto con Prof. Alejandro Rodríguez Email: alejandro.rg@upm.es
Más detallesExamen de Ficheros y bases de datos ITIS Convocatoria de junio II PARCIAL
Examen de Ficheros y bases de datos ITIS Convocatoria de junio II PARCIAL ) (4,3 puntos) Considérese un fichero secuencial indexado con un índice numérico (con valores entre 0 y 65.535) con duplicados
Más detallesAcceso a BDs en Java: JDBC
Acceso a BDs en Java: JDBC Bases de Datos II 1 Introducción Para hacer una aplicación de BDs en Java se necesita disponer del driver adecuado para el SGBD. En nuestro caso necesitamos el de mysql. http://dev.mysql.com/downloads/connector/j/3.0.html
Más detallesJAVA 7 Los fundamentos del lenguaje Java
Presentación 1. Historia 9 1.1 Por qué Java? 9 1.2 Objetivos del diseño de Java 10 1.3 Auge de Java 11 2. Características de Java 12 2.1 El lenguaje de programación Java 12 2.1.1 Sencillo 13 2.1.2 Orientado
Más detallesJDBC. Aplicaciones Distribuidas
JDBC Aplicaciones Distribuidas Contenido Definición. Arquitectura. Driver. Conexión. Consultas. Transacciones. Pool de conexiones. Patrón DAO. 2 JDBC Java DataBase Connectivity API Java para ejecutar consultas
Más detalles3.8 Patrón Default servant. Políticas del POA asociadas
3.8 Patrón Default servant. Políticas del POA asociadas Introducción Cómo minimizar la cantidad de memoria que necesita un servidor para soportar un gran número de objetos? Servant por defecto => permite
Más detallesIntroducción a SQL (DDL)
Introducción a SQL (DDL) Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2012 Introducción a SQL Objetivos de este tema
Más detallesBase de Datos JDBC. Unidad: 1 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos
Base de Datos JDBC Unidad: 1 Laboratorio de Programación Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Indice Repaso clase anterior Sentencias preparadas PreparedStatement
Más detallesValue Object (1) Agrupar un conjunto de atributos procedentes de uno o varios objetos del dominio. Data Transfer Object, Replicate Object
2.3.1 Value Object Value Object (1) Intención Agrupar un conjunto de atributos procedentes de uno o varios objetos del dominio También conocido como Data Transfer Object, Replicate Object Motivación En
Más detallesDiseño de la capa de datos. Acceso a datos con JDBC
escuela técnica superior de ingeniería informática Diseño de la capa de datos. Acceso a datos con JDBC Departamento de Lenguajes y Sistemas Informáticos Ingeniería del Software II Índice Introducción JDBC
Más detallesGUÍA DE TRABAJO N 9 - LENGUAJES C# + SQL Educación Media Fortalecida Programación de Software GRADO 11 Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8
Página 1 de 8 TEMA: PROCEDIMIENTOS ALMACENADOS EN SQL SERVER OBJETIVO: Adquirir los conocimientos necesarios para desarrollar e implementar procedimientos almacenados utilizando SQL Server y lenguaje C#
Más detallesIntroducción a phpmyadmin
Introducción a phpmyadmin, ejercicio http://idesweb.es/ 1 Introducción a phpmyadmin El propósito del siguiente ejercicio es replicar, más o menos, la base de datos utilizada en los videos de introducción
Más detallesPROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN. actividad Transacciones en MySQL. como requerimiento parcial para acreditar la asignatura de
DEXCELENCIA UNIVERSITARIA, FORTALEZA E MEXICO I Z U C A R D E M ATA M O R O S PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN actividad Transacciones en MySQL como requerimiento parcial para acreditar
Más detalles5.1 Procedimientos y Funciones Almacenados. 5.2 Disparadores (Triggers).
Unidad 5 SQL Procedural 5.1 Procedimientos y Funciones. 5.2 Disparadores (Triggers). Taller Bases de Datos ISC Ing. Felipe Alanís González -ITD- 1 MySQL 1. Se usará la Base de Datos llamada LaConsentida.
Más detallesPROGRAMACIÓN CON ACCESO A DATOS
PROGRAMACIÓN CON ACCESO A DATOS Parte 3 CARRERAS TÉCNICAS 2005 Universitario Autónomo del Sur Contenido 1. Capítulo 5: Acceso a Bases de Datos a. Introducción b. El paquete java.sql c. Consultas de selección
Más detallesUNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS SILABO LENGUAJE DE PROGRAMACION ORIENTADO A WEB
UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS SILABO ASIGNATURA: LENGUAJE DE PROGRAMACION ORIENTADO A WEB 1. DATOS GENERALES 1.1 Departamento : Ingeniería de
Más detallesCurso Básico de JDBC. Rodolfo Campos Madrid, Septiembre de 2012
Curso Básico de JDBC Rodolfo Campos http://http://www.smartcamp.es/~camposer/indra/jdbc/ Madrid, Septiembre de 2012 Introducción JDBC es un conjunto de clases e interfaces Java que permiten la manipulación
Más detallesAcceso a BD desde Java. JDBC
JDBC (Java DataBase Connectivity) es una interfaz para programar la ejecución de sentencias SQL sobre SGBDR El API JDBC facilita programar el acceso a BD sin que se tenga en cuenta a que Servidor nos dirigimos
Más detallesLaboratorios de BASES DE DATOS. (I.T. Informática)
Laboratorios de BASES DE DATOS. (I.T. Informática) Gestor de bases de datos ORACLE M. Martínez, C. Hernández, C. Cuesta Dpto. de Informática (U. Valladolid) Base de datos de ejemplo EMPLEADOS (NOMBRE,
Más detallesTema 4. DML (Parte I)
Tema 4 DML (Parte I) IES Francisco Romero Vargas Departamento de Informática Tema 4. DML (I). Página 1 de 9 1. Introducción Un Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un
Más detallesObjetivos y Temario CURSO JAVA 7
Objetivos y Temario CURSO JAVA 7 OBJETIVOS Este curso se dirige a todos aquellos informáticos que quieran desarrollar en Java. Tanto si es principiante como si ya tiene experiencia con otro lenguaje, el
Más detallesValue Object (1) Agrupar un conjunto de atributos procedentes de uno o varios objetos del dominio
2.3.1 Value Object Value Object (1) Intención Agrupar un conjunto de atributos procedentes de uno o varios objetos del dominio También conocido como Recientemente se le ha cambiado el nombre a Transfer
Más detallesGUÍA DE TRABAJO GRADO 11. Articulación SENA Programación de Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6
Página 1 de 6 Tema: PROCEDIMIENTOS ALMACENADOS SQL SERVER Objetivo: Adquirir los conocimientos necesarios para desarrollar e implementar procedimientos almacenados utilizando SQL Server y lenguaje C# I.
Más detallesLos disparadores pueden emplearse para muchas cosas diferentes, incluyendo:
Triggers en Oracle Nuestro objetivo para este artículo es intentar mostrar un breve panorama de cómo crear TRIGGERS (disparadores o gatilladores [1]) para bases de datos bajo Oracle 8, asi como describir
Más detallesSQL SERVER APLICADO (SSA010)
DuocUC SQL SERVER APLICADO (SSA010) Ariel Alexis Fierro Sáez afierrosaez@gmail.com Funciones en transact-sql SQL Server proporciona funciones integradas y permite crear funciones definidas por el usuario.
Más detallesAlgoritmos y Estructuras de Datos: Ordenación y Colas con Prioridad. Guillermo Román Díez
Algoritmos y Estructuras de Datos: Ordenación y Colas con Prioridad Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción a la Recursión
Más detallesPruebas en PL/SQL 12/12/2012. Pruebas en PL/SQL. Grupo de Ingeniería del Software y Bases de Datos. Universidad de Sevilla diciembre 2012
12/12/2012 Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos 1. Características del 2. Problemas de la industria del 3. La necesidad de una ingeniería
Más detallesUnidad IV. Aplicaciones sobre Base de Datos
Clase:013 1 Unidad IV Aplicaciones sobre Base de Datos 2 Agenda PROGRAMA DE MANIPULACION DE BASE ANDROID SQLITE SQLITE OpenHelper SQLITE Database Cursor Ejemplos Agregar controles según campo Usar query
Más detallesARTE I BASE DE DATOS EN JAVA
RACTICA N 18 PARTEP PRACTICA ARTE I BASE DE DATOS EN JAVA I OBJETIVOS Aprender a pasar del Modelo a la Implementación Lograr que el alumno configure una base de datos en JAVA. Comprender el funcionamiento
Más detalles5.6.3 Session Facade
5.6.3 Session Facade Session Facade (1) Intención Proporcionar una interfaz sencilla que soporta un conjunto de casos de uso relacionados Motivación La explicada en el tema 2: proporcionar una interfaz
Más detallesEl primer paso a realizar es crear la referencia JNDI para el origen de datos en el servidor local TomCat.
Conectar Base de Datos MySQL con JSF El primer paso a realizar es crear la referencia JNDI para el origen de datos en el servidor local TomCat. Comentar que antes, tenemos que crear la Base de Datos Wiki
Más detallesProgramación de sistemas Listas enlazadas
Programación de sistemas Listas enlazadas Departamento de Ingeniería Telemática 1 Contenidos *** Introducción a los genéricos Estructuras de datos Listas enlazadas La clase Node La clase LinkedList Ventajas
Más detallesJAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos)
Presentación 1. Historia 11 1.1 Por qué Java? 11 1.2 Objetivos del diseño de Java 12 1.3 Auge de Java 13 2. Características de Java 14 2.1 El lenguaje de programación Java 14 2.1.1 Sencillo 15 2.1.2 Orientado
Más detallesComputación Web (Curso 2013/2014)
Bases de Datos (III) Computación Web (Curso 2013/2014) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (III) p. 1 JDBC: Acceso a bases de datos relacionales en Java Bases de Datos (III) p. 2 JDBC
Más detallesDiseño de la capa de datos. De objetos a datos
escuela técnica superior de ingeniería informática Diseño de la capa de datos. De objetos a datos Departamento de Lenguajes y Sistemas Informáticos Ingeniería del Software II Índice Introducción Notación
Más detallesPatrones para persistencia (I) Ingeniería del Software II
Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura
Más detallesPractica 7 Conexión a su base de datos. Optativa II
1. Inicie sesión en su manejador de base de datos y agregue los procedimientos de almacenados mediante los cuales manejaremos las tablas agregadas en la práctica anterior. 2. Colóquese en su base de datos.
Más detallesÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1
ÍNDICE Introducción... XI Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1 Características y novedades de Access 2010... 1 Comienzo rápido del trabajo y seguimiento de la información...
Más detallesPython desde Cero: Bases de Datos
http://codehero.co/python-desde-cero-bases-de-datos/ Python desde Cero: Bases de Datos Hoy, vamos a aprender todo lo relacionado con el módulo MySQLdb, en otras palabras, aprenderemos a conectarnos a una
Más detallesmayo de 2008 Persistencia
mayo de 2008 Persistencia Mecanismos de Almacenamiento BDO: No se necesita servicios de persistencia. BDR: Se requiere un servicio de correspondencia entre objetos y relaciones. XML, archivos, BD jerárquicas,
Más detallesAsignatura: Base de Datos FA.C.E.N.A. - UNNE Cursado 2011
Asignatura: Base de Datos FA.C.E.N.A. - UNNE Cursado 2011 http://ww.base-exa-unne.com.ar http://exa.unne.edu.ar/informatica/base_de_datos/informacion.html Tema 10: El SQL en general Profesor Esp. Juan
Más detalles10. JDBC. 10. JDBC Introducción. java.sql
10 JDBC 287 10 JDBC Introducción javasql JDBC(Java DataBase Connectivity), consiste en un conjunto de clases e interfaces Java que permiten desarrollar aplicaciones de acceso a Bases de Datos JDBC envía
Más detallesExisten dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:
Trigger Un trigger(o desencadenador) es una clase especial de procedimiento almacenado que se ejecuta automáticamente cuando se produce un evento en el servidor de bases de datos. Los triggers o disparadores
Más detallesUNIVERSIDAD DISTRITAL FRANCSICO JOSE DE CALDAS FACULTAD DE INGENIERIA INGENIERIA DE SISTEMAS PROGRAMACION AVANZADA TALLER DE CONEXIÓN A BASES DE DATOS
TALLER DE CONEXIÓN A BASES DE DATOS 1. Cree un nuevo proyecto Java Aplication 2. Descargue el respectivo driver para conectarse a una BD Derby. El driver JDBC para Derby: derbyclient.jar 3. Agregue el
Más detallesDiseño de bases de datos
Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes sn. 41012 Sevilla TlfFax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es Diseño
Más detallesProgramación Orientada a Objetos II. La Plataforma JDBC
Programación Orientada a Objetos II La Plataforma JDBC Introducción a (JDBC) Java Database Connectivity El API JDBC permite acceder a cualquier tipo de datos tabulares y comúnmente se utiliza para acceder
Más detallesNORMAS PARA LA ENTREGA DE LOS LABORATORIOS
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Bases de Datos I - Laboratorio # 5 - SQL 3: Conexión de Programas Java con DBMS Entrega: Sábado, 29 de Noviembre de 2014 NORMAS PARA
Más detallesExamen de Introducción al Software (Ingeniería Informática)
Examen de Introducción al Software (Ingeniería Informática) Febrero 2011 Primera parte (5 puntos, 50% nota del examen) 1) Escribir en Java el siguiente algoritmo descrito en pseudocódigo, que calcula los
Más detallesTema 1. Introducción a MySQL. José Muñoz Jimeno Octubre 2015
Tema 1. Introducción a MySQL José Muñoz Jimeno Octubre 2015 Control de cambios Versión Fecha Comentarios 1.0 21/05/2015 Primera versión para el curso Introducción a la administración de MySQL en el COITCV
Más detallesDesarrollo de Software con
Desarrollo de Software con Antonio J. Vélez Q. Universidad del Valle Sede Palmira Requerimientos de Software Java 2 SE Development Kit java.sun.com/javase Java EE 5 SDK java.sun.com/javaee Netbeans (IDE)
Más detallesÍndice. iii. Objetivos... 24
Índice Objetivos... 2 1: Modelación de base de datos... 2 2: Ejemplo de un caso de negocios... 3 2.1: Requerimientos de la aplicación... 4 2.2: Características de flujo de información... 4 2.3: Diagrama
Más detallesEsquema básico de una Tabla de Dispersión
3 Tablas de Dispersión Estructura de datos para gestionar colecciones de elementos donde la búsqueda de un elemento puede hacerse en O(1) en un alto porcentaje de casos - mejora el tiempo de búsqueda en
Más detallesIntroducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT
Introducción Objetivos I-2 Objetivos del Curso I-3 Oracle11g - 12cI-5 Oracle Database 11g - 12cI-6 Oracle Application Server 11g - 12cI-7 Oracle Enterprise Manager 11g - 12cGrid Control I-8 Sistema de
Más detallesPHP Y BASES DE DATOS. Introducción a SQL
PHP Y BASES DE DATOS M.I María Luisa González Ramírez Introducción a SQL SQL es el lenguaje usado para interactuar con las base de datos. Es un lenguaje normalizado, utilizado por los diferentes motores
Más detallesDiseño Basado en Componentes Curso 2008 / 09
Ejemplo de Modelo Diseño Basado en Componentes Construcción de componentes utilizando VB.NET (Parte I) Ingeniería Informática Universidad Carlos III de Madrid Diseño Basado en Componentes Atributos miembro
Más detallesFundamentos de Bases de Datos. Práctica 8.
Fundamentos de Bases de Datos. Práctica 8. Profesor: M.I. Gerardo Avilés Rosas gar@ciencias.unam.mx Laboratorio: Carlos Augusto Escalona Navarro caen@ciencias.unam.mx 8 de octubre de 2018 Se dan a conocer
Más detallesProgramación de sistemas Árboles
Programación de sistemas Árboles Departamento de Ingeniería Telemática 1 Contenidos Concepto de árbol Terminología Implementación Casos especiales Árboles binarios de búsqueda Montículos (heaps) 2 Concepto
Más detalles