miércoles, 6 de junio de 2012

 MAPAS HTML

Un mapa interactivo es una imagen que tiene la propiedad de estar dividida en diferentes partes o sectores, de forma que cada una de ellas puede funcionar como un enlace estándar HTML.
Los mapas de imágenes pueden ser mapas del lado cliente, en los que el código necesario para la definición de las diferentes partes de la imagen se encuentra en la propia página que contiene el mapa, y que por lo tanto se ejecuta en el navegador del cliente, y mapas del lado servidor, en los que éste código se encuentra en un script o programa almacenado en el servidor Web.
Sin duda alguna los más empleados son los del lado cliente, que son los que vamos a estudiar en esta materia, ya que los del lado servidor precisan para su implementación permisos especiales en el servidor Web, permisos que son difíciles de obtener.
Un mapa de imagen en el lado del cliente precisa para su implementación en una página Web de dos partes. Por un lado, necesitamos definir el mapa en sí, para lo cual se usan los elementos MAP y AREA, junto con algunos atributos, siguiendo una estructura como la que se muestra a continuación:
<MAP NAME="nombre_mapa">
  <AREA shape="rect | circle | poly | default" coords="x1,y1,x2,y2,......." href ="enlace1.html">
  <AREA shape ="rect | circle | poly | default" coords="x1,y1,x2,y2,......." href ="enlace2.html">
  ....
  <AREA shape ="rect | circle | poly | default" coords="x1,y1,x2,y2,......." href ="enlaceN.html">
