Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
datos que se van a almacenar en ese campo. Los diferentes tipos de datos de Access2000 son: Texto: cuando en el campo vamos a introducir texto, tanto caracteres como dgitos. Tiene una longitud por defecto de 50 caracteres, siendo su longitud mxima de 255 caracteres. Memo: se utiliza para textos extensos como comentarios o explicaciones. Tiene una longitud fija de 65.535 caracteres. Numrico: para datos numricos utilizados en clculos matemticos. Fecha/Hora: para la introduccin de fechas y horas desde el ao 100 al ao 9999. Moneda: para valores de moneda y datos numricos utilizados en clculos matemticos en los que estn implicados datos que contengan entre uno y cuatro decimales. La precisin es de hasta 15 dgitos a la izquierda del separador decimal y hasta 4 dgitos a la derecha del mismo. Auto numrico: nmero secuencial (incrementado de uno a uno) nico, o nmero aleatorio que Microsoft Access asigna cada vez que se agrega un nuevo registro a una tabla. Los campos Auto numrico no se pueden actualizar. S/No: valores S y No, y campos que contengan uno de entre dos valores (S/No, Verdadero/Falso o Activado/desactivado). Objeto OLE: Objeto (como por ejemplo una hoja de clculo de Microsoft Excel, un documento de Microsoft Word, grficos, sonidos u otros datos binarios). Hipervnculo: Texto o combinacin de texto y nmeros almacenada como texto y utilizada como direccin de hipervnculo. Una direccin de hipervnculo puede tener hasta tres partes: Texto: el texto que aparece en el campo o control. Direccin: ruta de acceso de un archivo o pgina. Subdireccin: posicin dentro del archivo o pgina. Sugerencia: el texto que aparece como informacin sobre herramientas. Existe otra posibilidad que es la Asistente para bsquedas que crea un campo que permite elegir un valor de otra tabla o de una lista de valores mediante un cuadro de lista o un cuadro combinado. Al hacer clic en esta opcin se inicia el Asistente para bsquedas y al salir del Asistente, Microsoft Access establece el tipo de datos basndose en los valores seleccionados en l.
TIPOS DE DATOS DE MYSQL Despus de la fase de diseo de una base de datos, y una vez se ha realizado el paso a tablas del mismo, en necesario crear las tablas correspondientes dentro de la base de datos. Para cada campo de cada una de las tablas, es necesario determinar el tipo de datos que contiene, para de esa forma ajustar el diseo de la base de datos, y conseguir un almacenamiento ptimo con la menor utilizacin de espacio. El presente artculo describe cada uno de los tipos de datos que puede tener un campo en Mysql, para la versin 4.xx.xx. Los tipos de datos que puede haber en un campo, se pueden agrupar en tres grandes grupos: 1. Tipos numricos
2. Tipos de Fecha
3. Tipos de Cadena 1 Tipos numricos: Existen tipos de datos numricos, que se pueden dividir en dos grandes grupos, los que estn en coma flotante (con decimales) y los que no. TinyInt: es un nmero entero con o sin signo. Con signo el rango de valores vlidos va desde -128 a 127. Sin signo, el rango de valores es de 0 a 255 Bit Bool: un nmero entero que puede ser 0 1 SmallInt: nmero entero con o sin signo. Con signo el rango de valores va desde -32768 a 32767. Sin signo, el rango de valores es de 0 a 65535. MediumInt: nmero entero con o sin signo. Con signo el rango de valores va desde 8.388.608 a 8.388.607. Sin signo el rango va desde 0 a16777215. Integer, Int: nmero entero con o sin signo. Con signo el rango de valores va desde 2147483648 a 2147483647. Sin signo el rango va desde 0 a 429.4967.295 BigInt: nmero entero con o sin signo. Con signo el rango de valores va desde 9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. Sin signo el rango va desde 0 a 18.446.744.073.709.551.615. Float: nmero pequeo en coma flotante de precisin simple. Los valores vlidos van desde -3.402823466E+38 a -1.175494351E-38, 0 y desde 1.175494351E-38 a 3.402823466E+38. xReal, Double: nmero en coma flotante de precisin doble. Los valores permitidos van desde -1.7976931348623157E+308 a -2.2250738585072014E-308, 0 y desde 2.2250738585072014E-308 a 1.7976931348623157E+308
Decimal, Dec, Numeric: Nmero en coma flotante desempaquetado. El nmero se almacena como una cadena Tamao de Tipo de Campo Almacenamiento TINYINT SMALLINT MEDIUMINT INT INTEGER BIGINT FLOAT(X) FLOAT DOUBLE DOUBLE PRECISION REAL 8 bytes 8 bytes M+2 bytes s D > 0, DECIMAL(M,D M+1 bytes s D = 0 M+2 bytes if D > 0, NUMERIC(M,D) M+1 bytes if D = 0 2 Tipos fecha: A la hora de almacenar fechas, hay que tener en cuenta que Mysql no comprueba de una manera estricta si una fecha es vlida o no. Simplemente comprueba que el mes esta comprendido entre 0 y 12 y que el da esta comprendido entre 0 y 31. Date: tipo fecha, almacena una fecha. El rango de valores va desde el 1 de enero del 1001 al 31 de diciembre de 9999. El formato de almacenamiento es de ao-mes-dia DateTime: Combinacin de fecha y hora. El rango de valores va desde el 1 de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del 9999 a las 23 horas, 59 minutos y 59 segundos. El formato de almacenamiento es de ao-mes-dia horas:minutos:segundos TimeStamp: Combinacin de fecha y hora. El rango va desde el 1 de enero de 1970 al ao 2037. El formato de almacenamiento depende del tamao del campo: 1 byte 2 bytes 3 bytes 4 bytes 4 bytes 8 bytes 4 8 bytes 4 bytes 8 bytes
Tamao
Formato
AoMesDiaHoraMinutoSegundo 14 aaaammddhhmmss AoMesDiaHoraMinutoSegundo 12 8 6 4 2 aammddhhmmss oMesDia aaaammdd AoMesDia aammdd AoMes aamm Ao aa
Time: almacena una hora. El rango de horas va desde -838 horas, 59 minutos y 59 segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es de 'HH:MM:SS' Year: almacena un ao. El rango de valores permitidos va desde el ao 1901 al ao 2155. El campo puede tener tamao dos o tamao 4 dependiendo de si queremos almacenar el ao con dos o cuatro dgitos. Tipo de Campo DATE DATETIME TIMESTAMP TIME YEAR Tamao de Almacenamiento 3 bytes 8 bytes 4 bytes 3 bytes 1 byte
3 Tipos de cadena: Char(n): almacena una cadena de longitud fija. La cadena podr contener desde 0 a 255 caracteres. VarChar(n): almacena una cadena de longitud variable. La cadena podr contener desde 0 a 255 caracteres. Dentro de los tipos de cadena se pueden distinguir otros dos subtipos, los tipo Test y los tipo BLOB (Binary large Object) La diferencia entre un tipo y otro es el tratamiento que reciben a la hora de realizar ordenamientos y comparaciones. Mientras que el tipo test se ordena sin tener en cuenta las Maysculas y las minsculas, el tipo BLOB se ordena tenindolas en cuenta.
Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros. TinyText y TinyBlob: Columna con una longitud mxima de 255 caracteres. Blob y Text: un texto con un mximo de 65535 caracteres. MediumBlob y MediumText: un texto con un mximo de 16.777.215 caracteres. LongBlob y LongText: un texto con un mximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicacin los paquetes pueden tener un mximo de 16 Mb. Enum: campo que puede tener un nico valor de una lista que se especifica. El tipo Enum acepta hasta 65535 valores distintos Set: un campo que puede contener ninguno, uno varios valores de una lista. La lista puede tener un mximo de 64 valores. Tipo de campo CHAR(n) VARCHAR(n) TINYBLOB, TINYTEXT BLOB, TEXT MEDIUMBLOB, MEDIUMTEXT LONGBLOB, LONGTEXT Longitud +3 bytes Longitud +4 bytes 1 dos bytes dependiendo del ENUM('value1','value2',...) nmero de valores 1, 2, 3, 4 8 bytes, dependiendo SET('value1','value2',...) del nmero de valores Tamao de Almacenamiento n bytes n +1 bytes Longitud+1 bytes Longitud +2 bytes
Diferencia de almacenamiento entre los tipos Char y VarChar Almace Valor '' 'ab' 'abcd' 'abcdefgh' Almace
CHAR(4) namientoVARCHAR(4)namiento '' 'ab ' 'abcd' 'abcd' 4 bytes 4 bytes 4 bytes 4 bytes " 'ab' 'abcd' 'abcd' 5 bytes 1 byte 3 bytes
Fundamentos de la normalizacin
La normalizacin es el proceso de organizar los datos de una base de datos. Se incluye la creacin de tablas y el establecimiento de relaciones entre ellas segn reglas diseadas tanto para proteger los datos como para hacer que la base de datos sea ms flexible al eliminar la redundancia y las dependencias incoherentes. Los datos redundantes desperdician el espacio de disco y crean problemas de mantenimiento. Si hay que cambiar datos que existen en ms de un lugar, se deben cambiar de la misma forma exactamente en todas sus ubicaciones. Un cambio en la direccin de un cliente es mucho ms fcil de implementar si los datos slo se almacenan en la tabla Clientes y no en algn otro lugar de la base de datos. Qu es una "dependencia incoherente"? Aunque es intuitivo para un usuario mirar en la tabla Clientes para buscar la direccin de un cliente en particular, puede no tener sentido mirar all el salario del empleado que llama a ese cliente. El salario del empleado est relacionado con el empleado, o depende de l, y por lo tanto se debera pasar a la tabla Empleados. Las dependencias incoherentes pueden dificultar el acceso porque la ruta para encontrar los datos puede no estar o estar interrumpida. Hay algunas reglas en la normalizacin de una base de datos. Cada regla se denomina una "forma normal". Si se cumple la primera regla, se dice que la base de datos est en la "primera forma normal". Si se cumplen las tres primeras reglas, la base de datos se considera que est en la "tercera forma normal". Aunque son posibles otros niveles de normalizacin, la tercera forma normal se considera el mximo nivel necesario para la mayor parte de las aplicaciones. Al igual que con otras muchas reglas y especificaciones formales, en los escenarios reales no siempre se cumplen los estndares de forma perfecta. En general, la normalizacin requiere tablas adicionales y algunos clientes consideran ste un trabajo considerable. Si decide infringir una de las tres primeras reglas de la normalizacin, asegrese de que su aplicacin se anticipa a los problemas que puedan aparecer, como la existencia de datos redundantes y de dependencias incoherentes. En las descripciones siguientes se incluyen ejemplos.
independiente denominada Proveedores y despus vincule el inventario a los proveedores con el nmero de elemento como clave, o los proveedores al inventario con el cdigo de proveedor como clave.
Estos pasos demuestran el proceso de normalizacin de una tabla de alumnos ficticia. 1. Tabla sin normalizar:
Despacho-Tut Clase1 Clase2 Clase3 101-07 143-01 159-02 201-01 211-02 214-01
Primera forma normal: no hay grupos repetidos Las tablas slo deben tener dos dimensiones. Puesto que un alumno tiene varias clases, estas clases deben aparecer en una tabla independiente. Los campos Clase1, Clase2 y Clase3 de los registros anteriores son indicativos de un problema de diseo. Las hojas de clculo suelen usar la tercera dimensin, pero las tablas no deberan hacerlo. Otra forma de considerar ese problema es con una relacin de uno a varios y poner el lado de uno y el lado de varios en tablas distintas. En su lugar, cree otra tabla en la primera forma normal eliminando el grupo repetido (N clase), segn se muestra a continuacin:
Garca 412 Garca 412 Garca 412 Daz Daz Daz 216 216 216
Segunda forma normal: eliminar los datos redundantes Observe los diversos valores de N clase para cada valor de N alumno en la tabla anterior. N clase no depende funcionalmente de N alumno (la clave principal), de modo que la relacin no cumple la segunda forma normal. Las dos tablas siguientes demuestran la segunda forma normal: Alumnos:
Despacho-Tut
Tercera forma normal: eliminar los datos no dependientes de la clave En el ltimo ejemplo, Despacho-Tut (el nmero de despacho del tutor) es funcionalmente dependiente del atributo Tutor. La solucin es pasar ese atributo de la tabla Alumnos a la tabla Personal, segn se muestra a continuacin: Alumnos:
Garca Daz