jueves, 27 de febrero de 2014

Los sistemas de gestión de bases de datos SGBD

Qué es un SGBD
Es un programa orientado a la gestión y diseño de bases de datos, permitiendo su creación, modificación, atributos e interfaz. Además de permitir el desarrollo y construcción de las bases de datos, un SGBD permite operar directamente en las tablas de la base de datos, haciendo posible la navegación y visualización de los registros almacenados en las tablas de la misma, su edición, búsqueda, inserción y eliminación. En sí mismo el SGBD no sólo actúa como una herramienta de construcción de BD sino como un interfaz que permite interactuar y explotar sus contenidos. Para ello un SGBD está compuesto por diversos subsistemas a saber; el motor de la base de datos, el sistema de definición de datos, el sistema de manipulación y gestión, el sistema de herramientas y aplicaciones y el módulo de administración.

Componentes de un SGBD
  • Motor de la base de datos. Es el programa del SGBD que construye las consultas y peticiones que se realizan en el sistema para que sean procesadas por el sistema de BD. Por ejemplo el SGBD PhpMyAdmin consta de un motor de base de datos basado en MySQL por lo tanto las peticiones y operaciones que se realicen serán procesadas y convertidas a un formato SQL interpretable por la base de datos gestionada. Con Microsoft Access sucede lo mismo, el programa en sí mismo es un SGBD que transforma todas las peticiones y operaciones sobre la base de datos, también en formato SQL no percibido por el usuario. De esta forma la base de datos interpreta correctamente que el usuario desea insertar una nueva fila en la tabla o editar una serie de valores. 
  • Sistema de definición de datos. Programa especializado en crear los ficheros inversos, ficheros diccionarios, realizar los procesos de indexación de campos de las tablas y aplicar los ficheros de palabras vacías.
  • Sistema de manipulación y gestión. Es la parte del SGBD dedicada a la manipulación de registros en las tablas de la base de datos. Hace posible la navegación a través de sus contenidos, la inserción de nuevos registros, su modificación, eliminación, importación o exportación mediante un interfaz sencillo destinado al usuario, evitándole la programación de sus consultas, sustituyendo procesos complejos por funciones almacenadas en un botón o un enlace.
  • Sistema de herramientas y aplicaciones. Lo constituyen todas las herramientas y subprogramas orientados a facilitar la creación de interfaces de edición y consulta en la base de datos. Esto significa que el SGBD ayuda a construir aplicaciones para manipular de forma eficiente las tablas de la base de  datos, permitiendo al usuario diseñar los formularios de entrada de datos, las pantallas de visualización de registros, las pantallas de búsqueda y recuperación, etc. Por ejemplo Microsoft Access y Filemaker son SGBD que integran tales herramientas con las que es posible construir una aplicación un sistema de información especializado con un interfaz adaptado a las necesidades del usuario. En el caso de MySQL y PhpMyAdmin esto no es así, ya que el interfaz personalizado por el usuario debe ser desarrollado por él mismo en forma de formularios web basados en un servidor Apache y programados en lenguaje PHP. Este aspecto que a priori podría ser una desventaja, hace posible que sea el método de diseño de interfaz más avanzado, personalizado y profesional, dado que es posible modificar todos los parámetros de funcionamiento del sistema, aspecto que a diferencia de SGBD no es posible encontrar, debido a la limitación de las herramientas que proporcionan.
  • Administración. Lo constituye aquella parte del programa destinada a gestionar las funciones de almacenamiento, los procesos generales del sistema, los privilegios de acceso a la base de datos, gestionar las operaciones de mantenimiento con las bases de datos creadas, modificar las propiedades del interfaz, editar la configuración de los demás componentes del SGBD.

