LOS PROGRAMADORES 65% MEJOR QUE ANTES

viernes, 29 de julio de 2011

BASES DE DATOS

CUENTIONARIO DE BASES DE DATOS

CUESTIONARIO

1.       Defina los siguientes términos
a.       Dato
R/= Los datos son comunicados por varios tipos de símbolos tales como las letras del alfabeto, números, movimientos de labios,
puntos y rayas, señales con la mano, dibujos, etc. Estos símbolos se pueden ordenar y reordenar de forma utilizable y se les denomina información.
Los datos son símbolos que describen condiciones, hechos, situaciones o valores. Los datos se caracterizan por no contener ninguna información. Un dato puede significar un número, una letra, un signo ortográfico o cualquier símbolo que represente una cantidad, una medida, una palabra o una descripción.

b.      Tipos de datos
R/= El tipo de datos integer: 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.
El tipo de datos boolean: 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.
El tipo de datos 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.
Los tipos de datos char y string: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.

c.       Información
R/=la información es una conjunto organizado de datos, que constituye un mensaje sobre un cierto fenómeno o ente. La información permite resolver problemas y tomar decisiones, ya que su uso racional es la base del conocimiento.

d.      Sistema de información
R/= Un sistema de información es el sistema de personas, registros de datos y actividades que procesa los datos y la información en cierta organización, incluyendo manuales de procesos o procesos automatizados. Usualmente el termino es usado erróneamente como un sinónimo de sistema de información basada en computadora (computer-based),lo cual es solo tecnologías de información un componente de un sistema de información. El sistema de información basada en computadora son el campo de estudio de las tecnologías de información, de cualquier manera estas difícilmente deberían tratarse como tema aparte del enorme sistema de información que siempre esta relacionado.

e.      Archivo
R/=
(Fichero, file). En informática, un archivo es un grupo de datos estructurados que son almacenados en algún medio y pueden ser usados por las aplicaciones.

La forma en que una computadora organiza, da nombre, almacena y manipula los archivos se denomina sistema de archivos y suele depender del sistema operativo y del medio de almacenamiento (disco duro, disco óptico, etc).


f.        Carpeta
R/= Espacio en el disco duro donde se pueden almacenar archivos, siguiendo una estructura jerárquica determinada, o no, por el usuario. Se le denomina carpeta porque la idea de este tipo de almacenamiento se asemeja con el ambiente administrativo de cualquier oficina, donde los documentos también se almacenan en carpetas; de hecho, el icono también simula este objeto.

g.       Campo
R/= En algunas aplicaciones (como bases de datos) es el espacio reservado para introducir determinados datos asociados a una categoría de clasificación.

h.      Registro
R/= Un registro informático es un tipo de conjunto de datos almacenado en un sistema. Para la informática, existen distintos registros, pero en todos los caso hay una referencia al concepto de almacenar datos o información sobre el estado, procesos o uso de la computadora.

i.         Clave principal (Llave primaria)
R/=  Una clave principal consta de uno o varios campos que identifican de forma exclusiva cada uno de los registros de la tabla. Los valores de los campos de una clave principal no se repetirán a lo largo de la tabla nunca.

Establecer una clave principal presenta las siguientes ventajas:

·         Acelera las consultas.
·         Al visualizar los registros de una tabla, aparecerán inicialmente ordenados por los valores de la clave principal.
·         Access impide introducir un registro con la misma clave principal que otro ya existente, lo que impide duplicaciones.
·         Las relaciones entre tablas precisan de una clave principal. El concepto de relaciones es un concepto avanzado de Access.

j.        Entidad/Relación
R/= Es un tipo de modelo de datos conceptual de alto nivel que se emplea en el diseño de las base de datos relacionales. El modelo entidad-relación muestra la estructura de la base de datos empleando todo tipo de herramientas conceptuales.

2.       Qué es una base de datos?
R/= Una base de datos es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de datos es un sistema de archivos electrónico.

Las bases de datos tradicionales se organizan por campos, registros y archivos. Un campo es una pieza única de información; un registro es un sistema completo de campos; y un archivo es una colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de teléfono.

