You are on page 1of 36

PONTIFICIA UNIVERSIDAD JAVERIANA

GENERACIÓN DE MEDIADORES PEDAGÓGICOS PARA FACILITAR EL


PROCESO DE ENSEÑANZA-APRENDIZAJE EN LA REALIZACION DE LAS
CONSULTAS A LAS BASES DE DATOS EN LA PONTIFICIA UNIVERISDAD
JAVERIANA.

RICARDO GÓMEZ ANGULO

JEIMY RAMÍREZ PINILLA.

JULIO ERNESTO CARREÑO VARGAS


Tabla de contenido
Contenido de Tablas.....................................................................................................3
Tabla de Ilustraciones...................................................................................................3
MARCO TEORICO........................................................................................................4
¿Qué es y para qué sirve SQL?..................................................................................4
Conceptos básicos para la realización de consultas SQL.........................................5
Tipos de Datos...........................................................................................................6
Sentencias DDL.........................................................................................................8
Sentencias MDL........................................................................................................8
Consultas SQL...............................................................................................................8
Clausula SELECT......................................................................................................9
Clausula WHERE....................................................................................................10
Clausula Alias...........................................................................................................11
Clausula JOIN..........................................................................................................12
Inner Join.............................................................................................................13
Left Outer Join.....................................................................................................13
Right outer join....................................................................................................13
Full outer join.......................................................................................................14
Operaciones con Conjuntos.....................................................................................14
Funciones de Agregación........................................................................................14
Clausula Order By................................................................................................15
Clausula Group By...............................................................................................16
Clausula Having...................................................................................................16
Subconsultas Anidadas............................................................................................17
Clausula WITH........................................................................................................18
La educación Virtual................................................................................................19
Objetos de Aprendizaje........................................................................................19
Elementos de la educación virtual......................................................................20
Ovas como herramienta pedagógica: estándares y buenas prácticas...................23
Estándar IEEE (LTSC) PI484.............................................................................23
Componente Educativo de los OVAs..................................................................24
Modelo Instruccional para el Diseño de objetos de aprendizaje: MIDOA
(Universidad Autónoma Aguas Calientes).............................................................25
Composición de los Objetos de Aprendizaje......................................................26
Modelo XP para Objetos de aprendizaje:...........................................................26
Evaluación de los objetos de aprendizaje (Universidad de Autónoma Aguas
Calientes).............................................................................................................30
Evaluación Basada en la taxonomía de Bloom..................................................30
Evaluación de los Objetos de Aprendizaje, formato ECOBA.............................31
Bibliografía..................................................................................................................35

Contenido de Tablas
Tabla 1. Tipos de Campo [2].........................................................................................7
Tabla 2. Tipos de Datos [2]...........................................................................................7
Tabla 3. Sentencias DLL...............................................................................................8
Tabla 4. Sentencias DML..............................................................................................8
Tabla 5. Operadores Clausula SELECT......................................................................10
Tabla 6 Operadores de Comparación.........................................................................10
Tabla 7 Operadores Aritméticos..................................................................................11
Tabla 8 Operadores de Cadenas de caracteres...........................................................11
Tabla 9 Tipos de Join..................................................................................................12
Tabla 10. Condiciones para la clausula Join..............................................................12
Tabla 11. Operaciones con conjuntos..........................................................................14
Tabla 12. Funciones de Agregación.............................................................................15
Tabla 13. Operadores de subconsultas.......................................................................18
Tabla 14. Estandar PI484 para el desarrollo de OA..................................................23
Tabla 15. Tipos de Interactividad de los OVAs..........................................................24

Tabla de Ilustraciones.
Ilustración 1. Pasos en el procesamiento de una consulta. [1]....................................6
Ilustración 2. Tablas de Ejemplo..................................................................................9
Ilustración 3. Estructura general de un OA [4]..........................................................19
Ilustración 4. Interacción con un OA.........................................................................20
Ilustración 5. Elementos de la educación virtual. [9]................................................21
Ilustración 6. Roles, actores de la enseñanza virtual.................................................23
Ilustración 7. Composición de los Objetos de Aprendizaje.......................................26
Ilustración 8. Modelo XP para los OA........................................................................27
Ilustración 9. Propuesta Ciclo de Vida de los OA, MIDOA.......................................28
Ilustración 10. Entradas y Salidas MIDOA................................................................29
Ilustración 11. Taxonomía de Bloom..........................................................................30
Ilustración 12. Evaluación de los OA (Pertinencia y Veracidad) ECOBA.................32
Ilustración 13.Evaluación de los OA (Diseño estético y Funcional) ECOBA............33
Ilustración 14. Evaluación de los OA (Diseño Instruccional y Aseguramiento de
Competencias) ECOBA...............................................................................................34
Ilustración 15. Evaluación de los OA (Nivel de Calidad alcanzado) ECOBA............34
Ilustración 16. Proceso de Evaluación y Desarrollo del OA......................................35

MARCO TEORICO

En el marco teórico se establecerán los conceptos básicos para abordar la


construcción de la herramienta para la creación de OVAS que ayuden a la
enseñanza y aprendizaje de consultas SQL a las bases de datos. En la primera parte
se plantea la importancia de las consultas SQL a las bases de datos, continuando
con los conceptos básicos para realizar las consultas SQL a las bases de datos. La
segunda parte de este marco teórico se tratan los aspectos necesarios para la
construcción de los objetos virtuales de aprendizaje.

¿Qué es y para qué sirve SQL?

En la actualidad la necesidad de utilizar bases de datos es tan amplia como las


diferentes aplicaciones que surgen constantemente, sus usos más representativos
se ubican en áreas como: La Banca, Líneas Aéreas, Universidades,
Telecomunicaciones, Transacciones de tarjetas de crédito, Finanzas, Ventas,
Producción, Recursos humanos, etc. lo cual abarca la mayoría de las aplicaciones
existentes hoy en día, así como la necesidad de realizar una serie de actividades
implicadas en la extracción de datos de una base de datos.