Funciones
  • Capacidad para almacenar datos en la BD, acceder a ellos, insertar otros nuevos, modificarlos y eliminarlos.
  • El SGBD oculta a ojos del usuario la apariencia real de las tablas de la BD, mostrando un interfaz sencillo. La apariencia real lo constituye un conjunto de códigos fuente sobre los que se almacenan las cadenas de datos que componen la información del registro.
  • Debe automatizar las funciones de consulta, de forma tal que las peticiones del usuario sean transformadas a un lenguaje identificable y entendible por la BD, generalmente este lenguaje es SQL.
  • El SGBD y especialmente la base de datos gestionada deben asegurar el acceso de múltiples usuarios manipulando o editando sus contenidos mediante un control de la concurrencia. Esto es que el sistema debe proporcionar un orden de prioridad en los procesos que se llevan a cabo en el sistema. Al conjunto de procesos que llevan a cabo múltiples usuarios se le denomina "transacciones". 
  • Un SGBD debe permitir la gestión de los privilegios de acceso al sistema para gestionar el acceso y las restricciones del mismo a diversos tipos de usuarios. 
  • Debe proporcionar las herramientas de mantenimiento necesarias para mantener la consistencia de los datos de la base de datos, esto es el proceso de compactación y desfragmentación de los datos, la optimización de las tablas, su reparación, la eliminación de residuos o información residual en cache como resultado de una transacción finalizada con algún tipo de error, etc.

SGBD Microsoft Access
  • Sitio web disponible en: http://office.microsoft.com/es-es/access/
  • Sistema de gestión Access y la base de datos están integrados en el mismo programa.
  • Permite la edición de tablas, campos de las tablas, operaciones con registros, crear formularios (pantallas de entrada de datos, visualización de registros, edición, búsqueda), crear informes, exportar, importar, editar relaciones entre tablas, crear procesos macro (funciones automáticas programadas por el usuario), administración general, compactación y reparación básicas.
  • Diseñado para funcionar como aplicación de escritorio.
  • Útil para realizar bosquejos, borradores, pruebas de bases de datos. Empleado habitualmente para elaborar bases de datos de tamaño reducido, dada su capacidad limitada. 
Referencias

SGBD PhpMyAdmin
  • Sitio web disponible en: http://www.phpmyadmin.net/home_page/index.php
  • El sistema de gestión PhpMyAdmin no está integrado en la base de datos MySQL.
  • Permite la edición de tablas, campos de tablas, operaciones con registros, consultas directas en lenguaje SQL, administración general, gestión de privilegios, gestión de procesos, importación y exportación de bases de datos, tablas y registros, función de búsqueda a texto completo, archivos de indexación y ficheros diccionario e inverso visibles, permite la generación de consultas en tablas relacionadas mediante asistentes, permite el mantenimiento profesional de la base de datos y sus componentes.
  • Diseñado para funcionar en un servidor web.
  • Útil para realizar proyectos profesionales, académicos y científicos con bases de datos. Empleado habitualmente para elaborar bases de datos de cualquier tamaño, dada su gran capacidad.
Referencias

martes, 25 de febrero de 2014

Práctica 1.- Batería de supuestos de bases de datos

Se propone la resolución de una batería de supuestos de bases de datos, en los que se deberá aplicar la lógica de creación de tablas, los campos clave primarios y foráneos, su relación, así como la descripción mediante campos de los distintos objetos o elementos sujetos a registro. Para su resolución el alumno deberá pensar en todos los elementos que conforma el supuesto que se propone y definir una tabla para cada objeto que necesariamente deba ser registrado y normalizado. Seguidamente deberá pensar qué tablas intermedias existen entre las tablas principales ya creadas y a través de qué campos se pueden establecer las relaciones entre tablas. Para llevar a cabo todo el trabajo se sugiere el empleo de algún sistema de base de datos conocido. Por ejemplo MS Access o Filemaker, que permiten el diseño de tales tablas y por ende su relación, probando el diseño ideado.


Supuesto 1. Centro de Documentación Fotográfica
Figura 1. Diagrama de tablas del supuesto 1 relativo al centro de documentación fotográfica

Supuesto 2. Archivo Central de la Administración
Figura 2. Diagrama de tablas del supuesto 2 relativo a los archivos de la administración

