You are on page 1of 8

INFORMACION Y DATOS

Para entender las diferencias entre una base de datos y una base de conocimiento, creemos que es muy
importante aclarar los conceptos de "conocimiento", "información" y "datos". Estos tres conceptos son
básicos para el desarrollo de un sistema o base de información1. Íntimamente unidos a éstos, están los de
"representación" vs. "proceso".
Como Bubenko & Orci (1989:364) señalan, a pesar de la existencia de innumerables estudios, conferencias
e incluso departamentos enteros dedicados al estudio de sistemas basados en el conocimiento, la distinción
entre conocimiento, información y datos está lejos de ser clara. Estos conceptos, básicos para las ciencias de
la información, son entendidos de formas diferentes por investigadores diferentes, dependiendo de su
entorno, sus necesidades y sus problemas. En general podemos distinguir los siguientes puntos de vista:
El conocimiento desde el punto de vista epistemológico: la definición clásica de "conocimiento" la
encontramos en (Crisholm 1977:43), y es la siguiente:
C knows k iff (1) k is true, (2) C accepts k, and (3) k is evident for C
Algunas de estas condiciones, (verdad, aceptación y evidencia) han sido cuestionadas ampliamente, pero
permiten un punto de partida válido para discutir el conocimiento artificial. La discusión gira en torno a lo
siguiente: para que k pueda ser aceptada por y/o evidente para C, tiene que cumplirse el que tenga algún
significado para C, lo cual implica que tenemos que definir mecanismos para interpretar su significado. Por
ello, si bien los parámetros estipulados son válidos, tal vez no sean suficientes.
El conocimiento desde
el punto de vista de las bases de datos: la posición generalmente compartida por el entorno de las bases de
datos es que un elemento de conocimiento tiene que ver con un Universo de Discurso (UoD: Universe of
Discourse), que puede ser real, mental, social, o de cualquier otro tipo. Los datos, pues, son considerados
como aseveraciones sobre un determinado estado de cosas en un determinado UoD. A estas aseveraciones se
las denomina hechos. "Juan ama a María" es un hecho perceptible u observable dentro de un determinado
UoD y puede ser representado por una estructura de datos. Para alcanzar el dominio del conocimiento es
necesario subir a un nivel de abstracción superior, en el que podemos hablar de las propiedades de los
hechos y de las relaciones entre hechos individuales y entre hechos y el UoD, así como de las alteraciones de
los hechos y las repercusiones de estas alteraciones sobre el UoD. Por ejemplo, aseveraciones como "todos
los hombres casados tienen una esposa y sólo una", o "para cada humano x, y, z, se cumple que, si x es el
padre de y, y y es el padre de z, entonces x es el abuelo de z". Este tipo de conocimiento, llamado por algunos
investigadores metadatos, pues de hecho son datos que "hablan" sobre datos, no es, típicamente, el dominio
de las bases de datos. Esta visión se puede resumir de la siguiente manera:
El conocimiento desde el punto de vista de la IA: "Conocimiento" en el ámbito de la Inteligencia Artificial
significa:

Esta visión se corresponde con lo que encontramos más a menudo en las bases de conocimiento: una
colección de hechos y reglas mediante los cuales el sistema es capaz de extraer conocimiento que no está
almacenado de forma explícita. Por tanto, para la IA, una estructura de datos que no contenga más que
"hechos" no es considerada como conocimiento, sino tan sólo como una fuente potencial de información. La
IA, por tanto, pone el énfasis en el comportamiento computacional, es decir el uso de los datos por parte de
los procedimientos.
Podríamos estipular que, en general, el conocimiento identifica información sobre conceptos generales,
mientras que los datos conforman información sobre entidades específicas. En este sentido, los datos reflejan
el estado de cosas de un determinado UoD en un momento determinado, y por tanto son altamente
susceptibles de modificaciones. En cambio, el conocimiento sobre cómo interpretar y usar esos datos no
cambiará tan a menudo. Además, aunque el conocimiento sea complejo, su dominio es el de las
generalizaciones sobre tipos, y no el de las instancias específicas, que es el dominio de los datos.

