You are on page 1of 58

Bases de datos comerciales

Lenguajes Comerciales ms Usados


QBE (Query By Example) Basado en el clculo relacional orientado a dominio. Consiste en dar un ejemplo del tipo de tupla que se quiere, con lo que se obtiene un lenguaje amigable para el usuario. Quel (Query Language). Se desarroll para el SBD INGRES estando basado en el clculo relacional orientado a tuplas. Cuando nos queremos referir al atributo A de la tupla t, lo hacemos escribiendo t.A. SQL (Structured Query Language). Est basado sobre todo en el lgebra relacional. Tiene tambin facilidades del clculo relacional, de manera que ciertas tareas pueden ser hechas de varias formas. Es por tanto un lenguaje procedimental y aprocedimental al mismo tiempo. Se cre para System R.

SQL (Structured Query Language)


Los lenguajes comerciales permiten definir las estructuras, los limitantes de integridad y los limitantes de seguridad. Es decir incorporan la parte DDL completa y de la parte DML incluyen la modificacin de la base de datos. A continuacin vamos a estudiar la parte de consulta (DML) del SQL. Una consulta se expresa mediante tres clusulas:

SELECT seguida de una lista de atributos que interese obtener como respuesta (SELECT A1 ,..., An). FROM seguida de la lista de las relaciones que usamos en la consulta (FROM r 1,...,rm). WHERE (clusula opcional) va seguida del predicado de seleccin (WHERE p). Nota: El nombre de la clusula SELECT es engaoso, ya que lo que hace no es una seleccin, sino una proyeccin. Equivalencia entre una consulta en SQL, y en lgebra relacional: SELECT FROM r1,...,rm WHERE P A1 ( (r1 x r2 x .... A1,...,An x rm))

,...,

An

A continuacin se muestran las operaciones posibles en SQL, por medio de ejemplos: "Seleccionar todos los atributos de prstamo para los prstamos de ms de mil euros". (Seleccin) SELECT nombre_sucursal, num_prestamo, nombre_cliente, importe

FROM WHERE importe > 1000

prestamo

Una de las posibilidades que ofrece SQL, es que cuando se quieren todos los atributos de una relacin, en la clusula SELECT no hace falta que se todos, basta con poner un asterisco ( *). De esta manera, la seleccin anterior quedara: SELECT FROM WHERE importe > 1000 * prestamo

Ahora realizaremos una consulta para obtener los nombres y las ciudades en que viven de los clientes que tienen un prstamo en la sucursal principal. (Proyeccin sobre una seleccin realizada sobre un producto cartesiano). SELECT prestamo.nombre_cliente, ciudad FROM cliente, prestamo WHERE nombre_sucursal = "Principal" and prestamo.nombre_cliente = cliente.nombre_cliente SQL incluye tambin unin, interseccin y diferencia. Veamos como podemos realizar dichas operaciones: "Queremos obtener los nombres de los clientes que tengan cuenta, prestamo o ambas cosas en la sucursal principal." (Unin). (SELECT nombre_cliente FROM prestamo WHERE nombre_sucursal = "Principal")

UNION

(SELECT FROM WHERE nombre_sucursal = "Principal")

nombre_cliente deposito

La clusula usada para la interseccin es INTERSECT y la de la diferencia es MINUS. Aunque en la unin, interseccin y diferencia se eliminan los duplicados, no ocurre as con los productos cartesianos en la mayora de los lenguajes comerciales, si se desea que en SQL no aparezcan duplicados hemos de especificarlo en la clusula SELECT mediante la orden distinc (en algunas versiones antiguas unique). Por ejemplo si queremos saber los nombres de los clientes que o tienen cuenta, o tienen depsito o ambas, sin obtener duplicados en el caso en que un cliente tiene cuenta y depsito, podemos hacerlo mediante la unin o bien como sigue: SELECT distinc nombre_cliente FROM prestamo, deposito Las vistas hasta ahora son bsicamente las operaciones de SQL basadas en el lgebra relacional, a continuacin veremos algunas basadas en el clculo relacional. Por ejemplo las operaciones referentes a pertenencia (Clculo relacional orientado a dominios). De esta manera podemos expresar una consulta de varias formas: "Queremos conocer los

nombres de los clientes que tienen cuenta y prstamo en la sucursal principal". La 1 forma basada en el lgebra relacional sera: (SELECT FROM WHERE nombre_sucursal INTERSECT (SELECT FROM WHERE nombre_sucursal = "Principal") nombre_cliente prestamo "Principal") nombre_cliente deposito

Una 2 forma basada tambin en el lgebra relacional sera esta otra: SELECT prestamo.nombre_cliente FROM prestamo, deposito WHERE prestamo.nombre_cliente = deposito.nombre_cliente and prestamo.nombre_sucursal = "Principal" Podemos usar una 3 forma basada en el clculo relacional, que sera la siguiente: (IN es el operador de pertenencia). SELECT FROM WHERE nombre_sucursal = nombre_cliente IN (SELECT FROM WHERE nombre_sucursal = "Principal") Incluso una 4 forma: SELECT FROM WHERE nombre_sucursal="Principal" nombre_sucursal> IN (SELECT nombre_cliente, FROM deposito) nombre_cliente prestamo <nombre_cliente, nombre_sucursal nombre_cliente prestamo "Principal" and nombre_cliente deposito

and

SQL, tambin permite realizar algunas operaciones propias del clculo relacional orientado a tuplas. Las variables de tupla se definen en la clusula FROM, la mejor forma de ver esto es por medio de algunos ejemplos: "Queremos saber los nombres de los clientes que tengan un prstamo en la sucursal principal y sus ciudades". SELECT t.nombre_cliente, ciudad_cliente FROM cliente t, prestamo s WHERE t.nombre_cliente = s.nombre_cliente and nombre_sucursal = "Principal" Ntese que los atributos que son comunes a las relaciones cliente y prestamo, cuando son utilizados ha de ser especificado a cual de las dos relaciones nos estamos refiriendo. En el caso anterior definimos una tupla t de la relacin cliente, y una tupla s de la relacin prestamo, y nos quedamos con todas aquellas tuplas que existen al mismo tiempo en ambas relaciones y cuyo valor para el atributo nombre_sucursal en la relacin prestamo es "Principal". Hay algunos casos en los que las variables de tupla resultan muy interesantes, como aquellos

en los que queremos comparar entre s tuplas de una misma relacin. Veamos un ejemplo: "Nombre de los clientes que tengan una cuenta en la misma sucursal que el Sr. Lpez". SELECT FROM deposito WHERE s.nombre_cliente s.nombre_sucursal t, ="Lopez" t.nombre_cliente deposito s t.nombre_sucursal =

and

Esta misma consulta podra tambin ser hecha de esta otra forma: SELECT FROM WHERE nombre_sucursal IN FROM WHERE nombre_cliente = "Lopez") nombre_cliente deposito nombre_sucursal deposito