Supuesto 3. Sistema de gestión de mercancías y pasajes
Figura 3. Diagrama de tablas y campos del supuesto 3 relativo a la gestión aeroportuaria

Supuesto 4. Biblioteca Nacional de España


Supuesto 5. Tesauro Multilingüe


Supuesto 6. Diccionario enciclopédico


Supuesto 7. Directorio de recursos científicos


Supuesto 8. Sistema de gestión de contenidos Web CMS

jueves, 20 de febrero de 2014

Modelo entidad-relación ER

El modelo entidad-relación ER es un modelo de datos que permite representar cualquier abstracción, percepción y conocimiento en un sistema de información formado por un conjunto de objetos denominados entidades y relaciones, incorporando una representación visual conocida como diagrama entidad-relación.

CONCEPTOS DEL MODELO ER

Ejemplares - Conjuntos - Extensión - Instancia. Se denominan ejemplares a los registros que guardan una serie de características similares o que pueden ser agrupados o clasificados dadas sus características comunes en grupos bien delimitados. A los ejemplares también se los conoce como registros de una tabla de una base de datos, o en términos de abstracción como la extensión de la base de datos. Por ejemplo es la lista de usuarios de una biblioteca, la lista de productos con sus características, la lista de tipos de documentos y su definición.

Entidad. La entidad es cualquier clase de objeto o conjunto de elementos presentes o no, en un contexto determinado dado por el sistema de información o las funciones y procesos que se definen en un plan de automatización. Dicho de otra forma, las entidades las constituyen las tablas de la base de datos que permiten el almacenamiento de los ejemplares o registros del sistema, quedando recogidos bajo la denominación o título de la tabla o entidad. Por ejemplo, la entidad usuarios guarda los datos personales de los usuarios de la biblioteca, la entidad catalogo registra todos los libros catalogados, la entidad circulación todos los libros prestados y devueltos y así sucesivamente con todos los casos.

Atributos - Intención. Son las características, rasgos y propiedades de una entidad, que toman como valor una instancia particular. Es decir, los atributos de una tabla son en realidad sus campos descriptivos, el predicado que permite definir lo que decimos de un determinado sujeto. Por ejemplo de una entidad o tabla catálogo, se pueden determinar los atributos título, subtítulo, título paralelo, otras formas del título, autor principal, otras menciones de responsabilidad, edición, mención de edición, editorial, lugar de publicación, fecha de publicación,...

Relación. Vínculo que permite definir una dependencia entre los conjuntos de dos o más entidades. Esto es la relación entre la información contenida en los registros de varias tablas. Por ejemplo, los usuarios suelen clasificarse según una lista de tipos de usuarios, ya sean profesores, alumnos o investigadores. De esta forma es posible emitir la relación entre el usuario Jorge Martínez como alumno y Enrique Valtierra como profesor. Las relaciones son definidas de forma natural en un diagrama relacional para expresar un modelo cognitivo que dará lugar posteriormente a las interrelaciones de las entidades.

Interrelación. Las interrelaciones las constituyen los vínculos entre entidades, de forma tal que representan las relaciones definidas en el esquema relacional de forma efectiva. Esto no sólo la relación de los registros sino de sus tablas y de las características de la interrelación entre las entidades, a través de un campo clave que actúa como código de identificación y referencia para relacionar (es decir, como nexo de unión y articulación de la relación). Los tipos de interrelaciones entre entidades o tablas se realizan aplicando las reglas de cardinalidad y modalidad.

Entidades fuertes. Lo constituyen las tablas principales de la base de datos que contienen los registros principales del sistema de información y que requieren de entidades o tablas auxiliares para completar su descripción o información. Por ejemplo la tabla usuario es una entidad fuerte en relación a la tabla tipos de usuarios, que es una entidad débil dada su condición auxiliar para clasificar a los usuarios registrados en la biblioteca.

Entidades débiles. Son entidades débiles a las tablas auxiliares de una tabla principal a la que completan o complementan con la información de sus registros relacionados. Por ejemplo también son consideradas entidades débiles las tablas intermedias que sirven para compartir información de varias tablas principales.