A veces se utiliza DB, de database en inglés, para referirse a las bases de datos.

3.       Donde se usan bases de datos? Ejemplos
R/= DONDE SE USAN LAS BASES DE DATOS:

MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza por su rapidez. No es recomendable usar para grandes volúmenes de datos.
PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre.
Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser creada bajo el programa access, el cual crea un archivo .mdb con la estructura ya explicada.
Microsoft SQL Server: es una base de datos más potente que access desarrollada por Microsoft. Se utiliza para manejar grandes volúmenes de informaciones.



4.       Que es un SGBD o DBMS? Ejemplos
R/= El Sistema de Gestión de DB(SGBD o DBMS):

(Sistema de gestión de base de datos) o en inglés Database management system (DBMS), es una agrupación de programas que sirven para definir, construir y manipular una base de datos.

* Definir una base de datos: consiste en especificar los tipos de datos, estructuras y restricciones para los datos que se almacenarán.

* Contruir una base de datos: es el proceso de almacenar los datos sobre algún medio de almacenamiento.

* Manipular una base de datos: incluye funciones como consulta, actualización, etc. de bases de datos.

Si el sistema soporta bases de datos relacionales se llama RDBMS en inglés o SGBDR en español.



Funciones del SGBD:

De Descripción o Definición: Especificar los datos que la integran , estructura y relaciones entre ellos, reglas de integridad semántica, controles de acceso, así como las características físicas y lógicas. Esta función la realiza el Lenguaje de Definición de Datos, propio del SGBD.

De Manipulación: Permite a los usuarios buscar, eliminar o modificar los datos de la base, de acuerdo a las normas de seguridad, lo que se realiza mediante el Lenguaje de Manipulación de Datos, mediante un Lenguaje Huésped, admitido por un Lenguaje Anfitrión; o bien por un Lenguaje Autocontenido.

De Utilización: Reúne todas las interfaces que necesitan los diferentes tipos de usuarios para comunicarse con la base y proporciona un conjunto de procedimientos para el administrador.


Lenguajes de los SGBD:

El acceso a la DB se realiza mediante lenguajes de 4º generación y escritas en SQL. El SQL puede actuar como huésped o autocontenido. Los LMD pueden ser procedimentales; pueden ser también navegacionales, que recuperan o actualizan datos registro a registro. Otros actúan sobre un conjunto de registros.

5.       Que es una Tabla? Ejemplo
R/=  Una tabla es un cuadro que consiste en la disposición conjunta, ordenada y normalmente totalizada, de las sumas o frecuencias totales obtenidos en la tabulación de los datos, referentes a las categorías o dimensiones de una variable o de varias variables relacionadas entre sí. Las tablas sistematizan los resultados cuantitativos y ofrecen una visión numérica, sintética y global del fenómeno observado y de las relaciones entre sus diversas características o variables. En ella, culmina y se concreta definitivamente la fase clasificatoria de la investigación cuantitativa.


6.       Qué es un Formulario? Ejemplo
R/= Un formulario es un documento con espacios (campos) en donde se pueden escribir o seleccionar opciones. Cada campo tiene un objetivo, por ejemplo, el campo "Nombre" se espera que sea llenado con un nombre, el campo "año de nacimiento", se espera que sea llenado con un número válido para un año, etc.

Los formularios presentan una visión ordenada de múltiple información sobre algo, y son útiles para llenar bases de datos.

En internet y sistemas informáticos, los formularios pueden ser llenados de forma online con validación de datos, y son muy útiles para las encuestas, registración de usuarios, ingreso a sistemas, suscripciones, etc.

Los formularios por internet son llamados formularios web, y generalmente son hechos a través de etiquetas HTML, aunque también existen otros medios como Flash, Java, etc.

7.       Qué es una Consulta? Ejemplo
R/= Básicamente, una consulta (query) es una forma de buscar, encontrar y exhibir determinada información, extrayéndola del cúmulo de datos que almacena la base.

