Bases de Datos Distribuidas: Homogéneas, Heterogéneas, Tipos de Índices y Creación en MySQL
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,59 KB
Creación de una Base de Datos y una Tabla en MySQL
El siguiente código muestra cómo crear una base de datos llamada "profesores" y una tabla con el mismo nombre en MySQL. Se asume que se está utilizando el usuario "root" sin contraseña y que el servidor MySQL se encuentra en "localhost".
$MySQL_host = "localhost";
$MySQL_user = "root";
$MySQL_password = "";
$conexion = mysqli_connect($MySQL_host, $MySQL_user, $MySQL_password) or die ("La conexión no se ha podido realizar");
$query = "CREATE DATABASE profesores";
$result = mysqli_query($conexion, $query);
$MySQL_database = "profesores";
mysqli_select_db($conexion, $MySQL_database);
$query = "CREATE TABLE profesores (NOMBRE VARCHAR(30), APELLIDOS VARCHAR(60))";
$result = mysqli_query($conexion, $query);
Nota: Se ha actualizado el código para usar las funciones mysqli_*
, ya que las funciones mysql_*
están obsoletas y no se recomienda su uso.
Tipos de Bases de Datos Distribuidas
Distribuciones Homogéneas
En los sistemas de bases de datos distribuidas homogéneas, todos los sitios emplean el mismo software de gestión de bases de datos (DBMS). Además, son conscientes de la existencia de los demás sitios y acuerdan cooperar en el procesamiento de las solicitudes de los usuarios.
Distribuciones Heterogéneas
Las bases de datos heterogéneas, también conocidas como multibase de datos, son aquellas donde diferentes sitios utilizan diferentes DBMS, siendo cada uno esencialmente autónomo. Es posible que algunos sitios no sean conscientes de la existencia de los demás y quizás proporcionen facilidades limitadas para la cooperación en el procesamiento de transacciones.
Tipos de Índices en Bases de Datos
Índices Parciales
Si tenemos un campo con un tamaño excesivo, por ejemplo, 255 caracteres en una tabla con millones de registros, podemos ahorrar espacio creando un índice parcial sobre dicho campo. Esto implica indexar solo una parte del campo, lo que reduce el tamaño del índice a costa de una posible ligera disminución en la velocidad de búsqueda.
Índices Multicolumna
Existe también la posibilidad de crear índices sobre más de una columna cuando dichas columnas se utilizan frecuentemente en cláusulas WHERE
. Esto puede mejorar significativamente el rendimiento de las consultas que involucran esas columnas.
Índices Secundarios y Cluster
- Secundarios: En las tablas MyIsam, MySQL guarda los índices en archivos separados que contienen, entre otras cosas, la lista de valores de índice y el valor del registro en la tabla. Por tanto, cualquier búsqueda requiere dos accesos a disco: uno para buscar el índice y otro para localizar el registro.
- Cluster: En las tablas Innodb, los índices se denominan cluster, es decir, se guardan las claves primarias junto con los propios registros ordenados. Así, las búsquedas por clave primaria son muy rápidas. Respecto al resto de los índices secundarios, la situación es la misma que para las tablas MyIsam.
Estructura de Índice
Existen tres estructuras principales de índices:
- Btree: La más utilizada en MySQL y la más común en los SGBD. Los índices se almacenan en páginas que son las hojas del árbol. Tiene la ventaja de la rapidez a la hora de recorrerlos buscando valores.
- Hash: Utiliza una función hash para mapear claves a sus ubicaciones en la tabla. Es muy eficiente para búsquedas de igualdad, pero no para búsquedas por rango.
- Rtree: Diseñada para indexar datos espaciales, como coordenadas geográficas.
Tipos de Índice según su Función
- UNIQUE: Se utiliza para campos cuyos valores no se repiten en la tabla, garantizando la unicidad de los datos.
- PRIMARY: Se crea sobre los campos que forman parte de la clave primaria de una tabla, asegurando la unicidad y permitiendo una rápida identificación de cada registro.
- FULL-TEXT: Formado por uno o varios campos de texto y utilizado para la búsqueda de palabras dentro de un campo, especialmente útil para campos de gran tamaño.
- SPATIAL: Índices utilizados para campos de tipo espacial, como
LINE
oCURVE
, optimizando las consultas que involucran datos geométricos.