En igual medida a la importancia que se presenta en el uso de las bases de datos,


cabe resaltar la diversidad de lenguajes y de bases de datos existentes y la forma en
que estas se comunican. La forma de gestionar su comunicación sería realmente
complicada si no existieran estándares para realizar las consultas a las bases de
datos.

Por lo anterior podemos vislumbrar la importancia de Structured Query Language


(SQL), este lenguaje es el estándar de comunicación con las bases de datos. Gracias
a la existencia de SQL podemos trabajar cualquier tipo de lenguaje como ASP o
PHP en combinación con cualquier tipo de base de datos (MS Access, SQL Server,
MySQL, Oracle, etc.)

Algunas de las características importantes que cabe resaltar de SQL son su


versatilidad, y su accesibilidad de aprendizaje

Conceptos básicos para la realización de consultas SQL.

Para realizar consultas SQL a las bases de datos se deben tener en cuenta los pasos
principales para el procesamiento de una consulta, estos pasos se ilustran a
continuación.

Expresión
Analizado
Consulta del álgebra
r y
relacional.
traductor

Optimizad
or

Resultado de Motor de Plan de


la consulta evaluació ejecución.
n

Estadísticas
de datos
Datos
Ilustración 1. Pasos en el procesamiento de una consulta. [1]

Los pasos para la consulta son:

1. Análisis y Traducción.
2. Optimización.
3. Evaluación.

Para la realización de una consulta el sistema debe traducir la consulta a una forma
utilizable. Para nuestro caso, la primera parte que debemos realizar consta de
formular una consulta SQL la cual es apropiada para el lenguaje humano.

Tipos de Datos.

Un aspecto importante para tener en cuanta son los tipos de datos de las tablas que
se encuentran en las bases de datos, estos tipos de datos representan una
característica representativa de la información que se guardará en las tablas.

Estas características de la información están representadas por los tipos de datos


que introducimos en las tablas de las bases de datos que nos ayudan a facilitar la
búsqueda y optimizar los recursos de memoria.

Encontramos también los tipos de datos que se encuentran en los campos que se
almacenarán en las bases de datos para la información específica del asunto de
interés.

Los tipos de campo comunes que encontramos en las bases de datos son:

Alfanuméricos Contienen cifras y letras. Presentan una longitud


limitada (255 caracteres)
Numéricos Existen de varios tipos, principalmente, enteros (sin
decimales) y reales (con decimales).
Booleanos Poseen dos formas: Verdadero y falso (Sí o No)
Fechas Almacenan fechas facilitando posteriormente su
explotación. Almacenar fechas de esta forma posibilita
ordenar los registros por fechas o calcular los días entre
una fecha y otra.
Memos Son campos alfanuméricos de longitud ilimitada.
Presentan el inconveniente de no poder ser indexados.
Auto- Son campos numéricos enteros que incrementan en una
incrementables unidad su valor para cada registro incorporado. Sirve de
identificador ya que resultan exclusivos de un registro.
Tabla 1. Tipos de Campo [2]

Los tipos de datos SQL que encontramos son:

Tipo de dato Longitud Descripción


BINARY 1 byte Para consultas sobre tabla adjunta de
productos de bases de datos que definen
un tipo de datos Binario.
BIT 1 byte Valores Si/No ó True/False
BYTE 1 byte Un valor entero entre 0 y 255.
COUNTER 4 bytes Un número incrementado
automáticamente (de tipo Long)
CURRENCY 8 bytes Un entero escalable entre
922.337.203.685.477,5808 y
922.337.203.685.477,5807.
DATE TIME 8 bytes Un valor de fecha u hora entre los años
100 y 9999.
SINGLE 4 bytes Un valor en punto flotante de precisión
simple con un rango de - 3.402823*1038
a -1.401298*10-45 para Valores negativos,
1.401298*10- 45 a 3.402823*1038 para
valores positivos, y 0.
DOUBLE 8 bytes Un valor en punto flotante de doble
precisión con un rango de -
1.79769313486232*10308 a
-4.94065645841247*10-324 para valores
negativos, 4.94065645841247*10-324 a
1.79769313486232*10308 para valores
positivos, y 0.
SHORT 2 bytes Un entero corto entre -32,768 y 32,767.
LONG 4 bytes Un entero largo entre -2,147,483,648 y
2,147,483,647.
LONG TEXT 1 byte por De cero a un máximo de 1.2 gigabytes.
carácter
LONG BINARY Según se necesite. De cero 1 gigabyte. Utilizado para objetos
OLE.
TEXT 1 byte por De cero a 255 caracteres.
carácter.
Tabla 2. Tipos de Datos [2]
Sentencias DDL
DDL crea objetos en la base de datos y sus efectos se pueden ver en el diccionario
de la base de datos.

Sentencia DDL Objetivo


Alter procedure Recompilar un procedimiento almacenado.
Alter Table Añadir o redefinir una columna, modificar la asignación de
almacenamiento.
Analyze Recoger estadísticas de rendimiento sobre los objetos de la BD para
utilizarlas en el optimizador basado en costes.
Create Table Crear una tabla.
Create Index Crear un índice.
Drop Table Eliminar una tabla.
Drop Index Eliminar un índice.
Grant Conceder privilegios o papeles, roles, a un usuario o a otro rol.
Truncate Eliminar todas las filas de una tabla.
Revoke Retirar los privilegios de un usuario o rol de la base de datos.
Tabla 3. Sentencias DLL

Sentencias MDL
DML es el que permite consultar, insertar, modificar y eliminar la información
almacenada en los objetos de la base de datos.

Sentencia Objetivo
DML
Insert Añadir filas de datos a una tabla.
Delete Eliminar filas de datos de una tabla.
Update Modificar los datos de una tabla.
Select Recuperar datos de una tabla.
Commit Confirmar como permamentes las modificaciones realizadas.
Rollback Deshacer todas las modificaciones realizadas desde la última
confirmación.
Tabla 4. Sentencias DML