Los datos que responderán a la consulta pueden provenir de una o varias tablas. En la figu-ra 1.2 el recuadro grisado titulado "Una vista del cliente" es un formulario que toma los datos de una consulta, la que agrupa información proveniente de las tablas de clientes, de provincias, de categorías IVA y de vendedores. A la respuesta de la consulta se la denomina hoja de respues-tas dinámicas.

TIPO DE CONSULTA:

Consultas de comandos.- Una consulta de comandos aporta modificaciones a muchos registros con una única operación. Existen cuatro tipos de consultas de comando: de Eliminación, de Actualización, de Alineación y de Creación de Tablas.

-Consultas de eliminación: este tipo de consulta elimina un grupo de registros de una o más tablas. Existe la posibilidad, por ejemplo, de utilizar una consulta de eliminación para reemplazar los productos que se han dejado de producir o para aquellos sobre los cuales no existen pedidos. Con las consultas de eliminación siempre se eliminan registros internos y no únicamente determinados campos de su interior.

-Consultas de actualización: este tipo aporta modificaciones globales a uno o más tablas. Existe la posibilidad, por ejemplo, de aumentar en un 10 por ciento el precio de todos los productos lácteos o aumentar los salarios en un 5 por ciento a las personas pertenecientes a una determinada categoría laboral.

-Consultas de alineación: estas consultas agregan un grupo de registros de una o más tablas al final de una o más tablas. Supongamos, por ejemplo, que se han conseguido nuevos clientes y existe una base de datos que contiene una tabla de información sobre estos. En vez de teclear nuevamente todas estas informaciones, se alinean en la tabla correspondiente de Clientes.

-Consultas de creación de tablas: este tipo de consultas crea una nueva tabla basándose en todos los datos o parte de estos existentes en una o más tablas.

-Consultas de parámetros: una consulta de parámetros es una consulta que, cuando se ejecuta, muestra una ventana de diálogo que solicita informaciones, como por ejemplo criterios para recuperar registros o un valor que se desea insertar en un campo.

-Consultas de buscar duplicados: encuentra los registros repetidos en una misma tabla.

8.       Qué es un Informe?  Ejemplo
R/=Un informe es algo tan simple como el texto a través del cual se da cuenta de los avances realizados en un proyecto en particular. Por lo general, un informe va dirigido a quienes se ocupan de financiar el proyecto o lo dirigen, de este modo, es posible que se le realicen correcciones y modificaciones antes de que éste lleve a su etapa final.

Un informe consiste en información, impresa o visualizada en pantalla, organizada según el criterio que hayamos introducido. Se puede usar un informe para agrupar registros en un di-seño personalizado. La variedad de formas en que puede presentarse la información es casi infinita; citaremos como ejemplo: Listas de precios, etiquetas, facturas, informes con totales y subtotales, inventarios, correspondencia personalizada (mailing), etc.

Si bien trabajaremos con informes sencillos, aprenderemos a crear diferentes informes, que nos permitirán mostrar la información en detalle, separada por grupos (los que pertenecen a cada provincia, por ejemplo) con sus correspondientes totales y, dentro de ellos, los subgrupos corres-pondientes a las distintas localidades de cada provincia.



9.       Qué es SQL?  Comandos más usados. Ejemplos
R/=
(Structured Query Language) Lenguaje utilizado para base de datos desarrollado entre 1974 y 1975 en IBM Research. Por esos años se llamaba SEQUEL (Structured English QUEry Language) y servía como interfaz para un sistema experimental de base de datos llamado SYSTEM R.

SQL fue introducido por Oracle por primera vez en una base de datos comercial en el año 1979.

Se convirtió en un estándar ANSI e ISO dando lugar al SQL-86 o SQL1, que se fue actualizando a SQL-92 o SLQ2, luego a SQL3 y actualmente (2004) a SQL4.

El lenguaje se utiliza para definir, consultar y actualizar la base de datos, y es el más popular de su estilo.

La estructura básica para consultas en SQL es select-from-where.

Conceptualmente, SQL es un lenguaje de definición de datos (LDD), un lenguaje de definiciones de vistas (LDV) y un lenguaje de manipulación de datos (LMD), que posee también capacidad para especificar restricciones y evolución de esquemas.

