Diferencias entre tipos de datos en una base de datos de Access y un proyecto de Access

MostrarTipos de datos de una base de datos de Access

Para decidir que clase de tipo de datos (tipo de datos: característica de un campo que determina el tipo de datos que puede albergar. Los tipos de datos son: Booleano, Entero, Largo, Moneda, Simple, Doble, Fecha, Cadena y Variant (predeterminado).) aplicar a un campo, tenga en cuenta estas consideraciones:

MostrarElegir entre campos Texto o Memo

Microsoft Access proporciona dos tipos de datos de campo (tipo de datos de campo: característica de un campo que determina el tipo de datos que puede almacenar. Por ejemplo, un campo cuyo tipo de datos es Texto puede almacenar datos que consten de letras o números, pero un campo de tipo Número sólo puede almacenar datos numéricos.) para almacenar información con texo o combinaciones de texto y números: Texto y Memo.

Utilice un tipo de datos Texto para almacenar datos como nombres, direcciones y cualquier número que no necesite cálculos, como números de teléfono, números de pieza o códigos postales. Un campo Texto puede almacenar hasta 255 caracteres, pero el tamaño de campo predeterminado es 50 caracteres. La propiedad Tamaño de campo (FieldSize) controla el número máximo de caracteres que se pueden escribir en un campo Texto.

Utilice el tipo de datos Memo si necesita almacenar más de 255 caracteres. Un campo Memo puede contener hasta 65.536 caracteres. Si desea almacenar texto con formato o documentos largos, es más conveniente que cree un campo Objeto OLE en lugar de un campo Memo.

Los tipos de datos Texto y Memo sólo pueden almacenar los caracteres escritos en un campo; los espacios de las posiciones no utilizadas del campo no se guardan.

En los campos Texo o Memo puede ordenar o agrupar, pero Access sólo utiliza los 255 primeros caracteres al ordenar o agrupar los campos Memo.

MostrarElegir entre un campo Numérico o Moneda

Microsoft Access proporciona dos tipos de datos de campo (tipo de datos de campo: característica de un campo que determina el tipo de datos que puede almacenar. Por ejemplo, un campo cuyo tipo de datos es Texto puede almacenar datos que consten de letras o números, pero un campo de tipo Número sólo puede almacenar datos numéricos.) para almacenar información que contenga valores numéricos: Numérico y Moneda.

Utilice un campo Numérico para almacenar datos numéricos que se utilizarán para cálculos matemáticos, excepto cálculos relacionados con dinero o que requieran un alto grado de precisión. El tipo y el tamaño de los valores numéricos que pueden almacenarse en un campo Numérico se controla mediante la propiedad Tamaño del campo (FieldSize). Por ejemplo, el tamaño de campo Byte sólo almacenará números enteros (sin valores decimales) de 0 a 255 y ocupa 1 byte de espacio en disco.

Utilice un campo Moneda para impedir el redondeo de cifras en los cálculos. Un campo Moneda tiene una precisión de hasta 15 dígitos a la izquierda de la coma decimal y 4 dígitos a la derecha. Un campo Moneda ocupa 8 bytes de espacio en disco.

Los camos Numérico y Moneda proporcionan formatos de presentación (formato: especifica cómo se muestran e imprimen los datos. Una base de datos de Access proporciona formatos estándar para tipos de datos específicos, igual que un proyecto de Access para los tipos de datos de SQL equivalentes. También se pueden crear formatos personalizados.) predefinidos, y si lo desea, puede crear formatos personalizados.

MostrarElegir entre campos Autonumérico incrementados o aleatorios

En Microsoft Access existe el tipo de datos Autonumérico, que permite crear campos que introduzcan automáticamente un número exclusivo cuando se agrega un registro. Una vez generado un número para un registro, este número no puede eliminarse ni cambiarse. Un campo Autonumérico puede generar tres tipos de números: números secuenciales con incrementos de uno, números aleatorios e Id. de réplica (también conocidos como GUIDS, identificadores únicos globalmente). Los campos Autonuméricos que aumentan de uno en uno son los más comunes y los más adecuados para utilizar como clave principal (clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.) de una tabla. Los campos Autonuméricos aleatorios generan un número aleatorio que es exclusivo para cada registro dentro de la tabla. Los campos Autonuméricos de Id. de réplica se utilizan en las réplicas de base de datos (replicación de base de datos: proceso por el que se crean dos o más copias especiales (réplicas) de una base de datos de Access. Las réplicas se pueden sincronizar, es decir, los cambios realizados en una réplica o los cambios de diseño realizados en el Diseño principal se envían a otras réplicas.) para generar identificadores únicos que permitan sincronizar réplicas (réplica: copia de una base de datos que es integrante de un conjunto de réplicas y que se puede sincronizar con otras réplicas del conjunto. Los cambios realizados en los datos de una tabla replicada se envían y aplican a las demás réplicas.).