Una interpretación en términos cognitivos de este extremo es que una KB contiene información representada
de una forma más parecida a cómo los humanos la almacenamos (Walker et al. 1987). El término
"conocimiento", hace referencia específica a las reglas en las que la información ha de ser usada, así como a
diversos procesos cognitivos en relación con la actualización de la información contenida en un sistema. Si un
sistema contiene información representada a modo de generalizaciones sobre datos y es capaz de usar esta
información de forma inteligente, actualizarla según necesidades y proveer información acerca de la
información que contiene (ser "consciente" de sus limitaciones), entonces es un sistema de conocimiento. Si,
por el contrario, un sistema contiene una gran cantidad de datos específicos sobre un determinado universo y
provee los mecanismos necesarios para recuperar y modificar esa información, ya sea por un programa o por
un usuario humano2, entonces es un sistema de base de datos.
Centrándonos en el eje representación/proceso, una DB es fundamentalmente un repositorio de información
pasivo: las operaciones sobre sus datos son realizadas por aplicaciones externas que han de ser invocadas de
forma explícita. Por el contrario, una KB es un sistema activo de forma inherente (Albano & Attardi 1989).
Las acciones que una KB lleva a cabo van desde la invocación de procedimientos cuando se accede a un
determinado slot o casilla (en el caso de un esquema de representación basado en marcos), pasando por
procesos deductivos o propagación de restricciones (en el caso de esquemas de redes semánticas
genéricas).3
A esto se le denomina activación de procesos, disparo o triggering. Este mecanismo puede incluso acceder y
modificar los hechos y reglas contenidos en su propio repositorio de datos.
A modo de ilustración, supongamos que tenemos un sistema de información capaz de procesar el input en
varios idiomas sin necesidad de indicarle de qué idioma se trata. Independientemente de qué método se
utilice para averiguar el idioma (estadísticos, probablemente)4, una vez determinado éste, se
desencadenarían una serie de procesos particulares para procesar ese idioma concreto, que invocarían los
parsers morfológicos y sintácticos adecuados.
Otro tipo de triggering usado en muchas aplicaciones que son calificadas de "inteligentes"5 no invoca
procedimientos sino que accede a datos que son transferidos a un buffer y los mantiene ahí mientras exista la
posibilidad de ser solicitados por el agente externo. Por ejemplo, en un sistema de información turística, si un
usuario consulta la localización de un determinado organismo oficial, es muy probable que a continuación
desee profundizar en los servicios que éste ofrece. Una aplicación "inteligente" sería capaz de adelantarse a
esta consulta y recuperar esta información mientras el usuario consulta la localización, ganando
enormemente en velocidad de acceso. La propagación de restricciones mediante mecanismos de triggering
realiza el mismo tipo de acciones sólo que llevando a cabo un proceso deductivo mucho más complejo.
Los Datos a diferencia de la información son utilizados como diversos métodos para comprimir la
información a fin de permitir una transmisión o almacenamiento más eficaces.
Aunque para el procesador de la computadora hace una distinción vital entre la información entre los
programas y los datos, la memoria y muchas otras partes de la computadora no lo hace. Ambos son
registradas temporalmente según la instrucción que se le de. Es como un pedazo de papel no sabe ni le
importa lo que se le escriba: un poema de amor, las cuentas del banco o instrucciones para un amigo. Es lo
mismo que la memoria de la computadora. Sólo el procesador reconoce la diferencia entre datos e
información de cualquier programa. Para la memoria de la computadora, y también para los dispositivos de
entrada y salida (E/S) y almacenamiento en disco, un programa es solamente más datos, más información
que debe ser almacenada, movida o manipulada.
La cantidad de información de un mensaje puede ser entendida como el número de símbolos posibles que
representan el mensaje."los símbolos que representan el mensaje no son más que datos significativos.
En su concepto más elemental, la información es un mensaje con un contenido determinado emitido por una
persona hacia otra y, como tal, representa un papel primordial en el proceso de la comunicación, a la vez que
posee una evidente función social. A diferencia de los datos, la información tiene significado para quien la
recibe, por eso, los seres humanos siempre han tenido la necesidad de cambiar entre sí información que
luego transforman en acciones. "La información es, entonces, conocimientos basados en los datos a los
cuales, mediante un procesamiento, se les ha dado significado, propósito y utilidad"