Para qué utilizamos los comandos SQL? El uso común es la selección de datos desde tablas ubicadas en una base de datos. Inmediatamente, vemos dos palabras claves: necesitamos SELECT la información FROM una tabla. (Note que la tabla es un contenedor que reside en la base de datos donde se almacena la información. Para obtener más información acerca de cómo manipular tablas, consulte la Sección Manipulación de Tabla). Por lo tanto tenemos la estructura SQL más básica:
SELECT "nombre_columna" FROM "nombre_tabla"

Para ilustrar el ejemplo anterior, suponga que tenemos la siguiente tabla:

Tabla Store_Information
store_name
Sales
Date
1500 €
05-Jan-1999
San Diego
250 €
07-Jan-1999
Los Angeles
300 €
08-Jan-1999
Boston
700 €
08-Jan-1999

Podemos utilizar esta tabla como ejemplo a lo largo de la guía de referencia (esta tabla aparecerá en todas las secciones). Para seleccionar todos los negocios en esta tabla, ingresamos,



10.   Considera que las bases de datos le pueden ser útiles en su vida profesional? Por qué.
R/= si por que le facilita guardar mucha información o datos personales, materiales o de empresa ya que le facilita el orden y una seguridad a la orda de guardar los datos.

lunes, 28 de marzo de 2011

Estructuras de datos y arreglos.


Introducción
Todas las variables que se han considerado hasta ahora son de tipo simple. Una variable de tipo simple consiste de una sola caja de memoria y sólo puede contener un valor cada vez. Una variable de tipo estructurado consiste en toda una colección de casillas de memoria. Los tipos de datos estudiados: entero, real, alfabético son considerados como datos de tipo simple, puesto que una variable que se define con alguno de estos tipos sólo puede almacenar un valor a la vez, es decir, existe una relación de uno a uno entre la variable y el número de elementos (valores) que es capaz de almacenar. En cambio un dato de tipo estructurado, como el arreglo, puede almacenar más de un elemento (valor) a la vez, con la condición de que todos los elementos deben ser del mismo tipo, es decir, que se puede tener un conjunto de datos enteros, reales, etc.
Datos estructurados:
Estructura de Datos es una colección de datos que se caracterizan por su organización y las operaciones que se definen en ella. Los datos de tipo estándar pueden ser organizados en diferentes estructuras de datos: estáticas y dinámicas.
Estructura de Datos estáticas:
Son aquellas en las que el espacio ocupado en memoria se define en tiempo de compilación y no puede ser modificado durante la ejecución del programa. Corresponden a este tipo los arrays y registros
Estructuras de Datos Dinámicas:
Son aquellas en las que el espacio ocupado en memoria puede ser modificado en tiempo de ejecución. Corresponden a este tipo las listas, árboles y grafos . Estas estructuras no son soportadas en todos los lenguajes. La elección de la estructura de datos idónea dependerá de la naturaleza del problema a resolver y, en menor medida, del lenguaje. Las estructuras de datos tienen en común que un identificador, nombre, puede representar a múltiples datos individuales.
Arrays:
Un arreglo (array) es una colección de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria y reciben un nombre común. Para referirse a un determinado elemento de un array se deberá utilizar un índice, que especifique su posición relativa en el array. Un arreglo es una colección finita, homogénea y ordenada de elementos. Finita:Todo arreglo tiene un límite; es decir,debe determinarse cuál será el número máximo de elementos que podrán formar parte del arreglo. Homogénea: Todos los elementos del arreglo deben ser del mismo tipo. Ordenada: Se puede determinar cuál es el primer elemento, el segundo, el tercero,.... y el n-ésimo elmento.
Los arreglos se clasifican de acuerdo con el número de dimensiones que tienen. Así se tienen los:
- Unidimensionales (vectores)
- Bidimensionales (tablas o matrices)
- Multidimensionales (tres o más dimensiones)









PROBLEMA.
Suponga que se desea desarrollar un programa para:



