¿Qué es una Base de Datos?

Anuncio
1
AÑO 8 N . 90 -91 / ENERO - FEBRERO DE 2006
O
La computación al servicio de la persona
Publicación Mensual / Grupo de Computación
Centro de Formación Cívica y Religiosa de Pinar del Río
La digitalización de la información (V)
¿Qué es una
Base de Datos?
En números anteriores hemos tratado el tema de la
digitalización de la información de video, audio, imágenes,
etc. En esta ocasión trataremos las bases de datos, que son
como almacenes de información, que en su primera forma de
texto y números jugaron un papel decisivo en los albores de
la informática, y que hoy almacenan todo tipo de información.
Para empezar podemos decir que una base de datos es
cualquier conjunto de datos organizados para su
almacenamiento en la memoria de una o varias computadoras,
diseñado para facilitar su acceso y actualización.
Vista de un formulario de ventas de una tienda. Corresponde
a la base de datos Neptuno, un ejemplo incluido en Microsoft
Access 2003
Restringir el acceso de los usuarios a
las aplicaciones
A veces es necesario que determinados usuarios de
una PC compartida por varias personas, no puedan
acceder a determinados programas de aplicación. Hay
varias maneras, pero la más sencilla consiste en quitar
el permiso de acceso de los usuarios deseados a la
carpeta donde está el programa, o simplemente, al
ejecutable princiapal. Esto es posible sólo en Windows
NT, 2000 o XP.
Para modificar los permisos de una carpeta basta
hacer clic derecho en ésta, y hacer clic en propiedades,
ahí escoger la pestaña seguridad. Aparecerá la ventana
con la lista de permisos sobre usuarios y grupos de la
máquina. Al usuario correspondiente se le debe quitar el
permiso de lectura. Es posible que los permisos no estén
asignados por usuarios, sino al grupo Usuarios de la PC,
pues dichos permisos sean comunes a todos en la
carpeta seleccionada. En este caso hay que eliminar
Una base de datos puede ser la nómina de pago de una
empresa, la relación de productos de una tienda, la lista de
secuencias de virus conocidas para usar en un antivirus, el
inventario de un museo, la lista de abonados y servicios
contratados de una central telefónica, etc. La humanidad
trabaja con bases de datos desde que aparecieron las primeras
formas de organización, sólo que no fue hasta mediados del
siglo pasado que éstas comenzaron a ser almacenadas y
gestionadas utilizando máquinas. Una parte importante del éxito
de las computadoras consistió precisamente en que su aplicación
al almacenamiento y gestión rápida y segura de datos, dio un
gran impulso a la múltiples sectores de la sociedad.
En 1970 el investigador británico Edgar F. Codd desarrolló
el concepto de Base de Datos Relacional que consiste en una
forma de administrar la información en la que se almacena la
información en varias tablas (filas y columnas de datos) o
ficheros independientes y realiza búsquedas que permiten
relacionar datos que han sido almacenados en más de una
continúá en la próxima página...
Trucos con PC
dicha asignación al grupo, o simplemente denegarle el
permiso de lectura y entonces establecer los permisos
de acceso individuales por usuario.
2
...¿Qué es una base de datos?
tabla. Con la aparición de Internet el concepto se amplía, y los
sistemas de gestión de datos pueden relacionar información
almacenada en computadoras en todo el mundo. Por ejemplo,
las tiendas virtuales como amazon.com o los proveedores de
correo electrónico como yahoo.com, tienen sus bases de
datos distribuidas en servidores en el mundo entero. Un gestor
de bases de datos debe cuidar varios elementos, que a su vez
constituyen sus objetivos principales, estos son:
Independencia entre los datos y los
programas de aplicación
Consiste en que haya inmunidad de las aplicaciones a los
cambios en la estructura de almacenamiento y en la estrategia
de acceso , constituye el objetivo fundamental de los sistemas
de gestión de bases de datos (SGBD).
Ya vimos que con ficheros tradicionales la lógica de la
aplicación contempla la organización de los ficheros y el
método de acceso. Por ejemplo, si por razones de eficiencia
se utiliza un fichero secuencial indexado, el programa de
aplicaciones debe considerar la existencia de los índices y la
secuencia del fichero. Entonces es imposible modificar la
estructura de almacenamiento o la estrategia de acceso sin
afectar el programa de aplicación (naturalmente, lo que se
afecta en el programa son las partes de éste que tratan los
ficheros, lo que es ajeno al problema real que el programa de
aplicación necesita resolver.) En cambio en un SGBD se
debe poder modificar la estructura de almacenamiento o el método
de acceso según los cambios en el fenómeno o proceso de la
realidad sin necesidad de modificar los programas de aplicación
(también para buscar mayor eficiencia).
Minimizar la redundancia
Consiste en que se guarden sólo los datos necesarios,
sin que haya necesidad de repetirlos para implementar
determinadas facilidades de procesamiento.
Integración y sincronización de las bases de datos
El SGBD debe garantizar la entrega al programa de
aplicación de los datos que solicita y en la forma en que lo
solicita. Esta se encuentra vinculada a la sincronización, que
consiste en la necesidad de garantizar el acceso múltiple y
simultáneo a la BD, de modo que los datos puedan ser
compartidos por diferentes usuarios a la vez. Están
relacionadas, ya que lo usual es que diferentes usuarios
trabajen con diferentes enfoques y requieran los mismos
datos, pero desde diferentes puntos de vista.
Integridad de los datos
Consiste en garantizar la no contradicción entre los datos
almacenados de modo que, en cualquier momento del tiempo,
los datos almacenados sean correctos, es decir, que no se
detecte inconsistencia entre los datos. Está relacionada con
la minimización de redundancia, ya que es más fácil garantizar
la integridad si se elimina ésta.
Seguridad y protección de los datos
Protección: garantizar sólo el acceso autorizado a los datos,
de forma tal que se impida cualquier intento de acceso no
autorizado.
Seguridad: que el sistema de bases de datos disponga de
métodos que garanticen la restauración de las BD al producirse
alguna falla técnica, interrupción de la energía eléctrica, etc.
SQL
Son las siglas en inglés de Lenguaje de Consulta
Estructurado (Standard Query Language), el cual es uno de
los recursos más utilizados para administrar bases de datos
con gran independencia del hardware de la máquina donde
están almacenados los datos, así como del sistema operativo
que corre.
SQL es un lenguaje para consultar, actualizar y manejar
bases de datos relacionales. Se deriva de un proyecto de
investigación de IBM, que creó el “lenguaje estructurado de
consulta en inglés” (SEQUEL) a mediados de la década de
1970. El SQL (Structured Query Language) es un estándar
aceptado en productos de bases de datos, que fue utilizado
comercialmente por primera vez por la empresa Oracle en 1979.
A pesar de que no se trata de un lenguaje de programación
como puedan serlo C o Pascal, puede utilizarse en el diseño
continúa...
Desactivar la
Trucos con PC
llamada en espera
Cuando se va a utilizar el módem para conectar la PC a un servidor,
es conveniente que no esté activado el servicio de llamada en espera,
muy común en los usuarios de plantas digitales. El hecho de que el
servicio esté activado, hace que cuando alguien llama a nuestro número,
cuando el módem está conectado, los tonos de aviso de la central que
normalmente nos indican que está entrando otra llamada, pueden hacer
abortar la comunicación entre nuestra máquina y el servidor. Esto se
debe a que estos tonos hacen perder en sincronismo de datos a los
módems que están activos en ese momento.
Para evitar esto, se puede utilizar la configuración de
95/98/XP en el Panel de Control, en el icono de acceso a
los módems, se marca el módem que interesa y allí en
Propiedades de marcado existe una línea “Ubicación con
llamada en espera. Para desactivar marcar:” Ahí se debe
introducir el código #43# que sirve para desactivar el
servicio. El código para activar el servicio es *43#.
Edita: Centro de Formación Cívica y Religiosa / Obispado de Pinar
del Río, Calle Máximo Gómez No. 160 e/ Ave. Rafael Ferro y
Comandante Pinares. Pinar del Río / Tel. 752359. Email:
obipinar@cocc.co.cu, Asunto: Infonotas. Redacción : Grupo de Computación. CFCR. Director: Sergio L. Cabarrouy / Distribución:
Estefanía Zagorski. Enero - Febrero de 2006.
Cómo desconectar la llamada en espera.
Infonotas será mejor si usted colabora en su realización.
Haga llegar sus artículos a la oficina del Centro de Formación Cívica y Religiosa en el Obispado de esta ciudad. Los
trabajos pueden presentarse impresos o en disco.
Esperamos su colaboración
3
¿El fin de la TV
convencional?
Opinión
¿Vivimos en la era del entretenimiento on-demand? Las
nuevas tecnologías e Internet están otorgando al consumidor
más poder que nunca, y el resultado es un explosivo
crecimiento de posibilidades que permiten la elección a la
carta de contenidos, imágenes y música. Anoten estos datos
registrados en EE.UU. en 2005: 24 millones de hogares tienen
acceso al servicio de video-on-demand de la TV por cable; 10
millones de hogares disponen de dispositivos de time-shifting,
esto es, que permiten programar el tiempo de grabación en
TV; 38 millones de hogares, con Internet de alta velocidad; 10
millones utilizan iTunes, el servicio de música y video online
de Apple; 300.000 habrán empleado el podcasting.
Algunos medios como Business Week se han referido al
fenómeno como “el final de la TV como usted la conocía”, y
han destacado una fecha clave, el 7 de noviembre, como el
comienzo de una nueva era; ese día NBC Universal y CBS
Broadcasting abandonaron viejas políticas y decidieron
empezar a distribuir bajo demanda sus principales shows.
También ha sido importante el anuncio de Yahoo de divulgar
una tecnología que permite utilizar a distancia, para grabar
emisiones de TV, el dispositivo digital TiVo. El CEO de
Comcast Corp, el mayor operador de cable del país, sostiene
que “la computadora ha explotado dentro del televisor”.
El fenómeno preocupa a las networks y a los grandes
conglomerados mediáticos, dado que se fragmentan las
audiencias y los mercados, y los anunciantes ven difuminado
su mensaje. La publicidad en Internet es todavía una fracción
mínima, no más del 2,7 %, del negocio de los $17.800 millones
que atraen las cadenas de TV. Pero crece al 40 % anual. Y más
todavía que la competencia de Internet, a los gigantes
mediáticos les inquieta la distribución gratuita de contenidos,
como la que permite eDonkey.com, hoy con tres millones de
usuarios. Y es que Internet, en sí mismo es, o empieza a ser,
un medio-on-demand, que, al hacer posible lograr lo que uno
quiere en el momento deseado, ha cambiado la percepción de
los consumidores hacia la oferta de los medios tradicionales.
...¿Qué es una base de datos?
de consultas interactivas y puede incluirse en un programa
cualquiera como un conjunto de instrucciones de manejo de
datos (sentencias). Por ejemplo, basándose en soportes
externos al propio lenguaje y aun al propio programa ya
compilado (como es un servidor o un motor SQL que haga de
puente entre la aplicación, el sistema operativo y las bases de
datos), lenguajes como Visual Basic o C/C++ pueden incluir
sentencias SQL en su código.
Aunque en el mercado se pueden encontrar diversas
variantes (dialectos) del lenguaje SQL, todos tienen un mínimo
común basado en el estándar ANSI SQL de 1986, con
extensiones propietarias. Desde 1991 se fueron realizando
progresos para disponer de un estándar cada vez más
Esquema de las relaciones de la base de datos Neptuno de
Access 2003.
completo, conocido como SAG SQL, propiciado por el
denominado SQL Access Group.
El SQL estándar cuenta con elementos destinados a la
definición, modificación, control, protección de los datos y
acceso a bases de datos distribuidas en una red, haciendo
factible que varios usuarios puedan consultar la misma base
de datos de forma simultánea. Debido a su simplicidad, que
proviene de ser sintáctica y gramaticalmente cercano al
lenguaje natural, pueden utilizarlo tanto los usuarios técnicos
como los que no lo son; esto, unido a su potencia, lo ha
hecho muy popular.
Los sistemas de gestión de bases de datos
más conocidos
Microsoft Fox Pro: Es un sistema de gestión de bases de
datos relacionales orientado a la elaboración de un programa
que corre sobre Windows (aunque también puede compilarse
para Unix), y que gestiona los datos almacenados en tablas
que se guardan en ficheros en el disco duro local o la red. El
programa elaborado utiliza SQL para interactuar con la base
de datos.
Microsoft Access: Sistema de gestión de bases de datos
relacionales orientado al diseño de ficheros que contienen
tanto la información de datos como las características de la
interfaz, pero que no genera necesariamente un programa
ejecutable. Esto tiene la ventaja de que facilita las labores de
mantenimiento y modificación de la base de datos de manera
muy simple sin que se pierda la integridad, pero necesita tener
instalado en la máquina el motor de la base de datos, que
normalmente viene incluido en los paquetes Office de
Microsoft.
SQL Server: Motor de bases de datos, que puede
gestionar una o varias bases de datos, y corre normalmente
en un servidor, pero puede hacerlo en una máquina con
sistema operativo cliente, sea Windows o Linux. Oracle,
continúa...
4
La RIIAL,
una red de personas, para
llegar hasta el último
Así se define esta red desde sus albores, cuando fue
creada a principio de los noventa del siglo pasado, por
iniciativa de Juan Pablo II, de venerada memoria. Quien
escucha el término “Red Informática para la Iglesia en América
Latina”, lo primero que se imagina es en una organización de
soporte técnico compuesta por servidores, máquinas clientes,
fibras ópticas, y enlaces satelitales, como cualquier red. Sin
embargo esta es ante todo una red de personas integrada por
técnicos en informática, obispos, sacerdotes, religiosos, laicos
y organizaciones eclesiales que colaboran entre sí para tender
puentes de comunicación entre las comunidades cristianas y
el mundo, sin importar el medio de comunicación. Los
miembros de la RIIAL se ocupan fundamentalmente de
servicios de información que responden a sus iglesias
particulares, cada cual con su propio estilo y autonomía. Éstos
pueden ser servidores de correo, web, ftp, chat, foros de
discusión y noticias, software específico para la Iglesia,
aplicaciones multimedia, allí donde la tecnología disponible
lo permite, pero donde no, simplemente puede que usen el
Packet Radio en medio de la selva o el transporte público de
montaña. El problema es que la información fluya libremente
entre las comunidades y el mundo, para servir al anuncio del
mensaje cristiano que realiza la Iglesia y que llamamos
Evangelización.
La Red la integran todos los que forman la Iglesia en
Iberoamérica, incluyendo Italia, aunque aún no hayan
comenzado un proceso de informatización, pero que quieren
incorporar la informática como otro medio para el trabajo
evangelizador.
La RIIAL tiene cuatro grandes
campos de trabajo:
Comunicación eclesial: Servicios técnicos y contenidos
(material multimedia, web, listas de discusión y correos)
puestos en común.
Capilaridad: Llegar hasta los últimos y necesitados. Esto
significa que lo primero es procurar que los más apartados,
con menos acceso a la tecnología puedan conectarse a la red;
en segundo término está el aumentar otras prestaciones como
potencia de los servidores, velocidades de transmisión. La
RIIAL prioriza las relaciones efectivas entre las personas
conectadas a las redes, basándose en la sistematicidad en
compartir contenidos. Así se trata de evitar lo que ocurre en
algunas iglesias particulares donde la mayoría de las personas
tiene conexión a Internet, pero uno no conoce el correo del
otro, así se pierde un enorme potencial de trabajo en común.
Estudio y Formación: Análisis de la realidad para realizar
proyectos de desarrollo de redes, así como talleres de técnicos
en los que se enseña el manejo de la tecnología informática,
así como, el estilo de trabajo de la RIIAL.
Tecnología para la Iglesia: Programas específicos para
facilitar el trabajo en la Iglesia. El más importante se llama
Office Eclesial, que es un gestor de bases de datos que incluye
la gestión de la información de bautismo, matrimonio,
defunción, etc., así como listas de contactos, gestión de
proyectos, economía, entre otras utilidades. En estos
momentos la RIIAL ha sido encargada por el CELAM de
gestionar los aportes a la V Asamblea de Obispos de todo el
continente, para ello ha desarrollado un sistema informático
basado en una pequeña base de datos que cabe en un disquete
y contiene el documento de trabajo, permitiendo agregar a éste
los aportes, es muy fácil de usar y corre en un procesador 386.
La RIIAL trabaja para que Internet sea como una “mesa
común” donde cualquier persona pueda encontrar amigos,
ayudas técnicas o humanas, así como espacios de
participación. En esta mesa cada cual se puede beneficiar de
los hallazgos de los demás e influir en la opinión pública.
La RIIAL está al servicio de cada iglesia particular, pero
también de las conferencias episcopales. No es una
organización que “baja directivas” a sus miembros, sino que
agrupa personas y organizaciones de comunicación
autónomas de las iglesias particulares, y realiza trabajos en
común por encargo de organizaciones de la Iglesia o por
propia iniciativa, para responder a una necesidad.
La Iglesia debe tender puentes humanos e informáticos
que promuevan la construcción del tejido social que está
dañado por muchos factores, entre ellos la llamada “brecha
digital”, que agrega un factor de discriminación a los ya
existentes, debido al hecho de que las personas que pueden
acceder a Internet tienen acceso a más oportunidades de
formación, trabajo y recreación que las que no. Al mismo
tiempo, la Iglesia debe ser la “presencia humanizante” en la
carrera tecnológica que también puede enajenar a las personas
y someterlas a graves peligros.
Algunos de los servicios de la RIIAL
Agencias de Noticias, Servicios Informativos, Radios (1)
Vatican Information Service,VIS:
www.vatican.va/news_services/press/vis/vis_sp.html
Noticelam: www.celam.org
Zenit: www.zenit.org
Servicio de Observación sobre Internet SOI:
www.observatoriodigital.net
Radio Vaticana: www.radiovaticano.org
CNBB (Brasil) : www.cnbb.org.br/noticias.html
5
Agencia Ecclesia (Portugal): www.ecclesia.pt
Oficina de Prensa (Perú): www.iglesiacatolica.org.pe/cep/
Agencia FIDES: www.fides.org
Servidoras - Magisterio de la Iglesia:
www.servidoras.org.ar
Biblioteca de la Congregación para el Clero:
www.clerus.org
Biblioteca Electrónica Cristiana -BEC:
www.multimedios.org
Servicios Informáticos RIIAL:
Centro “Ntra. Señora de Guadalupe”: www.riial.org\centro
Plan Alfa: www.planalfa.es
Directorios Eclesiásticos:
Consejo Episcopal Latinoamericano-CELAM:
www.celam.org
Archidiócesis de Madrid-Guía Internet de la Iglesia
Católica: www.archimadrid.es/guia/guia.htm
Vista del Office Eclesial, herramienta para la gestión de la
información parroquial, hecha en Ms FoxPro.
Glosario
Packet Radio: Sistema de transmisión de datos basado en
MODEMs muy sencillos que se acoplan a plantas de
radioaficionados, las velocidades de transmisión son bajas (hasta
9600 bps), pero se puede lograr una transmisión de datos entre dos
terminales en cualquier parte del mundo. Existen servidores
internacionales para packet radio, algunos gratuitos y otros no. En
Cuba la Federación Nacional de Radioaficionados regula el uso de
esta tecnología.
Evangelización: Es la misión principal de la Iglesia, consiste
en anunciar el mensaje de Jesucristo a través del culto, la predicación
y las obras de caridad, las cuales incluyen la promoción integral de
la persona, y la transformación de la sociedad.
Iglesia Particular: Porción de la Iglesia a cargo de un Obispo
(o varios obispos, un titular y sus auxiliares). Ver Diócesis.
CELAM: Conferencia Episcopal Latinoamericana. Organización
de coordinación y consulta al servicio de las Conferencias Episcopales
de Latinoamérica.
Conferencia Episcopal: Asamblea que reúne a los obispos
católicos de un país. Es un espacio común de consulta y coordinación
del trabajo común entre los obispos de las diferentes diócesis del
país.
Diócesis: Porción de la Iglesia Católica a cargo de uno o varios
obispos, de los cuales uno es el titular y los otros auxiliares. En
muchos casos las diócesis coinciden geográficamente con las
provincias civiles. En Cuba hay 11 diócesis y por ejemplo la nuestra,
Pinar del Río, va desde Guanajay hasta el Cabo de San Antonio, la
diócesis de La Habana incluye las dos provincias civiles habaneras,
pero Matanzas coincide exactamente con la provincia civil. Cada
diócesis es autónoma y el obispo titular de ésta debe obediencia
solamente al Papa.
Noticias
Los servicios de seguridad no pueden
"escuchar" a través de Skype.com
Mientras muchos gobiernos debaten la legalidad de las
escuchas telefónicas, y otros simplemente escuchan, la
tecnología de mayor crecimiento para las llamadas por la Red
parece tener el potencial de hacer de aquella práctica una
cuestión del pasado. Skype garantiza la confidencialidad de
las llamadas al encriptar las conversaciones entre los usuarios
Skype, el servicio de comunicaciones telefónicas por
Internet recientemente adquirido por eBay, suministra llamadas
telefónicas y mensajes instantáneos entre los usuarios. Sin
embargo y a diferencia de otras herramientas similares, las
comunicaciones entre los usuarios que utilizan este sistema
transitan por la red de manera codificada lo que evita que
puedan interceptarse o grabarse el contenido de éstas por
terceras personas.
Skype no es la primera ni seguramente la última aplicación
que encripta la información. Durante años ha habido programas
de correos electrónicos y mensajes instantáneos seguros a
un costo reducido o gratis. Estos sistemas eran empleados
por los usuarios más "geeks" que también encriptaban sus
mensajes electrónicos con sistemas de llaves.
Pero en gran medida, los usuarios de Internet no habían
sentido una necesidad de privacidad tal que compensara el
esfuerzo extra necesario para aplicar la codificación. En particular, programas de correo electrónico como Pretty Good
Privacy son considerados engorrosos por mucha gente y
dificiles de comprender para aquellos que usen la red
principalmente para entretenerse./ IBLNEWS.
Google, Yahoo y otros gigantes,
cuestionados por su entrega a China
El congresista norteamericano Christopher Smith,
denunció la “colaboración enfermiza” de Google, Yahoo,
Microsoft y Cisco Systems con el Gobierno de China para
“decapitar la voz de los disidentes”.
¿Todo vale con tal de hacer negocios? ¿Tan pronto se ha
evaporado, por ejemplo, el idealismo de Google (y su famosa
proclama de “no seas malvado”)? Desde estas compañías
estadounidenses se está vendiendo hardware y software (routers, buscadores, filtros, rastreadores de blogs…) que el
régimen chino utiliza para vigilar a su población y se está
proporcionando información que sirve para encarcelar a
ciudadanos por practicar un simple ejercicio de libertad de
expresión. Los directivos de las cuatro mencionadas
compañías se defendieron en el Congreso argumentando
que era la Casa Blanca quien más podía hacer a la hora de
propiciar la reforma de los derechos humanos en China, y
que ellos vienen adaptándose a la cultura y usos locales
de cada país donde hacen negocios. Un congresista de
Iowa, se dirigió a Google espetándole: “¿De modo que si
queremos saber cómo ejercer la censura hay que dirigirse
a la compañía que simboliza la mayor libertad informativa
de la historia?” Elliot Schorage, que representaba a Google,
admitió “no es algo que hagamos con entusiasmo ni de lo
que nos sintamos orgullosos”. /IBLNEWS
Colección completa de la Revista Vitral en Internet
Vitral Mutimedia ha completado su colección de la Revista
agregando los primeros 22 números, que hasta ahora no
estaban en el sitio, activo desde el 22 de febrero de 1999.
6
¿Qué es una base de datos?...
Microsoft y otras venden programas servidores SQL. En este
caso es común que la interfaz de administración de la base de
datos sea responsabilidad del cliente. Ésta puede ser un
programa o un sitio web, con una tecnología de páginas web
activas (asp, php, etc.)
electrónico, la enseñanza, el correo, y la navegación web en
su implementación tecnológica, utilizan cada vez más
ampliamente las bases de datos, lo cual las hace
imprescindibles para el desarrollo de aplicaciones. Por tanto
un desarrollador debe conocer los principios generales del
funcionamiento de las bases de datos, así como las
herramientas de gestión que de forma más sencilla pueden
resolver necesidades.
Infonotas ha publicado un curso elemental de bases de
datos sobre MS Access en los números del 43 al 59, que
incluye los conceptos fundamentales de diseño de bases de
datos relacionales. Dichos conceptos deben ser el punto de
partida para la incursión en este fantástico y ya imprescindible
mundo de las bases de datos.
Glosario:
My SQL: Servidor SQL que soporta bases de datos de
pequeña capacidad y puede instalarse en cualquier máquina
que corra Linux o Windows. Es una herramienta muy usada
por los desarrolladores, que de esta forma pueden poner a
punto la base de datos y el sistema de gestión en su propia
PC y luego exportarla hacia un servidor donde realizará su
verdadera función.
Las bases de datos en Internet
Como acabamos de ver, una de las maneras de acceder y
administrar las bases de datos es a través de sitios web. Esta
tecnología se ha hecho cada vez más popular por su
flexibilidad y potencia, permitiendo que prácticamente
cualquier sitio pueda ser manejado como una base de datos,
lo cual a su vez provoca que el sitio pueda ser actualizado
dinámicamente, sin que haya que cambiar por ello el diseño
de las páginas web que el usuario consulta.
Esto se debe a que en la tecnología de los sitios web
activos, la página que le llega al cliente, se forma “en caliente”
en el servidor, inmediatamente después de su solicitud,
consultando para ello una o varias bases de datos, cuyo
contenido puede cambiar entre una solicitud de un cliente a
otra. Piense por ejemplo en una tienda on-line, en uno de
cuyos estantes ha ido usted a comprar un libro, uno de los
datos que se ofrece en la página es el número de ejemplares
en existencia en el momento en que ha accedido. Si usted
compra el libro, el próximo cliente que entre a esa página
encontrará un número de ejemplares en existencia menor al
menos en uno al que usted encontró.
Las páginas activas en un sitio web se programan
utilizando código específico para ese fin que se inserta dentro
del código HTML normal de las páginas. En dependencia de
la tecnología que se use en el servidor será la sintaxis del
código activo, los más comunes son PHP y ASP. Hay también
otras tecnologías como CGI pero los ficheros que contienen
el código son compilados, y realizados en algún lenguaje de
programación de alto nivel como C++.
Herramienta imprescindible en informática
Actualmente no se entiende la gestión de la información
en computadoras sin las bases de datos. El comercio
PHP: Acrónimo de Personal Home Page. Fue desarrollado
por Rasmus Lerdorf y su primer versión pública data de 1995.
Consiste en un programa intérprete y el código
correspondiente que se inserta en las páginas HTML, y que
permite realizar la inmensa mayoría del procesamiento de datos
común en la web, desde mandar y recibir cookies, hasta
consultar una base de datos, o generar automáticamente un
correo electrónico. Las páginas web que contenga código de
este tipo deben tener extensión PHP, para que el servidor
pueda utilizar el intérprete correspondiente a la hora de
“servirlas” a un cliente que quiera visitarla. Para que un
servidor pueda alojar un sitio con páginas PHP, el motor de
esta tecnología debe estar instalado allí. En www.php.net/
downloads.php se puede encontrar dicho intérprete libre, y
en www.php.net/download-docs.php, abundante
documentación.
ASP: Acrónimo de Active Server Pages. Tecnología de
páginas web activas desarrollada por Microsoft. Sigue el mismo
principio de funcionamiento explicado arriba para PHP, sólo que
el código en que se escribe puede ser Java Script o Visual Basic
Script, que surgieron respectivamente a partir de los lenguajes
de programación del alto nivel: Java y Visual Basic.
CGI: Acrónimo de Common Gateway Interface. Tecnología
que permite realizar páginas activas, pero el código que las
genera está compilado a partir de un lenguaje de programación
de alto nivel como C++. Los CGIs son muy eficientes pero
poco flexibles a la hora de dar mantenimiento al sitio, ya que
requieren recompilación.
SELECT Pedidos.IdPedido, Pedidos.IdCliente,
Pedidos.IdEmpleado, Pedidos.FechaPedido,
Pedidos.FechaEntrega, Pedidos.FechaEnvío,
Pedidos.FormaEnvío, Pedidos.Cargo, Clientes.Dirección,
Clientes.Ciudad, Clientes.Región, Clientes.CódPostal,
Clientes.País
FROM Clientes INNER JOIN Pedidos ON Clientes.IdCliente =
Pedidos.IdCliente;
Representación gráfica y en sentencia SQL de una consulta de
selección sobre dos tablas relacionadas (Base de datos Neptuno).
7
Elementos Activos y subprogramas
La referencia a controles ActiveX en el código HTML
tiene un aspecto parecido al de los Applets, en esencia
son muy parecidos. Los ActiveX son también módulos
de programas que se ejecutan en el cliente, pero la
diferencia con los Applets de Java es que estos últimos
son pseudo código (programa a medio compilar), que es
ejecutado por la Máquina Virtual de Java (JVM) que está
instalada en la computadora del cliente y está adjunta al
navegador. Los ActiveX en cambio, son programas ya
compilados que corren “libremente” en la máquina del
cliente, por lo que debe estar debidamente instalado como
parte del sistema operativo Windows y otro. Cuando se
instala Office y FrontPage en la máquina se instalan por
defecto varios de estos controles, así que a lo mejor el
navegador no tiene que pedirlo al servidor cuando encuentre
la referencia a uno de éstos en la página que ha descargado.
En caso contrario tiene que pedirlo, lo aceptará en función
de lo establecido en la seguridad. He aquí un ejemplo de la
referencia al ActiveX “Microsoft Calendar”:
<object classid="clsid:8E27C92B-1264-101C-8A2F040224009C02" id="Calendar1" width="288"
height="192">
<param name="_Version" value="524288">
<param name="_ExtentX" value="7620">
<param name="_ExtentY" value="5080">
<param name="_StockProps" value="1">
<param name="BackColor" value="-2147483633">
<param name="Year" value="2000">
<param name="Month" value="4">
<param name="Day" value="23">
<param name="DayLength" value="1">
<param name="MonthLength" value="2">
<param name="DayFontColor" value="0">
<param name="FirstDay" value="1">
<param name="GridCellEffect" value="1">
<param name="GridFontColor" value="10485760">
<param name="GridLinesColor"
value="-2147483632">
<param name="ShowDateSelectors" value="-1">
<param name="ShowDays" value="-1">
<param name="ShowHorizontalGrid" value="-1">
<param name="ShowTitle" value="-1">
<param name="ShowVerticalGrid" value="-1">
<param name="TitleFontColor" value="10485760">
<param name="ValueIsNull" value="0">
</object>
Si bien pude establecerse que la Máquina Virtual de
Java vigile que el Applet no haga operaciones dañinas a
la máquina, no hay manera de controlar los ActiveX, sólo
se puede establecer en el navegador que se acepten sólo
los controles ActiveX que estén firmados digitalmente y
traigan el certificado de una empresa conocida.
Seguridad en el explorador cliente
La máquina virtual de Java dejecuta el pseudocódigo
pero puede controlar su funcionamiento. Al mecanismo
A
Controles ActiveX
a
prend
Creación de Páginas Web (y 21)
mediante el cual la Máquina Virtual de Java aísla el código
Java del resto del sistema operativo se llama Caja de
Arena o Sand Box, en Inglés. Este mecanismo permite
vigilar todas las operaciones que el código Java pide que
se hagan en la máquina, eliminando las no permitidas.
La caja de arena puede separarse en varias capas
lógicas:
Verificador: Analiza el byte code antes de que se
ejecute para verificar que cumple las reglas básicas del
lenguaje.
Cargador de clases: Responsable de cargar las clases
en el intérprete. Permiten que las clases sean separadas
de acuerdo a su origen.
Responsable de seguridad: Permite imponer
restricciones en el uso de los recursos del sistema
(archivos, red, programas externos, interfaz usuario).
Recursos del sistema: Pantalla, disco duro, multimedia, etc.
Las últimas versiones de los browsers permiten
controlar los privilegios de los Applets Java. El usuario
puede indicar que los Applets se ejecuten fuera del Sandbox. Los Applets
Java pueden tener
firmas digitales.
Es aconsejable
establecer la caja de
arena para los
Applets
y
no
descargar ActiveX
sin certificar. No es
aconsejable
desabilitar ambas
facilidades a pesar
de
que
las
herramientas de
seguridad no son
infalibles, pues la
navegación por Ventana de edición de permisos de
ejecución en el cliente de navegación
Internet se haría Internet Explorer 4.0
dificultosa.
Trucos con PC
A veces se quiere compilar en un VCD un grupo de videos
con extensión mpg, wmv, u otra cualquiera, y el programa de
grabación en CD, Nero por ejemplo, devuelve un error
diciendo que no conoce la codificación del fichero y sin
embargo el video se ve en Windows Media Player u otro
reproductor que tengamos instalado en la máquina, porque a
su vez tenemos instalado el CODEC para dicho tipo de video.
Una solución a este problema puede ser cambiar la
extensión del fichero que da problemas y ponerle AVI. Esta
extensión se utiliza en general para almacenar video con
independencia del CODEC que usa. Este cambio no afecta la
reproducción del fichero, y sin embargo hace que Nero utilice
el CODEC instalado para recodificarlo a VCD estándar.
8
Formularios en las páginas web
La inmensa mayoría de los sitios de Internet de la
actualidad son interactivos, es decir, el cliente recibe la
página y ahí puede leer, oír música o ver un video, pero
también puede enviar datos al servidor como facturas de
compra, opiniones, correo electrónico, etc.
La estructura fundamental para el envío de información
desde la página web que lee el cliente hacia el servidor
es el formulario.
Estructura de un formulario
La estructura general de un formulario es:
Etiqueta de inicio:
<FORM ACTION=”mailto:dirección_de_email”
METHOD=”POST” ENCTYPE=”TEXT/PLAIN”>
Cuerpo del formulario, con los distintos elementos
para poder introducir los datos.
Botones de envío y de borrado.
Etiqueta de cierre </FORM>
Etiqueta de inicio
El atributo ACTION indica la acción que se debe
efectuar y que es que los datos sean enviados por
email a la dirección indicada. (Si hiciéramos uso del
CGI, sería precisamente aquí donde indicaríamos su
localización en el servidor, que habitualmente es el
directorio cgi-bin, para que procese los datos).
El atributo METHOD=POST indica que los datos sean
inmediatamente enviados por correo a la dirección de
email, nada más pulsar el usuario el botón de envío.
Con el atributo ENCTYPE=”TEXT/PLAIN” se
consigue que las respuestas las recibamos como un
fichero de texto, perfectamente legible y sin
codificar.
Elementos para introducir los datos
Los vamos a dividir en tres clases:
Introducción por medio de texto
Introducción por medio de menús
Introducción por medio de botones
La introducción de los datos se consigue por medio
de la etiqueta:
<INPUT TYPE=”xxx” NAME=”yyy”
VALUE=”zzz”>
En donde:
xxx es la palabra que indica el tipo de datos.
yyy es el nombre que le asignamos nosotros a la
variable en la que se introduce el dato.
zzz es la palabra asociada a un elemento.
Todo esto, que de momento parece muy confuso, se
aclarará al ir viendo los distintos casos.
Introducción por medio de texto (una línea)
En este caso es xxx=text, es decir,
INPUT TYPE=”text”. El atributo VALUE no procede
en este caso. Vamos a poner un ejemplo: solicitamos el
apellido del usuario.
<FORM ACTION=”mailto:maria@yahoo.com”
METHOD=”POST” ENCTYPE=”TEXT/PLAIN”>
Escribe tu apellido:
<BR><INPUT TYPE=”text” NAME=”Apellido”>
</FORM>
Que resulta en un campo de formulario así:
Si el usuario introduce su apellido, p. ej. Ruiz, y pulsa
el botón de envío, recibiremos un email suyo con el texto:
Apellido=Ruiz
La longitud de este formulario es por defecto de 20
caracteres. Se puede variar incluyendo en la etiqueta el
atributo SIZE=”número”. Por otra parte, sea cual sea la
longitud del formulario, si no se indica nada, el usuario
puede introducir el número de caracteres que quiera.
Se puede limitar esto, incluyendo en la etiqueta el atributo
MAXLENGTH=”número”.
Cuando el texto a introducir puede alcanzar una gran
longitud, por ejemplo un comentario, es conveniente
utilizar un formulario de texto de múltiples líneas.
Esto se consigue con la etiqueta de inicio:
<TEXTAREA NAME=”yyy” ROWS=”número”
COLS=”número”>
</TEXTAREA>
Cuadros combinados
Si queremos que el usuario, en vez de introducir un
texto, como hemos visto en los casos anteriores, escoja
entre varias opciones que le presentamos nosotros,
haremos uso de un formulario en forma de cuadro
combinado. El aspecto de éste se consigue con la
etiqueta <OPTION>. Vea el ejemplo a continuación:
<FORM ACTION=”mailto:jose@yahoo.com”
METHOD=”POST” ENCTYPE=”TEXT/PLAIN”>
¿Cuál es tu color preferido?
<BR><SELECT NAME=”ColorPreferido”>
<OPTION>Rojo
<OPTION>Verde
<OPTION>Azul
<OPTION>Amarillo
</SELECT >
</FORM>
Botones de envío y de borrado
Hasta ahora, en todos los ejemplos que hemos visto,
faltaba un elemento esencial en cualquier formulario,
y es el botón de envío de los datos, que se consigue
con la etiqueta:
<INPUT TYPE=”submit” VALUE=”zzz”>
En donde zzz es el texto que queremos que
aparezca en el botón. Vamos a añadirlo al primer
ejemplo, en el que se solicitaba el apellido del usuario:
<FORM ACTION=”mailto:maria@yahoo.com”
METHOD=”POST” ENCTYPE=”TEXT/PLAIN”>
Escribe tu apellido:
<BR><INPUT TYPE=”text” NAME=”Apellido”>
<P><INPUT TYPE=”submit” VALUE=”Enviar atos”>
</FORM>
Fragmento del formulario de participación en el libro de
visitas de nuestro sitio en internet: www.vitral.org.
Descargar