CLASIFICACION DE LOS DATOS


Los datos se clasifican en cualitativos y cuantitativos.
Cualitativos: Cuando la observación de la variable se hace sobre una cualidad no numérica, como por ejemplo
el sexo, el estado civil, las enfermedades, lugar de nacimiento.
Cuantitativos: Cuando la observación que se hace de la variable puede ser expresada en términos numéricos,
como la edad, el peso, la talla, el número de hijos.
Las variables cuantitativas a su vez se pueden clasificar en continuas o discontinuas.
Continuas: Cuando el dato se puede expresar tanto en valor entero como en decimales, como por ejemplo la
talla, el peso, la edad.
Discontinuas o discretas: Cuando los datos solo admiten ser expresados en valores enteros, ejemplo el
número de pacientes atendidos en un servicio.
Los distribuidores pueden ofrecer bases de datos de contenido temático muy variado: medicina, política,
derecho, cultura... por esta razón algunos autores han adoptado una clasificación basada en los trabajos de
Fundesco (FUNDESCO, 1986) y de otras fuentes, que tienden a clasificar las bases de datos según el
siguiente esquema.

TRATAMIENTO DE LA INFORMACION DE FORMA AUTOMATICA


Los distribuidores pueden ofrecer bases de datos de contenido temático muy variado: medicina, política,
derecho, cultura... por esta razón algunos autores han adoptado una clasificación basada en los trabajos de
Fundesco (FUNDESCO, 1986) y de otras fuentes, que tienden a clasificar las bases de datos según el
siguiente esquema:
1. Bases de datos referenciales: son aquellas que ofrecen registros que su vez son representaciones de
documentos primarios. Dentro de éstas distinguen, as su vez, entre:
1.1. bibliográficas: aquellas cuyo contenido son registros de tipo bibliográfico.
1.2. directorios: aquellas cuyo contenido está referido a la descripción de otros recursos de
información, como por ejemplo un directorio de bases de datos.
2. Bases de datos fuente: serían aquellas bases de datos que ofrecen el documento completo, no una
representación del mismo. También distinguen entre:
2.1. numéricas: contienen información de tipo numérico, como un censo o indicadores cuantitativos.
2.2. textuales: ofrecen el texto completo de un documento.
2.3. mixtas: combinan ambos tipos de información.

Clasificaciones en los tipos de datos


En Pascal existen gran variedad y cantidad de tipos de datos. Pero en este tutorial sólo se trataran los básicos
para que puedas ir construyendo tus primeros programas.

Existen muchas clasificaciones para los tipos de datos, y dependiendo de la fuente que mires, te mostrarán una u
otra. A continuacón tienes una de las posibles clasificaciones.:

• Dinámicos
• Estáticos
o El tipo cadena
o Estructurados
o Simples
 Ordinales
 No-ordinales

Tipos estáticos
Casi todos los tipos de datos son estáticos, la excepción son los punteros y no se tratarán debido a su
complejidad.

Que un tipo de datos sea estático quiere decir que el tamaño que ocupa en memoria no puede variar durante la
ejecución del programa. Es decir, una vez declarada una variable de un tipo determinado, a ésta se le asigna un
trozo de memoria fijo, y este trozo no se podrá aumentar ni disminuír.

Tipos dinámicos
Dentro de esta categoría entra sólamente el tipo puntero. Este tipo te permite tener un mayor control sobre la
gestión de memoria en tus programas. Con ellos puedes manejar el tamaño de tus variables en tiempo de
ejecución, o sea, cuando el programa se está ejecutando.
Los punteros quizás sean el concepto más complejo a la hora de aprender un lenguaje de programación, sobre
todo si es el primero que aprendes. Debido a esto, no lo trataremos. Además, lenguajes que están muy de moda
(por ejemplo Java) no permiten al programador trabajar con punteros.

Tipos simples
Como su nombre indica son los tipos básicos en Pascal. Son los más sencillos y los más fáciles de aprender. Por
todo esto, serán en los que nos centremos.

Los tipos simples más básicos son: entero, lógico, carácter y real. Y la mayoría de los lenguajes de programación
los soportan, no como ocurre con los estructurados que pueden variar de un lenguaje a otro.