1.Leer una lista de calificaciones de un examen
2.Encontrar su media
3.Escribir una lista de las calificaciones mayores que la media
4.Ordenar la lista de las calificaciones en orden ascendente.
Supongamos también que hay 100 calificaciones. Debemos utilizar 100 variables diferentes nota1, nota2, ...., nota100, de ese modo son 100 direcciones diferentes de memoria para almacenar las calificaciones del examen. Se imagina declarar las 100 variables, ¿cuántas instrucciones involucra?
Var Nota1,nota2,nota3,.........nota100: entero
(En la declaración real de un programa no pueden usarse puntos suspensivos, por lo tanto serán 100 veces) . En la fase de lectura de datos, serán también 100 veces las instrucciones para ir leyendo cada valor. Leer (nota1, nota2,nota3,........., nota100)
Para calcular la media:
Media ¬(nota1+nota2+.......+nota100)/100
Para la lista de calificaciones mayores que la media, deberá también irse comparando una por una:
Si nota1 > media entonces
escribir (nota1)
Fin_si
Si nota2 > media entonces
escribir (nota2)
Fin_si
Si nota100 > media entonces
escribir (nota100)
Fin_si
Y después de más de 450 líneas de código..... ¡Falta ordenar la lista de calificaciones en orden ascendente!
Después que aprendas a usar arreglos verás cómo se ahorra instrucciones porque es fácil recorrer toda la lista de notas con unas pocas instrucciones. En el caso anterior, cuando el acceso a la información es secuencial, sólo se puede acceder a un elemento buscando desde el principio de la lista, y esto es algo lento. Lo que se necesita es una estructura de acceso directo que permita almacenar y recuperar los datos directamente especificando su posición en la estructura, de esa manera se requerirá el mismo tiempo para acceder al elemento de la posición 100 que el de la posición 5.
También preferiremos que esta estructura se almacene en memoria principal para que su almacenaje y recuperación sea más rápida. Es por ello que existen los arreglos, que están organizados en una secuencia de elementos, todos del mismo tipo y se puede acceder a cada elemento directamente especificando su posición en esta secuencia.
Arreglos Unidimensionales:
Están formados por un conjunto de elementos de un mismo tipo de datos que se almacenan bajo un mismo nombre, y se diferencian por la posición que tiene cada elemento dentro del arreglo de datos. Al declarar un arreglo, se debe inicializar sus elementos antes de utilizarlos. Para declarar un arreglo tiene que indicar su tipo, un nombre único y la cantidad de elementos que va a contener. Por ejemplo, las siguientes instrucciones declaran tres arreglos distintos:






Para acceder a valores específicos del arreglo, use un valor de índice que apunte al elemento deseado. Por ejemplo, para acceder al primer elemento del arreglo calificaciones debe utilizar el valor de índice 0 (calificaciones[0]). Los programas en C++ siempre indizan el primer elemento de un arreglo con 0 y el último con un valor menor en una unidad al tamaño del arreglo.
Inicialización y asignación de valores
Como se decía anteriormente, antes de utilizar un arreglo es necesario inicializarlo:
Calificaciones[0];
·         Diseño de páginas web. Obtenga 3 meses de hosting gratis y consultoría de Microsoft.Microsoft.comEnlaces patrocinados
Para inicializar todos los elementos de una vez, se colocan dentro de una estructura for que va del primer elemento al último que contiene el arreglo. Para asignar un valor a un elemento del arreglo se hace por ejemplo:
Calificaciones[0] ¬100;
Cuando se usan arreglos, una operación común es usar una variable índice para acceder a los elementos de un arreglo. Suponiendo que la variable índice I contiene el valor 3, la siguiente instrucción asigna el valor 400 a valores[3]:
valores[I] ¬ 400;
Partes de un arreglo:
Los componentes. Hacen referencia a los elementos que forman el arreglo, es decir, a los valores que se almacenan en cada una de las casillas del mismo. Los índices. Permiten hacer referencia a los componentes del arreglo en forma individual, especifican cuántos elementos tendrá el arreglo y además, de qué modo podrán accesarse esos componentes
.