Consultas SQL

La recuperación de los datos en el lenguaje SQL se realiza mediante la sentencia


SELECT, seleccionar. La sentencia SELECT consta de cuatro partes básicas:

La cláusula SELECT seguida de la descripción de lo que se desea ver, los nombres


de las columnas a seleccionar. Se usa para listar los atributos deseados del
resultado de una consulta.

La cláusula FROM seguida de la especificación de las tablas de las que se han de


obtener los datos. Lista las relaciones que deben ser analizadas en la evaluación de
la expresión.
La cláusula WHERE seguida por un criterio de selección, una condición. Es un
predicado que engloba a los atributos de las relaciones que aparecen en la clausula
FROM.

Para los ejemplos que se van a realizar a continuación se tendrán en cuenta la


siguiente:

Ilustración 2. Tablas de Ejemplo

Clausula SELECT
Dentro de la clausula SELECT podemos especificar los registros que deseamos ver,
dentro de esta clausula al igual que en la clausula WHERE tendremos algunos
operadores que influyen en el resultado de la consulta SQL.

Operador Operación Ejemplo Variaciones


TOP TOP se usa para SELECT TOP 2 MySQL: ORACLE: Porcentaje:
especificar el * FROM emp; SELECT SELECT * SELECT
* FROM FROM emp TOP 50
número de WHERE
registros que se emp PORCENT *
LIMINT ROWNUM <= FROM emp;
desean mostrar. 5;
2;
Distinct Omite los SELECT
registros cuyos distinct *
campos FROM emp,
seleccionados works WHERE
coincidan emp.prod =
totalmente prod.id;
All Devuelve todos
los campos de la
tabla
Distinctrow Omite los
registros
duplicados
basándose en la
totalidad del
registro y no sólo
en los campos
seleccionados.
Tabla 5. Operadores Clausula SELECT

Clausula WHERE

En la clausula WHERE podemos especificar las condiciones o atributos con los


cuales deseamos restringir las consultas realizadas mediante las clausulas SELECT
y FROM. Para realizar el criterio de búsqueda deseada podemos especificar
diferentes operadores para el resultado final de las columnas.

Operador Operación Ejemplo


= Igualdad SELECT * FROM emp WHERE
eid = 100;
!=, <>, ^= Desigualdad SELECT * FROM emp WHERE
eid != 100;
< Menor que SELECT * FROM emp WHERE
eid < 200;
> Mayor que SELECT * FROM emp WHERE
eid > 200;
<= Menor o igual que SELECT * FROM emp WHERE
eid <= 200;
>= Mayor o igual que SELECT * FROM emp WHERE
eid >= 200;
IN Igual a cualquiera de los miembros SELECT * FROM emp WHERE
entre paréntesis eid IN (100, 300);
NOT IN Distinto a cualquiera de los miembros SELECT * FROM emp WHERE
entre paréntesis eid NOT IN(200);
BETWEEN Contenido en el rango (números, texto SELECT * FROM emp WHERE
o datos) eid BETWEEN 99 AND 200;
NOT Fuera del rango SELECT * FROM emp WHERE
BETWEEN eid NOT BETWEEN 100 AND
199;
LIKE '_abc Contiene la cadena 'abc' a partir del SELECT * FROM emp WHERE
%' segundo carácter y luego cualquier ename LIKE 'Ma%';
cadena de caracteres
AND Muestra los registros si la primera y la
SELECT * FROM emp WHERE
segunda condición es verdadera eid >200 AND eid <300;
OR Muestra los registros si la primera o la
SELECT * FROM emp WHERE
segunda condición es verdadera. eid = 200 OR eid = 300;
NOT Muestra los registros en donde no se SELECT * FROM emp WHERE
cumple la condición expuesta NOT eid = 300;
IS NULL Se utiliza para comprobar los valores SELECT * FROM emp WHERE
nulos eid IS NULL;
IS NOT Se utiliza para comprobar los valores SELECT * FROM emp WHERE
NULL no nulos eid IS NOT NULL;
Tabla 6 Operadores de Comparación.
Operador Operación Ejemplo
+ Suma SELECT ename, salary+age FROM emp WHERE eid=100;
- Resta SELECT ename FROM emp WHERE salary > 600000;
* Producto SELECT ename, salary*12 FROM emp;
/ División SELECT ename, salary/31 FROM emp;
Tabla 7 Operadores Aritméticos

Operador Operación Ejemplo


|| Concatenación SELECT ’empleado’||ename
FROM emp;
% El carácter % encaja con cualquier SELECT ename FROM emp WHERE
subcadena ´%lio´;
_ El carácter _ encaja con cualquier SELECT ename FROM emp WHERE
carácter ´_artha´;
Escape Trata un carácter especial como un SELECT ename FROM emp WHERE
carácter normal, colocándolo ename LIKE ´ab\%cd%´ ESCAPE
inmediatamente antes de un carácter ’\’;
especial
R/: encaja con todas las
cadenas que empiecen por ab
%cd
[ lista de Cualquier carácter individual que se SELECT * FROM emp
caracteres ] encuentre en la lista de caracteres WHERE ename LIKE '[jmb]%'
R/: encaja con todas las
cadenas que empiecen por j
o m o b.
[ ! Lista de Cualquier carácter individual que no SELECT * FROM emp
caracteres] esté en la lista de caracteres WHERE ename LIKE '[!jmb]%'
R/: encaja con todas las
cadenas que no empiecen por
j o m o b.
Tabla 8 Operadores de Cadenas de caracteres

Clausula Alias
El alias se utiliza para nombrar temporalmente en los resultados de la consulta una
tabla o columna para dar mayor comodidad al seguimiento de los nombres. La
clausula para establecer el alias se designa con la palabra AS. El alias puede usarse
en la clausula SELECT para especificar el nombre de una columna o en la clausula
FROM para especificar el nombre de la tabla y poderla utilizar en la consulta.
Ejemplos:
SELECT eid AS codigo
FROM emp;