</MAP>
En donde:
1) name es el nombre con el que se identificará al mapa de imagen
2) nombre_mapa es un nombre identificador único que damos a cada mapa.
3) shape establece la forma que va a tener cada área de enlace (rectangular, circular, poligonal o por defecto).
4) coords define las coordenadas de los sucesivos puntos que forman el área establecida en shape. Así, si elegimos una forma rectangular deberemos dar las coordenadas de los vértices superior izquierdo e inferior derecho del rectángulo; si es una forma circular daremos las coordenadas del centro del círculo y la longitud del radio; y si es una forma poligonal deberemos especificar las coordenadas de los sucesivos puntos que forman el polígono.
5) href asigna el enlace al que lleva cada una de las áreas definidas en el mapa.
Una vez definido el mapa debemos asignarlo a la imagen en concreto (a la que debe mapear), lo que conseguimos mediante el atributo usemap de la etiqueta <IMAGE>:
<IMG src="ruta" width="anchura" height="altura" border="0" alt="texto" usemap="#nombre_mapa">
NOTA IMPORTANTE: Debes de observar el símbolo número (#) delante del nombre del mapa en el atributo usemap. Si se omite, el mapa no funciona.

 Ejercicios: crear una pagina html usando mapas

 

 

<MAP name="sistemasolar">
   <AREA shape="circle" coords="290,235,12" alt="Mercurio" href="http://usuario.tiscali.es/solyplanetas/mercurio.htm">
   <AREA shape="circle" coords="416,258,15" alt="Venus" href="http://usuario.tiscali.es/solyplanetas/venus.htm">
   <AREA shape="circle" coords="245,201,15" alt="tierra" href="http://usuario.tiscali.es/solyplanetas/tierra.html">
   <AREA shape="circle" coords="491,126,14" alt="marte" href="http://usuario.tiscali.es/solyplanetas/marte.html">
   <AREA shape="circle" coords="165,291,22" alt="j&uacute;piter" href="http://usuario.tiscali.es/solyplanetas/jupiter.html">

 

Hojas de estilos CSS: Clases

Es normal querer definir unos estilos globales en hojas externas que homogeneicen el aspecto de nuestras páginas, y luego, en una página concreta querer variar el estilo en alguna etiqueta concreta.
Como ya sabemos, esto podemos hacerlo definiendo el estilo localmente en esa etiqueta.
Pero también puede suceder que esta definición de un estilo concreto queramos aplicarla a otra etiqueta.
Una clase es una definición de un estilo que en principio no está asociado a alguna etiqueta HTML, pero que podemos asociar a etiquetas concretas.
Para ello, en primer lugar definimos la clase:
.nombre_de_nuestra_clase {valor1: valor; valor2:valor, etc..}
Es decir, escribiendo un punto seguido del nombre que le queramos dar a la clase, y definiendo el estilo como lo definimos para cualquier otra etiqueta: para propiedad: valor separados por punto y coma y encerrados entre llaves. Además, podremos definir cuantas clases necesitemos.
Para aplicar el estilo de una clase a una etiqueta utilizamos el parámetro CLASS:
<etiqueta CLASS="nombre_de_nuestra_clase"> ... </etiqueta>
Donde nombre_de_nuestra_clase es el nombre que le hemos dado a la clase, sin el punto.
Mediante la definición de 'clases' se establecen estilos que pueden aplicarse a cualquier etiqueta de HTML. El estilo no se vincula a una etiqueta concreto sino a una 'clase'.
esta clase, actua como atributo de cualquier etiqueta, cada vez que se quiera llamar a ese estilo, basta con incluir el nombre de esa clase dentro de la etiqueta correspondiente.
<HTML>
<HEAD>
<TITLE>Titulo</TITLE>
<STYLE TYPE="text/css">
H1.nuevaclase { color:red; }
.nuevaclase2 {color:blue;}
</STYLE>
</HEAD>
<BODY>
<H1 CLASS="nuevaclase">Este texto aparece en rojo</H1>
<H1>Este texto aparece como un H1 normal</H1>
<H1 class="nuevaclase2">Este texto aparece en blue</H1>
<P class="nuevaclase">Este texto aparece en rojo</P>
</BODY>
</HTML>
Se pueden establecer clases separadas. Una misma etiqueta HTML puede tener diferentes "clases", permitiendo que un mismo elemento ofrezca diferentes estilos, por ejemplo:
H1.clase1 {font: 15px; color: red;}
H1.clase2 {font: 15px; color: blue;}
H1.clase3 {font: 15px;color: green;}
Esto se transformaría a nivel de código:
<H1 CLASS="clase1 ">Este texto se vería en color rojo</H1>
<H1 CLASS="clase2">Este texto se vería en color blue</H1>
<H1 CLASS="clase3">Este texto se vería en color green</H1>

 Como crear una tabla en HTML

<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td>Celda 1</td>
<td>Celda 2</td>
<td>Celda 3</td>
<td>Celda 4</td>
</tr>
<tr>
<td>Celda 5</td>
<td>Celda 6</td>
<td>Celda 7</td>
<td>Celda 8</td>
</tr>
</table>

 

Base de datos.

Es un sistema que almacena datos que están relacionados.
Es un repositorio en donde guardamos información integrada que podemos almacenar y recuperar.
  •  Un conjunto de información almacenada en memoria auxiliar que permite acceso directo y un conjunto de programas que manipulan esos datos
Componentes de una Base de Datos:
  • Hardware: constituido por dispositivo de almacenamiento como discos, tambores, cintas, etc.

  • Software: que es el DBMS o Sistema Administrador de Base de Datos.

  • Datos: los cuales están almacenados de acuerdo a la estructura externa y van a ser procesados para convertirse en información.

Tipos de Usuarios en Base de Datos
  • Usuario Final: es la persona que utiliza los datos, esta persona ve datos convertidos en información:
  • Desarrollador de Aplicaciones: es la persona que desarrolla los sistemas que interactuàn con la Base de Datos.
  • DBA: es la persona que asegura integridad, consistencia, redundancia, seguridad este es el Administrador de Base de Datos quien sed encarga de realizar el mantenimiento diario o periòdico de los datos.
Las personas tienen acceso DBMS se clasifican de la siguiente manera:
USUARIOS INGENUOS. – Son aquellos que interactuan con el sistema por medio de aplicaciones permanentes.
USUARIOS SOFISTICADOS.- son aquellos con la capacidad de acceder a la información por medios de lenguajes de consulta.
PROGRAMADORES DE APLICACIÓN.- son aquellos con un amplio dominio del DML capaces de generar nuevos módulos o utilerias capaces de manejar nuevos datos en el sistema.
USUARIOS ESPECIALIZADOS.- son aquellos que desarrollan módulos que no se refieren precisamente al manejo de los datos, si no a aplicaciones avanzadas como sistemas expertos, reconocimientos de imágenes, procesamiento de audio y demás.
Conceptos Bàsicos de Base de datos
  • Archivo: son conjuntos de registros.

  • Registros: son conjuntos de campos.

  • Campos: es la minìma unidad de referencia.

Niveles de Abstracción en Base de datos
 Externo: esa es la visiòn del usuario final, se ve como se maneja los datos ya convertidos en información.
Es aquel en el que se presenta al usuario final y que puede combinaciones o relaciones entre los datos que conforman a la base de datos global. Puede definirse como la forma en el que el usuario aprecia la información y sus relaciones.
Conceptual: se ve como esta estructurado la Base Datos, equipos de campo tiene como estan estructurado los registros.
Es aquel en el que se definen las estructuras lógicas de almacenamiento y las relaciones que se darán entre ellas. Ejemplos comunes de este nivel son el diseño de los registros y las ligas que permitirán la conexión entre registros de un mismo archivo, de archivos distintos incluso, de ligas hacia archivos.
Interno: se ve como se almacena los datos fisicamente.
Es aquel en el que se determinan las características de almacenamiento en el medio secundario. Los diseñadores de este nivel poseen un amplio dominio de cuestiones técnicas y de manejo de hardware. Muchas veces se opta por mantener el nivel físico proporcionado por el sistema operativo para facilitar y agilizar el desarrollo.
DBMS(Data Managment System (Sistema Administrador de Base de Datos) )
Los Sistemas Gestores de Bases de Datos son un tipo de software muy específico, dedicado a servir de interfaz entre las bases de datos y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. En los textos que tratan este tema, o temas relacionados, se mencionan los términos SGBD y DBMS, siendo ambos equivalentes, y acrónimos, respectivamente, de Sistema Gestor de Bases de Datos y DataBase Management System, su expresión inglesa.
 Subsistema de un DBMS
 
 Motor ò Núcleo DBMS: recibe los requerimientos lògicos de E/S y los convierte en operaciones de lectura y escritura. Lògicos: son cualquier tipo de consulta requerimiento de lectura con ingreso de datos (requerimiento de estructura) es ayudado por el Sistema Operativo para convertir estos requerimientos lògicos en fìsicos que actuàn sobre dispositivos de almacenamiento.
Herramientas de definición: permite definir y modificar la estructura de la Base de Datos, a este nivel definimos lo que se conoce como "Esquema " que es la definición total de Base de Datos, es que definimos la estructura de la tabla, los tipos de campos, las restricciones para los campos.
  • Subesquema: manejo de vistas de datos, de niveles externos.

  • Esquema: manejo de niveles conceptuales.
Interface de Procesamiento: me provee de las facilidades de actualizaciòn, despliegue y visualizaciòn de datos.
Desarrollo de Aplicaciones: me permite generar una aplicación por Ej: generadores de formas, pantalla, còdigo, herramientas case, etc.
Diccionario de Datos: este es el componente al subsistema con el que interactuàn directamente el DBA, le proporciona niveles de consulta y reportes útiles para su trabajo de administración. Es la descripción de la estructura de Base de Datos y relaciones entre datos, y programas.
DBMS
Caracterìsticas y Objetos:
  • Independencia de Datos: el DBMS me provee una independencia de mis datos vs. las aplicaciones.
  •  Cambio en datos no implica cambio en programas y viceversa (Menor coste de mantenimiento).
  • Minimizar Redundancia (Datos repetidos): desperdicio de Espacio de Almacenamiento.
Independencia de datos es proteger nuestro programa de aplicaciones frente a las modificaciones en la estructura de datos y viceversa, ya sea en forma física ò lógica.
  • Independencia Física: es protección a los programas de aplicación debido a cambios en la estructura de archivos, con cambios en las características de los campos. Ej: cambio de clave primaria a secundaria.

  • Independencia Lógica: protección a los programas de aplicación cuando se modifica el esquema.
Redundancia, datos repetidos y distribuidos en cualquier parte. El efecto que ocasiona la redundancia es tener inconsistencia de datos y desperdicio de espacio de almacenamiento.
 Esta se presenta cuando se repiten innecesariamente datos en los archivos que conforman la base de datos.
  • Inconsistencia de Datos: dato que esta en lugar con un valor y encuentra en otro lugar con otro valor. Ej: se actualiza el archivo cliente pero no se actualiza el archivo de transacciones.
 Ocurre cuando existe información contradictoria o incongruente en la base de datos.
Integridad de Datos
 Integridad: conjunto de seguridades que son utilizadas para mantener los datos correctos.
  Ocurre cuando no existe a través de todo el sistema procedimientos uniformes de validación para los datos.
  • Fuente de Error: estas fuentes de error se origina si el programa de entrada de datos no esta validado. Ej: fallas de hardware, actualizaciones incompletas, defectos del software, inserción de datos no vàlidos, errores humanos.
 Una tècnica que usa el BDMS de una entrada de datos no vàlida es la validación.
 Validación: es proteger los datos, validar los datos en la entrada de datos. Existen tipos de validaciones:
  • Tipo de Dato: es si se define un campo como carácter ò char y no puede ingresar nùmeros enteros.

  • Valor de Dato: si se define un valor entero se puede especificar un rango y no se puede pasar de ese valor.

  • Valores Claves / No Nulos: asegura registros ùnicos y cuyos valores no sean nulos.

  • Integridad Referencial: asegura al DBMS que no exista registros hijos sin sus registros padres correspondientes.

--> Lenguaje de manipulación de datos
Consulta de datos.
El proceso más importate que podemos llevar a cabo en una base de datos es la consulta de los datos. De nada serviría una base de datos si no puedieramos consultarla. Es además la operación que efectuaremos con mayor frecuencia.
Para consultar la información SQL pone a nuestra disposición la sentencia SELECT.
La sentencia SELECT
La sentencia SELECT nos permite consultar los datos almacenados en una tabla de la base de datos.
El formato de la sentencia select es:


SELECT [ALL | DISTINCT ]
<nombre_campo> [{,<nombre_campo>}]
FROM <nombre_tabla>|<nombre_vista>
[{,<nombre_tabla>|<nombre_vista>}]
[WHERE <condicion> [{ AND|OR <condicion>}]]
[GROUP BY <nombre_campo> [{,<nombre_campo >}]]
[HAVING <condicion>[{ AND|OR <condicion>}]]
[ORDER BY <nombre_campo>|<indice_campo>[ASC | DESC]
[{,<nombre_campo>|<indice_campo>[ASC | DESC ]}]]


Veamos por partes que quiere decir cada una de las partes que conforman la sentecia.


Significado
SELECT
Palabra clave que indica que la sentencia de SQL que queremos ejecutar es de selección.
ALL
Indica que queremos seleccionar todos los valores.Es el valor por defecto y no suele especificarse casi nunca.
DISTINCT
Indica que queremos seleccionar sólo los valores distintos.
FROM
Indica la tabla (o tablas) desde la que queremos recuperar los datos. En el caso de que exista más de una tabla se denomina a la consulta "consulta combinada" o "join". En las consultas combinadas es necesario aplicar una condición de combinación a través de una cláusula WHERE.
WHERE
Especifica una condición que debe cumplirse para que los datos sean devueltos por la consulta. Admite los operadores lógicos AND y OR.
GROUP BY
Especifica la agrupación que se da a los datos. Se usa siempre en combinación con funciones agregadas.
HAVING
Especifica una condición que debe cumplirse para los datosEspecifica una condición que debe cumplirse para que los datos sean devueltos por la consulta. Su funcionamiento es similar al de WHERE pero aplicado al conjunto de resultados devueltos por la consulta. Debe aplicarse siempre junto a GROUP BY y la condicion debe estar referida a los campos contenidos en ella.
ORDER BY
Presenta el resultado ordenado por las columnas indicadas. El orden puede expresarse con ASC (orden ascendente) y DESC (orden descendente). El valor predeterminado es ASC.
Para formular una consulta a la tabla tCoches (creada en el capítulo de tablas) y recuperar los campos matricula, marca, modelo, color, numero_kilometros, num_plazas debemos ejecutar la siguiente consulta. Los datos seran devueltos ordenados por marca y por modelo en orden ascendente, de menor a mayor.


SELECT matricula,
marca,
modelo,
color,
numero_kilometros,
num_plazas
FROM tCoches
ORDER BY marca,modelo;
La palabra clave FROM indica que los datos serán recuperados de la tabla tCoches. Podriamos haber especificado mas de una tabla, pero esto se verá en el apartado de consultas combinadas.
Tambien podríamos haber simplicado la consulta a través del uso del comodin de campos, el asterisco "*".


SELECT *
FROM tCoches
ORDER BY marca,modelo;
El uso del asterisco indica que queremos que la consulta devuelva todos los campos que existen en la tabla.
La cláusula WHERE
La cláusula WHERE es la instrucción que nos permite filtrar el resultado de una sentencia SELECT.Habitualmente no deseamos obtener toda la información existente en la tabla, sino que queremos obtener sólo la información que nos resulte util es ese momento. La cláusula WHERE filtra los datos antes de ser devueltos por la consulta.
En nuestro ejemplo, si queremos consultar un coche en concreto debemos agregar una cláusula WHERE. Esta cláusula especifica una o varias condiciones que deben cumplirse para que la sentencia SELECT devuelva los datos. Por ejemplo, para que la consulta devuelva sólo los datos del coche con maricula M-1525-ZA debemos ejecutar la siguiente sentencia:


SELECT matricula,
marca,
modelo,
color,
numero_kilometros,
num_plazas
FROM tCoches
WHERE matricula = 'M-1525-ZA';
Cuando en una cláusula where queremos incluir un tipo texto, debemos incluir el valor entre comillas simples.
Además, podemos utilizar tantas condiciones como queramos, utilizando los operadores lógicos AND y OR . El siguiente ejemplo muestra una consulta que devolverá los coches cuyas matriculas sean M-1525-ZA o bien M-2566-AA.


SELECT
matricula,
marca,
modelo,
color,
numero_kilometros,
num_plazas
FROM tCoches
WHERE matricula = 'M-1525-ZA'
OR matricula = 'M-2566-AA' ;
Además una condición WHERE puede ser negada a través del operador lógico NOT. La siguiente consulta devolverá todos los datos de la tabla tCohes menos el que tenga matricula M-1525-ZA.


SELECT
matricula,
marca,
modelo,
color,
numero_kilometros,
num_plazas
FROM tCoches
WHERE NOT matricula = 'M-1525-ZA' ;
Podemos tambien obtener las diferentes marcas y modelos de coches ejecutando la consulta.


SELECT DISTINCT
marca,
modelo
FROM tCoches;
La ver los valores distintos. En el caso anterior se devolveran lpalabra clave DISTINCT indica que sólo queremos os valores distintos del par formado por los campos marca y modelo.


La cláusula ORDER BY
Como ya hemos visto en los ejemplos anteriores podemos especificar el orden en el que serán devueltos los datos a través de la cláusula ORDER BY.


SELECT matricula,
marca,
modelo,
color,
numero_kilometros,
num_plazas
FROM tCoches
ORDER BY marca ASC,modelo DESC;
Como podemos ver en el ejemplo podemos especificar la ordenación ascendente o descendente a través de las palabras clave ASC y DESC. La ordenación depende del tipo de datos que este definido en la columna, de forma que un campo númerico será ordenado como tal, y un alfanúmerico se ordenará de la A a la Z, aunque su contenido sea númerico. De esta forma el valor 100 se devuelve antes que el 11.
También podemos especificar el en la cláusula ORDER BY el índice númerico del campo dentro del la sentencia SELECT para la ordenación, el siguiente ejemplo ordenaría los datos por el campo marca, ya que aparece en segundo lugar dentro de la lista de campos que componen la SELECT.


SELECT matricula,
marca,
modelo,
color,
numero_kilometros,
num_plazas
FROM tCoches
ORDER BY 2;