Definición de Arreglos:
ident_arreglo = arreglo[liminf .. Limsup] de tipo Operaciones con Vectores:
Las operaciones que se pueden realizar con vectores durante el proceso de resolución de un problema son:
    · Lectura/ escritura
    · Asignación
    · Actualización(inserción, eliminación, modificación)
    · Recorrido (acceso secuencial)
    · Ordenación
    · Búsqueda
Ejemplos:
Sea arre un arreglo de 70 elementos enteros con índices enteros. Su representación nos queda:




Ejemplos:
Sea bool un arreglo de 26 elementos booleanos con índices de tipo caracter. Su representación nos queda:
                Bool = arreglo["a".."z"] de booleanos



Número total de elementos:
NTE= (ord("z")-ord("a")) + 1 = 122-97+1 = 26 elementos
Lectura
El proceso de lectura de un arreglo consiste en leer y asignar un valor a cada uno de sus elementos. Normalmente se realizan con estructuras repetitivas, aunque pueden usarse estructuras selectivas. Usamos los índices para recorrer los elementos del arreglo:
desde i = 1 hasta 70 hacer
leer ( arre[i])
fin_desde
Escritura:
Es similar al caso de lectura, sólo que en vez de leer el componente del arreglo, lo escribimos.
             leer (N)
             desde i = 1 hasta N hacer
               escribir (arre[i])
             fin_desde
Asignación:
No es posible asignar directamente un valor a todo el arreglo; sino que se debe asignar el valor deseado en cada componente. Con una estructura repetitiva se puede asignar un valor a todos los elementos del vector.
Por ejemplo:
         arre[1]  ¬120 (asignación de un valor constante único a una casilla del vector)
         arre[3] ¬arre[1] / 4 (asignar una operación)
Se puede asignar un valor constante a todos los elementos del vector:desde i = 1 hasta 5 hacer
          arre[i] ¬3
          fin_desde
O bien
           arre  ¬3 (con arre del tipo arreglo)
Inicialización
Para inicializar con cero todos los elementos del arreglo:
            desde i = 1 hasta 70 hacer
                arre[i] ¬ 0
            fin_desde 





Acceso Secuencial.
(Recorrido)
El acceso a los elementos de un vector puede ser para leer en él o para escribir (visualizar su contenido). Recorrido del vector es la acción de efectuar una acción general sobre todos los elementos de ese vector.
Actualización.
Incluye añadir (insertar), borrar o modificar algunos de los ya existentes. Se debe tener en cuenta si el arreglo está o no ordenado. Añadir datos a un vector consiste en agregar un nuevo elemento al final del vector, siempre que haya espacio en memoria.
Investigue cómo insertar o eliminar elementos en un arreglo:
a) Ordenado
b) No ordenado

martes, 22 de febrero de 2011

Que es un dato? tipos de datos. ejemplos




R/ El dato es una representación simbólica (numérica, alfabética, algorítmica etc.), un atributo o una característica de una entidad. El dato no tiene valor semántico (sentido) en sí mismo, pero si recibe un tratamiento (procesamiento) apropiado, se puede utilizar en la realización de cálculos o toma de decisiones. Es de empleo muy común en el ámbito informático y, en general, prácticamente en cualquier disciplina científica.
En programación, un dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo.
En Estructura de datos, es la parte mínima de la información.
<!--[if !vml]--><!--[endif]-->
Un dato por sí mismo no constituye información, es el procesamiento de los datos lo que nos proporciona información.

TIPOS DE DATOS: En los lenguajes de programación un tipo de dato es un atributo de una parte de los datos que indica al ordenador (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar. Tipos de datos comunes son: enteros, números de coma flotante (decimales), cadenas alfanuméricas, fechas, horas, colores, coches o cualquier cosa que se nos ocurra. Por ejemplo, en Java, el tipo "int" representa un conjunto de enteros de 32 bits cuyo rango va desde el -2.147.483.648 al 2.147.483.647, así como las operaciones que se pueden realizar con los enteros, como la suma, resta y multiplicación. Los colores, por otra parte, se representan como tres bytes denotando la cantidad de rojo, verde y azul, y una cadena de caracteres representando el nombre del color; las operaciones permitidas incluyen la adición y sustracción, pero no la multiplicación.