SELECT e.ename, w.did, w.eid


FROM emp AS e, works AS p;

Clausula JOIN

La clausula Join es utilizada para consultar datos de dos o más tablas dependiendo
de la relación que tengan de acuerdo a las llaves primarias que estas poseen en
donde su valor es único dentro de la tabla.

Tipo Descripción
Inner join Reunión interna, devuelve los registros que coinciden exactamente
en ambas tablas.
Left outer join Reunión externa por la izquierda, devuelve los registros que
coinciden exactamente en ambas tablas y los registros de la tabla
izquierda que no tienen ninguna coincidencia con la tabla de la
derecha, a estos registros se les agrega null en las columnas que no
contienen ningún valor.
Right outer join Reunión externa por la derecha, devuelve los registros que coinciden
exactamente en ambas tablas y los registros de la tabla derecha que
no tienen ninguna coincidencia con la tabla de la izquierda, a estos
registros se les agrega null en las columnas que no contienen ningún
valor.
Full outer join Reunión externa total, devuelve los registros que coinciden
exactamente en ambas tablas, los registros de la tabla derecha y la
tabla izquierda que no tienen ninguna coincidencia, a los registros
que no contienen ninguna coincidencia se les agrega null donde no se
encuentran valores.
Tabla 9 Tipos de Join

Condiciones Descripción
Natural La condición natural hace referencia a las coincidencias de ambas
tablas.
On La condición on hace referencia a un predicado el cual se usa en los
tipos de join en los cuales no se encuentra la condición natural, se usa
para especificar los campos en que coinciden ambas tablas
Using(A1, A2, La condición de reunión using es similar a la condición de reunión
… An) natural, salvo en que los atributos de reunión en este caso son A1, A2,
… An en lugar de todos los atributos comunes en ambas.
Tabla 10. Condiciones para la clausula Join
Inner Join
Inner Join devuelve todos los registros que coinciden en ambas tablas.

Sintaxis de Inner Join


SELECT nombre_columna(s)
FROM nombre_tabla1
INNER JOIN nombre_tabla2
ON nombre_tabla1.nombre_columna=nombre_tabla2.nombre_columna

Ejemplo:
SELECT emp.ename, works.pc_time
FROM emp INNER JOIN works
ON emp.eid=works.eid

Left Outer Join


Devuelve todas las filas de la tabla de la izquierda (nombre_tabla1), incluso si no
hay coincidencias en la tabla de la derecha (nombre_tabla2).

Sintaxis Left Outer Join


SELECT nombre_columna(s)
FROM nombre_tabla1 LEFT JOIN nombre_tabla2
ON nombre_tabla1.nombre_columna=nombre_tabla2.nombre_columna;

Ejemplo:
SELECT emp.ename, works.pct_time
FROM emp LEFT OUTER JOIN works
ON emp.eid=works.eid;

Right outer join


Devuelve todas las filas de la tabla de la derecha (nombre_tabla2), incluso si no hay
coincidencias en la tabla de la izquierda (nombre_tabla1).

Sintaxis Right outer join


SELECT nombre_columna(s)
FROM nombre_tabla1 RIGHT OUTER JOIN nombre_tabla2
ON nombre_tabla1.nombre_columna=nombre_tabla2.nombre_colunna

Ejemplo:
SELECT emp.ename, works.pct_time
FROM emp RIGHT OUTER JOIN works
ON emp.eid=works.eid

Full outer join


Devuelve todas las filas de ambas tablas, donde al menos hay una coincidencia.

Sintaxis Full outer join


SELECT nombre_columna(s)
FROM nombre_tabla1 FULL OUTER JOIN nombre_tabla2
ON nombre_tabla1.nombre_columna=nombre_tabla2.nombre_columna

Ejemplo:
SELECT emp.ename, works.pct_time
FROM emp FULL OUTER JOIN works
ON emp.eid=works.eid

Operaciones con Conjuntos


Dentro de las operaciones de conjuntos tenemos Union, Intersect y Except que
operan sobre relaciones, todas estas operaciones eliminan los resultados
duplicados encontrados en la consulta, si se desea obtener los valores duplicados se
utilizan las operaciones Union All, Intesect All, Except All:

Operaciones Descripción Ejemplo


Union Corresponde a la operación del algebra relacional , SELECT eid
combina los resultados de dos consultas juntas, todas FROM emp
las consultas correspondientes necesitan ser del UNION
mismo tipo de datos, en su resultado solo se SELECT eid
encuentran los valores distintos. FROM works;
Intersect Corresponde a la operación del algebra relacional , SELECT eid
combina los resultados de dos consultas juntas, en FROM emp
donde los resultados corresponden al mismo valor INTERSECT
para los registros encontrados. SELECT eid
FROM works;
Except Corresponde a la operación del algebra relacional , SELECT eid
devuelve la diferencia (resta) de dos o más conjuntos FROM emp
de resultados. EXCEPT
SELECT eid
FROM works;
Tabla 11. Operaciones con conjuntos

Funciones de Agregación
Las funciones de Agregación operan en el conjunto de valores de una columna de
una relación y devuelve un valor.

Función Descripción Ejemplo