Modelo entidad relación
Objeto de la base de datos
Ejemplo
Ejemplares – Conjuntos – Extensión
Registros de una tabla – Conjunto de registros

Conjunto-Usuarios{Jorge Martínez(1|alumno), Enrique Valtierra(2|profesor), Miguel dos Santos(3|investigador)}

Entidad
Tabla de la base de datos

Tabla usuarios

Atributos – Intención
Campos de una tabla

id, nombre, apellidos, tipo de usuario, dni, dirección, teléfono

Relación
Vínculo entre conjuntos

Jorge Martínez es investigador

Interrelación
Relación entre tablas

Tabla Usuarios relacionada con Tabla Tipo de usuarios

Entidades fuertes
Tabla principal

Tabla Usuarios

Entidades débiles
Tabla auxiliar

Tabla Tipo de usuarios

Tabla1. Esquema con algunos elementos fundamentales del diagrama ER

Clave. Es el campo o atributo de una entidad o tabla que tiene como objetivo distinguir cada registro del conjunto, sirviendo sus valores como datos vinculantes de una relación entre registros de varias tablas.
  • Superclave. Es la combinación de campos clave que identifican unívocamente un registro en una tabla o entidad. 
  • Clave principal primaria. Permiten identificar unívocamente cada registro de una tabla. Por ejemplo campo auto-numérico interno ID.
  • Clave candidata. Campos que cumplen las condiciones de identificación única de registros, pero que no fueron definidos como principales por el diseñador. Por ejemplo el DOI (Document Object Identifier) es un campo que define unívocamente un registro de un documento en una tabla o entidad concreta. No obstante a efectos de gestión interna del sistema el campo principal ID que contiene un valor numérico correlativo, permite un tratamiento más sencillo que el DOI.
  • Clave externa. Campo clave conformado por el valor de una clave principal primaria de otra tabla. Por ejemplo el campo id_tipodeusuario en la tabla usuarios es un campo clave externo que guarda el valor del campo primario ID de la tabla tipodeusuario, especificando de esa forma que un usuario como Enrique Valtierra sea de tipo 2 es decir profesor.

Integridad referencial. Se denomina integridad referencial al tipo de interrelación que se produce entre tablas mediante un campo clave que deberá contener la cadena alfanumérica exacta al identificador de la tabla auxiliar para poder realizar la relación entre los registros. En caso contrario no se produce la relación. Además, se trata de un mecanismo que evita duplicidades e incorrecciones ya que la propiedad de integridad referencial conmina a que los datos de un usuario además de su identificador ID sean distintos al de los demás. Dicho de otra forma, no pueden existir dos registros iguales con los mismos datos.

Tipos de relaciones
  • Según cardinalidad. La cardinalidad se representan en un diagrama ER como una etiqueta que se ubica en ambos extremos de la línea de relación de las entidades y que puede contener diversos valores entre los que destacan comúnmente el 1 y el *, obteniendo los siguientes tipos:
    • Relación 1 a 1. La relación uno a uno, define que un único registro de la tabla puede estar relacionado con un único registro de la tabla relacionada.
Figura1. Esquema de relación 1 a 1
    • Relación 1 a *. La relación de uno a varios, define que un registro dado de una tabla auxiliar o secundaria sólo puede estar vinculado con un único registro de la tabla principal con la que está relacionada.
Figura2. Esquema de relación 1 a muchos
    • Relación * a *. La relación de varios a varios, define que un registro de una tabla puede estar relacionado con varios registros de la tabla relacionada y viceversa.
Figura3. Esquema de relación muchos a muchos
  • Según modalidad
    • Optativa. La relación entre un registro de una tabla y varios de la tabla relacionada, puede existir o no. 
    • Obligatoria. La relación entre un registro de una tabla y otro de la tabla relacionada es obligada, debe existir siempre.
Figura4. Esquema de relaciones optativas y obligatorias