(SELECT

Otro caso en que las variables de tupla pueden ser de inters es cuando lo que nos interesa no es comprobar si un elemento pertenece a un conjunto, sino comparar un elemento con todos los elementos de un conjunto. Por ejemplo: "Queremos conocer las sucursales que tienen un activo mayor que alguna de las sucursales de Murcia" SELECT t.nombre_sucursal FROM sucursal t, sucursal s WHERE t.activo > s.activo and s.ciudad_sucursal = "Murcia" SQL incorpora otras clusulas para poder hacer esto sin tener que usar el clculo relacional de tuplas. La clusula some situada delante de un conjunto, se refiere a algn elemento de ese conjunto. De esta manera la consulta anterior quedara: SELECT FROM WHERE activo > some (SELECT FROM WHERE ciudad_sucursal = "Murcia") En algunas versiones antiguas en lugar de some podemos encontrar any. Frente a some tenemos la clusula all, que permite comparar un elemento con todos los elementos de un conjunto; un ejemplo de aplicacin de esta clusula podra ser: "Obtener las sucursales cuyo activo sea mayor que todos los activos de las sucursales de Murcia". SELECT FROM WHERE activo > all (SELECT FROM WHERE ciudad_sucursal = "Murcia") nombre_sucursal sucursal activo sucursal nombre_sucursal sucursal activo sucursal

Las clusulas some y all, nos permiten comparar un valor con un conjunto de valores, pero si lo que queremos es un conjunto de valores con otro, podemos usar la clusula contains, que indica si un conjunto est contenido en otro. Como ejemplo para el uso de esta clusula sera vlido el siguiente: "Encontrar los clientes que tengan una cuenta en todas las sucursales de Murcia". Lo que buscamos es un conjunto de clientes que tienen cuentas en todas las sucursales de un conjunto de sucursales que contiene a todas las sucursales de Murcia. SELECT FROM WHERE FROM deposito (SELECT deposito t.nombre_cliente t s.nombre_sucursal s

WHERE t.nombre_cliente = s.nombre_cliente) contains (SELECT nombre_sucursal FROM sucursal WHERE ciudad_sucursal = "Murcia") Otra clusula que incluye SQL es la clusula exists, que devuelve verdadero cuando la subconsulta que se pone detrs devuelva un valor que no sea vaco, y devuelve falso si la subconsulta que se pone detrs devuelve un conjunto vaco. Ejemplo: "Clientes que tengan un prstamo y cuenta en la sucursal principal". SELECT FROM WHERE exists (SELECT FROM WHERE prestamo.nombre_cliente nombre_sucursal and exists (SELECT * WHERE deposito.nombre_cliente nombre_sucursal = "Principal") nombre_cliente cliente * prestamo cliente.nombre_cliente and "Principal") FROM deposito cliente.nombre_cliente and

= = =

SQL nos permite tambin, obtener el resultado de todas nuestras operaciones por orden (basndose en uno de los atributos de la relacin resultante). Con este fin se introdujo la clusula ORDER BY, que se pone detrs de las 3 clusulas SELECT, FROM y WHERE, y que debe ir seguida del nombre del atributo por el cual queremos ordenar. Esta clusula puede ir acompaada por dos modificadores (asc o dec), segn queramos obtener el resultado en orden ascendente o descendente, respectivamente. Estos modificadores irn emplazados detrs del atributo por el cual queremos ordenar nuestra consulta. Ejemplo: "Queremos obtener los nombres de los clientes de Murcia por orden alfabtico". SELECT FROM WHERE ciudad_cliente ORDER BY nombre_cliente El modificador por defecto es asc. Si queremos ordenar por varios atributos (es decir, en caso de que nuestra primera eleccin de atributo fuese igual para dos tuplas, recurriramos a la segunda eleccin para saber cual de las tuplas debe salir antes) lo podemos hacer de la siguiente forma: SELECT FROM ORDER BY nombre_cliente asc, importe dec nombre_cliente prestamo nombre_cliente cliente "Murcia"

Con esa orden conseguiramos obtener los nombres de los clientes que tienen un prstamo ordenados por orden alfabtico, pero en caso de que dos clientes tuviesen el mismo nombre, saldra primero aquel cuyo prstamo fuese ms alto. Adems de todo esto, SQL permite hacer una serie de clculos que no se encuentran en los lenguajes puros, como calcular determinadas funciones para grupos de tuplas esas funciones son: avg (calcula la media), max (calcula el mximo), min (calcula el mnimo), sum (calcula la suma), count (cuenta el nmero de elementos del grupo). Existe una clusula para agrupar tuplas segn un determinado atributo que es GROUP BY. Como ejemplo de esta clusula podra servir el siguiente: "Queremos el saldo medio de las

cuentas en cada una de las sucursales". Lo que tenemos que hacer es agrupar los depsitos por nombre de sucursal, y calcular el saldo medio de esos grupos. SELECT FROM GROUP BY nombre_sucursal nombre_sucursal, avg (saldo) deposito

Veamos ahora como se podra contar el nmero de tuplas de cliente: SELECT count (*) FROM cliente Hay casos en los que las condiciones que imponemos, nos interesa que las cumpla un grupo de tuplas, y no una sola, en ese caso usamos la clusulaHAVING. Ej: "Queremos obtener los prstamos en la sucursal principal agrupados por nombre de cliente cuya media (la de los prstamos de un solo cliente) supera las 10000 euros". SELECT avg FROM WHERE nombre_sucursal GROUP BY HAVING avg (importe) > 10000 (importe) prestamo "Principal" nombre_cliente

El orden de las clusulas sera: SELECT, FROM, WHERE, ORDER BY, GROUP BY y HAVING. La clusula BETWEEN sirve para hacer comparaciones entre un rango de valores, es decir: SELECT FROM WHERE saldo 100.000 and saldo 1.000.000 es equivalente a: SELECT FROM WHERE saldo BETWEEN 100.000 and 1.000.000 nombre_cliente deposito nombre_cliente deposito

SQL ofrece tambin una clusula para tratar cadenas de caracteres, se trata de la clusula like. Cuando usamos esta clusula, el smbolo % en una cadena es un comodn de 0, 1, o ms caracteres, y el carcter _ es un comodn de un carcter (equivalentes al * y la ? de MS-DOS respectivamente). Ejemplo en el que se usa esta clusula: SELECT FROM WHERE ciudad_cliente like "Mur%" nombre_cliente cliente

De esta manera obtenemos los nombres de todos los clientes cuyo atributo ciudad_cliente empiece por Mur. Si queremos que en una cadena aparezca uno de los dos caracteres comodines, tendremos que ponerlos con el carcter \ delante, que servir de carcter de escape. Si por ejemplo ponemos like "ANT\%2" estaremos comparando con la cadena "ANT%2". Hasta ahora hemos estado viendo la parte de consulta del DML de SQL, a continuacin estudiaremos la parte de actualizacin.

Las operaciones de actualizacin son: insercin, modificacin y actualizacin. Las iremos viendo una por una: A) Eliminacin. La sintaxis a seguir para la eliminacin es la siguiente: DELETE WHERE p donde r es la relacin de la que queremos borrar tuplas, y p es el predicado que deben de cumplir las tuplas que queremos borrar. Por ejemplo, para borrar los prstamos de Pepito deberamos hacer: DELETE WHERE nombre_cliente = "Pepito" prestamo r

SQL adolece de que no cumple la integridad de referencia, es decir, que si dos relaciones tienen en comn un atributo que en una de las relaciones es clave primaria, y en la otra es clave ajena, este atributo debera ser igual en ambas relaciones en todo momento, sin embargo en SQL esto no es as, ya que cuando borras una tupla en una relacin, si tiene un atributo (clave primaria) en comn en otra relacin, ste no se ve modificado. B) Modificacin. Lo veremos mediante un ejemplo: "Queremos meter a cada cliente de la sucursal 10, 3 euros ms en su cuenta". UPDATE SET saldo = WHERE nombre_sucursal = "10" saldo + deposito 3

C) Insercin. Tiene dos variantes: En primer lugar insertar en una relacin tuplas una a una, o la segunda, insertar conjuntos de tuplas enteras que son resultado de una operacin SELECT. - Si queremos insertar una sola tupla en una relacin lo haremos siguiendo el siguiente ejemplo: INSERT INTO VALUES (102, "Principal", "Manolo", 2.000.000) prestamo

Los valores se deben introducir en el orden correcto en que estn los atributos en la relacin. - Cuando queremos insertar un conjunto de tuplas tendremos que seguir el siguiente ejemplo en el que abrimos a todo aquel que tenga un prstamo en la sucursal principal una cuenta con 1 en esta misma sucursal, y a dicha cuenta le damos como nmero el mismo que tena el prstamo. INSERT SELECT num_prestamo, FROM prestamo INTO nombre_cliente, deposito nombre_sucursal, 1

En este caso tambin hay que insertar los atributos en el orden correcto, a no ser que detrs de deposito, pusisemos entre parntesis el orden en que vamos a introducir los atributos, es decir que la anterior orden sera equivalente a: INSERT INTO deposito (saldo, num_cuenta, nombre_cliente) SELECT 100, num_prestamo, nombre_sucursal, FROM prestamo. nombre_sucursal, nombre_cliente

QUEL
Es un lenguaje comercial que se desarroll para INGRES, est basado en el clculo relacional de tuplas. A) Consultas. La estructura general de una consulta es la siguiente: RANGE OF RANGE OF t1 IS t2 IS r1 r2

RANGE OF RETRIEVE (ti1.Aj1, WHERE P

tm IS ti2.Aj2, ........,

rm tim.Ajm)

donde t1,.....,tm son las tuplas que usamos para la consulta, r 1,...,rm son las relaciones correspondientes a t1,...,tm. La clusula RETRIEVE es equivalente a la clusula SELECT de SQL, y P es el predicado de seleccin. Ejemplo: Obtener todos los clientes que tienen cuenta en la sucursal principal. RANGE OF t IS deposito RETRIEVE t.nombre_sucursal = "Principal". (t.nombre_cliente) WHERE

Como ejemplo de una consulta en la que aparezcan dos tuplas de dos relaciones distintas podramos usar el siguiente: " Obtener todos los nombres de los clientes y sus ciudades de residencia que tienen prstamo en la sucursal principal." RANGE OF t IS cliente RANGE OF s IS prestamo RETRIEVE (s.nombre_cliente, t.ciudad_cliente) WHERE s.nombre_sucursal = "Principal" AND t.nombre_cliente = s.nombre_cliente QUEL no incluye eliminacin de duplicados por defecto, si se quiere conseguir sta, es necesario indicarlo mediante la clusula UNIQUE. RANGE ............. ....... RETRIEVE UNIQUE (.............) WHERE

As mismo QUEL tampoco incluye las operaciones de unin, interseccin y diferencia , como tampoco permite subconsultas anidadas, por lo que es un poco menos amigable que SQL. Sin embargo, QUEL s incluye operaciones de grupo. stas pueden aparecer en la clusula RETRIEVE o bien en la clusula WHERE. Las posibles operaciones son las siguientes: count, sum, max, min, avg, any. Sintaxis: Operacin (t.A WHERE P) Ej: "Obtener la media de los saldos de las cuentas de la sucursal principal." RANGE OF t IS deposito RETRIEVE avg (t.saldo WHERE t.nombre_sucursal = "Principal") Existe una variante: Operacin (t.Ai by t.Aj) ,donde t.Aj es la condicin de agrupamiento.

Ej: "Media de los saldos agrupadas por nombre de sucursal." RANGE OF t IS RETRIEVE avg (t.saldo by t.nombre_sucursal) deposito

Ej: "Nmeros de cuenta con saldo mayor que el saldo medio de la sucursal a la que pertenecen." RANGE OF t IS deposito RETRIEVE (t.num_cuenta) WHERE t.saldo > avg (t.saldo by t.nombre_sucursal).

B) Insercin.

- Para la insercin de tuplas individuales: APPEND TO deposito (lista de atributos con valores nuevos). Ej: APPEND TO deposito (num_cuenta = 287, nombre_sucursal = "Murcia"....) - A continuacin podemos ver un ejemplo de insercin de tuplas de una relacin en otra relacin. RANGE OF t APPEND TO temp WHERE t.nombre_sucursal = "Principal" IS prestamo (t.nombre_cliente)

Donde temp quedar formada como una relacin cuyo nico atributo es nombre_cliente. Si temp ya existiera cuando se realiz la insercin, entonces los atributos que tenga temp deben coincidir con los atributos que insertamos en la clusula APPEND. C) Modificacin. Por su sencillez, veremos la modificacin mediante un ejemplo por el cual aumentaremos en un 5% los saldos de la relacin deposito. RANGE OF t REPLACE t (saldo = t.saldo x 1.05) D) Eliminacin. Para la eliminacin usamos el comando DELETE que borra tuplas completas. Ej: Eliminar todas las tuplas de prestamo para todos los clientes cuyo nombre sea Lpez. RANGE OF t DELETE WHERE nombre_cliente = "Lpez". IS prestamo (t) IS deposito