Avg Calcula la media aritmética de un conjunto de SELECT AVG(budget) AS
valores contenidos en un campo numérico Promedio FROM dept
especificado de una consulta WHERE budget > 100;
min Devuelve el mínimo de un conjunto de valores SELECT MIN(budget) AS
contenidos en un campo específico de una menor FROM dept;
consulta.
max Devuelve el máximo de un conjunto de valores SELECT MAX(budget) AS
contenidos en un campo específico de una menor FROM dept;
consulta.
sum Devuelve la suma del conjunto de valores SELECT SUM(budget) AS
contenido en un campo específico de una TotalPresu FROM dept;
consulta
count Calcula el numero de registros devueltos por SELECT COUNT(*) AS
una consulta, puede contar cualquier tipo de total FROM emp;
datos incluso texto, exceptúa los campos en
null, pero si contiene el caracter (*) count,
incluye los registros que contienen null.
stDev Devuelve estimaciones de la desviación SELECT stDev(budget)
estándar para la población (del total de los AS desviacion FROM
registros de la tabla). dept;
stDevP Devuelve estimaciones de la desviación SELECT stDevP(budgets)
estándar para una muestra de la población AS desviacion FROM
representada (muestra aleatoria). Si la dept;
consulta tiene menos de dos registros
devuelve null.
Var Devuelve una estimación de la varianza de una SELECT var(budget) AS
población (sobre el total de los registros) sobre varianza FROM dept;
los valores de un campo, si la consulta
contiene menos de dos registros devolverá
null.
varP Devuelve una estimación de la varianza de una SELECT varP(budget) AS
muestra de la población (muestra aleatoria de varianza FROM dept;
registros) sobre los valores de un campo, si la
consulta contiene menos de dos registros
devolverá null.
Tabla 12. Funciones de Agregación

Clausula Order By

Se utiliza para especificar el criterio de ordenación de la respuesta a la consulta


realizada. Por defecto la ordenación es ascendente, aunque se puede especificar un
orden descendente. La ordenación se puede establecer sobre el contenido de
columnas o sobre expresiones con columnas.

Sintaxis Order By
SELECT nombre_columna
FROM nombre_tabla
WHERE condición
ORDER BY nombre_columna [ASC, DESC]

De aquí se especifica ASC para organizar la columna en orden ascendente y DESC


para organizar la columna en orden descendente.

Ejemplo

Liste los nombres y las edades de los empleados de más de 30 años, ordenados por
nombre de la Z a la A.
SELECT ename, age
FROM emp
WHERE age > 30 ORDER BY ename DESC;

Clausula Group By
Es utilizada para separar los registros seleccionados en grupos específicos.
Combina los valores idénticos en un solo registro. Para cada registro se puede crear
un valor agregado.

Sintaxis Group By
SELECT nombre_columna, nombre_columna2
FROM nombre_tabla
WHERE condicion
GROUP BY nombre_columna

Ejemplo:

Cuántos departamentos tiene a su cargo cada jefe. Muestre el managerid y el total.


SELECT managerid, count(*) AS total
FROM dept
WHERE managerid is not null
GROUP BY managerid

Clausula Having

Una vez que GROUP BY ha combinado los registros, HAVING muestra cualquier
registro agrupado por la cláusula GROUP BY que satisfaga las condiciones de la
cláusula HAVING. Se utiliza la cláusula WHERE para excluir aquellas filas que no
desea agrupar, y la cláusula HAVING para filtrar los registros una vez agrupados.

HAVING permite el uso de funciones agregadas.


Sintaxis Having
SELECT nombre_columna, nombre_columna2
FROM nombre_tabla
WHERE condicion
GROUP BY nombre_columna
HAVING condición;

Ejemplo:

Liste el did y el promedio del porcentaje de tiempo de dedicación de los empleados


por departamento, para aquellos departamentos en donde se trabaja en total más
del 90%.
SELECT did, avg(pct_time) AS promedio
FROM works
GROUP BY did
HAVING sum(pct_time) > 90

Subconsultas Anidadas

Una subconsulta es una instrucción SELECT-FROM-WHERE anidada dentro de


una consulta SELECT, DELETE, UPDATE o dentro de otra subconsulta.

Un uso común de subconsultas es llevar a cabo comprobaciones sobre pertenencia


a conjuntos, comparación de conjuntos y cardinalidad de conjuntos.

Sintaxis Subconsultas
SELECT nombre_columna, nombre_columna2
FROM nombre_tabla
WHERE condición [operadores de comparación](SELECT nombre_columna FROM
nombre_tabla WHERE condición)

Ejemplo
SELECT distinct eid
FROM emp
WHERE eid in (SELECT eid FROM works);

Operador Descripción Sintaxis


EXIST Verifica si la consulta interna arroja algún SELECT nombre_columna
registro, si lo hace entonces la consulta externa FROM nombre_tabla1
procede, de no hacerlo la consulta externa no WHERE EXISTS
(SELECT *
se ejecuta, y la totalidad de la consulta no
FROM nombre_tabla2
arroja nada. WHERE [Condición])
Devuelve verdadero si existe algún registro.
NOT Verifica que la consulta interna no arroje SELECT nombre_columna
FROM nombre_tabla1
EXIST ninguna fila. WHERE NOT EXISTS
(SELECT *
FROM nombre_tabla2
WHERE [Condición])
UNIQUE Comprueba si una subconsulta tiene alguna SELECT nombre_columna
tupla duplicada en sus resultados, devuelve el FROM nombre_tabla
valor verdadero si la subconsulta que se le pasa WHERE UNIQUE (SELECT
nombre_columna FROM
como argumento no produce tuplas duplicadas.
nombre_tabla1 WHERE
condición);
NOT Comprueba la existencia de tuplas duplicadas SELECT nombre_columna
UNIQUE en una subconsulta. FROM nombre_tabla
WHERE NOT UNIQUE
(SELECT
nombre_columna FROM
nombre_tabla1 WHERE
condición);
Tabla 13. Operadores de subconsultas

Clausula WITH
Las consultas complicadas son mucho más fáciles de formular y de entender si se
descomponen en consultas más sencillas y después se combinan.

La clausula with proporciona una forma de definir una vista temporal cuya
definición está disponible solo para la consulta en la que aparece esta cláusula.

Sintaxis WITH
WITH nombre_vista AS (
SELECT nombre_columna
FROM nombre_tabla
WHERE condición)
SELECT nombre_colomuna
FROM nombre_tabla, nombre_vista
WHERE condición;

Ejemplo

Encuentre el nombre de los empleados que trabajan en más de 1 departamento.