Ejemplos

Relación 1 a 1. Cada documento adquirido es registrado podría equipararse a la cardinalidad 1 a 1. Esto significa que cada documento que se introduce en el módulo de adquisiciones (y por ende en su tabla) tiene su correspondencia con los documentos que finalmente se reciben en la biblioteca para ser dados de alta en la tabla registro. De esta forma, puede haber o no documentos en proceso de adquisición (relación optativa). En cambio la tabla registro se encarga de registrar los documentos que se reciben por lo que su relación es de obligatoriedad (todo documento registrado está presente en la tabla de adquisiciones). Todo ello no implica que todos los documentos en fase de adquisición tengan que estar registrados. Pueden existir documentos en fase de adquisición que no hubieran sido registrados. Véase ejemplo de la figura5.

Figura5. Los documentos que se adquieren son registrados
Relación 1 a *. Los usuarios de una biblioteca suelen solicitar préstamos, por lo tanto la relación que se produce es de uno a muchos. Un usuario puede pedir o no el préstamo de uno o varios libros o documentos. Por lo tanto, pueden existir uno o ningún usuario solicitando el préstamo, pero para que exista la relación con la tabla préstamos, ésta debe registrar al usuario, su fecha de préstamo y devolución. Véase figura6. Por otra parte, el préstamo se compone no sólo del usuario que lo solicita, sino del documento u objeto que le es prestado, que es el caso que se expone en la figura7. Al igual que en la relación del usuario con la tabla préstamo, un documento puede o no ser prestado. Un documento puede haber sido prestado y devuelto muchas veces y para que exista la relación entre la tabla préstamos y catálogo, debe existir un registro que integre su información (de aquí su modalidad de relación obligatoria). Todo ello conduce a una relación más compleja que puede observarse en la figura8. Lo que en un principio se consideraba una relación de 1 a muchos, termina convirtiéndose en una relación de muchos a muchos gracias a una tabla débil o intermedia que almacena la información necesaria del usuario y del documento para poder efectuar el préstamo correspondiente. Por lo tanto la tabla préstamos, relaciona muchos usuarios con muchos libros en múltiples conjuntos o registros que pueden estar activos o finalizados. Recuérdese que los libros una vez devueltos vuelven a estar disponibles para dar servicio a terceros usuarios. Por ello se concluye que para que un préstamo tenga lugar, deberá estar presente el identificador del usuario y del documento siendo obligatorios en todo proceso de circulación.

Figura6. Los usuarios solicitan préstamos
Figura7. Los documentos y libros son prestados
Figura8. Lo documentos son prestados a los usuarios
Relación * a *. Cuando se catalogan los documentos en una biblioteca, al seguir las indicaciones de las normas de catalogación, se advierte un apartado de suma importancia; las autoridades. Éstas definen la responsabilidad intelectual, artística, cognitiva, editorial, administrativa, introductoria, del documento. Por ello no es de extrañar que en la catalogación los campos de autoridades sean repetibles, dado que pueden existir 1 o más autoridades. Esta relación es la que se advierte en la figura9. Cada libro puede tener o no 1 o muchas autoridades. Por lo tanto una autoridad puede estar presente en varios libros o formar parte de varias responsabilidades en el mismo.

Figura9. Los libros al ser catalogados pueden tener o no autoridades

Construcción de bases de datos. Tablas, campos y claves