QBE (Query By Example) Es un lenguaje comercial desarrollado por IBM y basado en el clculo relacional de dominios. En l las consultas se hacen por medio de ejemplos, para ello se usan unas tablas que son "esqueletos" de relaciones. El sistema generaliza los ejemplos. A) Consultas. Para una consulta, el usuario solicita un esqueleto de la relacin sobre la que quiere realizar la consulta, y lo rellena con columnas muestra, que pueden incluir constantes o variables de dominio. Los nombres de variable van precedidos del carcter de subrayado "_". Ejemplo: Obtener todos los nombres de los clientes que tienen prestamo en la sucursal principal.

Prstamo num_prestamo nombre_sucursal Principal

nombre_cliente P.ALL. _X

importe

El comando P bajo la columna nombre_cliente indica que se muestren los valores, y como podemos ver, delante de la variable X, hemos introducido el carcter de subrayado, como slo queremos ver los clientes que tienen prstamo en la sucursal principal, ponemos la constante Principal en la columna nombre_sucursal. Por ltimo veamos el significado del comando ALL: QBE s elimina los duplicados por defecto, por tanto si no queremos que los elimine tendremos que usar el comando ALL. Si queremos realizar una consulta en la que empleemos dos relaciones, tendremos que solicitar dos esqueletos (uno para cada relacin). Ej: "Obtener el nombre y ciudad de los clientes que tienen prstamo en la sucursal principal".

prestamo

num_prestamo

nombre_sucursal Principal

nombre_cliente P._X

importe

Cliente

nombre_cliente _X

calle

ciudad P._Y

Al emplear la misma variable en ambas tablas para el atributo nombre_cliente, estamos diciendo que queremos slo aquellas tuplas en las que el nombre de cliente coincida en ambas relaciones, y que adems tengan un prstamo en la principal.

B) Operaciones de Grupo. Las operaciones posibles son: CNT, AVG, MIN, MAX, SUM. Veamos un ejemplo: Obtener la media de los saldos por nombre de sucursal.

deposito

num_cuenta

nombre_sucursal P.G._X

nombre_cliente

saldo P.ALL.AVG._Y

Mediante el comando G, conseguimos agrupar por nombre de sucursal, mientras que el comando AVG, nos da la media aritmtica del salso de cada uno de esos grupos. C) Insercin. Para la insercin usamos el comando I, que pondremos en la tabla bajo el nombre de la relacin. - Si queremos hacer una insercin individual:

num_cuenta deposito

nombre_sucursal

nombre_cliente

saldo

I.

207

Principal

Garca

2.000.000

Para una insercin de conjunto de tuplas, necesitamos dos esqueletos. Si por ejemplo, queremos insertar en una relacin temp los nombres de todos aquellos clientes que tienen un prstamo en la sucursal principal, haramos lo siguiente:

prestamo

num_prestamo

nombre_sucursal Principal

nombre_cliente _X

importe

temp I.

nombre_cliente _X

D) Modificacin. Para las modificaciones se usa el comando U. Ejemplo: Multiplicar por 2 los importes de los prstamos.

prestamo

num_prestamo nombre_sucursal nombre_cliente _X

importe _Y

_X

U._Y * 2

E) Eliminacin. Para eliminar tuplas usamos el comando D, colocndolo en la columna del nombre de la relacin. Ejemplo: Eliminar todas las tuplas de la relacin cliente, para las que el nombre del cliente sea "Lpez"

cliente D.

nombre_cliente Lopez

calle

ciudad

Utilizacin de bases de datos comerciales para preparar informes financieros