WITH EmpPorDpto AS (
SELECT eid, count(did) as totalemp
FROM works group by eid )
SELECT e.ename
FROM emp e, EmpPorDpto ed
WHERE e.eid = ed.eid and ed.totalemp > 1
La educación Virtual

Para poder enmarcar el contexto en el que se va a desarrollar el trabajo de grado,


debemos resolver los principales conceptos relacionados con la educación virtual y
los objetos virtuales de aprendizaje (OVA).

La educación virtual es una modalidad de la enseñanza que surge de la relación


entre la tecnología y la educación. La virtualidad es “la concentración de relaciones,
donde confluyen el emisor, el receptor, el conocimiento, la socialización, la
recreación y la transferencia de información e interacciones con el medio” [3].

Objetos de Aprendizaje

Para poder desarrollar la problemática que nos concierne se propone la utilización


de objetos de aprendizaje, pues los objetos de aprendizaje gracias a su estructura y
características son ideales para su utilización en un entorno educativo, además nos
ofrece la oportunidad de brindar a los estudiantes la posibilidad de adquirir niveles
de competencia superiores, y da al estudiante motivación para ser responsable de
su propio aprendizaje. [4]

Algunas de las definiciones de un objeto de aprendizaje (OA) son:

"cualquier recurso digital que se puede utilizar como apoyo para el aprendizaje"
(Wiley 2000)[6].

L'Allier los define como "la mínima estructura independiente que contiene un
objetivo, una actividad de aprendizaje y un mecanismo de evaluación “[7].

Retomando la definición de L´Allier y considerando que los OA’s deben tener un


estándar [8], que permita su portabilidad e interoperabilidad.

Ilustración 3. Estructura general de un OA [4]


Interacción con un OA

Ilustración 4. Interacción con un OA

De acuerdo con la ilustración 3 podemos definir que tanto alumnos como


profesores podrán obtener una competencia mayor al finalizar la interacción con
los OA.

Cabe resaltar que la utilización de un OA se puede ver reflejado tanto en la ayuda


como material de apoyo en una clase presencial y como parte o ser por sí mismo de
un curso en línea.

Elementos de la educación virtual.

En la actualidad son muchas las posibilidades que ofrecen las TIC’s (Tecnologías de
la Información y la Comunicación) para el manejo del conocimiento; El
conocimiento es un factor de vital importancia, es el centro de las sociedades
modernas, siempre está en crecimiento y cada sociedad debe comunicarlo y
expandirlo. La educación virtual puede concebirse entonces como una nueva
modalidad de impartir conocimiento, que hace uso de las TIC’s y que es una
alternativa a la modalidad presencial.
Ilustración 5. Elementos de la educación virtual. [9]

Modelo pedagógico

La construcción de programas virtuales no está dada únicamente por las TIC’s, no


es la tecnología disponible el factor que debe determinar los modelos,
procedimientos, o estrategias didácticas. La creación de estos programas virtuales
de aprendizaje debe inspirarse en teorías de la psicología educativa y de la
pedagogía. La base de conocimiento para el diseño de un proyecto educativo es el
conocimiento pedagógico. Debe existir de fondo una profunda reflexión
pedagógica, que soporte y brinde intencionalidad a todos los procesos en la
enseñanza virtual.

La pedagogía es entendida como la ciencia que se ocupa de la educación y la


enseñanza [11]. Se interesa por el ser humano en el terreno educacional, el objeto
de la pedagogía son los procesos sociales y culturales que producen cambios de
conocimiento, actitudes, habilidades, destrezas, costumbres y aptitudes en los seres
humanos.

En definitiva la pedagogía debe ocupar el espacio que le corresponde frente al


nuevo mundo virtual que ofrecen las TIC’s; La pedagogía debe interesarse por
valorar e identificar las necesidades y los problemas de este nuevo entorno y
platear soluciones que satisfagan a esta nueva sociedad de la información.
Tecnología apropiada.

El proceso de enseñanza virtual debe ser soportado por tecnología de Hardware y


Software, que permita a los actores del proceso su pleno desarrollo.

Hardware: Para la implementación de la educación virtual, debe disponerse de un


número adecuado de computadores con las especificaciones técnicas que
garanticen el buen funcionamiento de los recursos virtuales en una organización.
Estos equipos se pueden clasificar así:

Servidores: Donde se alojarán los cursos virtuales y la plataforma de


administración de los mismos.

Equipos: donde el profesor interactúa directamente con la tecnología tipo software


y realiza las diferentes actividades que demanda un curso o programa virtual.

Equipos disponibles dentro de la organización para el acceso de estudiantes a los


cursos.

Una Red, que interconecte todos estos equipos entre sí y permita una salida
continua de los cursos virtuales a la red de redes: Internet.

Otros como equipos para la producción de audiovisuales, tales como cámaras,


scanner y reproductores de video, etc.

Software: Son programas informáticos que se requieren para llevar a cabo los
procesos y montaje de un curso o programa virtual. [12]

Rol de usuarios.

En el proceso de aprendizaje virtual intervienen varios actores, en la Ilustración 6


se exponen algunos de ellos y sus roles dentro del ambiente de enseñanza virtual.
[12]
Ilustración 6. Roles, actores de la enseñanza virtual

Ovas como herramienta pedagógica: estándares y buenas


prácticas.

Estándar IEEE (LTSC) PI484


El estándar IEEE LTSC Learning Technology Standards Committee (Comité de
Normas de Tecnologías de Aprendizaje), se encarga de dar un estándar para el
desarrollo de objetos de aprendizaje, Este estándar se basa en 9 puntos que son:

Parte Descripción
General Descripción del objeto de aprendizaje como un todo.
Ciclo de Vida La historia y el estado actual del objeto de aprendizaje.
Meta-Metadata Información acerca de la instancia del metadata.
Técnica Requerimientos técnicos y características técnicas.
Educacional Características educacionales y pedagógicas
Derechos Derechos de propiedad Intelectual y condiciones de uso.
Relación Relación que existe con otros objetos de aprendizaje.
Anotación Comentarios del uso educativo de este objeto
Clasificación Relación a un sistema de clasificación particular.
Tabla 14. Estandar PI484 para el desarrollo de OA.

