Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Duda] ¿Qué significa: KEY MATRICULA (MATRICULA)?

Al momento de indagar en la carpeta de archivos DumpJugosVentas abrí el script jugos_ventas_facturas.sql, el cual crea la tabla facturas, y me percaté de lo siguiente:

CREATE TABLE FACTURAS(
    DNI VARCHAR(11) NOT NULL,
    MATRICULA VARCHAR(5) NOT NULL,
    FECHA_VENTA DATE DEFAULT NULL,
    NUMERO INT(11) NOT NULL,
    IMPUESTO FLOAT NOT NULL,
    PRIMARY KEY (NUMERO),
    KEY MATRICULA (MATRICULA),
    KEY CPF (DNI),
    CONSTRAINT facturas_ibfk_1 FOREIGN KEY (MATRICULA) REFERENCES TABLA_DE_VENDEDORES(MATRICULA),
    CONSTRAINT facturas_ibfk_2 FOREIGN KEY (DNI) REFERENCES TABLA_DE_CLIENTES(DNI));

¿Qué significa esto?:

    KEY MATRICULA (MATRICULA),
    KEY CPF (DNI),

Entiendo todo lo demás pero no sé el porqué de esas KEYs

Y otra cosa: ¿qué significa la parte de "ib" en el nombre de la FOREIGN KEY "facturas_ibfk_1"? Sé que la parte de "fk" significa Foreign Key.
Me llama mucho la atención ya que noto que la parte de "ibfk" se ocupa mucho al momento de nombrar FOREIGN KEYs.

Nota cultural: estuve investigando y descubrí que CPF es el Cadastro de Pessoas Físicas (Registro de Personas Físicas).

1 respuesta
solución!

¡Hola Yahadad, espero que estés bien!

Entiendo que estés explorando el script SQL y te hayas encontrado con algunas dudas. Vamos a desglosar lo que significa cada parte:

  1. KEY MATRICULA (MATRICULA): En SQL, la palabra clave KEY se utiliza para definir un índice en una columna de una tabla. Un índice es una estructura de datos que mejora la velocidad de las operaciones de búsqueda en una base de datos. En este caso, KEY MATRICULA (MATRICULA) está creando un índice en la columna MATRICULA de la tabla FACTURAS. Esto puede ayudar a acelerar las consultas que buscan por esta columna.

  2. KEY CPF (DNI): Similar al anterior, esto está creando un índice en la columna DNI. Aunque se utiliza el término CPF, que como mencionaste es un registro de personas físicas, aquí parece ser un nombre de índice que se eligió para esta columna.

En cuanto a tu segunda pregunta sobre el nombre de la FOREIGN KEY:

  1. "ib" en "facturas_ibfk_1": La parte "ib" generalmente no tiene un significado específico en SQL estándar, pero en algunos sistemas de bases de datos, especialmente aquellos que usan InnoDB (como MySQL), "ib" puede ser una convención de nomenclatura interna que significa "InnoDB". Así, "ibfk" podría interpretarse como "InnoDB Foreign Key". Sin embargo, esta es solo una convención de nomenclatura y no afecta la funcionalidad de la clave foránea.

Espero que esto aclare tus dudas. ¡Espero haber ayudado y buenos estudios!