En este ejercicio vamos a practicar con bases de datos comerciales suministradas por empresas privadas que permiten acceder -algunas veces de forma gratuita y otras previa suscripcin- a bases de datos que contienen la informacin contable de miles de empresas. Podemos acceder desde la Universidad de Zaragoza a las Bases de Datos SABI [http://sabi.bvdep.com/ip] y AMADEUS [http://amadeus.bvdep.com/ip] con las cuentas anuales de ms de 1 milln de empresas espaolas y 250.000 europeas.

1) Localice Repsol. Cual ha sido la cifra de "ingresos de explotacin" de REPSOL EXPLORACION ARGELIA SA? 2) Qu salvedades ha realizado el auditor? 3) Nmero de empresas aragonesas del Sector Tecnologas de Informacin y Comunicacin. 4) Una empresa ubicada en un pueblo llamado Broto 5) Nmero de empleados de la red social Tuenti 6) Qu empresa tiene registrada la marca "A por ellos" 7) Qu noticias sobre fusiones se han generado sobre ACS ACTIVIDADES DE CONSTRUCCION Y SERVICIOS SA? 8) Cotizacin de ENDESA SA en febrero. 9) Principales accionistas de ENDESA SA. Obtener un grfico como este. 10) Exporte la informacin financiera de la empresa DIFFERENT TRAVEL (propietaria de Centraldereservas.com) en excel, como esta. 11) Ratio de solvencia de la empresa finlandesa Nokia a 31 dic. Consulte la base de datos Amadeus [http://amadeus.bvdep.com/ip]

Luego de trabajar con costosas configuraciones de SQL Server y Oracle la gran mayora de mi carrera profesional, casi siempre defendiendo estas alternativas de forma viciada a capa y espada es difcil abrir los ojos y ver otras opciones, especialmente por esa propaganda que apoya la idea (ahora extinta) que: SQL Server y/o Oracle son (o fueron) las mejores elecciones o alternativas de base de datos para la organizacin. Y creo que muchos solemos ser los abogados de las bases de datos comerciales.

Tal vez, estas bases de datos nos han dado de comer durante muchos aos, no hay duda, incluso seamos profesionales, tal vez no expertos, pero s profesionales en el manejo de estos motores, que muchas veces hemos tratado a los dems como herejes por no aceptar la verdad. Y as como hay profesionales adictos a estas bases de datos tambin, estn quienes les guardan distancia por distintas razones. MySQL? Por favor, se estn burlando?. PostgreSQL?, Gracias, aunque es enproyecto serio, necesitamos una base de datos de la que podamos depender y confiar. Suenan familiares las frases anteriores, verdad?. Cuntas veces hemos llevado a cabo algn anlisis para determinar si, de hecho, SQL Server y/o Oracle eran las mejores elecciones no para m, sino para el equipo, el cliente, el empleador y la organizacin?

Y si hemos realizado con diligencia esos anlisis, Qu hemos aprendido? Dos cosas:

SQL Server y Oracle son realmente bases de datos excelentes. (Est bien, eso ya lo sabamos.) SQL Server y Oracle son una eleccin errnea para el 95% de las necesidades de almacenamiento de datos, incluso a nivel empresarial.

Hoy en da, es agradable pensar en SQL Server y Oracle como las Estrellas de la muerte del universo de las bases de datos relacionales (para decirlo en trminos de la Guerra de las Galaxias), es decir, extremadamente poderosas, monolticas, brillantes, complejas casi ms all de la comprensin que una simple mente humana pueda llegar a tener, y que significan un gasto monumental de dinero excepto en esas raras situaciones cuando se necesita destruir un planeta. H e podido ver (al menos) a una docena de compaas derrochando dinero en bases de datos que no necesitan, impactando y confundiendo sus balances finales con esquemas de licencias que adornan las oficinas, perpetuando as la Falacia del Software de Marca: En igualdad de condiciones, y asumiendo que se tiene el presupuesto, generalmente se prefiere un costoso (por no decir caro) bien ajustado producto comercial como [inserte el producto comercial aqu] a anlogos ms econmicos [inserte producto open-source o de precio razonable aqu]. Los desarrolladores del proyecto XYZ usaron [costoso producto comercial], nuestro XYZ interno usa [producto comercial costoso], ergo, nueva poltica de la compaa: se utiliza [producto comercial costoso]. Claro, a $89,000 por licencia, [producto comercial costoso] es un poco costoso, pero a quin estamos engaando? Gastamos [inserte un monto realmente ridculo de dinero solo disponible en Monopoly aqu] en IT cada ao. Est bien claro, se ha gastado una cantidad ridcula de dinero en IT. Alguna vez se ha preguntado por qu? Veamos el siguiente ejemplo en este cuadro (Est ingls pero creo que es bastante claro):

Por qu comprometer su proyecto, su organizacin, su imperio, para construir y mantener una Estrella de la Muerte cuando lo que realmente necesita es una nave X-Wing, un ATAT, o por mucho, un Destructor de Estrellas? Especialmente dado que:

El rendimiento y desempeo de una instalacin Firebird/PostgreSQL/MySQL puede perfectamente ser rival de SQL Server y Oracle. La gran mayora de aplicaciones no necesita las capacidades de las ltimas, grandes y majestuosas versiones de las base de datos de Microsoft y Oracle . Firebird SQL, PostgreSQL y MySQL son 100% gratis (en el caso de MySQL hay una versin comercial) lo que significa que, s eso mismo, no ms fatalidad econmica a causa de licencias comerciales. (Claro, cabe mencionar que Oracle ahora es dueo de Sun y por ende controla a MySQL.)

Oracle y SQL Server tiene caractersticas ms potentes que MySQL o PostgreSQL o Firebird o cualquier otra base de datos de cdigo abierto. Tienen una funcionalidad ms integrada. Nadie podra afirmar lo contrario. Pero son los desarrolladores y DBAs y las personas que toman las decisiones de compra totalmente conscientes (por ejemplo) tan solo de cun ricas y poderosas son las caractersticas tcnicas de PostgreSQL? Una base de datos de clase empresarial, PostgreSQL cuenta con sofisticadas funciones como el control de concurrencia multi-versin (MVCC), puntos de restauracin en el tiempo, tablespaces, replicacin asincrnica, transacciones anidadas (savepoints), copias de seguridad en lnea/en caliente, un sofisticado analizador/optimizador de consultas, y un sistema write ahead para la tolerancia a fallos. Es compatible con conjuntos de caracteres internacionales, codificacin de caracteres multibyte, Unicode, y tiene en cuenta la configuracin regional para el ordenamiento, sensibilidad a maysculas y minsculas, y formateo. Es altamente escalable, tanto en la enorme cantidad de datos que puede manejar

como en el nmero de usuarios concurrentes que puede gestionar. Hay sistemas PostgreSQL activos en entornos de produccin que manejan 4 terabytes de datos sin problemas. Dejando las configuraciones de PostgreSQL a un lado, estn los desarrolladores conscientes de que MySQL tiene ms 11 millones de instalaciones incluyendo gigantes tales como Facebook, YouTube, Flickr, yWikipedia? Claro, Todo el mundo lo sabe. MySQL se ejecuta en la web, cierto? Entonces, realmente necesitamos el soporte de visualizacin hiper-cbica cuatri-dimensional de las bases de datos comerciales cuando las necesidades en datos de la mayora de organizaciones es modesta, y cuando las dos o tres bases de datos de cdigo abierto han comprobado repetidamente sus capacidades y temple? No. No a menos que su necesidad pertenezca al 1% de los escenarios, aprovechando las caractersticas nicas de las bases de datos propietarias Oracle/SQL Server. (En tal caso, puede que tenga otro tipo de problema.) De lo contrario la respuesta es simplemente: no. Pero no permita que eso lo detenga! Por todo los medios, si usted est en un contrato gubernamental sobrecosteado donde desperdiciar dinero es fomentado, adelante y desprndase de ese dinero que le hace tanto estorbo y adquiera una de esas costosas bases de datos cerradas. Si cuando Microsoft o Oracle dicen salte! su organizacin dice qu tan alto?, prosiga y cierre el trato adquiriendo esa licencia costosa de plataforma superior. Si su organizacin est dominada por un montn de bocones aspirantes a evagelistas de tecnologa que llevan a cabo una agenda personal, como generalmente es el caso, entonces probablemente no hay mucho que usted pueda hacer en este caso. Pero si ud cuida el dinero, si cree que No! NO est bien desperdiciar una cuarto de milln de dlares al ao en licencias de bases de datos a pesar de que el presupuesto IT est en decenas de millones y si tiene actualmente tiene el poder para influenciar sobre las decisiones de compra, entonces utilice bases de datos de cdigo abierto siempre que le sea posible, y bases de datos comerciales cuando absolutamente deba hacerlo.

Las bases de datos comerciales no valen la pena.. siempre. Nos guste o no a los que apoyamos el software libre, esta claro que las bases de datos comerciales son mejores que las de software libre. Mejores por tener mas funcionalidades acompaadas del mejor rendimiento. Y tiene sentido, con las empresas millonarias y los grandes equipos de desarrollo que las respaldan. Pero esto no significa que sean mejores para todos los casos, especialmente con el dinero que cuestan. No necesitas un Porsche para ir a la tienda de la esquina cierto?

James Devlin lo explica mejor (imprescindible leer ese texto) de lo que lo podra hacer, Qu mejor que con referencias de Star Wars? Actualmente me gusta pensar en SQL Server y Oracle como las estrellas de la muerte del universo de bases de datos relacionales. Extremadamente poderosas. Monoloticas. Brillantes. Complejas casi ms all de la comprensin de una sola mente humana. Y un monumental desperdicio de dinero excepto en aquellos casos raros en que realmente necesites destruir un planeta. El problema con esto es que con mejor solemos entender que las otras soluciones son pobres. Y no es as, tanto PostgreSQL como MySQL con bases de datos probadas por millones de sitios y que trabajan con clientes grandes. La realidad es que ser raro el caso en que necesites algo ms de lo que ofrecen las soluciones libres, as que si alguna vez esta en tu poder de decisin, analiza las opciones antes de tirar tu dinero. Utiliza las bases de datos libres cuando puedas, las comerciales cuando lo absolutamente lo necesites

MySQL Workbench 5.2


Recuerdan la buena beta de MySQL Workbench 5.1? Pues parece que el equipo de desarrollo se ha puesto la pilas para sacar un desarrollo estable pronto. Ahora ya esta lista la alpha de la versin 5.2 para tu sabor preferido de Mac, Linux o Windows. A probar. Porqu Twitter permite 140 caracteres? Porqu no 130, 150? O 160 como los tiene un SMS comn y corriente? Pues porque precisamente Twitter esta ligado a los lmites de los SMS. Estos fueron pensados en solo 160 caracteres porqu las redes mviles eran mucho ms limitadas en 1985, la fecha en que se disearon. Twitter reserv 20 de esos caracteres para poder incluir el usuario en el mismo texto y as no tuvieran que dividir un SMS en varias partes. He ah el nmero mgico de 140. Hoy aprend algo nuevo.

Bases de datos cientficas


Se llev cabo una reunin anual sobre bases de datos extremadamente grandes donde se continu discutiendo la creacin de un nuevo motor de bases de datos open source llamado SciDB, especficamente para fines cientficos. La tercera reunin anual de Bases de datos Extremadamente Grandes (XLDB) tuvo lugar en Francia a fines de agosto, organizado por el ingeniero Jacek Becla y miembros de su equipo en SLAC, junto con la 35 conferencia sobre Bases de datos Muy Grandes. Este ao la reunin XLDB se enfoc en alcanzar a comunidades fuera de Estados Unidos y comunidades cientficas relacionadas con las geociencias, radio astronoma y biologa que no haban estado representadas en las reuniones anteriores. Hace dos aos, Becla estableci la invitacin a dos grupos que tenan poco contacto: usuarios cientficos y comerciales de bases de datos enormes. Tambin invit a miembros de la comunidad acadmica y la industria para discutir los avances en la tecnologa y escuchar sus problemas y requerimientos (casos de uso). Las reuniones anteriores de XLDB llevaron a la creacin de un proyecto para realizar un motor de bases de datos llamado SciDB, pensado especficamente para los complejos anlisis cientficos en escalas descomunales. Segn Becla, cuando se finalice, SciDB revolucionar la manera en que se realizan los anlisis cientficos. La iniciativa ya atrajo a muchos profesionales de todo el mundo para disear y crear el software. Se incluye a dos pioneros en el campo como Michael Stonebraker y David DeWitt. El grupo demostr un prototipo de SciDB a varios cientos de personas en ambas conferencias.

"El sistema que estamos creando es muy diferente [de las bases de datos comerciales]. Finalmente entendemos bien las necesidades de la ciencia y estamos creando un motor que realizar bien estas necesidades, tomando ventaja de numerosas similaridades entre cmo los diferentes campos de la ciencia quieren analizar sus conjuntos de datos", seal Becla. Las bases de datos extremas son medidas, actualmente, en petabytes. Un petabyte son 10
15

bytes. Para

tomar conciencia pongmoslo en un contexto conocido: los discos rgidos de las computadoras de escritorio modernas pueden tener entre 80 y 320 GB normalmente. Un petabyte son un milln de GB. Un milln de GB son mil billones de bytes! (Es posible hoy en da adquirir discos de 1 TB, ya sea que escondan dos de 500 GB o uno realmente de esa capacidad y se anunciaron discos de 300 TB para el prximo ao. Algn lector y amigo estar guardando esta pgina en el cach de su disco de 1TB...Un petabyte son MIL Terabytes).

Podemos tratar de comprender la capacidad enorme que representa con otro enfoque, del blogger Daniel Abadi segn dice en su blog DBMS Musings: ...si cada letra en este blog es de unos 3 milmetros de ancho en tu pantalla y cada letra es guardada en un caracter ASCII, de 1 byte y, asumiendo que todo el contenido est en una sola lnea, cun larga (en distancia) sera hacer que este post alcanzara 1 petabyte de datos? Un kilmetro? 100? Cruzara el Ocano Atlntico? NO! Este post llegara a la Luna. Y volvera. Y luego lo hara 3.400 veces ms. O seran 10 idas y vueltas hasta el Sol!!!

En el mundo tan informatizado que vivimos, existen varias agrupaciones que ya coleccionan petabytes de datos. Google o eBay son dos ejemplos a la mano. El equipo de Becla cre la base de datos del detector BaBar y ahora son responsables del diseo de la base para el Large Synoptic Survey Telescope, estimando que generar ms de 100 petabytes de datos. Ms y ms disciplinas cientficas estn adquiriendo semejantes cantidades de datos y necesitan software para almacenarlos y procesarlos, pero los fabricantes comerciales no producen sistemas que puedan manipular estas cantidades a costos y niveles de rendimiento razonables. Como resultado, las Bases de Datos Extremadamente Grandes son creadas por los propios usuarios, pero eso las convierte en muy costosas de desarrollar y mantener. La astronoma, a travs de sus variados y cada vez ms potentes observatorios, viene recolectando una cantidad ingente de datos. Y todo hace pensar que esa cantidad se ir incrementando con las nuevas instalaciones. Que los investigadores posean un motor de bases de datos acorde es, sin duda, imprescindible.

Enlaces a Bases de Datos Cientficas

EBSCO EBSCO es una empresa estadounidense que ofrece acceso a las Bases de Datos en Lnea para diversas bibliotecas. El Sistema posee ms de 282,000 artculos de revistas y peridicos y mantiene una relacin activa con ms de 60,00 editores en todo el mundo GALE GALE es una empresa que ofrece acceso a las Bases de Datos en Lnea para sus diversas bibliotecas. GALE ayuda a los profesores y a sus alumnos a prepararse mejor para sus materias a travs del acceso a una mejor informacin.

ACADEMIC ONEFILE Recientemente lanzada al mercado, Academic OneFile se perfila como la mejor fuente de artculos arbitrados en texto completo de revistas y fuentes de referencia lderes en las diferentes reas del conocimiento, desde ciencias puras, tecnologa y medicina, hasta ciencias sociales, artes, teologa, literatura y otros temas; provee contenido detallado y de fuentes reconocidas, cuenta con 11.000 ttulos de artculos disponibles en texto completo tanto en PDF, como en HTML, sin ningn tipo de restriccin, de tal forma que los investigadores puedan encontrar rpidamente informacin precisa. Incluye cobertura en texto completo del New York Times desde 1995, as como centenares de podcasts, audio, video y transcripciones de fuentes tales como NPR (National Press Radio).

INFORME ACADMICO El editor Thomson Gale reune enInforme Acadmico acceso a ms de 300 publicaciones peridicas en espaol de diferentes pases. Informacin acadmica, de semanarios polticos, centros de investigacin, literatura, ciencias sociales y economa de Amrica Latina; la informacin que ofrece lo puede visualizar en varios formatos como: PDF, HTML, Word. WILEY Posee revistas que son lderes a nivel mundial como obras de referencia dentro de la comunidad docente y acadmica.

ProQuest Proquest es un servicio de informacin en lnea que proporciona acceso a miles de artculos en resumen y texto completo de publicaciones peridicas cientficas de primera lnea, los cuales son actualizados diariamente E-LIBRO Es coleccin de libros en espaol que ofrece los ms importantes contenidos acadmicos, textos, apuntes de ctedra, artculos de revistas cientficas, investigaciones, etc. E-BRARY Academic International es una coleccin personalizada que combina la alta capacidad de seleccin de eBooks y la funcionalidad y la flexibilidad de una base de datos de libros en ingls de las mejores editoriales del mundo.

SpringerLink Potente servidor de acceso centralizado para investigadores de ciencias, tecnologas y medicina. SpringerLink surgi en el ao 1996 como una revolucionaria base de datos en lnea de revistas cientficas y, desde entonces, no ha dejado de crecer hasta convertirse, hoy en uno de los suministradores de literatura tcnica, cientfica y mdica ms grandes y confiables del mundo. En la actualidad, nuestra coleccin se extiende por todo el universo de la investigacin; contamos con ms de 1250 revistas arbitradas

OVID Ovid Technologies es un proveedor de informacin electrnica bibliogrfica y en texto completo lder internacional, con reputacin de innovador. Es una base de datos especializada en campos biomdico, acadmico y cientfico, y est centranda especialmente en bases de datos de texto completo integradas junto a recursos bibliogrficos con indexacin completa. Las bases de datos son accesibles a travs de una serie de plataformas, y satisfacen las necesidades de muchos tipos de usuarios. El Common User Interface (CUI) de Ovid proporciona un interface de bsqueda familiar, pero adems potente, sobre todas las plataformas, incluyendo el World Wide Web

TAYLOR & FRANCIS Taylor & Francis Group es una compaa internacional de origen en el Reino Unido que publica libros y revistas acadmicas. Es una divisin de Informa plc, una editorial con sede en Reino Unido y compaa de conferencias. Taylor & Francis publica ms de 1.000 revistas y ms de 1.800 libros nuevos cada ao, con un fondo editorial de ms de 20.000 ttulos. El grupo tiene por lo menos ocho oficinas, en el Reino Unido, Nueva York, Boca Ratn, Filadelfia, Singapur y Sydney. Taylor & Francis se fusion con Informa en 2004 para crear una nueva empresa llamada T & F Informa, adoptando el

nombre de nuevo a Informa. Taylor & Francis Group es ahora el brazo de la publicacin acadmica de Informa. IEEE IEEE ASPP (All-Society Periodicals Package) incluye la coleccin de revistas y diarios de la IEEE. Las publicaciones se concentran en documentos tericos y experimentales, as como en revistas de calidad con enfoques prcticos:

Investigacin Diseo Especificaciones o Investigacin o Diseo o Especificaciones

PRISMA (Publicaciones y Revistas Sociales y Humansticas)


PRISMA Es un servicio integral de referencia que pone a disposicin de los usuarios revistas cientficas de texto completo sobre ciencias sociales y humanidades destinadas al estudio acadmico e interdisciplinario de Amrica Latina e Hispanoamrica, y la Cuenca del Caribe. Con una oferta de ttulos clave catalogados en el ndice de publicaciones peridicas hispanoamericanas (HAPI) -una muy respetada base de datos producida por el Centro Latinoamericano de la Universidad de California, Los ngelesPRISMA contiene textos en espaol, portugus e ingls. SCIELO Es una biblioteca electrnica cientfica en lnea, es un modelo para la publicacin electrnica cooperativa de diarios cientficos en el Internet. Concebido especialmente para resolver las necesidades de comunicacin cientficas de los pases en vas de desarrollo, particularmente Amrica latina y de los pases del Caribe, proporciona una manera eficiente de asegurar visibilidad y accesibilidad universales a su literatura cientfica, contribuyendo para superar los fenmenos conocidos como perdi ciencia. Adems, el modelo de SciELO abarca los procedimientos integrados para la medida del uso y del impacto de diarios cientficos. TESEO La Base de Datos TESEO de la Secretara General del Consejo de Coordinacin Universitaria, recoge y permite recuperar informacin de las tesis doctorales ledas y consideradas aptas en las Universidades espaolas desde 1976.

COMPLUDOC Compludoc contiene las reseas bibliogrficas de los artculos publicados en una seleccin de revistas cientficas analizadas en las bibliotecas de los Centros de la Biblioteca de la Universidad Complutense de Madrid. Compludoc naci en el ao 1997 con referencias de artculos de revistas de ciencias sociales, la mayor parte de ellas espaolas junto a algunas de las principales editadas en ingls y francs. En la actualidad, hay cerca de 50.000 registros. A Compludoc se estn incorporando el resto de las bibliotecas de la BUC, introduciendo artculos de revistas espaolas de las materias correspondientes a las Facultades de la Universidad Complutense. Se han creado cuatro bases de datos: rea de Ciencias, rea de Ciencias de la Salud, rea de Ciencias Sociales, rea de Humanidades.

GIMCEAD promueve capacitacin en base de datos cientificas a investigadores y coordinadores del CREAD
El dia martes 05 de Abril de 2011, el grupo de investigacin GIMCEAD invito a un grupo de expertos de la Universidad de Cartagena a las instalaciones del CREAD para capacitar a los investigadores y coordinadores en el manejo de la bases de datos suscritas por nuestra universidad. Dicha capacitacin fue promovida de manera especial por el Ing. Ildefonso Baldiris Navarro. Recordemos que una base de datos cientfica es una coleccin sistematizada y organizada de dato, que se puede acceder a la investigacin cientfica y la administracin a largo plazo. Bases de datos cientficas permiten la integracin de conjuntos de datos diferentes a menudo en todas las disciplinas, lo cual hace posible nuevas iniciativas investigativas. Hay varias ventajas en el desarrollo y el uso de bases de datos cientficas. En primer lugar, las bases de datos conducen a una mejora general de calidad de los datos. El aumento en el nmero de usuarios aumenta la frecuencia de deteccin y correccin de problemas en los datos. Una segunda ventaja es el costo. Por lo general, cuesta menos que recolectar datos. Adems, en muchos casos factores incontrolables (tales como el clima, las influencias de la poblacin y procesos de los ecosistemas) hacen imposible recoleccin de datos. Por otra parte, para efectos de elaboracin del estado del arte es una herramienta altamente importante, por cuanto hace posible la revisin de publicaciones en determinado tema en intervalos de tiempo de nuestro interes. En el siguiente recuadro observas una guia para el uso de la base de datos ScienceDirect una de las utilizadas para encontrar articulos cientificos de alto impacto (los mas citados), debido a su rigor cientifico.

Base de datos bibliogrfica


Una base de datos bibliogrfica es una base de datos de registros bibliograficos, que puede tener un soporte fsico (fichas impresas, catlogo en papel) o, ms frecuentemente, tener un soporte electrnico (CD-ROM, catlogo en lnea...). Puede ser una base de datos que contiene informacin sobre libros y otros materiales de una biblioteca (por ejemplo un catlogo de biblioteca) o bien, siguiendo la acepcin ms usada del trmino, unndice bibliogrfico del contenido de un conjunto de revistas y otras publicaciones cientficas como artculos cientficos, actas de conferencias y congresos, captulos de libros, etc. Estas bases de datos suelen tener formato electrnico y se consultan a travs de Internet. Contienen citas bibliogrficas, referencias, abstracts (resumen de una publicacin cientfica) y, a menudo, el texto completo de los contenidos indexados, o enlaces al texto completo.

Muchas bases de datos cientficas son bases de datos bibliogrficas pero otras no lo son. En Chemical Abstracts Service, CAS, por ejemplo, hay bases de datos de estructuras qumicas, y En Entrez hay bases de datos de secuencias.

Fuera del mbito de la ciencia, ocurre lo mismo: hay bases de datos que contienen citas de artculos de revistas de historia del arte y hay bases de datos de imgenes artsticas, como ARTstor. Algunas bases de datos importantes se discuten a continuacin. Para una lista de bases de datos bibliogrficas por tema, ver Lista de bases de datos acadmicas y motores de bsqueda y en:List of academic databases and search engines.

Eleccin de la fuente de Informacin. Encontrar una BBDD que responda a nuestras necesidades en funcin de lo que queremos evaluar. BBDD Nacional o Internacional BBDD Temtica o multidisciplinar. BBDD de produccin, actividad cientfica o para el anlisis. BBDD de referencia en la ciencia mundial para estudios bibliomtricos. Cubre las mejores revistas en todas las reas temticas. Indiza ms de 10.000 revistas y 100.000 actas de congresos (40 millones de registros). Consta de varios ndices (SCI, SSCI, AHCI y CPCI). Orientacin anglosajona y a ciencias bsicas. 149 revistas espaolas a fecha abril 2009.

Socios SAO
Bases de Datos para Investigacin Cientfica
La mayora de los trabajos de investigacin clnica no necesitan de introduccin de tratamientos experimentales o anlisis costosos, sino pura y exclusivamente de la adecuada observacin y registro de los datos buscados, que estn frente a los ojos de los profesionales de la salud, y que no necesitan de gastos extras para su obtencin. Un trabajo de investigacin clnica es de mayor valor cuanto mayor sea el nmero de pacientes estudiados. Miramos admirados las publicaciones en el extranjero donde la muestra contiene nmeros superiores a 100 pacientes. En nuestro medio se atienden muchsimos pacientes con determinada patologa, pero si la informacin no se registra, se pierde para las nuevas generaciones y para el conocimiento de la ciencia en general. Estos datos pueden obtenerse de cada uno de los profesionales, trabajen en la Sociedad o en su prctica privada

A partir del mes de octubre de 2005 comenz a conformarse en nuestra institucin una base con datos incorporando los pacientes que concurren buscando tratamiento,resendolos antes del estudio diagnstico (entre los ingresantes al Departamento de Admisin -paciente en trnsito), al momento de ser admitidos para su tratamiento, mientras estn a la espera de adjudicacin a curso o clnica. Por el nmero importante de pacientes, la tipificacin de los mismos nos permite obtener datos e informacin sobre sus patologas de base, as como datos genricos yetarios en forma sencilla y gil agrupados segn sus caractersticas. Esta base puede ser consultada para trabajar en investigacin, establecer estrategias futuras, comparaciones con otros centros de atencin del pas y/o del exterior. El acceso a los datos se limitar a aquellos socios de la institucin que cumplan con requisitos orientados a continuar ampliando la base. Si logrramos que a esta base ingresen datos de socios de todo el pas podramos realizar estudios demogrficos ms amplios que caracterizaran a grupos de pacientes por anomalas y regiones facilitando una vigilancia epidemiolgica regional y nacional. En un futuro prximo sern agregados a la base de datos resultados de los pacientes tratados, teraputica utilizada, tiempo y grado de satisfaccin del paciente y el profesional y otros datos que los socios crean de inters.

Instrucciones para iniciar su base de datos


Para uniformar el ingreso de datos externos hemos preparado una Planilla de registro Base de Datos (puede descargarla al final de esta pgina) que sirve para que comience a registrar los pacientes de su consultorio en una base que luego le permitir realizar filtros y poder ubicar los seriales por sexo, edad y patologa que desee para un estudio personal o para contribuir a la base general que ha iniciado nuestra Institucin. cdPermanente Permanente joven adulta

Denticin:

ab- Mixta Temporaria

Plano poslcteo:

a- recto

bc- escaln escalnmesial distal c- Borde a borde eInvertida

Mordida anterior:

a- Normal

b- Abierta

d- Cubierta

Mordida invertida posterior:

a- No

b- Derecha

c- Izquierda

d- Derecha e Izquierda d- No puede establecerse d- No puede establecerse d- Sin

Clase molar:

a- I

b- II

c- III

Clase canina:

a- I

b- II

c- III

Overjet:

a- Normal

b- Aumentado c- Invertido

Latero desviacin de mentn: Lado

a- No

b- S

a- Derecho b- Izquierdo d- Superior e Inferior d- Superior e Inferior d- Superior e Inferior

Estrechez:

a- No

b- Superior

c- Inferior

Apiamientos:

a- No

b- Superior

c- Inferior

Diastemas:

a- No

b- Superior

c- Inferior

Ausencia de piezas dentarias: Caries: Problemas funcionales:

a- S

b- No

a- S a- S

b- No b- No b- No

Problemasperiodontales: a- S Problemas en relacin ATM: Necesidad de rehabilitacinprotsica: Posibilidad de ciruga: Higiene bucal:

a- S

b- No

a- S

b- No

a- S a- Buena

b- No b- Regular c- Mala

Si bien en su prctica usar la planilla con todos los datos del paciente para su control, consignando nmero de orden, nombre y apellido, etc. la copia que enve contendr slo el nmero de la ficha. Los nmeros deben ser consecutivos y empezar en 01, slo UD. conocer la identidad de su paciente. Es decir que a fin de que el paciente proveniente de la prctica privada vea preservada suprivacidad se pedir a los socios que aporten lo harn con su propio nombre y nmero de socio seriando los pacientes no por nombre sino con 4 nmeros, Ej. : 0001, 0002, etc. de manera que slo el socio sabr la identidad de 0001, 0002, etc. indicando fecha de inicio y corte, sus datos personales y su procedencia, Localidad, Provincia. En nuestra Base General al lado del nmero serial colocaremos su nmero de socio, que es nico e irrepetible.

Cuando enve contribuciones a la Base General, se le extender un certificado acreditando su participacin. Es aconsejable que lo haga con sus datos personales y su procedencia: Localidad,

Provincia, por perodos anuales y que los nmeros de las fichas se continen la segunda vez con el siguiente a la primera y as sucesivamente, indicando cada vez fecha de inicio y corte. Invitamos a los Socios a usar nuestra distribucin de datos para poder comparar resultados de las bases que conformen en sus consultorios o instituciones y contribuir a la Base SAO. Sobre estos fundamentos, en el futuro se podrn ir agregando columnas con ms datos, los profesionales incluirn en su rutina el registro y ponderacin de los mismos y podremos dar inicio a un importante cambio en nuestro quehacer cientfico. En caso de que un socio contribuyente a la Base General quiera usar para hacer comparaciones con sus resultados la base de la SAO deber completar los formularios Normas para la presentacin de Proyectos Cientficos y Datos Personales CV.

BasesdeDatosCientificasUniversidadad
La universidad cuenta con bases de datos en lnea en todas las reas del conocimiento: Salud, Ingenieras, Economa, Administracin y Negocios, Ciencia y Tecnologa, Ciencias Humanas, Ciencias Agrcolas, Biologa, Educacin, Telecomunicaciones, Religin, Arte y Humanidades.

Bases de datos de biblioteca


Estas bases de datos estn diseadas para ser utilizadas por estudiantes de facultades y universidades para ayudarles a identificar y localizar libros para trabajo en clase e investigacin (por ejemplo, el Catlogo Cisne de la Biblioteca Complutense de la Universidad Complutense de Madrid, o por eruditos de un tema que necesitan localizar recursos bibliogrficos en una gran biblioteca pblica, como la Biblioteca Nacional de Espaa (en este caso, es posible acceder va Internet al catlogo en Catlogo BNE. Los libros se obtiene habitualmente a partir de un catlogo especfico de esa biblioteca, o mediante un prstamo interbibliotecario.

Servicio de Biblioteca por ordenador en lnea, OCLC


Esta gran base de datos mundial, llamada WorldCat, es de amplio uso y tiene acceso a las mayores bibliotecas pblicas y universitarias del mundo, en muchos pases. Es un servicio disponible para las bibliotecas que se suscriben al mismo, actualmente ms de 57.000 en 112 pases. Ahora est disponible una versin gratuita, algo menos potente, llamada Worldcat.org. Otra versin llamada Open WorldCat puede integrarse en los navegadores web. Los registros de Open WorldCat pueden ser accedidos desde las bsquedas avanzadas de Google o Yahoo, simplemente limitando la bsqueda al sitio "worldcatlibraries.org

Bibliotecas especficas
Los catlogos de las mayores bibliotecas, especialmente las grandes bibliotecas nacionales, pueden usarse para bsquedas bibliogrficas de propsito general; pudiendo ser asumido que disponen de todos los ttulos de importancia, y esa informacin puede usarse para buscar en catlogos de bibliotecas ms especficas. Los catlogos de bibliotecas individuales pueden usarse para encontrar libros en esas bibliotecas especficas. Entre ellas, the LibraryNetwork, un sitio web que provee informacin acerca de los servicios conjuntos de las bibliotecas del Banco Mundial y del Fondo Monetario Internacional, incluyendo

un catlogo en lnea, acceso a visitantes, prstamos interbibliotecarios y ubicaciones de bibliotecas depositarias alrededor del mundo.

Bases de datos de libros de inters general en lnea


Algunas bases de datos poseen ms bien un inters general que un uso acadmico, y se construyen de un modo menos formal que lasa nteriormente citadas. The Internet Book Database: (IBookDB) es una base de datos en lnea con informacin sobre libros y autores con un componente de red social aadida. Se inici un esfuerzo para que fuese equivalente con los libros que IMDb con las pelculas. Actualmente contiene informacin sobre 250.000 libros con 800,000 ISBNs, 73,000 autores y 4,000 series, siendo una de las bases de datos ms grandes del mundo sobre libros y autores. The Internet Book Database of Fiction: (IBDoF) es una base de datos en lnea con informacin sobre libros de ficcin. El sitio tambin aloja un sistema de mensajes dirigido a la discusin sobre libros. Actualmente contiene informacin sobre 36.000 libros y 4800 autoers. La comunidad tiene unos 1400 miembros activos que escriben unos 130.000 mensajes sobre 6500 temas diferentes. Internet Book List: (IBList) es una base de datos en lnea con informacin sobre libros, autores, e historias breves.

Elsitio estenteramente operado por voluntarios y contiene informacin sobre 65,000 obra incluyendo historias cortas (55,000 libros), 20,000 autores, 4800 series que los propios usuarios pueden comentar y valorar. Internet Speculative Fiction Database Base de datos de Ficcin Especulativa en Internet (ISFDB) es una base de datos de informacin bibliogrfica sobre ciencia ficcin y 1 2 gneros relacionados como fantasa y terror. ISFDB es un proyecto soportado por voluntarios con una base de datos y un wiki de cdigo abierto que permite la edicin y contribuciones de los usuarios.

Bases de datos de libros de redes sociales


Hay varias bases de datos diseadas principal o parcialmente para redes sociales. Motivan a los usuarios para que hagan sus propios catlogos,evalen sus libros en el sitio web, y usen esta informacin para identificar a otros usuarios con intereses comunes. LibraryThing es un ejemplo grande y bien conocido.

Bases de datos de libreras


Con el objetivo principal de vender libros y otros productos. La casa del libro FNAC AbeBooks Amazon.com Barnes & Noble

Compilaciones de otras bases de datos


Tambin conocidas como motores de meta bsqueda de libros, combinan los resultados de catlogos de varias bibliotecas y otras fuentes.

ISBNdb.com
ISBNdb.com [1] es un sitio web que intenta construir una base de datos libre consultando datos de libros a varias bibliotecas de todo el mundo. Luego los resultados se indexan por varios parmetros (autores, editores, temas, semejanza, etc.) y presentados en el sitio web en un formato organizado. Los registros originales tambin estn disponibles para descarga. En mayo de 2006, el sitio tena datos de ms de 2 millones de ISBNs nicas correspondientes a libros que pueden buscarse por ttulo, ISBN, autor, temas y otros criterios. El sitio ISBNdb.com tambin ofrece disponibilidad y comparaciones de precios de libros en las principales libreras en lnea como Amazon y otros distribuidores de libros (AbeBooks, Alibris, etc.). ISBNdb.com muestra la informacin sobre precios de modo inmediato, en paralelo a la muestra de informacin sobre el libro. ISBNdb.com fue iniciado en 2001 por Andrew Maltsev como un proyecto de aficionado. Ahora es un proyecto de su compaa, Ejelta LLC.

Proyecto de Biblioteca y Bibliografa digital, Digital Bibliography & Library Project (DBLP)
Digital Bibliography & Library Project (DBLP) rastrea las citas bibliogrficas sobre informtica. En julio de 2007, este sitio web listaba casi un milln de citas a artculos del campo de la informtica.

Que son las bases de datos Es el conjunto de informaciones almacenadas en un soporte legible por ordenador y organizadas internamente por registros (formado por todos los campos referidos a una entidad u objeto almacenado) y campos (cada uno de los elementos que componen un registro). Permite recuperar cualquier clase de informacin: referencias, documentos textuales, imgenes, datos estadsticos, etc.

Componentes bsicos de una base de datos


o

Documentos, constituyen la entidad fsico/cognitiva compleja que alberga la estructura formal, basada en los datos fsicos necesarios para su identificacin (ttulo, autor, lugar de publicacin, fecha, edicin,...) y la

o o o

estructura lgico-cognitiva, centrada en el contenido y en las propiedades semnticas. Representacin de documentos, tanto de sus propiedades fsicas como semnticas se hace mediante palabras clave, frases, etc. que servirn de puntos de acceso cuando interroguemos al sistema. Necesidades de informacin de los usuarios, manifestadas en la solicitud de informacin. Representacin de las necesidades de informacin, expresadas tambin con palabras clave o frases. Comparacin de la representacin de informacin con la representacin de los documentos. Las bases de datos, basadas en la funcin semejanza compara, a travs de un ndice, ambas representaciones para seleccionar los documentos relevantes.

Clasificacin Segn la naturaleza de la informacin contenida en las bases de datos, se distinguen dos grandes grupos:

Bases de datos referenciales: La informacin que contiene es muy estructurada principalmente a travs de tablas. Con stas se pueden establecer relaciones que pueden dar lugar a nuevas tablas o bases de datos. Ejemplo de este tipo de base de datos es el programa Access, Oracle, etc. Bases de datos documentales: Los registros que componen la base de datos se relaciona con los documentos almacenados. Su organizacin se estructura de la siguiente manera: un registro se relacionan con un nmero de identificacin del documento original, y se puede acceder a ste mediante los distintos campos.

Dependiendo del tipo de cobertura temtica pueden ser:


o

Bases de datos multidisciplinares: la documentacin almacenada abarca distintas disciplinas cientficas como es el caso de TESEO (tesis de todas las disciplinas) Bases de datos especializadas: la documentacin almacenada abarca slo una disciplina como es el caso

de Medline (slo documentacin relacionada con Medicina) Segn la cobertura geogrfica:


o o

Internacionales: Almacenan la documentacin publicada en cualquier lugar del mundo. Por ejemplo: LISA Nacionales: Almacenan la documentacin publicada slo en un mbito nacional. Por ejemplo: IME

Elegir la base de datos adecuada

CICA (Centro Informtico Cientfico de Andaluca)

o o o o

Objetivo: potenciar las investigaciones relacionadas con las Tecnologas de la Informacin y de las Comunicaciones e impulsar la creacin de una red informtica capaz de satisfacer las necesidades de clculo cientfico de Andaluca. Prestar servicio informtico, en las labores de investigacin y docencia, a la comunidad acadmica y cientfica de Andaluca, as como la planificacin, coordinacin y mantenimiento de RICA y su integracin en laRedIRIS a nivel estatal. ndice del servidor web del CICA Documentacin disponible http://www.cica.es/docu/ Servicios Las bases de datos del CICA pueden realizar la bsqueda a travs de servidores web como Harvest o Wais

ProQuest

ProQuest se organiza en bases de datos de peridicos, revistas y revistas cientficas relacionadas que puede usar para encontrar artculos. La informacin de cada base de datos vara, dependiendo de su orientacin. Algunas bases de datos contienen bases de datos menores, que tratan temas especficos. Por ejemplo, la base de datos de peridicos de ProQuest contiene dos bases de datos de menor nivel: Detroit News, y The New York Times.

Enlaza con distintas revistas del mbito de la medicina y la sicologa, permitiendo buscar en varias a la vez.

El tesauro nos ayuda a delimitar terminologicamente la bsqueda, es decir utilizamos el trmino correcto para hacer la bsqueda.

WebSPIRS WebSPIRS (SilverPlatter's Information Retrieval System for the World Wide Web) permite utilizar un navegador para consultar las bases de datos de SilverPlatter.
o

Dependiendo de como est configurado el cliente de WebSPIRS, se pueden imprimir, guardar o enviar por correo electrnico los registros recuperados, y guardar los historiales de bsqueda para utilizarlos en sesiones posteriores. Tambin es posible obtener informacin acerca de los fondos de la biblioteca en relacin con los documentos mencionados en los registros, enlazar directamente con revistas electrnicas (si la biblioteca est preparada para proporcionar dicha informacin), o solicitar el envo de documentos. Si la biblioteca utiliza la opcin de la DSI (Difusin Selectiva de Informacin) de WebSPIRS, es posible programar bsquedas que se ejecuten automticamente y recibir por correo electrnico avisos de la aparicin de nuevos registros. Tambin es posible suscribirse a Alertas DSI creadas por el bibliotecario.

o o

Elegir la bases de datos que nos interesan. Definir la estrategia de bsqueda con ayuda del ndice y el tesauro.

Limitar la bsqueda (nos puede ayudar a eliminar muchos documentos que no son necesarios).

CINDOC

o o o

Sistema de informacin de bases de datos Presenta el listado de las bases de datos Podemos acceder a los campos principales y posteriormente si nos interesa el documento hacer el pedido. Las bsqueda se puede limitar y tambin emplear ndices

Construir bsqueda Extraer varias frases que representen con precisin el tema. Identificar todos los conceptos significativos de las frases. Establecer sinnimos, variantes gramaticales, etc. Traducir los conceptos a varios idiomas. Construir el lenguaje de bsqueda con ayuda de los operadores. Operadores Lgicos Posicionales Existencia Exactitud

Operadores Y lgico (AND) Lgicos Slo en resultados donde aparecen todos los conceptos revistas and ocio

Excluye el concepto NO lgico negado revistas and not (NOT) ocio O lgico (OR) Cerca (NEAR) Une los conceptos empleadosRevistas o ocio Une los conceptos empleados y adems no puede haber una separacin de ms de 10 palabras. Es la interseccin de los conceptos pero adems se exige que no haya otra palabra que los separe Se requiere que la frase sea exacta para ello es conveniente utilizar comillas "Revista de ocio en ciudades costeras"

Posicionales

Junto (ADJ)

Frases

Existencia

Especifica que los conceptos deben aparecer Presencia en el resultado, para ello se utiliza el signo + No se quiere que ese concepto est presente en Ausencia la bsqueda, para ello se utiliza el signo Se quiere que en la bsqueda aparezcan familias de la palabra utilizada, para ello se utiliza el smbolo *, $

Exactitud

LENGUAJES DE PROGRAMACION

Lista de los lenguajes de programacin.

El objetivo de esta lista de lenguajes de programacin es incluir a todos los lenguajes de programacin notables en la existencia, tanto los de uso actual y las histricas, en orden alfabtico, a excepcin de los dialectos de los lenguajes de programacin BASIC y esotrico. A
A# .NET A# (Axiom) A-0 System A+ A++ ABAP ABC ABC ALGOL ABLE ABSET ABSYS Abundance ACC Accent Ace DASL ACT-III Action! ActionScript Ada Adenine Agda Agora AIMMS Alef ALF ALGOL 58 ALGOL 60 ALGOL 68 Alice Alma-0 AmbientTalk Amiga E AMOS AMPL APL

AppleScript Arc ARexx Argus AspectJ Assembly language ATS Ateji PX AutoHotkey Autocoder AutoIt AutoLISP / Visual LISP Averest AWK Axum

B
B Babbage Bash BASIC bc BCPL BeanShell Batch (Windows/Dos) Boo Boomerang Bourne shell (including bash and ksh) BREW BPEL BUGSYS BuildProfessional

C
C C-C++ - ISO/IEC 14882 C# - ISO/IEC 23270 C/AL Cach ObjectScript

C Shell Caml Candle Candor Cayenne CDuce Cecil Cel Cesil CFML Cg Chapel CHAIN Charity Charm Chef CHILL CHIP-8 COMAL Combined Programming Language (CPL) Common Intermediate Language (CIL) Common Lisp (also known as CL) COMPASS Component Pascal COMIT Constraint Handling Rules (CHR) Converge Coral 66 Corn CorVision Coq COWSEL CPL csh CSP Csound

Curl Curry Cyclone Cython

D
D DASL (Datapoint's Advanced Systems Language) DASL (Distributed Application Specification Language) Dart DataFlex Datalog DinkC DIBOL DL/I Draco DYNAMO

E E# Ease EASY Easy PL/I EASYTRIEVE PLUS ECMAScript Edinburgh IMP EGL Esterel Etoys Euclid Euler Euphoria EusLisp Robot Programming Language CMS EXEC EXEC 2

F
F F# Factor Falcon Fancy Fantom FAUST Felix Ferite FFP Fjlnir Fortran - ISO/IEC 1539 Fortress FoxBase FoxPro FP

FPr Franz Lisp Frink F-Script Fuxi

G
G Game Maker Language GameMonkey Script GAMS GAP G-code Genie GDL Gibiane Godiva GOM (Good Old Mad) Goo GOTRAN GPSS GraphTalk GRASS Groovy

H
HAL/S Hamilton C shell Harbour Haskell Hope Hugo Hume HyperTalk

I
IBM Basic assembly language IBM HAScript IBM Informix-4GL IBM RPG ICI Icon Id IPTSCRAE ISLISP ISPF ISWIM

J
J J# J++ jQuery JADE Jako JAL Janus Joule JOVIAL Joy Julia JScript JavaFX Script

K
K Kaleidoscope Karel Karel++ KRL KRL (KUKA Robot Language)

KRYPTON ksh

L
L L# .NET LabVIEW Ladder Lagoona LANSA Lasso LaTeX Lava LC-3 Leadwerks Script Leda Lithe Little b Logo Logtalk LPC LSE LSL Lua Lucid Lustre LYaPAS Lynx

M
M M2001 M4 Machine code MAD (Michigan Algorithm Decoder) MAD/I

Magik Magma make Maple MAPPER (Unisys/Sperry) now part of BIS MARK-IV (Sterling/Informatics) now VISION:BUILDER of CA Mary MASM Microsoft Assembly x86 Mathematica MATLAB MIVA Script ML Moby Model 204 Modelica Modula Modula-2 Modula-3 Mohol MOO Mortran Mouse MPD MSIL - deprecated name for CIL MSL MUMPS

N
Napier88 NASM NATURAL NEAT chipset Neko Nemerle NESL

Nial Nice Nickle NPL Not eXactly C (NXC) Not Quite C (NQC) Nu NSIS

O
o:XML Oak Oberon Object Lisp ObjectLOGO Object REXX Object Pascal Objective-C Objective Caml Objective-J OpenEdge ABL OPL OPS5 OptimJ Orc ORCA/Modula-2 Oriel Orwell Oxygene Oz

P
P# PARI/GP Pascal - ISO 7185

Pawn PCASTL PCF PEARL PeopleCode Perl PDL PHP Phrogram Pico Pict Pike PIKT PILOT PostScript PortablE Powerhouse PowerBuilder - 4GL GUI appl. generator from Sybase PPL Processing Prograph PROIV Prolog Visual Prolog Promela PROTEL ProvideX Pro*C Pure Python

Q
Q (equational programming language) Q (programming language from Kx Systems) QuakeC

QPL

R
R R++ Racket RAPID Rapira Ratfiv Ratfor Rlab ROOP RPG RPL RSL RTL/2 Ruby Rus

S
S S2 S3 S-Lang S-PLUS SA-C SabreTalk SAIL SALSA SAM76 SAS SASL Sather Sawzall SBL Sed Self SenseTalk SETL Shift Script SiMPLE SIMPOL SIMSCRIPT Simula Simulink SISAL SLIP SMALL Smalltalk Small Basic

Scala Scheme Scilab Scratch Script.NET SOL Span SPARK SPIN SP/k SPS Squeak Squirrel SR S/SL Strand STATA Stateflow Subtext Suneido SuperCollider SuperTalk SYMPL SyncCharts SystemVerilog

SML SNOBOL(SPITBOL) Snowball SOAP

T
T TACL TACPOL TADS TAL Tcl Tea TECO Topspeed TPU Trac TELCOMP TeX TEX TIE Timber Tom TOM

T-SQL TTCN Turing TUTOR TXL

U
Ubercode Unicon Unix shell UnrealScript Uniface UNITY

V
Vala VBA VBScript Verilog VHDL Visual Basic Visual J++ Visual J# Visual Objects VSXu Vvvv Visual Basic .NET Visual C# Visual DataFlex Visual DialogScript Visual FoxPro

W
WATFIV, WATFOR WebDNA Winbatch

X
X++ X10 XBL XC (exploits XMOS architecture) XPL0 XQuery XSB XSLT - See XPath

Y
Yorick Yoix

Z
Z notation Zeno ZZT-oop ZOPL ZPL

Lenguajes Esotricos
Existen muchos lenguajes de programacin especialmente extraos, muchos de los cuales fueron desarrollados con el propsito de resultar divertidos (en vez de tiles) para los programadores. Estos lenguajes esotricos (o exticos) se crean como un pasatiempo para los desarrolladores, que intentan hacer lenguajes lo ms alejados de la forma de razonar humana, pero que al mismo tiempo sean Turing completos. Algunos de estos lenguajes son:

Brainfuck (jodecerebros), es un lenguaje de programacin esotrico, diseado por Urban Mller en 1993, con el objetivo de hacer un lenguaje que fuera a la

vez muy simple, Turing completo y que requiriese un compilador pequeo. Mller bas Brainfuck en la mquina de Turing y le sirvi de inspiracin el compilador de 1024 bytes de tamao del lenguaje FALSE.

Un "Hello, world" en Brainfuck Este sera el tpico programa que escribe "Hello, world" (en rojo los comentarios). Befunge es un lenguaje de programacin esotrico, funge-oide, reflexivo y basado en pila. Difiere de los lenguajes convencionales en que los programas estn dispuestos en una parrilla bidimensional. Las instrucciones "flecha" dirigen el control de flujo hacia arriba, abajo, izquierda o derecha, y los bucles se construyen dirigiendo el control de flujo en crculo.

Befunge lo cre Chris Pressey en 1993 en un intento de disear un lenguaje tan difcil de compilar como humanamente posible fuera

Este es un ejemplo del clsico programa "Hola mundo!". Primero se introducen en la pila las letras "olleH" como nmeros ASCII. Luego se extraen de la pila en orden LIFO y se muestran como caracteres de texto para dar "Hello". El espacio es el carcter 32 en ASCII, que aqu se construye multiplicando 4 por 8, antes de comenzar la salida de texto. El resto del cdigo muestra de forma similar "World!", seguido del carcter ASCII 10 (un salto de lnea). INTERCAL es un lenguaje de programacin esotrico diseado para ser extremadamente difcil de entender. Es una parodia de los lenguajes de programacin FORTRAN y COBOL.

Fue creado por Don Woods y James Lyons, estudiantes de Princeton, en 1972. La versin actual, C-INTERCAL, es mantenido por Eric S. Raymond. Los autores originales

dicen que INTERCAL significa "Compiled Language With No Pronounceable Acronym" ("Lenguaje compilado con ningn acrnimo pronunciable)

= cdigo de ejemplo Hello World en INTERCAL (CINTERCAL). Una de las caractersticas ms peculiares de INTERCAL es que en lugar de tener la sentencia GOTO (desaconsejada por Edsger Dijkstra) tiene la instruccin COME FROM #, que indica que cuando se ha ejecutado la sentencia # se salta a la siguiente sentencia despus de COME FROM #.

Malbolge es un lenguaje de programacin esotrico de dominio pblico desarrollado por Ben Olmstead en 1998. Se llam as por el octavo crculo del infierno en La Divina Comedia, escrito por Dante. Malbolge es peculiar porque se dise para ser el lenguaje ms difcil. Sin embargo, varios de los trucos utilizados para hacerlo difcil de entender pueden ser evitados.

Cdigo de ejemplo Hello World dijo: (=<`:9876Z4321UT.Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk** hKs_dG5[m_BA{?Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<

Ook! (con el signo de exclamacin) es un lenguaje de programacin esotrico Turing completo. Este lenguaje es una parodia de Brainfuck, del que toma su conjunto completo de comandos (ver tabla). Deriva su completitud Turing de esta relacin. Segn su diseador, David Morgan-Mar, el lenguaje est diseado para orangutanes. Tiene 3 palabras reservadas (Ook, Ook?, y Ook!); que pueden combinarse en ocho maneras diferentes para formar el repertorio de instrucciones del lenguaje. Ook! pretende ser fcil de aprender para los orangutanes y evitar cualquier mencin de la palabra mono.

El nombre del lenguaje y la relacin con los orangutanes viene del personaje del bibliotecario que aparece en las novelas del Mundodisco de Terry Pratchett. El bibliotecario es un mago que se convirti en orangutn debido a un error en un conjuro mgico y cuyo vocabulario consta de una sola palabra: Ook. Esto es un ejemplo de cmo programar en Ook!. El siguiente cdigo desplegar "Hola Mundo!" en la salida estndar: dijo: Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.

You might also like