MostrarTipos de datos de un proyecto de Access (SQL Server)

A los objetos que contienen datos se les asocia un tipo de datos que define la clase de datos (carácter, entero, binario, etc.) que puede contener el objeto. Los objetos siguientes tienen tipos de datos:

  • Columnas en tablas y vistas
  • Parámetros en procedimientos almacenados
  • Variables
  • Funciones Transact-SQL que devuelven uno o más valores de datos de un tipo de datos específico
  • Procedimientos almacenados que tienen un código de retorno, que contiene siempre un tipo de datos entero

La asignación de un tipo de datos a un objeto define cuatro atributos del objeto:

  • La clase de datos que contiene el objeto. Por ejemplo, carácter, entero o binario.
  • La longitud del valor almacenado o su tamaño. La longitud de un tipo de datos de imagen, binario y varbinario se define en bytes. La longitud de cualquiera de los tipos de datos numéricos es el número de bytes necesario para albergar el número de dígitos permitido para ese tipo de datos. La longitud de los tipos de datos de cadena de caracteres y Uncido se define en caracteres.
  • La precisión del número (sólo tipos de datos numéricos). La precisión es el número de dígitos que puede tener el número. Por ejemplo, un objeto smallint puede tener un máximo de 5 dígitos; tiene una precisión de 5.
  • La escala del número (sólo tipos de datos numéricos). La escala es el número de dígitos que puede haber a la derecha de la coma decimal. Por ejemplo, un objeto int no puede aceptar comas decimales y tiene una escala de 0. Un objeto dinero puede tener un máximo de 4 dígitos a la derecha de la coma decimal y tiene una escala de 4.

Por ejemplo, si un objeto se define como dinero, puede tener un máximo de 19 dígitos, 4 de los cuales pueden estar a la derecha del decimal. El objeto utiliza 8 bytes para almacenar los datos. Por lo tanto, el tipo de datos dinero tiene una precisión de 19, una escala de 4 y una longitud de 8.

Todos los datos almacenados en SQL Server deben ser compatibles con uno de estos tipos de datos básicos. El tipo de datos cursor es el único tipo de datos básico que no puede asignarse a una columna de tabla. Sólo puede utilizarse para variables y parámetros de procedimiento almacenado.

También pueden crearse tipos de datos definidos por el usuario como, por ejemplo:

-- Create a birthday datetype that allows nulls.
EXEC sp_addtype birthday, datetime, 'NULL'

            
-- Create a table using the new data type.
CREATE TABLE employee
emp_id char(5)
emp_first_name char(30)
emp_last_name char(40)
emp_birthday birthday
            

Los tipos de datos definidos por el usuario siempre se definen en función de un tipo de datos básico. Ofrecen un mecanismo para aplicar un nombre a un tipo de datos que describe mejor los tipos de valores que contendrá el objeto. Esto hará que el programador o administrador de la base de datos entiendan mejor el uso que se desea hacer de cualquier objeto definido con el tipo de datos.

MostrarComparación o asignación de tipos de datos entre una base de datos de Access y un proyecto de Access.