DEFINICIÓN DE TABLAS
Las tablas constituyen la estructura principal de una base de datos. La creación de tablas debe estar supeditada a la representación del dominio o el ámbito de aplicación de las mismas. Esto es en función de los procesos y actividades que lleva a cabo una institución, la información y documentación que produce, su tratamiento y los servicios que ofrece. Las tablas o entidades deben tener una denominación que identifique el contenido de la información que almacenará, el nombre del proceso que se desempeña con la información almacenada o la finalidad en el tratamiento de la misma. Por ejemplo el caso de una base de datos de un directorio de recursos web, plantea diversas cuestiones. En primer lugar, cómo son los directorios web, qué información contienen, cómo se estructuran, cómo procesan la información, cómo la representan y en definitiva cuál es la cadena documental de la información hasta que finalmente es visualizada en forma de directorio. En segundo lugar, la definición de tablas viene dada en función de las características del caso y procesamiento de la información del directorio, por ello una tabla de registro de recursos web es fundamental para ingresar inicialmente los recursos. Pero los recursos deben ser descritos y catalogados, por lo tanto se necesita una tabla de catálogo más completa que la de registro. Además los recursos web tienen características tipificadoras que los distinguen como por ejemplo el tipo de recurso, la temática que abordan, el público objetivo al que están destinados. Ello implica una tabla de tipos de recursos, una tabla de categorías temáticas y una tabla de destinatarios. Pero además los recursos de un directorio web pueden ser valorados mediante comentarios o escalas. Esto significa que se deberán añadir una tabla que almacene los comentarios de los usuarios y una tabla que almacene las puntuaciones de los mismos. Y si existen usuarios, también existirán administradores y trabajadores de la compañía o empresa responsable del directorio que accederán al sistema con diferentes propósitos. Ello conlleva una tabla de usuarios y una tabla de administradores. Pero además dentro de los usuarios y administradores existen distintas categorías, por lo tanto tenemos usuarios más o menos experimentados y administradores con distintos rangos de acceso a las funciones y posibilidades del sistema de información del directorio web. En consecuencia, se necesitarán dos nuevas tablas, la correspondiente a los tipos de usuarios y a los tipos de administradores. A todo ello, debe sumarse el estado de la descripción de los recursos web que se registran, que pueden encontrarse en diversas fases, por ejemplo (identificación, descripción, publicación, baja) lo que hace requerir una nueva tabla correspondiente al estado del recurso. Como se puede observar en el ejemplo de un directorio de recursos web, cada fase del tratamiento de la información está considerada en una tabla específica (registro, catálogo) así como los actores del sistema de información (usuarios, administradores) y las tablas auxiliares y tipologías que están directamente vinculadas con los mismos (tipo de recurso, clasificación, categorías, estados, tipos de usuarios y tipos de administradores), además de las tablas relativas a su interacción en la web con los usuarios (comentarios, valoraciones). Todas las acciones que pueden desempeñarse en el sistema de información son representadas para almacenar la información que generan, dando como resultado una tabla especializada en guardar una información puntual que puede completarse con terceras tablas.


DEFINICIÓN DE CAMPOS
Los campos de una tabla de una base de datos son fundamentales para guardar la información de una manera completamente estructurada y ordenada. Esto es definir los rasgos, características y aspectos que deben ser tenidos en cuenta para describir o procesar cada uno de los ítems, objetos, elementos sujetos a descripción. Por ejemplo, una tabla de comentarios de un directorio web, tendrá que contener una información tal que permita obtener el usuario que hizo el comentario, el recurso sobre el cuál se realizó el comentario, el comentario propiamente dicho, la fecha en la que se realizó el comentario, si el comentario forma parte de una respuesta a otro comentario. Todo ello puede ser definido en los campos id (de identificación), id_usuario (campo clave externo para identificar el usuario), id_recurso (campo clave externo para identificar el recurso web), texto (campo que almacena el texto del comentario), fecha1 (campo para la fecha del comentario), fecha2 (campo para la fecha de la edición del comentario), id_comentario (campo clave externo para identificar el comentario que suscita la réplica del presente comentario). A parte de identificar los campos necesarios es necesario definir la tipología de los campos o lo que es lo mismo, el tipo de información que éstos contendrán. Dependiendo del sistema de bases de datos que se emplee las opciones serán más o menos limitadas. Por ejemplo Microsoft Access permite los campos básicos que pueden ser consultados en la tabla1. En cambio MySQL, que corresponde a una base de datos más completa y potente, permite una gran variedad de campos para ser utilizados en muy diversos casos, véase tabla2.