Recomendaciones:

 No debe hacerse un ova con información apegada a un herramienta, a una


opinión ya que quita una de sus cualidades “la reusabilidad”
 Deben hacerse pedagógicamente neutrales, es decir no tomar parte activa o
personal, no agregar opiniones.
 Es necesario plantear los aspectos técnico-estéticos según la disciplina en la
que se vea inmerso.
Componente Educativo de los OVAs
1. Tipo de Interactividad

Tipo Descripción
Activa Está hecha con contenido que induce directamente a la persona a
interactuar con el objeto.
Expositiva Ocurre cuando el trabajo del que está aprendiendo consiste básicamente en
absorber la información que está expuesta en el objeto.
Mixta Combinación de los dos tipos de interactividad: Activa y Expositiva.
Tabla 15. Tipos de Interactividad de los OVAs.

2. Tipo de Recurso de Aprendizaje.

El tipo de recurso de aprendizaje se puede calificar en:

Ejercicio, simulación, cuestionario, diagrama, figura, grafica, índice, diapositiva,


tabla, texto narrativo, examen, experimento, declaración de un problema,
asesoramiento personal, lectura.

3. Nivel de Interactividad.

El nivel de Interactividad se puede clasificar en:

Muy bajo, bajo, medio, alto, muy alto.

4. Densidad Semántica.

La densidad semántica hace referencia a la cantidad de contenido significativo


dentro del objeto virtual de aprendizaje, se puede clasificar en:

Muy bajo, bajo, medio, alto, muy alto.

5. Rol del usuario final.

 Profesor.
 Estudiante.
 Autor.
 Administrador o Gerente.

6. Contexto.

El contexto o entorno en el que se va a desarrollar el OVA.

 Colegio.
 Educación superior.
 Entrenamiento.
 Otros.

7. Rango Típico de años.


Hace referencia al rango de edad promedio del usuario final.

8. Dificultad

La dificultad del contenido educativo del OVA se puede clasificar en:

Muy bajo, bajo, medio, alto, muy alto.

9. Tiempo típico de aprendizaje.

Duración en el que el OVA se va a utilizar para la educación.

10. Descripción.

Información general del OVA.

11. Lenguaje.

Lenguaje en el que se desarrolla el OVA.

Modelo Instruccional para el Diseño de objetos de aprendizaje:


MIDOA (Universidad Autónoma Aguas Calientes).

En la universidad Autónoma de Aguas Calientes realizaron una investigación


referente a los procesos para la realización de OVAs, Dentro de esta investigación
encontraron que:

“No existe un proceso estructurado ni basado en ingeniería de software para la


producción de objetos de aprendizaje, que garantice la consistencia y
estandarización de los procesos para aumentar la calidad de los productos, ni
tampoco existe algún modelo de madurez de procesos que garantice la calidad del
proceso de producción de objetos de aprendizaje”.

Debido a esta problemática, dentro de la investigación que realizó la universidad se


realizó una propuesta para la producción y desarrollo de objetos de aprendizaje que
se explicarán a continuación.

Composición de los Objetos de Aprendizaje

Aspectos Recursos
Pedagógicos Informativos
Patrón Información
del área

Objeto
Objeto de
de
Aprendizaje
Aprendizaje

Ilustración 7. Composición de los Objetos de Aprendizaje.

La investigación que desarrollada por esta universidad propone dos metodologías


de desarrollo de un Objeto de aprendizaje, el primero es un ciclo evolutivo de
prototipos (estándar IEEE 1074), y el segundo una metodología de programación
extrema.

Para nuestro Trabajo de Grado es de vital importancia analizar la metodología XP,


con la cual vamos a desarrollar el ciclo de vida de la herramienta. La cual
expondremos a continuación.

Modelo XP para Objetos de aprendizaje:

La metodología de Programación Extrema se enfoca en cuatro grandes áreas de


proceso: Planeación, Diseño, Codificación y Pruebas.

Una de las mejoras que aporta es: La Comunicación, simplicidad,


retroalimentación y valor.

El modelo XP seguido en la universidad de Aguas Calientes propone:


Ilustración 8. Modelo XP para los OA.

En la ilustración número 8 se puede observar el establecimiento de un proceso en


espiral con un mínimo de tres ciclos:

Ciclo 1 (color amarillo). Ciclo de desarrollo de contenidos, en el cual se crea por


primera vez el objeto de aprendizaje.

Ciclo 2 (color azul). Ciclo de Optimización de contenidos, donde se mejoran los


contenidos para aumentar su calidad académica, educativa, pedagógica, ilustrativa,
explicativa, etc.

Ciclo 3 (color verde). Ciclo de Optimización de interfaz, en el que se mejora el


aspecto gráfico del objeto de aprendizaje para que sea más atractivo y llamativo.
La investigación desarrollada por esta universidad en el campo de objetos de
aprendizaje, se dieron cuenta de la falta de una fase importante en donde se
establecen las prácticas, actividades, agentes, roles, técnicas y artefactos para el uso
y utilización de los objetos de aprendizaje. Por lo tanto surge la propuesta
MIDOA.

Ilustración 9. Propuesta Ciclo de Vida de los OA, MIDOA

En la imagen se muestran las siguientes fases: Análisis, Diseño, Desarrollo,


Utilización y Evaluación.

La diferencia radica en la fase de utilización, donde se implica el uso de los


objetos de aprendizaje por parte del autor y sus estudiantes, o usuarios de manera
genérica.

Las entradas y salidas de cada fase están dadas por:


Ilustración 10. Entradas y Salidas MIDOA

Las dos etapas más importantes para nuestro trabajo de grado son:

Fase de utilización: el autor y el usuario son quienes usarán los objetos de


