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)
2
respuestas

[Duda] DUDA SOBRE ACTIVIDAD 6 DE LA CLASE 1

Estimados, ¿como estan? Tengo la siguiente duda con relacion al script que se transcribe debajo: ¿por que razón "numero" y "codigo" deben ser establecidos como claves primarias? ¿es porque tanto "numero" como "codigo" estan referidos a un mismo registro?. El siguiente script surge de la solución propuesta por el instructor en el video de la clase correspondiente:

CREATE TABLE items(
NUMERO VARCHAR(5) NOT NULL,
CODIGO VARCHAR(10) NOT NULL,
CANTIDAD INT,
PRECIO FLOAT,
PRIMARY KEY (NUMERO, CODIGO),
FOREIGN KEY (NUMERO) REFERENCES facturas(NUMERO),
FOREIGN KEY (CODIGO) REFERENCES productos(CODIGO)
);

Cualquier orientacion al respecto sera bienvenida. Gracias! Saludos.

2 respuestas
solución!

Hola , espero que estés muy bien.

El script que proporcionaste crea una tabla llamada "items" con las columnas "NUMERO", "CODIGO", "CANTIDAD" y "PRECIO", y establece una clave primaria compuesta en las columnas "NUMERO" y "CODIGO". Veamos por qué se hace esto:

En este caso, "NUMERO" y "CODIGO" se establecen como claves primarias compuestas por una razón relacionada con la estructura de la base de datos y las relaciones entre tablas.

Clave Primaria Compuesta: Una clave primaria es un atributo (o conjunto de atributos) que identifica de manera única cada fila en una tabla. En este caso, la combinación de "NUMERO" y "CODIGO" se establece como clave primaria. Esto significa que no puede haber filas duplicadas en la tabla "items" con la misma combinación de "NUMERO" y "CODIGO". La clave primaria garantiza la unicidad de cada registro en la tabla.

Relaciones entre Tablas: Las claves primarias también juegan un papel importante en las relaciones entre tablas. Las claves primarias de una tabla se pueden utilizar como claves externas (foreign keys) en otras tablas para establecer relaciones y mantener la integridad referencial.

La sentencia FOREIGN KEY (NUMERO) REFERENCES facturas(NUMERO) establece que la columna "NUMERO" en la tabla "items" está relacionada con la columna "NUMERO" en la tabla "facturas". Esto indica que cada registro en la tabla "items" debe hacer referencia a un registro válido en la tabla "facturas".

De manera similar, la sentencia FOREIGN KEY (CODIGO) REFERENCES productos(CODIGO) establece una relación entre la columna "CODIGO" en la tabla "items" y la columna "CODIGO" en la tabla "productos".

Mantenimiento de la Integridad Referencial: Al establecer estas relaciones entre tablas mediante claves primarias y externas, se garantiza la integridad referencial de la base de datos. Esto significa que las relaciones entre los datos se mantendrán coherentes y no se permitirá la creación de registros huérfanos o incoherentes.

En resumen, establecer "NUMERO" y "CODIGO" como claves primarias compuestas tiene sentido porque, en conjunto, forman una combinación única que identifica cada registro en la tabla "items". Además, estas claves primarias se utilizan como claves externas en relaciones con otras tablas para garantizar la integridad referencial y mantener la coherencia de los datos en la base de datos.

Un saludo.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios

¡Muchísimas gracias por la respuesta! ¡Me ha sido de mucha ayuda! Saludos.