Tipología de campos en Microsoft Access
Tipo de campo
Capacidad
Descripción
Texto
Límite de 255 caracteres

El campo de texto permite combinar cadenas de caracteres numéricos, alfabéticos, alfanuméricos, etc.

Memo
Límite de 65.536 caracteres

Su empleo está centrado en textos completos como descripciones, anotaciones, extractos de textos.

Numérico
Límite 8 bytes

Utilizado para guardar valores numéricos, cálculos matemáticos o sus resultados. Acepta valores decimales y números enteros. No se utiliza para valores monetarios.

Fecha/Hora
Límite 8 bytes

Guarda la información de fecha y hora en formato Access, véase: m/dd/aaaa h:mm:ss A.M./P.M.

Currency
Límite 8 bytes

Se guardan valores monetarios.

Autonumérico
Límite 8 bytes

Campo numérico adaptado para números secuenciales con unidad incremental o numeración aleatoria. Utilizado para crear el campo clave principal primario.

Si/No
Límite 1 bit

Es el campo lógico que almacena valores como Sí/No, Verdadero/Falso, Activado/Desactivado, 0/1. El campo sólo guarda uno de los dos valores pero no acepta un valor nulo.

Objeto OLE
Límite de 1GB

Almacena documentos ofimáticos, imágenes, hojas de cálculo, sonidos, vídeos y cualquier objeto binario creado mediante programas con protocolo OLE (Object Linking and Embedding). Para introducir tales objetos Access debe incrustar el contenido, repercutiendo directamente en la velocidad y capacidad de gestión de los contenidos.

Hipervínculo
Límite de 64.000 caracteres

Permite guardar direcciones URL en las que se aloja el recurso o contenido vinculado.

Asistente para búsquedas
Límite 4 bytes

Consiste en un campo con una lista de opciones desplegables, o bien un cuadro combinado de opciones que permiten alojar o almacenar una información con unos valores previamente dados y predeterminados, o bien realizar un vínculo con otra tabla de la base de datos para introducir una información relacionada. Este campo tiene una función similar al campo clave externo o foráneo que sirve para establecer relaciones entre tablas.

Tabla1. Tipología de campos en Microsoft Access


Tipología de campos en MySQL
Numéricos
Campo
Capacidad
Descripción
TINYINT
1 byte

Número entero positivo o negativo de tamaño muy pequeño,  con un rango de valores comprendido entre 0 y 255

SMALLINT
2 bytes

Número entero positivo o negativo de tamaño pequeño, con un rango de valores comprendido entre 0 y 65.535

MEDIUMINT
3 bytes

Número entero positivo o negativo de tamaño medio, con un rango de valores comprendido entre 0 y 16.777.215

INT(8)
4 bytes. Determinado por el usuario

El campo definido como INT, permite definir entre paréntesis el número de caracteres máximo que admite el número. Por tanto es un número entero positivo o negativo de tamaño normal, con un rango de valores comprendido entre 0 y 429.4967.29. Por ejemplo el campo INT(8) especifica un número de 8 caracteres como máximo.

BIGINT
8 bytes

Número entero positivo o negativo de tamaño grande, con un rango de valores comprendido entre 0 y 18.446.744.073.709.551.615 caracteres

FLOAT
Precisión 0-23 decimales

Campo para número en coma flotante de precisión simple

DOUBLE
Precisión de 24 a 53 decimales

Campo para número en coma flotante de precisión doble

DECIMAL(5,2)
Determinado por el usuario
Número en coma flotante con indicación de la precisión (número de decimales significativos) y la escala (número de dígitos que se almacenan a continuación del punto decimal)
Fecha y hora
Campo
Estructura
Descripción
DATETIME
yyyy-mm-dd hh:mm:ss

Se utiliza para mostrar una fecha y hora completa. El rango soportado es de '1000-01-01 00:00:00' a '9999-12-31 23:59:59'

DATE
yyyy-mm-dd

 El campo DATE es utilizado cuando sólo es necesario guardar la información de la fecha. El rango soportado es de '1000-01-01' a '9999-12-31'

