Introducción a y Spring Data
|
|
- José Carlos Salazar Camacho
- hace 8 años
- Vistas:
Transcripción
1 Introducción a y Spring Data Miguel Olivares y Leonardo Menezes (@moliware) (@leonardomenezes)
2 Qué es MongoDB? Base de datos orientada a documentos Sin esquema Escalable DB => Colección => Documento
3 Qué es una colección? Es un grupo de documentos. Se identifica con un nombre Es el equivalente a una tabla en un modelo relacional
4 Qué es un documento? Un conjunto de pares clave-valor Coloquialmente un hash, map o dictionary Formato BSON
5 Arquitectura
6 Consola Consola javascript completa Cliente MongoDB
7 Por qué MongoDB? Fácil escalabilidad Flexibilidad Alto rendimiento Consultas potentes MapReduce
8 Benchmark (45 M de documentos) Tiempo medio de inserción Tamaño en disco SolR 0.603(ms) 49 GB CouchDB 0.297(ms) 43 GB Cassandra 0.516(ms) 50 GB MongoDB 0.040(ms) 43 GB
9 Introducción a Spring Data
10 Por que Spring Data? Mapeo/Conversión entre POJOs y docs MongoDB MongoTemplate Implementación automática de Repository(DAO) DSL basado en Java para Query, Criteria y Update Soporte a persistencia mixta(cross-store persistance) Integración con GeoSpatial de Mongo Integración con Map Reduce de Mongo Administración y monitorización por JMX
11 Diseño de una aplicación Diseño de documentos Consultas de la aplicación Optimización de las consultas
12 Diseño de documentos Identificar tipos de documentos Separar cada tipo de documento en distintas colecciones Referenciar vs Duplicar
13 Diseño de documentos Identificar tipos de documentos Separar cada tipo de documento en distintas colecciones Referenciar vs Duplicar Consistencia Consultas extras Inconsistencia Documento autodescriptivo
14 Documentos Usuario _id name following Tweet _id text date user geo
15 Usuarios name : Nombre de usuario following: Array de referencias a usuarios
16 Tweets text : texto date : objeto Date de javascript. user: referencia al usuario geo: coordenadas
17 Modelo MongoDB
18 Modelo Relacional
19 Inserción de usuarios var miguel = {"name" : "miguel", "following" : []} db.user.save(miguel) var leonardomenezes = {"name" : "leonardomenezes", "following" : [new DBRef("user", miguel._id)]} db.user.save(leonardomenezes)
20 Inserción de Tweets var tweet = {"text" : "Tweet ejemplo", "date" : new Date(), "user" : new DBRef("user", leonardomenezes._id), "geo" : { "x" : 1, "y" : 1 } } db.tweet.save(tweet)
21 Actualización de documentos Update tipo SQL Posibilidad de upsert, es decir, si no existe lo crea Existen muchos update modifiers : $inc, $set, $unset, $push, $pushall, $addtoset, $pop, $pull, $pullall, $rename, $bit
22 Actualización de documentos El usuario miguel ahora sigue a leonardomenezes: var ref_leo = new DBRef("user", leonardomenezes._id) db.user.update({"name" : "miguel"}, {$push: {"following" : ref_leo}})
23 MongoDB Java Driver public void ejemplo1() throws UnknownHostException, MongoException { Mongo mongo = new Mongo("localhost"); DB db = mongo.getdb("database"); db.dropdatabase(); DBCollection users = db.getcollection("users"); BasicDBObject usuario = new BasicDBObject(); usuario.put("nombre", "Marco Martinez"); users.insert(usuario); BasicDBObject usuario2 = new BasicDBObject(); usuario2.put("nombre", "Leonardo Menezes"); usuario2.put("following", new DBRef(db, "users", usuario)); users.insert(usuario2); }
24 MongoTemplate Mapeo/Conversión de POJO s
25 Mapeo de los = "tweets") public class Tweet { private ObjectId id; private String text; private Date private User = "users") public class User { private ObjectId id; private String private Set<User> following;... getters y constructor... private double[] coordinate;... getters y constructor...
26 Configuración de public class AppConfig { public Mongo mongo() throws UnknownHostException, MongoException { return new Mongo("localhost"); public MongoTemplate mongotemplate() throws UnknownHostException, MongoException { return new MongoTemplate(mongo(), "database"); }
27 Inserción con MongoTemplate /** * Ejemplo sencillo de inserción */ private void ejemplo1() { User user = new User("Marco Martinez"); User user2 = new User("Alejandro Marqués"); User user3 = new User("Javier Alba"); mongotemplate.save(user); logger.info("users " + user + " saved"); mongotemplate.save(user2); logger.info("users " + user2 + " saved"); mongotemplate.save(user3); logger.info("users " + user3 + " saved"); user.follow(user2); mongotemplate.save(user); logger.info("users " + user + " updated"); } INFO - Users User [id=4eb846971a8868b98ed3d7c3, name=marco Martinez, following=0] saved INFO - Users User [id=4eb846971a8868b98ed3d7c4, name=alejandro Marqués, following=0] saved INFO - Users User [id=4eb846971a8868b98ed3d7c5, name=javier Alba, following=0] saved INFO - Users User [id=4eb846971a8868b98ed3d7c3, name=marco Martinez, following=1] updated
28 Update Modifiers con Spring Data /** * Ejemplo de acutalización */ public void ejemplo2() { mongotemplate.updatefirst(new Query(new Criteria("name").is("Marc Martinez")), new Update().set("name", "Marco Martinez"), User.class); User user = mongotemplate.findone(new Query(new Criteria("name").is("Marco Martinez")), User.class); User user3 = mongotemplate.findone(new Query(new Criteria("name").is("Javier Alba")), User.class); mongotemplate.updatefirst(new Query(new Criteria("name").is("Marco Martinez")), new Update().addToSet("following", user3), User.class); user = mongotemplate.findone(new Query(new Criteria("name").is("Marco Martinez")), User.class); logger.info("user found: " + user); } INFO - User found: User [id=4eb84a0e1a885514a5745b2d, name=marco Martinez, following=2]
29 Diseño de una aplicación Diseño de documentos Consultas de la aplicación Optimización de las consultas
30 Consultas en MongoDB SELECT a,b FROM users SELECT * FROM users WHERE age=33 SELECT * FROM users WHERE age=33 ORDER BY name SELECT * FROM users WHERE age=33 ORDER BY name LIMIT=10 OFFSET=0 db.users.find({}, {a:1,b:1}) db.users.find({age:33}) db.users.find({age:33}).sort({name:1}) db.users.find({age:33}).sort({name:1}).limit(10).skip(0)
31 Perfil de usuario Seguidores Mis tweets
32 Consultas - Seguidores SELECT user_following.following_id FROM user, user_following WHERE user.name = leonardomenezes AND user.id = user_following.user_id db.user.findone({"name" : "leonardomenezes"}, { following : 1});
33 Consultas - Mis Tweets select * from tweet where tweet.user_id=x order by date DESC db.tweet.find({"user.$id" : X}).sort({'date' : -1})
34 Más consultas MongoDB SELECT * FROM users WHERE age>33 SELECT * FROM users WHERE name LIKE "Joe%" SELECT * FROM users WHERE a=1 or b=2 SELECT COUNT(*) FROM users db.users.find({age:{$gt:33}}) db.users.find({name:/^joe/}) db.users.find({$or:[{a:1},{b:2}]}) db.users.count()
35 Más operadores $where + código javascript $gt, $lt, $gte, $lte $all, $exists, $mod, $ne, $in, $nin, $nor, $or, $and, $size, $type...
36 Timeline SELECT * FROM tweet WHERE user_id = X OR user_id =... ORDER BY date db.tweet.find({"user.$id" : {$in : ids}}).sort({'date' : -1})
37 MongoRepository(DAO) CRUD(CrudRepository) count, delete, deleteall, exists, findone, save... Paginación/Ordenación(PagingAndSortingRepository) Métodos de búsqueda dinámicos
38 Repositorios count() Returns the number of entities available. delete(id id) Deletes the entity with the given id. findall(pageable pageable) Returns a Page of entities meeting the paging restriction provided in the Pageable object. findall(sort sort) Returns all entities sorted by the given options. delete(iterable<? extends T> entities) Deletes the given entities. delete(t entity) Deletes a given entity. deleteall() Deletes all entities managed by the repository. exists(id id) Returns whether an entity with the given id exists. findall() Returns all instances of the type. findone(id id) Retrives an entity by its primary key. save(iterable<? extends T> entities) Saves all given entities. save(t entity) Saves a given entity.
39 UserRepository y public interface UserRepository extends MongoRepository<User, ObjectId> { } public User findbyname(string public interface TweetRepository extends MongoRepository<Tweet, ObjectId> { } public List<Tweet> findbytextlike(string text); public List<Tweet> findbydatelessthan(date 'user': {'$ref': 'users', '$id': { '$oid':?0 } } }") public List<Tweet> findbyuserid(string id);
40 Configuración de los Repositorios <context:annotation-config /> <context:component-scan base-package="com.paradigmatecnologico" /> <mongo:repositories base-package="com.paradigmatecnologico" />
41 Inserción y Consulta con Repositorios /** * Ejemplo de consultas con Repositorios */ public void ejemplo3() { User user = userrepository.findbyname("alejandro Marqués"); logger.info("user found:" + user); tweetrepository.save(new Tweet("Hola mundo", new Date(), user, new double[] { 1.0, 0.1 })); List<Tweet> tweets = tweetrepository.findbyuserid(user.getid().tostringmongod()); logger.info("found " + tweets.size() + " tweets"); List<Tweet> tweetshola = tweetrepository.findbytextlike("hola"); logger.info("found " + tweetshola.size() + " tweets"); } INFO - User found:user [id=4eb84a0e1a885514a5745b2e, name=alejandro Marqués, following=0] INFO - Found 1 tweets INFO - Found 1 tweets
42 Customizando Repositorios public interface IAdvancedTweetRepository { } public List<Tweet> timeline(list<objectid> ids); public class AdvancedTweetRepositoryImpl implements IAdvancedTweetRepository public List<Tweet> timeline(list<objectid> ids) { return mongotemplate.find(new Query(new Criteria("user.$id").in(ids)), Tweet.class);} } } public interface TweetRepository extends MongoRepository<Tweet, ObjectId>, IAdvancedTweetRepository { }
43 Consultando el Timeline /** * Ejemplo de consulta timeline/repositorios customizados */ public void ejemplo4() { User user = userrepository.findbyname("marco Martinez"); List<ObjectId> following = new LinkedList<ObjectId>(); for (User currentfollowing : user.getfollowing()) { following.add(currentfollowing.getid()); } following.add(user.getid()); List<Tweet> tweets = tweetrepository.timeline(following); logger.info("total tweets found: " + tweets.size()); }
44 Diseño de una aplicación Diseño de documentos Consultas de la aplicación Optimización de las consultas
45 Índices Son muy similares a los índices MySQL Un índice es un B-Tree Necesarios cuando necesitas ordenar Para hacer un campo único
46 Índices Optimiza el uso de memoria Son útiles cuando las consultas devuelven parte de los documentos
47 Índices de la aplicación db.tweet.ensureindex({ user.$id : 1, date : -1}) db.user.ensureindex({ name : 1}, { unique : true})
48 Índices en Spring Data /** * Creando indices */ public void ejemplo5() { IndexDefinition nameindex = new Index().on("name", Order.ASCENDING).unique(Duplicates.DROP); mongotemplate.ensureindex(nameindex, User.class); GeospatialIndex geoindex = new GeospatialIndex("coordinates"); mongotemplate.ensureindex(geoindex, Tweet.class); }
49 Temas Avanzados Geolocalización Trending Topics Retweets
50 Geolocalización Requiere un índice especial El campo tiene que tener el formato: { x : 2, y : 3} [2, 3] { latitude : 2, longitude : 3}
51 Geolocalización db.tweet.ensureindex({ geo : 2d }) db.tweet.find({ geo : { $near : [1,0]}}).limit(10) db.tweet.find({ geo : { $within : { $center : [{ x : 0, y : 0},5]}}})
52 Geolocalización en Spring Data /** * Busquedas Geo */ public void ejemplo6() { List<Tweet> tweets = mongotemplate.find(new Query(new Criteria("coordinate").within(new Circle(3.0, 3.0, 5))), Tweet.class); logger.info("tweets found: " + tweets.size()); tweets = mongotemplate.find(new Query(new Criteria("coordinate").within(new Circle(3.0, 3.0, 1))), Tweet.class); logger.info("tweets found: " + tweets.size()); } INFO - Tweets found: 3 INFO - Tweets found: 0
53 Trending Topics Repeticiones de cadenas de palabras Analizar los tweets de la última hora
54 MapReduce MapReduce is the Uzi of aggregation tools Proceso en background Dos pasos: map y reduce ( y finalize)
55 Map Procedimiento que se ejecuta una vez sobre cada documento. Cada map emite 0 o más pares clave, valor
56 Reduce Procedimiento que se ejecuta una vez por cada clave La entrada es la clave y la lista de valores que fueron emitidas con esa clave La salida puede ser cualquier estructura de datos
57 Finalize Se ejecuta justo antes de guardar los resultados Útil para construir un resultado final, borrar elementos redundantes, etc
58 Resultado El resultado final se almacena en una colección Documentos con el formato: { } _id : clave_emitida, value: resultado_reduce
59 Map var map = function() { var words = this.text.split(" "); }; for (var i = 0; i < words.length; i += 1){ for (var j = i; j < words.length; j += 1){ // Slice [inclusive, exclusive) sub_words = words.slice(i, j + 1); sub_sentence = sub_words.join(" "); emit(sub_sentence, sub_words.length * sub_words.length); } }
60 Map Entrada: { } text : hola que tal Se emite: hola, 1 hola que, 4 hola que tal, 9 que tal, 4 que, 1 tal, 1
61 Reduce var reduce = function(key, emits) { var score = 0; for (var i in emits){ score += emits[i]; } return score; };
62 Ejecución Ejecución: db.tweet.mapreduce(map, reduce, {"out" : "TTs"}) Consulta: db.tts.find().sort({value: -1}).limit(10)
63 Finalize Reducir de palabras (preposiciones, conjunciones, etc) Filtrado de trending topics que están contenidos en otros
64 Map Reduce Spring Data /** * Ejemplo de MapReduce */ public void ejemplo7() { MapReduceOptions opts = new MapReduceOptions(); opts.outputcollection("tt"); opts.limit(15); MapReduceResults<TrendingTopic> results = mongotemplate.mapreduce("tweets", "classpath:map.js", "classpath:reduce.js", opts, TrendingTopic.class); }
65 Map Reduce Spring public interface TrendingTopicRepository extends MongoRepository<TT, String> { = "TT") public class TT { private String id; private float value; /** * Consultando resultado del MapReduce */ public void ejemplo8() { Page<TT> tt = trendingtopicrepository.findall(new PageRequest(0, 10, new Sort(Direction.DESC, "value"))); logger.info("trending topics found: " + tt.getnumberofelements()); }
66 Retweets En twitter es un poco caótico (RT, via...) Insertar tweet indicando que es un retweet haciendo referencia al tweet original Modificar el tweet original para llevar una cuenta de retweets
67 Otros usos en aplicaciones Analytics Logs Minería de twitter
68 Preguntas????????
69 Referencias MongoDB: The definitive guide 50 Tips and Tricks for MongoDB Developers Spring Data MongoDB Código de los ejemplos Spring Data
Trabajos de Ampliación. Bases de datos NoSQL.
BASES DE DATOS NoSql Son bases de datos pensadas para aplicaciones que hagan un uso intensivo de la misma. Estas bases de datos permiten una mayor flexibilidad y facilidad a la hora de introducir los datos
Más detallesabacformacio@abacformacio.com 1
Cu Oracle 10gg Estudia el servidor de bases de datos Oracle 10g desde el punto de vista de un diseñador y programador de bases de datos, prestando atención a los objetos que puede crear, como tablas, consultas
Más detallesLenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar /
S Q Lenguaje de Consulta Estructurado L Wael Najjar / Wael Stephenson Najjar / Prieto Stephenson Prieto Contenido Parte I El Lenguaje de Consulta Estructurado. Lo que se puede hacer. Lenguaje Estandarizado.
Más detallesMASTER CLASS. Curso de Introducción MongoDB. Juan Manuel Parrilla. Consultor de Amaris en Telefónica I+D. Release Engineer * FUENTE DE DOCUMENTACIÓN :
MASTER CLASS Curso de Introducción MongoDB Juan Manuel Parrilla Consultor de Amaris en Telefónica I+D Release Engineer * FUENTE DE DOCUMENTACIÓN : 2 ÍNDICE Qué es MongoDB? Porqué usar MongoDB? Ventajas
Más detallesOracle 12c DISEÑO Y PROGRAMACIÓN
Oracle 12c Se estudia el servidor de bases de datos empresarial Oracle 12c, centrándose especialmente en el punto de vista de un diseñador o programador de bases de datos, pero explicando también cómo
Más detallesBASE DE DATOS QUÉ ES UNA BASE DE DATOS?
BASE DE DATOS BASE DE DATOS QUÉ ES UNA BASE DE DATOS? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Actualmente la mayoría de
Más detallesFundamentos de Oracle
Fundamentos de Oracle Introducción Este curso de 40 horas de duración ofrece a los asistentes los conocimientos necesarios para trabajar con el servidor de bases de datos empresarial Oracle 10g, centrándose
Más detallesConceptos Avanzados de Bases de datos
Página 1 Conceptos Avanzados de Bases de datos (1) Introducción a las Bases de Datos (2) Lenguaje Estándar de Consultas SQL Definición formal SQL Página 2 Es un conjunto exhaustivo (en su modelización
Más detallesCurso de PHP. Acceso a bases de datos MySQL en PHP
Curso de PHP Acceso a bases de datos MySQL en PHP Bases de datos en la Web Esquema básico de un sitio web soportado por bases de datos: Lenguaje SQL SQL (Structured Query Language) es el lenguaje que se
Más detallesMANUAL BÁSICO DEL LENGUAJE SQL
MANUAL BÁSICO DEL LENGUAJE SQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. COMANDOS... 4 1.1 Comandos DLL... 4
Más detallesMySQL y Sesiones en PHP. Área de Ingeniería Telemática
MySQL y Sesiones en PHP Contenido Repaso de SQL PHP y MySQL MySQL en PHP 2 Numéricos Standard: Repaso SQL: tipo de datos INTEGER o INT, SMALLINT, DECIMAL o DEC, NUMERIC FLOAT, REAL, DOUBLE PRECISION BIT
Más detallesATLAS MANUAL DE USUARIO ARBOL ACCESIBLE
ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE Versión 1.3 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de Usuario del NORMATIVA
Más detallesATLAS MANUAL DE USUARIO SERVICIO DE AUDITORIA
ATLAS MANUAL DE USUARIO SERVICIO DE AUDITORIA Versión 1.3 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de Usuario Servicio
Más detallesAcceso a bases de datos MySQL con PHP
GESTIÓN Y ADMINISTRACIÓN WEB Acceso a bases de datos MySQL con PHP Ing. CIP Fabián Silva Alvarado fsilvasys@hotmail.com DEFINICIÓN DE BASE DE DATOS Base de Datos es un conjunto de datos relacionados entre
Más detallesSINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]
SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje
Más detallesDEFINICIÓN DE ONTOLOGÍAS EN SOFIA2
DEFINICIÓN DE ONTOLOGÍAS EN SOFIA2 JULIO 2014 VERSIÓN 4 1 INDICE 1 INDICE... 2 2 INTRODUCCIÓN... 3 2.1 OBJETIVOS Y ALCANCE DEL PRESENTE DOCUMENTO... 3 3 CONCEPTOS BÁSICOS... 4 4 UN PRIMER VISTAZO... 5
Más detallesCURSO DE SQL SERVER 2005
CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear
Más detallesLENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO
LENGUAJE DE CONSULTA ESTRUCTURADO - SQL 1. TIPOS DE DATOS 2. COMANDOS DDL 2.1 Créate 2.2 Drop 2.3 Alter 3. COMANDOS DML 3.1 Select 3.2 Insert 3.3 Update 3.4 Delete 4. CLAUSULAS 4.1 From 4.2 Where 4.3 Having
Más detallesSql Basico. Seminar Introduction
Sql Basico Seminar Introduction SQL Basico Sobre el modelo anterior de datos haremos un repaso de las consultas sql mas comunes. Devolver todos los datos de una tabla sin filtrar. Select campo_1, campo_2,
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 detallesClases y Objetos. Informática II Ingeniería Electrónica
Clases y Objetos Informática II Ingeniería Electrónica Los Tipos de Datos Hasta ahora, en un programa podemos usar para representar variables a: Tipos fundamentales : enteros (int), caracteres (char),
Más detallesINTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades
INTRODUCCION Uno de los objetivos del curso es modelar a través de un diagrama las estructuras lógicas requeridas para almacenar los datos y resolver las consultas del sistema información que requiera
Más detallesCurso Online de Oracle 10g
Curso Online de Oracle 10g Presentación Oracle es una de los principales sistemas de bases de datos usado a nivel empresarial. Esta base de datos es desarrollada por la empresa del mismo nombre Oracle
Más detallesESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 11: Reconocimiento de la unidad 3
GESTORES DE BASES DE DATOS Existen varios tipos de Sistemas gestores de bases de datos SGBD, según el modelo de datos que utilizan. Son estos: bases jerárquica, en red, relacional, y bases de datos orientadas
Más detallesIntroducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4
Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 by S. Muñoz-Gutiérrez stalinmunoz@yahoo.com, informes@grupolinda.org Grupo LINDA Facultad de Ingeniería UNAM México Octubre-Diciembre 2009 Identificando
Más detalles- Bases de Datos - - Diseño Físico - Luis D. García
- Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo
Más detallesJava Inicial (20 horas)
Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción
Más detallesTRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008
TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 ESTRUCTURA DEL SEMINARIO Modulo 1: Crear y administrar una base de datos SQL Server Métodos para crear una base de datos SQLServer.
Más detallesFUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005
Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas
Más detallesT12 Vistas y tablas temporales
1 de 9 17/05/2013 14:01 Lecciones SQL > T12 Vistas y tablas temporales En esta sesión vamos a mostrar dos tipos de objetos de uso habitual en cualquier SGBD: las vistas y las tablas temporales. Mientras
Más detallesLENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2)
LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2) N O T A S D E L A M A T E R I A B A S E S D E D A T O S I L I C E N C I A T U R A E N C I E N C I A S D E L A C O M P U T A C I Ó N U N I V E R S I D A D D E
Más detallesBases de Datos - 2006. SQL - Ejemplos
Bases de Datos - 2006 SQL - Ejemplos Consideramos la siguiente base de datos relacional: persona(dni,primer-nombre,apellido) biblioteca(nombre-biblioteca,calle,número) libro(título,isbn,editorial,edición)
Más detallesCapítulo 12: Indexación y asociación
Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación
Más detallesBases de Datos: Structured Query Language (SQL)
Structured Query Language (SQL): Introducción Bases de Datos: Structured Query Language (SQL) Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile
Más detallesBASES DE DATOS - SQL. Javier Enciso
BASES DE DATOS - SQL Javier Enciso AGENDA Conceptos Básicos de Bases de Datos Manejo de Bases de Datos y Tablas SQL Inserción, Actualización y Borrado Consultas usando SELECT AGENDA Conceptos Básicos de
Más detallesBases de datos. 1. Introducción
Bases de datos 1. Introducción Habitualmente, los programas trabajan con información que está en un fichero. Por ejemplo, nuestro simulador de tráfico aéreo trabaja con una lista de planes de vuelo que
Más detallesacenswhitepapers Bases de datos NoSQL. Qué son y tipos que nos podemos encontrar
s Bases de datos NoSQL. Qué son y tipos que nos podemos encontrar Introducción Son muchas las aplicaciones web que utilizan algún tipo de bases de datos para funcionar. Hasta ahora estábamos acostumbrados
Más detallesRepaso de Conceptos Básicos de Bases de Datos
escuela técnica superior de ingeniería informática Repaso de Conceptos Básicos de Bases de Datos Departamento de Lenguajes Grupo de Ingeniería del Software Septiembre 2004 Definición Una base de datos
Más detallesUNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000
PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 Creación de la base de Datos Pulsamos F5 para Actualizar, y una vez posicionados en nuestra base de datos,se crean los scripts que seran soportados por el
Más detallesTEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL
TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL 5.6 MODIFICACIÓN DE LA BASE DE DATOS SQL posee comandos destinados también para modificar la base de datos, entre estos se tienen operaciones de borrado,
Más detallesINSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL
Página 1 de 28 es un estandar para accesar y manejar bases de datos Este tutorial te va a mostrar como manejar bases de datos en My, Server, MS Access, Oracle, Sybase, DB2 y otras bases de datos Que es?
Más detallesPHP Perfect SQL v1.0 (SQL perfectas en PHP)
PHP Perfect SQL v1.0 (SQL perfectas en PHP) Muchas veces cuando programamos para web es muy fácil cometer errores en la construcción sintáctica de consultas SQL, por ejemplo cuando tenemos que realizar
Más detallesMicrosoft SQL Server 2005
Microsoft SQL Server 2005 Módulo 1: Diseño y programación Estudia el servidor de bases de datos SQL Server 2005 desde el punto de vista de un diseñador y programador de bases de datos, prestando atención
Más detallesGestion de archivos. Problemas al almacenar datos sólo en la memoria:
Gestion de archivos Problemas al almacenar datos sólo en la memoria: 1. El tamaño está limitado por el tamaño de la memoria qué pasa con aplicaciones que necesiten acceder a gran cantidad de información?
Más detallesBase de datos Procedimientos Almacenados y Funciones
Base de datos Procedimientos Almacenados y Eduardo Saavedra A. Universidad Nacional Andrés Bello 4 de noviembre de 2008 Contenidos Ventajas 1 Ventajas 2 3 4 5 Conceptos Ejemplo 6 Procedimiento Almacenado
Más detallesTema 11 Bases de datos. Fundamentos de Informática
Tema 11 Bases de datos Fundamentos de Informática Índice Evolución Tipos de modelos de datos y SGBD El modelo relacional y el Diseño de una Base de Datos Operaciones básicas: consulta, inserción y borrado.
Más detallesA.1. Definiciones de datos en SQL
A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE
Más detallesBase de datos Lenguaje SQL
Base de datos Lenguaje SQL Universidad Nacional Andrés Bello Contenidos 1 2 Ejemplo Ejemplo Distinct Ejemplo - I Ejemplo - II Ejemplo Ejemplo Top - I Ejemplo Top - II Contenidos 1 2 Ejemplo Ejemplo Distinct
Más detallesConectar Flash con Access usando MDM Zinc
Conectar Flash con Access usando MDM Zinc Con este tutorial pretendo enseñar la conexión básica entre Flash / Actionscript y Microsoft Access mediante MDM Zinc, para poder empezar a crear aplicaciones
Más detallesRegistro y Comunicación Automatizada a Bases de Datos
$ Registro y Comunicación Automatizada a Bases de Datos Luis Guizar Ingeniero de Campo National Instruments México Antes de Empezar: Qué Módulos y Librerías están Soportadas por LabVIEW Core? Report Generation
Más detallesEsta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro
USAR MYSQL EN PHP PHP tiene una librería de funciones nativas para conectarse a las base de datos MySQL. Por un lado reconoce la librería mysql y por otro mysqli. Se recomienda el uso de mysqli dado que
Más detalles: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127
I. DATOS INFORMATIVOS Carrera Especialidad Curso Código Ciclo : Tercero Requisitos Duración Horas Semana : 06 horas Versión : v.0110 II. SUMILLA : COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería
Más detallesÍNDICE PRIMERA PARTE... 17
ÍNDICE PREFACIO... xv PRIMERA PARTE... 17 CAPÍTULO 1. BASES DE DATOS... 19 BASE DE DATOS RELACIONAL... 20 ESTRUCTURA MÍNIMA DE ALMACENAMIENTO... 21 EJEMPLO DE TABLA... 22 RESUMEN... 23 CAPÍTULO 2. CONSULTAS
Más detallesm047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints
Crear Una Base De Datos (L12) A TRAVÉS DE LA CONSOLA DE ADMINISTRACIÓN A TRAVÉS DEL ASISTENTE DE BASES DE DATOS (DATABASE WIZARD) A TRAVÉS DE COMANDOS SQL (CREATE DATABASE, CREATE TABLE) Crear Un Grupo
Más detallesPrimera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.
Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO LAEFF - INTA raul@laeff.inta.es Qué es Java? Java es un lenguaje de programación orientado a objetos desarrollado por Sun
Más detallesBases de Datos 2. Teórico
Bases de Datos 2 Teórico Structured Query Language (SQL) Características de SQL Standard Opera sobre conjuntos de tuplas: incluso para las operaciones de inserción, borrado y actualización. No elimina
Más detallesUnidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros
Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia
Más detallesUtilización del programa de Orabench Versión 9.2.0 para Migración. Describir los pasos para la utilización del programa Orabench 9.2.0 de Oracle.
Página 1 de 15 1. Objetivo y Alcance Describir los pasos para la utilización del programa Orabench 9.2.0 de Oracle. Comprende la utilización del Programa Orabench de Oracle. 2 Responsable El responsable
Más detallesNuevas Características de la Versión 9.1 de PostgreSQL. Alcides Rivera Posso
Nuevas Características de la Versión 9.1 de PostgreSQL Alcides Rivera Posso AGENDA Características principales Mejoras en el rendimiento Administración Características de SQL y PL/PgSQL Características
Más detallesCurso PHP Advanced and Ajax
Curso PHP Advanced and Ajax 2012 PHP Interacción con BD Acceso a Base de Datos Taller 2012 Taller BD propuesta gd ModeloLógico Modelo Físico Taller Se tienen dos script en la página del curso: Un script
Más detallesIntroducción a los Sistemas de Gestión de Bases de Datos
a los Sistemas de Gestión de Bases de Datos Servicios y Aplicaciones Telemáticas gsyc-profes@gsyc.escet.urjc.es Noviembre de 2008 c 2008 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados.
Más detallesUNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas
LENGUAJE SQL Que es SQL? SQL es un estándar un lenguaje estructurado para consultas SQL te permite acceder y manejar bases de datos SQL es un Estándar (ANSI American National Standards Institute) Que puede
Más detallesBASES DE DATOS EN VISUAL BASIC ACCESS + SQL
BASES DE DATOS EN VISUAL BASIC ACCESS + SQL by Damián Sottosanti Ultima actualización: 03-08-2004 CREAMOS LA BASE DE DATOS EN ACCESS Abrimos Access y elegimos "Crear una nueva base de datos usando" "Base
Más detallesHerramientas de Administración Para Oracle Database 12c
Newsletter Julio 2014 Contenido Herramientas de Administración Para Oracle Database 12c Página: 1 Herramientas de Administración Para Oracle Database 12c 5 Optimización de Procesos Automáticos que Utilizan
Más detallesDe uno a uno : Ejemplo de una llave primaria a otra llave primaria De uno a muchos : Ejemplo de una llave primaria a una Regular o Foránea.
Curso de Visual Foxpro - Volumen II ( Creación de la Base de Datos) Las relaciones mas comunes entre tablas se definen : De uno a uno : Ejemplo de una llave primaria a otra llave primaria De uno a muchos
Más detalles2071 Querying Microsoft SQL Server 2000 with Transact- SQL
2071 Querying Microsoft SQL Server 2000 with Transact- SQL Introducción La meta de este curso es proveer a los estudiantes con las habilidades técnicas requeridas para escribir consultas básicas de Transact-SQL
Más detallesIniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus
Iniciando con Oracle Índice de contenido Ingresando a Oracle...1 Cambiando Su Contraseña...1 Ingresando un Comando SQL en SQL*Plus...2 Saliendo de SQL*Plus...2 Consiguiendo Ayuda...2 Creación de una Tabla...3
Más detallesJaime Hernández P. SIG
Sistemas de Información Geográfica 04 Bases de Datos Jaime Hernández P. SIG 1 Bases de datos Una base de datos (database) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente
Más detallesComo manejador de base de datos elegimos utilizar Absolute Database, que es un
APÉNDICE E Manejador de base de datos ABSOLUTE DATABASE Como manejador de base de datos elegimos utilizar Absolute Database, que es un componente de Delphi para manejar base de datos, muy poderoso y fácil
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 detallespublic static void main(string[ ] args) { Numero f1 = new Numero(3); Numero f2 = new Numero(4); Numero f3 = f1; f1.value = f2.value; Numero f4 = null;
Examen de Programación Convocatoria de Septiembre 2005 Licenciatura de Lingüística y Nuevas Tecnologías Pregunta 1 Tenemos el siguiente programa: public class Numero { int value; public Numero(int i) {
Más detallesAdministración de la producción. Sesión 10: Gestor de Base de Datos (Access)
Administración de la producción Sesión 10: Gestor de Base de Datos (Access) Contextualización Microsoft Access es un sistema de gestión de bases de datos, creado para uso personal y de pequeñas organizaciones,
Más detallesNúmero de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos
Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos Problemática: Desarrollar aplicaciones Cliente Servidor utilizando Sockets
Más detallesU.E JUAN DE VELASCO CREAR DATOS EN SQL
NOMBRE:LILIAN CAUJA U.E JUAN DE VELASCO CREAR DATOS EN SQL Lo primero que necesitamos para conectarnos al Servidor es el administrador que por defecto en algunas instalaciones no viene incluido, se puede
Más detallesGALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )
Definiciones Transacciones ( L33 ) CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) Transacciones En Microsoft ( L33 ) MANUAL (REQUIERE PROGRAMACION) AUTOMATICO (COM+ O DTM) DTM (DISTRIBUTED TRANSACTION
Más detallesFormato para prácticas de laboratorio
Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE IGNATURA NOMBRE DE LA IGNATURA LSC 2009-2 12001 Administración de Bases de Datos PRÁCTICA No. 5 LABORATORIO DE NOMBRE DE LA PRÁCTICA
Más detallesSoftware de Comunicaciones (2) Manual de Usuario Consola
Software de Comunicaciones (2) Manual de Usuario Consola ÍNDICE ÍNDICE... 2 Manual de Usuario... 3 1 SOFTWARE DE COMUNICACIONES... 3 1.1 Descripción del módulo... 3 2 MANUAL DE USUARIO... 4 2.1 Ingreso
Más detallesPR.T5. GESTORES BIBLIOGRÁFICOS
El saber puede comunicarse, pero la sabiduría no. Fragmento de Siddharta Herman Hesse (1877-1962) Introducción Conceptos Generales Introducción de referencias Búsqueda Online 1 ÍNDICE - Introducción al
Más detallesSymfony. Framework para el desarrollo de aplicaciones Web con PHP
Symfony Framework para el desarrollo de aplicaciones Web con PHP Temario Conceptos Porque Utilizarlo? Características Herramientas Integradas Model Controller View Scaffolding Conceptos Framework para
Más detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesMetacoretex-NG NcN 2005 Palma de Mallorca
Metacoretex-NG NcN 2005 Palma de Mallorca Edge-Security 1 Índice Presentación Índice de la presentación 0. Quiénes somos? 1. Introducción 1.1. Qué es Metacoretex? 1.2. Historia 1.3. Qué es un framework?
Más detalles1. DML. Las subconsultas
1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se
Más detallesSolución Examen Junio 2007 (a) Ejercicio GeoTaxi (1h 20 min.) Diagrama de Casos de Uso y. Casos de uso (2,5 puntos) Modelo de Dominio (1,5 puntos)
Solución Examen Junio 2007 (a) Ejercicio GeoTaxi (1h 20 min.) Diagrama de Casos de Uso y Casos de uso (2,5 puntos) Modelo de Dominio (1,5 puntos) 1 Actores OPERADOR CLIENTE TAXISTA 2 Actor Cliente Identificarse
Más detallesÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1
Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar
Más detalles%& %)& '$!%*+ $, %%%&$ %%
OBJETIVO!!"#$$ %& '(%"#% (% %& %)& '$!%*+ $, %%%&$ %% REQUERIMIENTOS SOFTWARE VERSIÓN LINK Java Development Kit (JDK) 6 http://java.sun.com NetBeans 6.1 http://www.netbeans.org MySQL 5.0 http://dev.mysql.com/
Más detallesEjercicios - Persistencia en Android: ficheros y SQLite
Ejercicios - Persistencia en Android: ficheros y SQLite Índice 1 Uso de ficheros (0.5 puntos)...2 2 Persistencia con ficheros (0.5 puntos)...3 3 Base de datos: SQLiteOpenHelper (0.5 puntos)... 3 4 Base
Más detallesProgramación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la
Más detallesCurso de Community Manager 2013
Curso de Community Manager 2013 El Blog WordPress a fondo Alojamiento en wordpress.com Instalación de WordPress en servidor propio Diferencias. Ventajas e inconvenientes Interfaz de WordPress Acceder al
Más detallesUNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS
UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS Índice de contenido: 1. Concepto de base de datos (BD)... 3 2. Los sistemas gestores de bases de datos (SGBD)... 3 3. Arquitectura de los sistemas
Más detallesTUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS
TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS 1 Introducción... 3 2 Despliegue de la aplicación de ejemplo... 3 2.1 Requisitos previos... 3 2.2 Despliegue de la aplicación... 3 3 Prueba
Más detalles8 SQL SERVER 2008 RA-MA
ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server
Más detallesEl lenguaje de programación Java
Departament d Arquitectura de Computadors El lenguaje de programación Java Java (I) Orientado a objetos Ejecutado por una maquina virtual Independiente de la plataforma Multithreaded Orientado a la red
Más detalles&' ' ' !,- (& ', Este tutorial trabaja sobre NetBeans 6.1 y MySQL 5.0. Crear un nuevo proyecto usando la ventana que se indica a continuación: !!
OBJETIVO &' ' '!() *+!,- (& ',!,-. ())/0'/1-$$!1-1#11' CARACTERÍSTICAS Este tutorial trabaja sobre NetBeans 6.1 y MySQL 5.0. ACTIVIDAD 1 PRESENTANDO A NetBeans Crear un nuevo proyecto usando la ventana
Más detallesGUÍA DE TRABAJO N 11 LENGUAJE C# Programación de Software Articulación SENA Grado 10 Ing. Néstor Raúl Suarez Perpiñan Página 2 de 11
Página 1 de 11 GUIA N 11 - DESARROLLO DE SOFTWARE A TRES CAPAS Objetivo: Desarrollar una aplicación de software con tres capas (Presentación Lógica Persistencia) donde se establezca una conexión con una
Más detalles2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.
2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla
Más detallesUnidad 9:GESTIÓN Y ALMACENAMIENTO DE LA INFORMACIÓN EN FORMATOS XML
Unidad 9:GESTIÓN Y ALMACENAMIENTO DE LA INFORMACIÓN EN FORMATOS XML JJ Taboada León IES San Sebastián, Departamento de Informática LENGUAJE DE MARCAS Y SGI Curso 2012 / 2013 XML PARA EL ALMACENAMIENTO
Más detallesBases de datos relacionales y el modelo entidad-relación
Bases de datos relacionales y el modelo entidad-relación Qué es una base de datos relacional? El sistema gestor de bases de datos El modelo entidad-relación entidad, atributos y elementos (tablas, columnas
Más detallesRestricciones de Integridad
Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.
Más detallesXPERTO EN DISEÑO DE PÁGINAS WEB
Curso ICA de: EXPERTO EN DISEÑO DE PÁGINAS WEB Módulo 1: Program. cliente: JavaScript Estudia el lenguaje JavaScript para crear guiones o scripts que se incluyen en las páginas web y que son ejecutados
Más detallesBig Data y BAM con WSO2
Mayo 2014 Big Data y BAM con Leonardo Torres Centro Experto en SOA/BPM en atsistemas ofrece una completa suite de productos Open Source SOA y son contribuidores de muchos de los productos de Apache, como
Más detalles