CONTENCIÓN DE CONSULTAS CON VALORES NULOS USANDO EL MÉTODO CQC
|
|
- Domingo Cabrera Alarcón
- hace 8 años
- Vistas:
Transcripción
1 CONTENCIÓN DE CONSULTAS CON VALORES NULOS USANDO EL MÉTODO CQC Guillem Rull 1, Carles Farré 1 y Toni Urpí 1 1: Departamento de Lenguajes y Sistemas Informáticos Universitat Politècnica de Catalunya Barcelona, España {grull, farre, urpi}@lsi.upc.edu Palabras clave: Validación de esquemas de bases de datos, Contención de consultas, Tratamiento de restricciones, Valores nulos Resumen. Este artículo presenta una extensión de nuestro método CQC destinada a comprobar la contención de dos consultas en el contexto de una BD relacional que puede contener valores nulos en los atributos de sus tuplas. Teniendo en cuenta que todos los SGBDs admiten el uso de valores nulos y que las bases de datos reales contienen valores nulos, comprobar la contención de consultas en este contexto es una cuestión muy importante de cara a la aplicación practica. Al igual que el método original, esta extensión permite tratar con restricciones de integridad, negaciones en predicados EDB e IDB, y predicados built-in. Además de para comprobar la contención de consultas, se puede aplicar el método y esta extensión a la validación de esquemas de BD relacionales con valores nulos. 1. INTRODUCCIÓN La contención de consultas es uno de los problemas más importantes en el campo de las bases de datos. Se utiliza como técnica de base en muchos contextos: optimización de consultas [2, 11], reescritura de consultas usando vistas [6], detectar la independencia de consultas respecto a actualizaciones en la base de datos [9], comprobación de restricciones [5], etc. A grandes rasgos, se dice que una consulta está contenida en otra cuando el conjunto de tuplas que se obtiene como respuesta de la primera es un subconjunto del conjunto de tuplas que se obtiene como respuesta de la segunda, para todos los estados de la base de datos. El problema se ha estudiado para la clase de las consultas conjuntivas [2], conjuntivas con comparaciones de orden [9], unión de consultas conjuntivas [11], consultas con átomos extensionales negados safe [9], y también considerando restricciones de integridad [8]. Para trasladar estos resultados a la practica, sobre BD reales, es imprescindible tratar dos cuestiones: la semántica de bolsas y los valores nulos. La semántica de bolsas es necesaria dado que SQL permite que aparezcan duplicados en las respuestas de las consultas (a menos que se utilice DISTINCT). La contención de consultas para consultas conjuntivas con semántica de bolsas se ha tratado en [7, 1].
2 El caso de la contención de consultas con posible presencia de valores nulos en los atributos de las tuplas, según nuestro conocimiento, no ha sido tratado por nadie hasta el momento. Éste será el objetivo de este artículo. Teniendo en cuenta que todos los SGBDs admiten el uso de valores nulos y que las bases de datos reales contienen valores nulos, es obvio que ser capaces de comprobar la contención de consultas en este contexto es una cuestión muy importante de cara a la aplicación practica. Además, hay que tener también en cuenta que una misma relación de contención entre dos consultas puede tener lugar o no dependiendo de si se consideran o no valores nulos. Como ejemplo motivador, considérense las dos consultas siguientes: Q1: SELECT nombre FROM Empleados Q2: SELECT e.nombre FROM Empleados e, Categorias c WHERE e.nombrecat = c.nombre AND c.salario > Estas consultas están definidas sobre el siguiente esquema de base de datos: CREATE TABLE Categorias ( nombre char(10) PRIMARY KEY, salario real NOT NULL CHECK (salario > 50000) ) CREATE TABLE Empleados( nss int PRIMARY KEY, nombre char(30) NOT NULL, nombrecat char(10) references Categorias(nombre) ) En este ejemplo, si no se consideran valores nulos, ambas consultas son equivalentes. La consulta Q2 devuelve todos los empleados con un salario superior a que, debido a la restricción CHECK de la tabla Categorias, son todos los empleados. Así pues, ambas consultas devuelven todas las tuplas de la tabla Empleados. En cambio, si se permite que nombrecat pueda tener valores nulos, entonces Q1 no está contenida en Q2. Esto es debido a que para aquellas tuplas donde nombrecat es nulo, la comparación e.nombrecat = c.nombre se evalúa a desconocido. La cláusula WHERE, por tanto, seguro que no se evaluará a cierto. Debido a que una sentencia SELECT sólo devuelve aquellas tuplas para las cuales el WHERE se evalúa a cierto, la consulta Q2 no devolverá aquellas tuplas donde nombrecat tenga valor nulo. Así pues, dado que Q1 sí devuelve todas las tuplas de la tabla Empleados, el resultado es, ciertamente, que Q1 no está contenido en Q2. Para comprobar la contención de consultas con valores nulos, se ha extendido nuestro Constructive Query Containment (CQC) Method [4], un método que intenta demostrar que la contención no tiene lugar mediante la construcción de un contraejemplo. El método garantiza que si no es capaz de construir dicho contraejemplo, es que éste no existe, y por lo tanto, la contención de consultas sí tiene lugar. El método CQC es correcto y completo, permite comprobar la contención de consultas en presencia/ausencia de restricciones de integridad, tratar con negaciones tanto en predicados extensionales como intensionales, tratar con comparaciones de igualdad/desigualdad, así
3 como con otras comparaciones (<,,, >) interpretadas ya sea en un dominio de orden discreto como en uno denso. Originalmente, el método no contempla la posibilidad de valores nulos. En el apartado 3 se explican las modificaciones necesarias para extender el método y que éste pueda trabajar con valores nulos. Además de para comprobar si una consulta está o no contenida en otra, el método CQC, así como su versión extendida con valores nulos, también puede aplicarse a la validación de esquemas de bases de datos [3, 12], es decir, que se puede utilizar para comprobar si un esquema satisface o no ciertas propiedades deseables. Ser capaces de realizar esta validación de esquemas con valores nulos es si cabe todavía más importante de cara a una utilización comercial, puesto que las empresas querrán poder validar los esquemas de sus bases de datos los cuales contendrán sin duda valores nulos. La validación de esquemas con valores nulos se comenta en el apartado PRELIMINARES El método CQC trabaja sobre una representación de la base de datos en lógica de primer orden. A lo largo del artículo usaremos la notación presentada en [13]. A continuación se repasan tan solo algunos conceptos básicos. Una regla de deducción es de la forma: p(x ) r 1 (X 1) r n (X n) r n+1 (Ȳ 1 ) r m (Ȳ s ) C 1 C t Una restricción (o condición) es de la forma: r 1 (X 1) r n (X n) r n+1 (Ȳ 1 ) r m (Ȳ s ) C 1 C t En ambos casos, p y r 1,, r m son predicados (también llamados relaciones). Cada C i es un literal built-in A 1 θ A 2, donde A 1 y A 2 son términos y θ puede ser <,, >,, = o. La evaluación de las reglas y de las restricciones se ve afectada por la presencia de valores nulos. Esto implica la necesidad de considerar una lógica trivalor, que define tres valores de verdad: cierto, falso y desconocido. Esta lógica se aplica fundamentalmente en la evaluación de los predicados built-in, así como en la evaluación de los cuerpos de reglas y restricciones. Cuando se tiene una comparación en donde alguno de los términos es la constante null, el predicado built-in en cuestión se evalúa a desconocido. Cuando en una regla o en una restricción uno de los literales se evalúa a desconocido, su cuerpo (una conjunción de literales) ya es seguro que no será cierto; se evaluará a desconocido si todos los demás literales son ciertos, o a falso si alguno de los otros literales es falso. Cómo actúa exactamente el método CQC en esta situación, se ve en el siguiente apartado. 3. EL MÉTODO CQC Recordemos que el método CQC comprueba la contención de dos consultas mediante la construcción de un contraejemplo, una EDB, que de existir demuestra que la contención no se produce, y de no existir que sí se produce.
4 La EDB que se construye como contraejemplo tiene que satisfacer las restricciones de integridad y además satisfacer la propiedad de que no tenga lugar la contención de las consultas. Éstas son precisamente las dos entradas básicas del método CQC: las conditions to enforce y el goal to attain, respectivamente. Las conditions to enforce son el conjunto de condiciones correspondientes a la traducción a lógica de las restricciones de integridad. El goal to attain es una condición que la EDB contraejemplo tiene que satisfacer y que, para comprobar la contención de consultas, suele ser de la forma q 1 (X ) q 2 (X ). Para entender cómo la presencia de valores nulos afecta tanto al goal como a las conditions to enforce, hay que ver cuál es la semántica que el SQL estándar define para los valores nulos. En el caso de una restricción de integridad tipo CHECK, una tupla viola la restricción solamente si la condición del CHECK se evalúa a falso ; por tanto, si al haber valores nulos ésta se evalúa a desconocido, la restricción no se viola. En el caso de una sentencia SELECT, sólo devuelve como resultado aquellas tuplas para las cuales la cláusula WHERE se evalúa a cierto ; por tanto, si debido a la presencia de valores nulos en una tupla, el WHERE se evalúa a desconocido, esta tupla no forma parte del resultado del SELECT. Este mismo razonamiento se puede aplicar al goal y a las conditions to enforce. En el caso del goal, la EDB construida tiene que evaluarlo a cierto ; por tanto, si se evalúa a desconocido es lo mismo que si se evaluara a falso. En el caso de la conditions to enforce, en cambio, si alguna de ellas se evalúa a cierto, la restricción se viola; por tanto, si se evalúa a desconocido, la restricción no se violará, siendo equivalente a si se evaluara a falso. La conclusión que se extrae es que en caso de que un literal built-in, ya sea del goal o de una restricción, se evalúe a desconocido, el método CQC tiene que actuar tal y como lo haría en caso de que se hubiera evaluado a falso. A continuación se hace un breve resumen del método CQC original, y luego, una explicación más detallada de los cambios exactos que hay que hacer al método para que pueda tratar con valores nulos Resumen del método El funcionamiento del método CQC consta, básicamente, de dos tareas que se van alternando. Por un lado, se van añadiendo hechos a la EDB en construcción (inicialmente vacía) con el objetivo de llegar a satisfacer el goal to attain, y por otro, se va comprobando que dicha EDB no viola las restricciones de integridad. Las restricciones pendientes de ser comprobadas son las conditions to enforce. Las restricciones que ya se han comprobado y que deben mantenerse en el futuro, volviéndolas a comprobar cuando se añade un nuevo hecho a la EDB, se denominan conditions to maintain. Para cada una de estas dos tareas, el método selecciona un literal, del goal o de una de las conditions to enforce, según el caso; y luego, si es posible, aplica una regla de expansión. Las reglas de expansión provocan como un cambio de estado del método. El método CQC puede verse, pues, como la exploración de un árbol de estados. Cada estado, o nodo CQC, es una tupla de la forma (G i, F i, T i, C i, K i ) donde G i es el goal to attain, F i las conditions to enforce, T i la EDB en construcción, C i las conditions to maintain, y K i el conjunto de constantes
5 utilizadas en R = DR Q1 Q2 IC y en T i. Cada una de las ramas del árbol CQC es lo que se denomina una derivación CQC. Cuando el método falla, garantiza que no existe ningún contraejemplo. Esto es posible gracias al uso de los VIPs (Variable Instantiation Patterns), que garantizan que para cada variable se prueban todas las constantes significativas. El método CQC define cuatro VIPs: Simple VIP, Negation VIP, Dense Order VIP y Discrete Order VIP. La explicación detallada del método CQC original, así como su formalización, se puede consultar en [4]. En el apartado 3.3 se muestra un ejemplo de aplicación del método Modificaciones para tratar con valores nulos Como se ha visto, originariamente el método CQC no contempla la posibilidad de que puedan haber tuplas donde alguno de sus atributos tenga valor nulo. A continuación se detallan los cambios concretos que son necesarios aplicar para que pueda tratar con estos valores nulos. Teniendo en cuenta que los VIPs controlan la asignación de constantes a las variables, es lógico que sean el punto de partida de los cambios a realizar. Para los cuatro VIPs el cambio a realizar es básicamente el mismo; hay que añadir una nueva regla al conjunto de reglas de cada VIP, que asigne la constante null a la variable que se esté considerando. Más formalmente, a cada VIP hay que añadir la siguiente regla: X i+1 = X i \ X i+1, θ i+1 = θ i {X i+1 / null} y K i+1 = K i. donde X i+1 es la variable a la que se asigna la constante y θ i+1 la sustitución que se construye. Además de los VIPs, hay que modificar también las reglas de expansión. De estas reglas, se ven afectadas las que tratan con las comparaciones, es decir, los literales built-in. Como ya se ha explicado, en caso de encontrar-se con un literal built-in que se evalúe a desconocido debido a que uno de sus términos es la constante null, el método tiene que actuar tal y como lo haría en caso de que el literal se evaluara a falso. Este hecho se refleja en las reglas A4, B4 y B5, que quedan de la forma siguiente: (A4) (B4) P(G i ) = L es un literal built-in de términos constantes: (G i F i T i C i K i ) (G i \ L F i T i C i K i ) sólo si L se evalúa a cierto según la lógica trivalor. P(F i,j ) = L es un literal built-in de términos constantes que se evalúa a cierto según la lógica trivalor: sólo si F i,j \ L []. (G i {F i,j } F i T i C i K i ) (G i {F i,j \ L} F i T i C i K i )
6 (B5) P(F i,j ) = L es un literal built-in de términos constantes que se evalúa a falso o desconocido aplicando la lógica trivalor: (G i {F i,j } F i T i C i K i ) (G i F i T i C i K i ) donde P(G i ) y P(F i,j ) representan la función de selección de un literal, aplicada sobre el goal G i y sobre una condition to enforce F i,j, respectivamente; y L es por tanto el literal seleccionado. En cuanto a la formalización de las reglas, se muestran, separados por una línea, arriba el nodo CQC sobre el que se aplica la regla, y abajo el nodo CQC resultante de aplicar la regla. Finalmente, una última modificación consiste en definir dos nuevos predicados built-in que se añaden a los ya definidos por el método original. Estos predicados son: is null e is not null; dos predicados unarios que se pueden definir de la forma siguiente: X is null la constante asignada a la variable X es la constante null X is not null X is null Estos predicados son necesarios para la correcta traducción a lógica de las expresiones SQL IS NULL e IS NOT NULL. Una primera traducción en que se podría pensar seria: X = null y X null, respectivamente. Esta traducción es, pero, incorrecta; puesto que, tal y como se ha explicado, una comparación donde uno de los términos sea la constante null será tratada por el método de la misma forma que si se evaluara a falso. Así pues, se requiere de dos nuevos predicados built-in para poder expresarlo correctamente Ejemplo de derivación con valores nulos Para ilustrar el aspecto de una derivación CQC con valores nulos, recuperaremos el ejemplo motivador de la introducción, donde teníamos dos consultas Q1 y Q2 tales que, considerando valores nulos, Q1 Q2. Para poder aplicar el método CQC es necesario traducir primero las dos consultas, Q1 y Q2, así como las restricciones de integridad del esquema, a lógica de primer orden. Esta traducción da como resultado las siguientes reglas de deducción y condiciones: q 1 (X) empleados(y, X, Z) q 2 (X) empleados(y, X, Z) categorias(u, V) Z = U V > categorias(x, null) empleados(x, null, Y) categorias(x, Y) Y empleados(x, Y, Z) Z is not null aux(z) aux(x) categorias(x, Y) Recordemos que la restricción de integridad referencial establece que una clave foránea puede tener o bien valor nulo, o bien un valor que aparezca en alguna fila de la columna o columnas referenciadas. Esto es lo que expresa la última condición (con su regla auxiliar), en
7 forma negativa: no puede pasar que haya un empleado para el cual nombrecat tenga un valor no nulo y que no haya ninguna categoría con ese nombre. Por razones de espacio, se han obviado las restricciones de clave primaria ya que no tienen un efecto significativo (simplemente se comprobarían y se vería que no se violan) en esta derivación en concreto. Goal to attain Conditions to enforce EDB Conditions to maintain Constantes utilizadas 1:A1 5:B2 q 1(X) q 2 (X) empleados(y, X, Z) q 2 (X) 2:A2 q 2 ( A ) { categorias(x, null), categorias(x, Y) Y empleados(x, null, Y), empleados(x, Y, Z) Z is not null aux(z)} { categorias(x, null), categorias(x, Y) Y empleados(x, null, Y), empleados(x, Y, Z) Z is not null aux(z)} { categorias(x, null), q 2 ( A ) categorias(x, Y) Y empleados(x, null, Y), empleados(x, Y, Z) Z is not null aux(z)} 3:B2 q 2 ( A ) { categorias(x, Y) Y empleados(x, null, Y), empleados(x, Y, Z) Z is not null aux(z)} 4:B2 q 2 ( A ) { empleados(x, null, Y), empleados(x, Y, Z) Z is not null aux(z)} { empleados(x, Y, Z) Z is not null aux(z)} { categorias(x, null)} { categorias(x, null), categorias(x, Y) Y 50000} { categorias(x, null), categorias(x, Y) Y empleados(x, null, Y)} 50000} 50000} Figura 1. Primeros pasos de una derivación CQC que demuestra Q1 Q2. En las figuras 1 y 2 se puede ver un ejemplo de derivación CQC con valores nulos, extraída del árbol CQC que el método explora para comprobar si Q1 Q2. Esta derivación tiene éxito y construye un contraejemplo que demuestra la no contención de Q1 en Q2, cuando se permiten valores nulos. La figura muestra la secuencia de nodos CQC, uno por fila,
8 y entre cada par de nodos indica la regla de expansión que se ha aplicado. Para cada nodo, el literal seleccionado se muestra subrayado. El nodo inicial tiene como conditions to enforce las condiciones resultantes de traducir las restricciones de integridad del esquema a lógica de primer orden. Puesto que se quiere comprobar si Q1 está contenida en Q2, el objetivo del método será construir una EDB en lo que suceda justo lo contrario, y de ahí el porqué del goal to attain inicial. En el primer paso, el método CQC selecciona el literal q 1 (X) y, al ser q 1 un predicado derivado, aplica la regla A1 para desplegar este literal y sustituirlo por el cuerpo de su regla de deducción. Goal to attain Conditions to enforce EDB Conditions to maintain Constantes utilizadas 6:B2 7:B5 8:A3 9:B1 10:B2 q 2 ( A ) q 2( A ) [] { null is not null aux(null)} [] { empleados(y, A, Z) categorias(u, V) Z = U V > 40000} [] { q 2 ( A )} C 6 * C 6 C 6 C 6 C 6 { empleados(y, A, Z) categorias(u, V) Z = U V > 40000} * C 6 = { categorias(x,null), categorias(x, Y) Y empleados(x, null, Y), empleados(x, Y, Z) Z is not null aux(z)} Figura 2. Últimos pasos de la derivación CQC que demuestra Q1 Q2. En el paso 2, al seleccionar un literal positivo cuyo predicado se corresponde a una de las tablas de la BD, el método aplica la regla A2 para instanciar las variables de este literal y luego añadir la instancia a la EDB en construcción. En esta rama concreta del árbol CQC, se ha optado por asignar, aplicando el Negation VIP para las tres variables, a la variable Y la constante nueva 0, a la variable X la constante nueva A, y a la variable Z la constante null. En los pasos 3, 4 y 5 se aplica una regla B# puesto que el literal seleccionado pertenece a una condition to enforce. Concretamente, se aplica la regla B2 que comprueba si el literal seleccionado, que es positivo y se corresponde a una tabla de la BD, se puede unificar con alguno de la EDB. Al no ser esto posible ya es seguro que la restricción no se viola y por
9 tanto ya se puede eliminar de las conditions to enforce, no sin antes añadirla a las conditions to maintain para poder volver a comprobarla en el futuro si fuera necesario. En el paso 6, la regla B2 sí puede unificar el literal seleccionado con el hecho presente en la EDB, lo cual supone la asignación de las constantes 0, A y null a las variables X, Y y Z de esta condición. En el paso 7, el literal seleccionado tiene como predicado el predicado built-in is not null. Como ya se ha visto, este predicado unario se evalúa a falso cuando su término es la constante null, como es el caso. Así pues, toda la condición se evalúa a falso y no se viola. En el paso 8, el literal seleccionado es negativo así que se aplica la regla A3 y se añade una nueva contion to enforce que tendrá como cuerpo el literal sin la negación, puesto que el significado de la presencia de este literal en el goal es que la EDB que se construya no puede hacerlo cierto. En el paso 9, la regla B1 despliega el literal derivado. En el paso 10 y último, la regla B2 no puede unificar el literal seleccionado con ningún hecho de la EDB por lo que ya se puede decir que la condición no se viola. En este caso se ha seleccionado el literal correspondiente al predicado categorías en lugar del literal correspondiente al predicado empleados que también era susceptible de ser seleccionado. El método CQC no define ningún orden para la selección de literales; la única restricción es que los literales negados o built-in no se pueden seleccionar hasta que todos sus términos sean constantes. Dado que el nodo CQC resultante tras aplicar esta última regla de expansión tiene tanto el goal to attain como las conditions to enforce vacíos, se puede decir que se trata de un nodo solución, y la EDB que contiene es, por tanto, el contraejemplo que demuestra Q1 Q2. 4. VALIDACIÓN DE ESQUEMAS DE BASES DE DATOS Como ya se ha comentado, una de las aplicaciones del método CQC es la validación de esquemas de BD. La herramienta SVT (Schema Validation Tool) [12] implementa el método CQC con el objetivo de realizar una serie de tests sobre un esquema de BD para comprobar si cumple ciertas propiedades deseables: satisfactibilidad del esquema, redundancia de restricciones de integridad, viveza de tablas y vistas, contención de vistas, así como comprobar si un cierto estado parcial de la BD, ya sea definido directamente a través de sus tuplas o mediante una consulta, es o no alcanzable sin violar ninguna restricción de integridad. Estas mismas propiedades se pueden comprobar teniendo en cuenta la posible presencia de valores nulos, utilizando la versión del método CQC extendida con valores nulos que aquí se ha explicado. Un prototipo de implementación de está versión extendida, que permite realizar los mismos tests que la herramienta SVT original, está disponible en forma de servicio web [10]. Una aplicación cliente, con interfaz web, para este servicio, se puede encontrar en
10 5. CONCLUSIONES Y TRABAJO FUTURO En este artículo hemos abordado el problema de comprobar la contención de consultas teniendo en cuenta la posible presencia de valores nulos en los atributos de las tuplas. Según nuestro conocimiento, ninguno de los trabajos hechos hasta ahora en relación con la contención de consultas consideraba la presencia de valores nulos. Para realizar esta comprobación hemos extendido nuestro método CQC para que pueda tratar con valores nulos. El método CQC es correcto y completo, y permite tratar con restricciones de integridad, negación safe tanto en predicados EDB como IDB, y predicados built-in. La demostración formal de la corrección y completitud de la versión del método CQC extendida con valores nulos queda pendiente como trabajo a realizar a continuación. Además, las ideas expuestas en este artículo se han implementado en forma de un servicio web dedicado a la validación de esquemas de bases de datos relacionales, aplicando la versión extendida del método CQC en la realización de una serie de tests sobre los esquemas y permitiendo así comprobar ciertas propiedades deseables teniendo en cuenta que la BD puede contener valores nulos. REFERENCIAS [1] Nieves R. Brisaboa, Héctor J. Hernández: Testing Bag-Containment of Conjunctive Queries. Acta Inf. 34(7): (1997). [2] A.K. Chandra, P.M. Merlin. Optimal Implementation of Conjunctive Queries in Relational Data Bases. In Proceedings of the 9th ACM SIGACT Symposium on Theory of Computing: 77-90, [3] Carles Farré, Ernest Teniente, Toni Urpí: A New Approach for Checking Schema Validation Properties. DEXA 2004: [4] Carles Farré, Ernest Teniente, Toni Urpí: Checking query containment with the CQC method. Data Knowl. Eng. 53(2): (2005). [5] A. Gupta, Y. Sagiv, J.D. Ullman, J. Widom. Constraint Checking with Partial Information. In Proceedings of the 13th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (PoDS 94): 45-55, [6] A.Y. Halevy. Answering queries using views: A survey. VLDB Journal, 10(4): , [7] Yannis E. Ioannidis, Raghu Ramakrishnan: Containment of Conjunctive Queries: Beyond Relations as Sets ACM Trans. Database Syst. 20(3): (1995). [8] D.S. Johnson, A. Klug. Testing Containment of Conjunctive Queries under Functional and Inclusion Dependencies. Journal of Computer and System Sciences, 28(1): , [9] A. Levy, Y. Sagiv. Queries Independent of Updates. In Proceedings of the 19th International Conference on Very Large Data Bases (VLDB 93): , [10] Guillem Rull. Servei Web de Validació d Esquemes de BD. Proyecto Final de Carrera, Universitat Politècnica de Catalunya, URL: memoriapfc.pdf.
11 [11] Y. Sagiv, M. Yannakakis. Equivalences Among Relational Expressions with the Union and Difference Operators. Journal of the ACM, 27(4): , [12] Ernest Teniente, Carles Farré, Toni Urpí, Carlos Beltrán, David Gañán: SVT: Schema Validation Tool for Microsoft SQL-Server. VLDB 2004: [13] J.D. Ullman. Principles of Database and Knowledge-Base Systems, Volume 2: The New Technologies. Computer Science Press, 1989.
LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE
LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en
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 detallesFICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 9. Reglas de Integridad 1.- Introducción. 2.- Claves Primarias. 3.- Regla de Integridad de Entidades. 4.- Claves Ajenas. 5.- Regla de Integridad
Más detallesBase de datos relacional
Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar
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 detallesFICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 8. Elementos Básicos 1.- Ejemplo Introductorio. 2.- Dominios. 3.- Relaciones. 4.- Bases de Datos Relacionales. (Capítulo 11 del Date) EJEMPLO
Más detallesEl modelo relacional
El modelo relacional El modelo relacional constituye una alternativa para la organización y representación de la información que se pretende almacenar en una base de datos. Se trata de un modelo teórico
Más detallesConsultas con combinaciones
UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden
Más detallesselect nombre from profesores where categoria='aso6';
1 de 10 17/05/2013 14:00 Lecciones SQL > T11 Conjuntos Operaciones de conjuntos y MySQL Un operador sobre conjuntos combina el resultado de dos sentencias select en un único resultado. Dependiendo del
Más detallesTrabajos 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 detallesApuntes de Matemática Discreta 9. Funciones
Apuntes de Matemática Discreta 9. Funciones Francisco José González Gutiérrez Cádiz, Octubre de 004 Universidad de Cádiz Departamento de Matemáticas ii Lección 9 Funciones Contenido 9.1 Definiciones y
Más detallesCOMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN
COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos
Más detalles3. Modelo relacional: Estructura e integridad.
Modelo relacional: Estructura e integridad 47 3. Modelo relacional: Estructura e integridad. 3.1. Introducción. El modelo de datos relacional es posterior a los modelos jerárquicos y de red. Nació como
Más detallesEstas visiones de la información, denominadas vistas, se pueden identificar de varias formas.
El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los
Más detallesCONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE
CONSULTAS DE RESUMEN SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes
Más detallesBASE DE DATOS RELACIONALES
BASE DE DATOS RELACIONALES Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya
Más detallesEste es un ejemplo muy sencillo, un esquema de empleados que trabajan en proyectos, en una relación muchos a muchos.
28/04/2012 La teoría de la normalización va perdiendo peso con el paso de los años como herramienta de diseño de bases de datos relacionales en favor de modelos de datos más ricos en su representación,
Más detallesUn ejemplo simple de normalización de bases de datos relacionales (hasta 3FN)
OpenStax-CNX module: m18350 1 Un ejemplo simple de normalización de bases de datos relacionales (hasta 3FN) Miguel-Angel Sicilia This work is produced by OpenStax-CNX and licensed under the Creative Commons
Más detalles4.Diseño de Bases de Datos (I)
4.Diseño de Bases de Datos (I) 4.1 Anomalías. Se denominan así en teoría de Bases de Datos a ciertos problemas que aparecen con frecuencia en el manejo de las mismas cuando el diseño no ha sido realizado
Más detallesEl lenguaje SQL es un lenguaje estándar para el acceso y
1. INTRODUCCIÓN El lenguaje SQL es un lenguaje estándar para el acceso y manipulación de bases de datos relacionales como SQL Server. Esto quiere decir que aprender SQL es algo indispensable para cualquier
Más detallesMaestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.
Maestría en Bioinformática Bases de Datos y Sistemas de Información Diseño Lógico Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Conceptos Herramientas Diseño lógico Modelo Relacional Las
Más detallesLa Revelación de la Unidad y la Benevolencia: Fundamento de la Creación Entradas 1-4
La Revelación de la Unidad y la Benevolencia: Fundamento de la Creación Entradas 1-4 Entrada 1 Unicidad: Existencia de Dios, Su voluntad y control La unicidad del Ein Sof Aquel que es "Sin Fin", bendito
Más detallesModelos y Bases de Datos
Modelos y Bases de Datos MODELOS Y BASES DE DATOS 1 Sesión No. 10 Nombre: Álgebra Relacional Contextualización En qué consiste el álgebra relacional? Se ha planteado hasta el momento cada uno de los procesos
Más detallesDiseño de bases de datos Diapositiva 1
Diseño o de bases de datos Objetivos del Diseño Principios del Diseño de BD Proceso de Diseño Normalización Diseño de Tablas: Claves Relaciones Integridad referencial Convenciones de nomenclatura Diseño
Más detallesBase de datos en Excel
Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de
Más detallesCONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.
CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia
Más detallesTemario. Índices simples Árboles B Hashing
Temario Introducción y fundamentos Introducción a SQL Modelo Entidad / Relación Modelo relacional Diseño relacional: formas normales Consultas Cálculo relacional Álgebra relacional Implementación de bases
Más detallesSub consultas avanzadas
Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando
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 detallesMaestría en Bioinformática. Bases de Datos y Sistemas de Información. Del MER al MR. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.
Maestría en Bioinformática Bases de Datos y Sistemas de Información Del MER al MR Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Conceptos MER a MR Introducción Agenda Conceptos MER a MR
Más detalles- MANUAL DE USUARIO -
- MANUAL DE USUARIO - Aplicación: Kz Precio Hora Instagi Instagi Teléfono: 943424465-943466874 Email: instagi@instagi.com GUIA PROGRAMA CALCULO PRECIO HORA 1. Introducción 2. Datos de la empresa 2.1.Gastos
Más detallesOperaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta
Operaciones en el Modelo Relacional Bases de Datos Ingeniería a Técnica T en Informática de Sistemas El interés de los usuarios de las bases de datos se suele centrar en realizar consultas (contestar a
Más detallesMANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO
MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 3 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 3 HERRAMIENTA
Más detallesModelos y Bases de Datos
Modelos y Bases de Datos MODELOS Y BASES DE DATOS 1 Sesión No. 12 Nombre: Lenguaje SQL: Valores Nulos Contextualización Qué más ofrece el lenguaje SQL? Así como te has introducido en el desarrollo de la
Más detallesResumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl
El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl Resumen demandas de almacenamiento y procesamiento de datos. Es el conjunto de estas dos capacidades
Más detallesIntroducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual
Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los
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 detallesTABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.
TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.
Más detallesSE PIDE: 1. Suponiendo que partimos del siguiente grafo relacional que recoge parte de los supuestos anteriores,
EJERCICIO SOBRE EMPRESA DE FABRICACIÓN DE COCHES HIPERAUTO es una empresa que fabrica y distribuye coches y piezas de repuesto. Necesita diseñar una nueva Base de Datos para mejorar el control de pedidos
Más detallesCómo?: Resolviendo el sistema lineal homógeneo que satisfacen las componentes de cualquier vector de S. x4 = x 1 x 3 = x 2 x 1
. ESPACIOS VECTORIALES Consideremos el siguiente subconjunto de R 4 : S = {(x, x 2, x 3, x 4 )/x x 4 = 0 x 2 x 4 = x 3 a. Comprobar que S es subespacio vectorial de R 4. Para demostrar que S es un subespacio
Más detallesPráctica 3. Consultas SQL
Práctica 3. Consultas SQL 1. Enunciado En este ejercicio se realizarán consultas SQL que respondan a las preguntas que se plantearán sin utilizar QBE. Dada una base de datos denominada Empresa y definida
Más detallesTeoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales
Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales Normalización de esquemas relacionales Motivación Sea la BD de proveedores y partes, con
Más detallesTema 5: Teoría de diseño de Bases de Datos Relacionales.
Tema 5: Teoría de diseño de Bases de Datos Relacionales. I. Introducción. Fases de diseño de una base de datos. 1. Mod. Conceptual (MERE) -> Mod. Lógico (Relacional). 2. Mod. Lógico (Relacional). En el
Más detallesIngeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007
Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el
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 detallesMEJORAR EL RENDIMIENTO DEL EXPLORADOR DE INTERNET
MEJORAR EL RENDIMIENTO DEL EXPLORADOR DE INTERNET Internet Explorer almacena en archivos temporales las páginas Web y sus archivos relacionados que carga de Internet, lo que significa que la primera vez
Más detallesUniversidad de Zaragoza Manual de Usuario EXPEDIENTES-Sigm@
Universidad de Zaragoza Manual de Usuario EXPEDIENTES-Sigm@ Unidad Sigma/Vicegerencia Académica MANUAL DE USUARIO EXPEDIENTES SIGM@... 1 1. ÍNDICE... 2 2. ENTRADA EN LA APLICACIÓN... 3 3. CONSULTA DE EXPEDIENTES...4
Más detallesEcuaciones de primer grado con dos incógnitas
Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad
Más detallesÁrboles AVL. Laboratorio de Programación II
Árboles AVL Laboratorio de Programación II Definición Un árbol AVL es un árbol binario de búsqueda que cumple con la condición de que la diferencia entre las alturas de los subárboles de cada uno de sus
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 detallesGuía paso a paso para la cumplimentación del formulario de candidatura
Guía paso a paso para la cumplimentación del formulario de candidatura INDICE 1. INSTRUCCIONES GENERALES... 2 2. PARTENARIADO... 4 3. GRUPOS DE TAREAS... 8 4. INDICADORES... 14 5. CUMPLIMENTACIÓN DEL RESTO
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 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 detallesQUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA. La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros.
QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros. Qué significa esto? Decir que una empresa es eficiente es decir que no
Más detallesMLM 1000 - Matemática Discreta
MLM 1000 - Matemática Discreta L. Dissett Clase 04 Resolución. Lógica de predicados c Luis Dissett V. P.U.C. Chile, 2003 Aspectos administrativos Sobre el tema vacantes: 26 personas solicitaron ingreso
Más detallesBases de Datos Modelo Relacional
Bases de Datos Modelo Relacional Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos del método relacional
Más detallesTeórico 9 Del MER al MR
Teórico 9 Del MER al MR Introducción Veremos cómo traducir un modelo conceptual, en forma de Modelo Entidad-Relación, en un modelo lógico de base de datos, en forma de Modelo Relacional. Para esto, estudiaremos
Más detallesCASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS
CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS Nuestra empresa es una pequeña editorial que maneja habitualmente su lista de ventas en una hoja de cálculo y desea poder realizar un análisis de sus
Más detallesE 1 E 2 E 2 E 3 E 4 E 5 2E 4
Problemas resueltos de Espacios Vectoriales: 1- Para cada uno de los conjuntos de vectores que se dan a continuación estudia si son linealmente independientes, sistema generador o base: a) (2, 1, 1, 1),
Más detallesDepartamento CERES Área de Tarjetas Inteligentes Manual de Usuario
14 CORREO SEGURO. Hay aplicaciones de correo que permiten enviar y recibir correos cifrados y firmados digitalmente utilizando criptografía. Estas operaciones garantizan el intercambio seguro de información,
Más detallesCapítulo 9. Archivos de sintaxis
Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta
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 detallesBases de Datos. Sistemas de Gestión de Bases de Datos
Bases de Datos Sistemas de Gestión de Bases de Datos Banco de datos Conjunto de datos relacionados Ejemplo: archivos de las oficinas de una empresa, con fichas, carpetas, archivadores, armarios... La gestión
Más detallesToda base de datos relacional se basa en dos objetos
1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.
Más detallesTema 1: Fundamentos de lógica, teoría de conjuntos y estructuras algebraicas: Apéndice
Tema 1: Fundamentos de lógica, teoría de conjuntos y estructuras algebraicas: Apéndice 1 Polinomios Dedicaremos este apartado al repaso de los polinomios. Se define R[x] ={a 0 + a 1 x + a 2 x 2 +... +
Más detallesMANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora
MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA Perfil Entidad Proveedora El objetivo del módulo de Gestión de Solicitudes vía Internet es facilitar el trabajo
Más detallesAdaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.
Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra
Más detallesPlataforma Helvia. Manual de Administración Administración General. Versión 6.08.05
Plataforma Helvia Manual de Administración Administración General Versión 6.08.05 Índice de contenidos INTRODUCCIÓN... 3 ENFOQUE...3 LA ADMINISTRACIÓN GENERAL...3 ACCESO A LA ADMINISTRACIÓN GENERAL...
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 detallesANÁLISIS DE DATOS NO NUMERICOS
ANÁLISIS DE DATOS NO NUMERICOS ESCALAS DE MEDIDA CATEGORICAS Jorge Galbiati Riesco Los datos categóricos son datos que provienen de resultados de experimentos en que sus resultados se miden en escalas
Más detallesApuntes Recuperación ante Fallas - Logging
Lic. Fernando Asteasuain -Bases de Datos 2008 - Dpto. Computación -FCEyN-UBA 1 Apuntes Recuperación ante Fallas - Logging Nota: El siguiente apunte constituye sólo un apoyo para las clases prácticas del
Más detallesAproximación local. Plano tangente. Derivadas parciales.
Univ. de Alcalá de Henares Ingeniería de Telecomunicación Cálculo. Segundo parcial. Curso 004-005 Aproximación local. Plano tangente. Derivadas parciales. 1. Plano tangente 1.1. El problema de la aproximación
Más detallesSistema de Facturación de Ventas WhitePaper Enero de 2007
Sistema de Facturación de Ventas WhitePaper Enero de 2007 Ronda Guglielmo Marconi, 9 Parque Tecnológico 46980 Paterna Valencia Spain T +34 96 338 99 66 ventas@preference.es Please Recycle PrefSuite Document
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 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 detallesMantenimiento Limpieza
Mantenimiento Limpieza El programa nos permite decidir qué tipo de limpieza queremos hacer. Si queremos una limpieza diaria, tipo Hotel, en el que se realizan todos los servicios en la habitación cada
Más detallesOPERACIONES FUNDAMENTALES DEL ÁLGEBRA RELACIONAL. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007
OPERACIONES FUNDAMENTALES DEL ÁLGEBRA RELACIONAL Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007 Álgebra Relacional Álgebra Relacional El álgebra relacional es
Más detallesAmpliación de Estructuras de Datos
Ampliación de Estructuras de Datos Amalia Duch Barcelona, marzo de 2007 Índice 1. Diccionarios implementados con árboles binarios de búsqueda 1 2. TAD Cola de Prioridad 4 3. Heapsort 8 1. Diccionarios
Más detallesBases de datos en Excel
Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos
Más detallesRecuperación de información Bases de Datos Documentales Licenciatura en Documentación Curso 2011/2012
Bases de Datos Documentales Curso 2011/2012 Miguel Ángel Rodríguez Luaces Laboratorio de Bases de Datos Universidade da Coruña Introducción Hemos dedicado la primera mitad del curso a diseñar e implementar
Más detallesAnálisis de los datos
Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Análisis de los datos Hojas de cálculo Tema 6 Análisis de los datos Una de las capacidades más interesantes de Excel es la actualización
Más detallesBase de Datos Práctica 1.
Base de Datos Práctica 1. Objetivo: Introducción al Mysql, aprender a identificar los errores más comunes en la creación de las bases de datos para su solución, conocer los diferentes tipos de datos y
Más detallesGuía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana.
Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana. Esta guía muestra como proceder en la configuración y posterior uso de la aplicación Allegro en
Más detallesTema 2. Espacios Vectoriales. 2.1. Introducción
Tema 2 Espacios Vectoriales 2.1. Introducción Estamos habituados en diferentes cursos a trabajar con el concepto de vector. Concretamente sabemos que un vector es un segmento orientado caracterizado por
Más detallesNota 2. Luis Sierra. Marzo del 2010
Nota 2 Luis Sierra Marzo del 2010 Cada mecanismo de definición de conjuntos que hemos comentado sugiere mecanismos para definir funciones y probar propiedades. Recordemos brevemente qué son las funciones
Más detallesAviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported
PROGRAMACIÓN ORIENTADA A OBJETOS APLICADA A BASES DE DATOS Por LAURA NOUSSAN LETTRY BrowserSQL MySQL Workbench en Linux (Abril 2015, Mendoza) Aviso Legal El presente libro electrónico se distribuye bajo
Más detalles01 Índice. GESTOR DE CONTENIDOS Manual de uso 01 ÍNDICE... 1 02 OBJETO DEL DOCUMENTO... 2 03 ESTRUCTURA GRÁFICA DEL SISTEMA... 3
01 Índice 01 ÍNDICE..... 1 02 OBJETO DEL DOCUMENTO..... 2 03 ESTRUCTURA GRÁFICA DEL SISTEMA..... 3 04 GESTIÓN DE TABLAS..... 5 05 USO DE TABLAS EN ENVIDUR..... 15 06 GESTIÓN DE FUNCIONALIDAD ADICIONAL.
Más detallesLa ventana de Microsoft Excel
Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft
Más detallesResumen del trabajo sobre DNSSEC
Resumen del trabajo sobre Contenido 1. -...2 1.1. - Definición...2 1.2. - Seguridad basada en cifrado...2 1.3. - Cadenas de confianza...3 1.4. - Confianzas...4 1.5. - Islas de confianza...4 2. - Conclusiones...5
Más detallesDatos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina
Datos del autor Nombres y apellido: Germán Andrés Paz Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina Correo electrónico: germanpaz_ar@hotmail.com =========0========= Introducción
Más detallesConceptos básicos Oracle 10g Introducción - Administración de Oracle - Orasite.com
1. Objetivos El objetivo de este artículo es describir brevemente los siguientes conceptos básicos a modo de familiarización con las bases de datos ORACLE. - Describir brevemente en qué consiste el modelo
Más detallesEJERCICIOS DE MATEMÁTICAS I HOJA 4. Ejercicio 1. Se consideran los vectores
EJERCICIOS DE MATEMÁTICAS I HOJA 4 Ejercicio 1. Se consideran los vectores u 1 = (1, 1, 0, 1), u 2 = (0, 2, 1, 0), u 3 = ( 1, 1, 1, 1), u 4 = (2, 2, 1, 0) de R 4. Expresa, si es posible, los vectores u
Más detallesPROGRAMA PARA LA RECEPCIÓN VALIDACIÓN Y RESGUARDO DE DOCUMENTOS FISCALES VERSIÓN 1.00 MANUAL DE OPERACIÓN
PROGRAMA PARA LA RECEPCIÓN VALIDACIÓN Y RESGUARDO DE DOCUMENTOS FISCALES VERSIÓN 1.00 MANUAL DE OPERACIÓN ENERO 2014 Versión 1.00 Página 1 de 12 CONTENIDO 1.- Introducción 2.- Entrar y Salir del Programa
Más detallesSistema Ventanilla Manual Solicitud Compra DIMERC
Sistema Ventanilla Manual Solicitud Compra DIMERC Unidad de Sistemas Valparaíso, 2015 Manual Solicitud de Compra DIMERC En este manual explicaremos de manera simple, los pasos a seguir para realizar un
Más detalles1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1
5.1.3 Multiplicación de números enteros. El algoritmo de la multiplicación tal y como se realizaría manualmente con operandos positivos de cuatro bits es el siguiente: 1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0
Más detallesProcesos Críticos en el Desarrollo de Software
Metodología Procesos Críticos en el Desarrollo de Software Pablo Straub AgileShift Imagine una organización de desarrollo de software que consistentemente cumple los compromisos con sus clientes. Imagine
Más detallesPropuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA
Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)
Más detallesAjustes del Curso en egela (Moodle 2.5)
Ajustes del Curso en egela (Moodle 2.5) Manual para el profesorado Versión 2 (12/05/2015) El presente manual ha sido desarrollado por el Campus Virtual de la Universidad del País Vasco / Euskal Herriko
Más detallesFUENTES SECUNDARIAS INTERNAS
FUENTES SECUNDARIAS INTERNAS Las fuentes secundarias son informaciones que se encuentran ya recogidas en la empresa, aunque no necesariamente con la forma y finalidad que necesita un departamento de marketing.
Más detalles