Ejercicios de modelado lógico relacional de bases de datos · Ejercicio: (medio) Gestión proveedores

Ejercicio: (medio) Gestión proveedores

Puedes preparar tu diagrama. .

Enunciado #

Una tienda necesita gestionar los productos que vende y los proveedores que los suministran. Un producto puede ser suministrado por varios proveedores y un proveedor puede suministrar varios productos. El coste de compra puede ser diferente para cada proveedor.

Datos que debes almacenar #

  • Producto: id_producto (entero, identificador), nombre (texto), precio_venta (decimal) y stock (entero).
  • Proveedor: id_proveedor (entero, identificador), nombre (texto) y numero_contacto (texto).
  • Suministro: id_producto (entero), id_proveedor (entero) y coste_compra (decimal).

Reglas del negocio #

  1. La relación entre productos y proveedores es N:N y se resuelve con Suministro.
  2. La PK de Suministro está formada por (id_producto, id_proveedor). Ambos campos son también FK.
  3. coste_compra pertenece a la combinación producto–proveedor, no solo al producto ni solo al proveedor.
  4. Para esta práctica se conserva el coste actual de cada suministro; no se pide un historial de cambios de precio.
  5. El stock y los precios no pueden ser negativos; sus rangos se validarían al implementar la base de datos.

Diseña las tres tablas y las dos relaciones 1:N que sustituyen a la relación N:N.

Criterios para el challenge #

Conserva los nombres de tablas y campos indicados; los nombres de campos están escritos sin tildes y con guiones bajos. Los tipos entre paréntesis corresponden a las opciones del editor. Todos los campos son obligatorios (NN), salvo los marcados como opcionales; marca las claves primarias (PK), foráneas (FK) y las restricciones de unicidad que se deducen de las reglas.

Deja desactivados autoincremento, clave alternativa e índice. Deja vacíos el valor por defecto, las acciones ON DELETE y ON UPDATE y, salvo que se indique expresamente, CHECK. Usa los extremos 1 y n, o 1 y 1, en las conexiones; una FK opcional tiene NN desmarcado.

Una PK compuesta identifica por la combinación de sus campos: no marques cada componente como único por separado. Si una FK referencia una PK compuesta, dibuja una conexión por cada pareja de campos; todas juntas representan una única referencia a la misma fila. En una implementación SQL se debe declarar una sola FOREIGN KEY con todas esas columnas, no varias referencias independientes. El editor no comprueba por sí solo las reglas sobre varias filas ni todas las restricciones compuestas.

Cargando actividad al acercarte…