Definición de base de datos
La base de datos es un sistema formado por un
conjunto de datos almacenados en discos que permiten el acceso directo a ellos
y un conjunto de programas que manipulen ese conjunto de datos.
(Pérez, 2007)
Sistemas manejadores de base de datos
Los sistemas manejadores de base de
datos (SGBD), en inglés: DataBase Management System (DBMS), son
un tipo de software muy específico, dedicado a servir de interfaz entre la base
de datos, el usuario y las aplicaciones que la utilizan. El propósito general
de los sistemas manejadores de base de datos es el de manejar de manera clara,
sencilla y ordenada un conjunto de datos que posteriormente se convertirán en
información relevante para una organización.
(s/a,2011)
Tipos de datos en una base
de datos
Los tipos de datos que puede haber en un campo, se pueden
agrupar en tres grandes grupos:
Tipos numéricos:
Existen tipos de datos numéricos, que se pueden dividir en dos grandes grupos,
los que están en coma flotante (con decimales) y los que no.
TinyInt: es un número entero con o sin signo. Con signo el rango de
valores válidos va desde -128 a 127. Sin signo, el rango de valores es de 0 a
255
Bit ó Bool: un número entero que puede ser 0 ó 1
SmallInt: número 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: número 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: número 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: número 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: número pequeño en coma flotante de precisión simple. Los valores
válidos van desde -3.402823466E+38 a -1.175494351E-38, 0 y desde
1.175494351E-38 a 3.402823466E+38.
xReal, Double: número en coma flotante de precisión 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: Número en coma flotante desempaquetado. El número se almacena como una cadena
Tipo de Campo
|
Tamaño de Almacenamiento
|
TINYINT
|
1 byte
|
SMALLINT
|
2 bytes
|
MEDIUMINT
|
3 bytes
|
INT
|
4 bytes
|
INTEGER
|
4 bytes
|
BIGINT
|
8 bytes
|
FLOAT(X)
|
4 ú 8 bytes
|
FLOAT
|
4 bytes
|
DOUBLE
|
8 bytes
|
DOUBLE PRECISION
|
8 bytes
|
REAL
|
8 bytes
|
DECIMAL(M,D
|
M+2 bytes sí D > 0, M+1 bytes sí D = 0
|
NUMERIC(M,D)
|
M+2 bytes if D > 0, M+1 bytes if D
= 0
|
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 válida o no. Simplemente
comprueba que el mes esta comprendido entre 0 y 12 y que el día 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 año-mes-dia
DateTime: Combinación 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 año-mes-día horas:minutos:segundos
TimeStamp: Combinación de fecha y hora. El rango va desde el 1 de enero
de 1970 al año 2037. El
formato de almacenamiento depende del tamaño del campo:
Tamaño
|
Formato
|
14
|
AñoMesDiaHoraMinutoSegundo aaaammddhhmmss
|
12
|
AñoMesDiaHoraMinutoSegundo aammddhhmmss
|
8
|
ñoMesDia aaaammdd
|
6
|
AñoMesDia aammdd
|
4
|
AñoMes aamm
|
2
|
Año 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 año. El rango de valores permitidos va desde el año
1901 al año 2155. El campo puede tener tamaño dos o tamaño 4 dependiendo de si
queremos almacenar el año con dos o cuatro dígitos.
Tipo de Campo
|
Tamaño de Almacenamiento
|
DATE
|
3 bytes
|
DATETIME
|
8 bytes
|
TIMESTAMP
|
4 bytes
|
TIME
|
3 bytes
|
YEAR
|
1 byte
|
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
Mayúsculas y las minúsculas, el tipo BLOB se ordena
teniéndolas en cuenta.
Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser
ficheros.
TinyText y TinyBlob: Columna con una longitud máxima de 255 caracteres.
Blob y Text: un texto con un máximo de 65535 caracteres.
MediumBlob y MediumText: un texto con un máximo de 16.777.215
caracteres.
LongBlob y LongText: un texto con un máximo de caracteres 4.294.967.295.
Hay que tener en cuenta que debido a los protocolos de comunicación los
paquetes pueden tener un máximo 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 máximo de 64 valores.
Tipo de campo
|
Tamaño de Almacenamiento
|
CHAR(n)
|
n bytes
|
VARCHAR(n)
|
n +1 bytes
|
TINYBLOB, TINYTEXT
|
Longitud+1 bytes
|
BLOB, TEXT
|
Longitud +2 bytes
|
MEDIUMBLOB, MEDIUMTEXT
|
Longitud +3 bytes
|
LONGBLOB, LONGTEXT
|
Longitud +4 bytes
|
ENUM('value1','value2',...)
|
1 ó dos bytes dependiendo del número de valores
|
SET('value1','value2',...)
|
1, 2, 3, 4 ó 8 bytes, dependiendo del número de valores
|
Diferencia de almacenamiento entre los tipos Char y VarChar
Valor
|
CHAR(4)
|
Almace
namiento
|
VARCHAR(4)
|
Almace
namiento
|
''
|
''
|
4 bytes
|
"
|
1 byte
|
'ab'
|
'ab '
|
4 bytes
|
'ab'
|
3 bytes
|
'abcd'
|
'abcd'
|
4 bytes
|
'abcd'
|
|
'abcdefgh'
|
'abcd'
|
4 bytes
|
'abcd'
|
5 bytes
|
(Cuenca, 2003)
Enfoque para una base de
datos
El
enfoque jerárquico
Un DBMS jerárquico utiliza jerarquías
o árboles para la representación lógica de los datos. Los archivos son
organizados en jerarquías, y normalmente cada uno de ellos se corresponde con
una de las entidades de la base de datos.
Sus características son:
- Los segmentos de un archivo jerárquico están
dispuestos en forma de árbol.
- Los segmentos están enlazados mediante relaciones
uno a muchos.
- Cada nodo consta de uno o más campos.
- Cada ocurrencia de un registro padre puede tener
distinto número de ocurrencias de registros hijos.
- Cuando se elimina un registro padre se deben
eliminar todos los registros hijos (integridad de los datos).
- Todo registro hijo debe tener un único registro
padre excepto la raíz
Enfoque de red
El modelo de red intenta superar las
deficiencias del enfoque jerárquico, permitiendo el tipo de relaciones de
muchos a muchos. Al igual que en la estructura jerárquica, cada nodo puede
tener varios hijos pero, a diferencia de ésta, también puede tener varios
padres.
Sus características son:
- El registro padre se denomina propietario del
conjunto, mientras que el registro hijo se denomina miembro.
- Un conjunto está formado en un solo registro
propietario y uno o más registros miembros.
- Una ocurrencia de conjuntos es una colección
de registros, uno de ellos es el propietario y los otros los miembros.
- Todos los registros propietarios de ocurrencias del
mismo tipo de conjunto deben ser del mismo tipo de registro.
- El tipo de registro propietario de un tipo de
conjunto debe ser distinto de los tipos de los registros miembro.
- Sólo se permite que un registro miembro aparezca una
vez en las ocurrencias de conjuntos del mismo tipo.
- Un registro miembro puede asociarse con más de un
propietario, es decir, puede pertenecer al mismo tiempo a dos o más tipos
de conjuntos distintos. Esta situación se puede representar por medio de
una estructura multianillo.
- Se pueden definir niveles múltiples de jerarquías
donde un tipo de registro puede ser miembro en un conjunto y al mismo
tiempo propietario en otro conjunto diferente.
Enfoque racional
Este modelo está basado en el concepto
de relación. Una relación es un conjunto de n-tuplas. Una tupla,
al contrario que un segmento, puede representar tanto entidades como
interrelaciones N:M. Los lenguajes matemáticos sobre los que se asienta el modelo relacional,
el álgebra y el cálculo relacionales, aportan un sistema de acceso y consultas
orientado al conjunto. Su enorme éxito no se debe a que permite de forma
implícita operaciones conceptualmente abstractas sobre los datos, sino a los
altos niveles de fiabilidad e integridad que aporta en el manejo de grandes
cantidades de datos.
(Moreno, s/f)
Componentes en una base de datos
Datos
Los sistemas de bases de datos están
disponibles en máquinas que van desde las computadoras personales más pequeñas
hasta las más grandes.
Los sistemas que se encuentran en
máquinas grandes tienden a ser multiusuario, mientras que los que se
ejecutan en máquinas pequeñas tienden a ser de un solo usuario. Un sistema
de un solo usuario es aquel en el que un solo usuario puede tener acceso a
la base de datos en un momento dado; un sistema multiusuario es aquel en
el cual múltiples usuarios pueden tener acceso simultáneo a la base de datos.
Los datos de la base de datos serán
tanto integrados como compartidos.
Por integrada, queremos decir
que podemos imaginar a la base de datos como una unificación de varios archivos
que de otro modo serían distintos, con una redundancia entre ellos eliminada al
menos parcialmente.
Por compartida, queremos decir
que las piezas individuales de datos en la base pueden ser compartidas entre
diferentes usuarios y cada uno de ellos puede tener acceso a la misma pieza de
datos, probablemente con fines diferentes. Distintos usuarios pueden en efecto
acceder a la misma pieza de datos al mismo tiempo, a esta característica se le
llama “acceso concurrente”.
Hardware
Los componentes de hardware del sistema
constan de:
Los volúmenes de almacenamiento
secundario que se emplean para contener los datos almacenados.
Los procesadores de hardware y la
memoria principal asociada, usados para apoyar la ejecución del software del
sistema de base de datos.
Software
Entre los datos como están almacenados
físicamente y los usuario del sistema, hay una capa de software conocida de
manera indistinta como el sistema administrador de base de datos (DBMS) o el
servidor de base de datos.
Todas las solicitudes de acceso a la
base de datos son manejadas por el DBMS; las características para agregar o
eliminar archivos (o tablas), recuperar y almacenar datos desde y en dicho
archivo son características que proporciona el DBMS.
Usuarios
Se consideran tres grandes clases de
usuarios
Hay programadores de aplicaciones
responsables de escribir los programas de aplicación de base de datos en
cualquier lenguaje de programación.
Los usuarios finales, quienes
interactúan con el sistema desde estaciones de trabajo mediante interfaces
controladas por menús o por formularios.
El tercer tipo de usuario, es el
administrador de base de datos o DBA.
(Vazquez,s/f)
Referencias:
Vázquez, I (s/f)Base de datos 1 recuperado el 31 de enero de 2014 de http://www.contaduria.uady.mx/bd_I/index.htm