En la tabla siguiente se comparan tipos de datos (tipo de datos: característica de un campo que determina el tipo de datos que puede albergar. Los tipos de datos son: Booleano, Entero, Largo, Moneda, Simple, Doble, Fecha, Cadena y Variant (predeterminado).) entre una base de datos de Microsoft Access (base de datos de Microsoft Access: colección de datos y objetos (como tablas, consultas o formularios), que está relacionada con un tema o propósito concreto. y un proyecto de Microsoft Access (proyecto de Microsoft­ Access: archivo de Access que se conecta con una base de datos de Microsoft SQL Server y se usa para crear aplicaciones cliente/servidor. Un archivo de proyecto no contiene datos ni objetos basados en definiciones de datos, como tablas o vistas.).

Tipo de datos de Microsoft Access Tipo de datos de SQL Server
Sí/No (tipo de datos Sí o No: tipo de datos de campo que se utiliza para campos que contendrán únicamente uno de dos valores, como Sí o No y Verdadero o Falso. No se permiten valores Nulo.) bit (tipo de datos bit: en un proyecto de Access, tipo de datos que almacena un valor 1 ó 0. Se aceptan valores enteros distintos de 1 ó 0, pero se interpretan siempre como 1.)
Número (tipo de datos Numérico: en una base de datos de Microsoft Access, tipo de datos de campo diseñado para datos numéricos que se utilizarán en cálculos matemáticos. Utilice el tipo de datos Moneda, sin embargo, para mostrar o calcular valores de moneda.) (Byte) tinyint (tipo de datos tinyint: en un proyecto de Access, tipo de datos de 1 byte (8 bits) que almacena números enteros en el intervalo de 0 a 255.)
Número (Entero) smallint (tipo de datos smallint: en un proyecto de Access, tipo de datos de 2 bytes (16 bits) que almacena números enteros que oscilan entre -2^15 (-32.768) y 2^15 - 1 (32.767).)
Número (Entero largo) int (tipo de datos int: en un proyecto de Access, tipo de datos de 4 bytes (32 bits) que almacena números enteros que oscilan entre –2^31 (-2.147.483.648) y 2^31 -1 (2.147.483.647).
Número (Simple) real (tipo de datos real: en un proyecto de Access, tipo de datos numérico aproximado con una precisión de siete dígitos. Puede albergar valores positivos desde aproximadamente 1,18E- 38 hasta 3,40E +38, valores negativos desde aproximadamente -1,18E - 38 hasta -3,40E +38, o cero.)
(no existe equivalente) bigint (tipo de datos bigint: en un proyecto de Access, un tipo de datos de 8 bytes (64 bits) que almacena números enteros en el intervalo de -2^63 (-9,223,372,036,854,775,808) a 2^63-1 (9,223,372,036,854,775,807).)
Número (Doble) float (tipo de datos float: en un proyecto de Access, tipo de datos numérico aproximado con una precisión de 15 dígitos. Puede albergar valores positivos desde aproximadamente 2,23E -308 hasta 1,79E + 308, valores negativos desde aproximadamente -2,23E -308 hasta -1,79E + 308, o cero.)
Currency (tipo de datos Moneda: en una base de datos de Microsoft Access, un tipo de datos útil para realizar cálculos que incluyan dinero o cálculos de signo decimal fijo en los que la exactitud es extremadamente importante.)

money (tipo de datos money: en un proyecto de Access, tipo de datos que almacena valores monetarios en el intervalo de -922.337.203.685.477,5707 hasta 922.337.203.685.477,5807, con una precisión de una diezmilésima de una unidad monetaria.)

smallmoney (tipo de datos smallmoney: en un proyecto de Access, tipo de datos que almacena valores monetarios desde 214.748,3648 hasta 214.748,3647, con una precisión de la diezmilésima parte de una unidad monetaria. Cuando se muestran valores smallmoney, se redondean a dos decimales.)

Decimal/numérico (tipo de datos decimal (base de datos de Access): tipo de datos numérico exacto que alberga valores desde –10^28 -1 hasta 10^28 -1. Se puede especificar la escala (número de dígitos máximo) y la precisión (número total de dígitos máximo a la derecha de la coma decimal).)

decimal (tipo de datos decimal (proyecto de Access): tipo de datos numérico exacto que alberga valores desde –10^38 -1 hasta 10^38 -1. Puede especificar la escala (cantidad total de dígitos máxima) y la precisión (cantidad máxima de dígitos a la derecha del separador de decimales).)

numérico (tipo de datos numérico: en un proyecto de Access, tipo de datos numérico exacto que alberga valores desde -10^38- 1 hasta 10^38 - 1. Se puede especificar la escala (número total de dígitos máximo) y la precisión (número de dígitos máximo a la derecha de la coma decimal).)

Fecha/Hora (tipo de datos Fecha/Hora: tipo de datos de las bases de datos de Access que se utiliza para albergar información de fecha y hora.)

datetime (tipo de datos datetime: en un proyecto de Access, tipo de datos de fecha y hora que comprende desde el 1 de enero de 1753 hasta el 31 de diciembre de 9999, con una precisión de tres centésimas de segundo o 3,33 milisegundos.)

smalldatetime (tipo de datos smalldatetime: en un proyecto de Access, tipo de datos de fecha y hora que es menos preciso que el tipo de datos datetime. Los valores de los datos oscilan entre el 1 de enero de 1900 y el 6 de junio de 2079, con una precisión de un minuto.)

AutoNumérico (tipo de datos Autonumeración: tipo de datos de campo que, en una base de datos de Microsoft Access, almacena automáticamente un número exclusivo para cada registro en el momento en que éste se agrega a una tabla. Se pueden generar tres tipos de números: secuencial, aleatorio e id. de replicación.) (Incrementalmente) int (tipo de datos int: en un proyecto de Access, tipo de datos de 4 bytes (32 bits) que almacena números enteros que oscilan entre –2^31 (-2.147.483.648) y 2^31 -1 (2.147.483.647). (con la propiedad Identity definida)
Texto (tipo de datos Texto: en una base de datos de Microsoft Access, tipo de datos de campo. Los campos de texto pueden contener hasta 255 caracteres o el número de caracteres especificado por la propiedad TamañoDeCampo, el que sea inferior.) (n)

varchar(n) (tipo de datos varchar (n): en un proyecto de Access, tipo de datos de longitud variable con un máximo de 8.000 caracteres ANSI.)

nvarchar(n) (tipo de datos nvarchar(n): en un proyecto de Access, tipo de datos de longitud variable con un máximo de 4.000 caracteres Unicode. Los caracteres Unicode utilizan 2 bytes por carácter y admiten caracteres internacionales.)

Memo (tipo de datos Memo: en una base de datos de Microsoft Access, es un tipo de datos de campo. Los campos Memo pueden contener hasta 65.535 caracteres.) texto (tipo de datos text: en un proyecto de Access, tipo de datos de longitud variable que puede albergar un máximo de 2^31 -1 (2.147.483.647) caracteres; la longitud predeterminada es 16.)
Objeto OLE (tipo de datos Objeto OLE: tipo de datos de campo que se usa para objetos creados en otras aplicaciones que pueden vincularse o insertarse en una base de datos de Access.) imagen (tipo de datos image: en un proyecto de Access, tipo de datos de longitud variable que puede albergar un máximo de 2^31 -1 (2,147,483,647) bytes de datos binarios. Se utiliza para almacenar objetos binarios grandes (BLOB), como imágenes, documentos, sonidos y código compilado.)
Id. de réplica (también denominado identificador único global (GUID: campo de 16 bytes utilizado en una base de datos de Access para establecer un identificador exclusivo para la replicación. Los GUID se utilizan para identificar réplicas, conjuntos de réplicas, tablas, registros y otros objetos. En una base de datos de Access, los GUID se denominan Id. de réplica.) (GUID)) uniqueidentifier (tipo de datos uniqueidentifier: en un proyecto de Access, identificador único global (GUID) de 16 bytes.) (SQL Server 7.0 o posterior)
Hipervínculo (tipo de datos Hipervínculo: tipo de datos de un campo de base de datos de Access que almacena direcciones de hipervínculo. Una dirección puede tener un máximo de cuatro partes y se escribe con el siguiente formato: mostrartexto#dirección#subdirección#.) char (tipo de datos char: en proyectos de Access, tipo de datos de longitud fija con un máximo de 8.000 caracteres ANSI.), nchar (tipo de datos nchar: en un proyecto de Access, tipo de datos de longitud fija con un máximo de 4.000 caracteres Unicode. Los caracteres Unicode utilizan 2 bytes por carácter y admiten todos los caracteres internacionales.), varchar, nvarchar (con la propiedad Hipervínculo (Hyperlink) establecida en Sí)
(no existe equivalente) varbinary (tipo de datos varbinary: en un proyecto de Access, un tipo de datos de longitud variable con un máximo de 8.000 bytes de datos binarios.)
(no existe equivalente) smallint (tipo de datos smallint: en un proyecto de Access, tipo de datos de 2 bytes (16 bits) que almacena números enteros que oscilan entre -2^15 (-32.768) y 2^15 - 1 (32.767).)
(no existe equivalente) timestamp (tipo de datos timestamp: en un proyecto de Access, tipo de datos que se actualiza automáticamente cada vez que se inserta o actualiza una fila. Los valores de columnas timestamp no son datos datetime, sino binary(8) o varbinary(8), indicando una secuencia de modificaciones de datos.)
(no existe equivalente)

char

nchar

(no existe equivalente) sql_variant (tipo de datos sql_variant: en un proyecto de Access, un tipo de datos que almacena valores de varios tipos de datos, excepto texto, ntext, imágenes, marcas de tiempo y tipos sql_variant. Se utiliza en una columna, parámetro, variable o valor devuelto de una función definida por el usuario.)
(no existe equivalente) definido por el usuario (tipo de datos definido por el usuario: en una base de datos de Microsoft SQL Server, definición del tipo de datos que puede contener una columna. Está definido por el usuario, de acuerdo con los tipos de dato incluidos en SQL Server. Las reglas y los valores predeterminados se pueden enlazar únicamente a tipos de datos definidos por el usuario.)

 Nota   En un proyecto de Access o en una base de datos de SQL Server, el prefijo "n" significa "nacional" e indica que el tipo de datos permite unicode. En una base de datos de Access, todas las columnas de texto permiten unicode de manera predeterminada.

 
 
Corresponde a:
Access 2003