aprendizaje desarrollados y emitirán una “evaluación” en términos de usabilidad,
nivel de aprendizaje, calidad de contenidos, entre otros indicadores, de los objetos
de aprendizaje. El autor y usuario corresponde al Profesor y Estudiante.

Fase de evaluación: Se involucra a un evaluador y al usuario de los objetos de


aprendizaje, donde el evaluador es el experto en la evaluación de los objetos de
aprendizaje desde dos puntos de vista:

 Pertinencia de contenidos, es decir, que tan buenos son los contenidos


dentro del contexto de la materia o problemática que cubren.
 Cantidad de contenidos, que indica que tan extensos son los contenidos y si
realmente son suficientes para cubrir la temática abordada. El usuario
interviene en esta fase ya que es quien determina si realmente el objeto es
útil para él o ella, puesto que es el usuario final y desconoce el tema tratado,
además de que el autor es un experto y su juicio en la evaluación, por su
amplio conocimiento de la temática, no sería completamente imparcial.

Cabe aclarar que, en este punto, un evaluador puede ser, inclusive, otro experto en
contenidos u otro profesor para la temática abordada por el objeto de aprendizaje,
ya que para llevar a cabo una evaluación satisfactoria, se debe conocer el tema a
profundidad.
Evaluación de los objetos de aprendizaje (Universidad de Autónoma
Aguas Calientes)

Esta es una propuesta para la evaluación de objetos de aprendizaje que se da en


esta universidad, para no solamente tener el proceso de creación de objetos si no
también un proceso para su evaluación.

Se basan en la taxonomía de Benjamin Bloom (Dominios del aprendizaje), y se


basan en la parte cognitiva que es el punto de interés de un objeto de aprendizaje.
La taxonomía es la siguiente:

Ilustración 11. Taxonomía de Bloom.

Evaluación Basada en la taxonomía de Bloom.

Un Objeto de Aprendizaje es específico según el área temática o la intensión que


tiene. En la Universidad de Aguas Calientes se dieron a la tarea de evaluar un
objeto de aprendizaje en general. En este contexto se evalúa al estudiante en el
campo cognitivo con todas sus características por tanto se podría presentar un
cuestionario con preguntas cerradas que incluyan:
Evaluación de los Objetos de Aprendizaje, formato ECOBA.

Este es un formato que diseño la universidad de Aguascalientes para poder evaluar


la calidad de sus objetos de aprendizaje junto con el proceso de desarrollo.
Ilustración 12. Evaluación de los OA (Pertinencia y Veracidad) ECOBA.
Ilustración 13.Evaluación de los OA (Diseño estético y Funcional) ECOBA.
Ilustración 14. Evaluación de los OA (Diseño Instruccional y Aseguramiento de Competencias)
ECOBA.

Ilustración 15. Evaluación de los OA (Nivel de Calidad alcanzado) ECOBA.

Este formato es utilizado durante la etapa de evaluación y utilización del proceso de


objetos de aprendizaje, de manera iterativa, consiguiendo con esto en cada ciclo o
revisión una mejora sustancial del objeto. En la siguiente figura se muestra el
proceso de evaluación y desarrollo.
Ilustración 16. Proceso de Evaluación y Desarrollo del OA.

Bibliografía.

[1] Fundamentos de Bases de Datos, Cuarta Edición, Silberschatz, Korth,


Sudarshan, McGrawHill.

[2] Manual Tutorial SQL, DesarrolloWeb6.com, Rubén Álvarez, Agustín Jareño,


Pol Salvat, Roseando López Robles, Jonathan Soriano Folch, Sara Álvarez, Miguel
Ángel Álvarez.

[3] HENAO ÁLVAREZ, Octavio. La enseñanza virtual en la educación superior.


2002. Disponible en: www.icfes.gov.co/cont4/fomento/pub/libros/Virtual.pdf
(consultado Mayo 2006).

[4] B. Osorio “Metodología para el desarrollo de objetos de aprendizaje usando


patrones”, Universidad Autónoma de Aguascalientes, Centro de Ciencias Básicas,
Grupos de Objetos de aprendizaje.
[5] B. Osorio (2006) “Metodología para el desarrollo de Objetos de Aprendizaje”,
Universidad Autónoma de Aguascalientes, Centro de Ciencias Básicas,
Departamento de Sistemas de Información, Tesis para obtener el trabajo de
maestro en Tecnologías de Información y Computación.
[6] Wiley, D. A. (2000). Connecting learning objects to instructional design theory:
A definition, a metaphor, and a taxonomy. In D. A. Wiley (Ed.), The Instructional
Use of Learning Objects: Online Version.URL:
http://reusability.org/read/chapters/wiley.doc

[7] LOM (2002). Draft Standard for Learning Object Metadata. IEEE 1484.12.1-
2002, 15 July 2002. Retrieved Sept 30, 2003.
URL:http://ltsc.ieee.org/wg12/files/LOM_1484_12_1_v1_Final_Draft.pdf#search
='Draft%20Standard%20for%20Learning %20Object%20Metadata'

[8]. B. Osorio (2006) “Metodología para el desarrollo de Objetos de Aprendizaje”,


Universidad Autónoma de Aguascalientes, Centro de Ciencias Básicas,
Departamento de Sistemas de Información. Tesis para obtener el grado de maestro
en Tecnologías de Información y Computación.

[9] Definición de un modelo pedagógico para la educación virtual en el CES.


http://www.cesvirtual.edu.co/mod/resource/view.php?id=1178

[10] LEFLORE D. Theory supporting design guidelines for web-based instruction.


En: Beverl Abbey (Ed.) Instructional and Cognitive Impacts of Web-Based
Education. Hershey, PA: Idea Group Publishing. (2000).

[11] Diccionario Esencial de la Real Academia Española, Espasa, Segunda edición,


1997.

[12] Automatización del Diseño de Bases de Datos Relacionales con componente


didáctico, Juan Felipe Camargo Gómez, Mauricio Antonio Gaviria Holguín. 2006.