Tipos estructurados
Mientras que una variable de un tipo simple sólo referencia a un elemento, los estructurados se refieren a
colecciones de elementos.

Las colecciones de elementos que aparecen al hablar de tipos estructurados son muy variadas: tenemos
colecciones ordenadas que se representan mediante el tipo array, colecciones sin orden mediante el tipo
conjunto, e incluso colecciones que contienen otros tipos, son los llamados registros.

Tipos ordinales
Dentro de los tipos simples, los ordinales son los más abundantes. De un tipo se dice que es ordinal porque el
conjunto de valores que representa se puede contar, es decir, podemos establecer una relación uno a uno entre
sus elementos y el conjunto de los números naturales.

Dentro de los tipos simples ordinales, los más importantes son:

• El tipo entero (integer)


• El tipo lógico (boolean)
• El tipo carácter (char)

Tipos no-ordinales
Simplificando, podríamos reducir los tipos simples no-ordinales al tipo real. Este tipo nos sirve para declarar
variables que pueden tomar valores dentro del conjunto de los números reales.

A diferencia de los tipos ordinales, los no-ordinales no se pueden contar. No se puede establecer una relación uno
a uno entre ellos y los número naturales. Dicho de otra forma, para que un conjunto se considere ordinal se tiene
que poder calcular la posición, el anterior elemento y el siguiente de un elemento cualquiera del conjunto.¿Cuál
es el sucesor de 5.12? Será 5.13, o 5.120, o 5.121, ...

Los tipos básicos que nos interesan


Después de ver una de las posibles clasificaciones para los tipos de datos, pasemos a ver los que nos interesan:
los tipos simples. Realmente de los tipos simples veremos los más básicos, que son: integer, boolean, char y real.
Además, también hablaremos un poco de las cadenas de caracteres, los llamados strings.

nota: a continuación sólo se comentará qué es cada tipo, no se explicará su declaración, esto puedes verlo si vas
a la sección correspondiente.

El tipo integer (entero)


Como ya habrás leído el tipo de datos entero es un tipo simple, y dentro de estos, es ordinal. Al declarar una
variable de tipo entero, estás creando una variable numérica que puede tomar valores positivos o negativos, y sin
parte decimal.

Este tipo de variables, puedes utilizarlas en asignaciones, comparaciones, expresiones aritméticas, etc. Algunos
de los papeles más comunes que desarrollan son:

• Controlar un bucle
• Usarlas como contador, incrementando su valor cuando sucede algo
• Realizar operaciones enteras, es decir, sin parte decimal
• Y muchas más...

A continuación tienes un ejemplo en el que aparecen dos variables enteras. Como puedes ver, en el ejemplo se
muestran las dos maneras de declarar una variable de tipo entero:

El tipo boolean (lógico)


El tipo de datos lógico es el que te permite usar variables que disponen sólo de dos posibles valores: cierto o
falso. Debido a esto, su utilidad salta a la vista, y no es otra que variables de chequeo. Nos sirven para mantener
el estado de un objeto mediante dos valores:

• si/no
• cierto/falso
• funciona/no funciona
• on/off
• etc.

Para aclararlo, veamos un ejemplo:

El tipo real (real)


Como ya has visto, Pascal soporta el conjunto entero de números. Pero no es el único, también te permite
trabajar con números pertenecientes al conjunto real.

El tipo de datos real es el que se corresponde con los números reales. Este es un tipo importante para los
cálculos. Por ejemplo en los estadísticos, ya que se caracterizan por tratar fundamentalmente con valores
decimales.

nota: Aunque pueda que estés acostumbrado a escribir con coma los decimales, te advierto que en Pascal y en
todos los lenguajes de programación se escribe con un punto. Por ejemplo: 3.1416

Los tipos char y string (carácter y cadena)


Con el tipo carácter puedes tener objetos que representen una letra, un número, etc. Es decir, puedes usar
variables o constantes que representen un valor alfanumérico. Pero ojo, cada variable sólo podrá almacenar un
carácter.

Sin embargo, con las cadenas de caracteres (strings) puedes contener en una sóla variable más de un carácter.
Por ejemplo, puedes tener en una variable tu nombre.