TIMESTAMP
yyyymmddhhmmss

Permite realizar una marca de tiempo automática en el momento en el que se crea un registro o se modifica. Permite almacenar caracteres en formato de fecha YYYY-MM-DD HH:MM:SS, YY-MM-DD HH:MM:SS, YYYY-MM-DD, YY-MM-DD, YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, YYMMDD,

TIME
hh:mm:ss

Campo para el almacenamiento de horas. Acepta el rango de -838:59:59 a 838:59:59.

YEAR
yyyy

Permite el almacenamiento específico de años mostrados en formatos de dos y cuatro dígitos.

Cadenas de caracteres
Campo
Capacidad
Descripción
CHAR(50)
0-255 caracteres no binarios

Campo para el almacenamiento de una cadena de caracteres de longitud fija , utilizado en los casos en que la información no varía de tamaño y se represente siempre de la misma forma. Incluso si no se utilizan todos los caracteres definidos quedan completados con espacios. Cuando son representados los espacios finales son eliminados.

VARCHAR(500)
0-65.535 caracteres no binarios

Campo de longitud variable usado para los casos en que la información puede variar de longitud. Permite especificar la longitud entre paréntesis al igual que el campo CHAR.

BINARY
0-255 caracteres binarios
Campo para el almacenamiento de información y contenidos binarios de extensión fija.
VARBINARY
0-65.535 caracteres binarios
Campo para el almacenamiento de información y contenidos binarios de extensión variable.
TINYBLOB
255 caracteres binarios
Campo binario de tamaño muy pequeño
BLOB
65.535 caracteres binarios
Campo binario de tamaño pequeño
MEDIUMBLOB
16.777.215 caracteres binarios
Campo binario de tamaño mediano
LONGBLOB
4.294.967.295 caracteres binarios
Campo binario de tamaño grande
TINYTEXT
255 caracteres no binarios
Campo para cadena de texto no binario de tamaño muy pequeño
TEXT
65.535 caracteres no binarios
Campo para cadena de texto no binario de tamaño pequeño
MEDIUMTEXT
16.777.215 caracteres no binarios
Campo para cadena de texto no binario de tamaño mediano
LONGTEXT
4.294.967.295 caracteres no binarios
Campo para cadena de texto no binario de tamaño grande
ENUM
65.535 valores distintos
Campo de enumeración en el que es posible guardar 1 valor de todos los presentados o disponibles. Equivale a una lista de opciones o de valores prefijados.
SET
Campo de enumeración en el que es posible guardar hasta 64 valores de todos los presentados o disponibles. Equivalen a una lista de opciones o de valores prefijados.
Lógicos
Campo
Capacidad
Descripción
BOOL
0/1, True/False
Campo para el almacenamiento de valores booleanos
Tabla2. Tipología de campos en MySQL


DEFINICIÓN DE CLAVES
Los campos claves, tal como se explicó en el apartado anterior, permiten identificar de manera unívoca cada objeto, elemento o registro de una tabla o entidad. Por este motivo se debe tener en cuenta que su control interno a efectos del sistema de información propiamente dicho, deba ser lo más sencillo posible. Con este objetivo, los campos claves principales primarios, suelen ser campos de tipo numérico, con propiedad autonumérica correlativa basada en un incremento unitario, es decir de tipo +1. Para facilitar la tarea de diseño de campos y tablas, se aconseja que el campo clave principal sea denominado siempre como campo "id" en minúsculas. Para definir los campos externos o foráneos destinados al almacenamiento de un número identificador de una tabla externa para realizar algún tipo de relación, se aconseja que el tipo de campo sea numérico entero de tamaño medio y con una nomenclatura similar a la siguiente "id_nombretabla" en donde "id" representa que se trata de un campo clave de identificación, "_" que el campo relaciona una tabla externa y "nombretabla" es el texto que habrá que sustituir por el nombre de la tabla en minúsculas y con todo el nombre seguido sin espacios.