Proyecto Northwind

La BD Northwind es una base de datos de una empresa ficticia que se usa en los productos Microsoft como base de datos completa y para practicar:

Northwind Traders es una organización ficticia que gestiona pedidos, productos, clientes, proveedores y muchos otros aspectos de una pequeña empresa.

Este ejemplo apareció con las primeras versiones de Microsoft Access y todavía está disponible como plantilla de Access.

Una descripción de necesidades de esta empresa podría ser la siguiente:

La empresa Northwind Traders importa y exporta alimentos especiales a cualquier parte del mundo. Necesitamos guardar las transacciones de venta entre la empresa y sus clientes. Y por supuesto los detalles de la compra de la empresa a sus proveedores.

Hay que hacer un seguimiento de los pedidos y del inventario de productos. Además los productos los tenemos organizados por categorías.

Las órdenes de los pedidos son hechas por un empleado de la empresa, y queremos registrar también la compañía que lo envía (el transportista).

Tenemos que gestionar también los datos de contacto tanto de los empleados, de los proveedores y los clientes. Nos llega con saber dirección, código postal, país, ciudad y teléfono. Ah! Y necesitamos felicitar, todos los años, los cumpleaños a los empleados.

Tareas a Realizar

  1. Diseño lógico usando la notación CD (Crow’s Foot).

    Solución

    No tiene porqué ser exactamente este, pero te sirve de referencia. Puedes ver la explicación completa .

    https://www.campusmvp.es/recursos/image.axd?picture=Northwind_EF.png
  2. Diseño físico. Dependerá del SGBD que utilices. Tendrás que revisar la documentación de tu SGBD para ver:

    1. Las instrucciones DDL utilizadas

    2. Cómo se implementan las restricciones

    3. Qué tipos de datos permite implementar

    Solución Sqlite
    Solución Mariadb/Mysql
    Solución Postgres

Guía de Evaluación

  1. ¿Tienes una imagen (PNG / JPG) con el diseño lógico en notación CF?

  2. ¿Están todas las entidades detectadas y con los atributos adecuados?

  3. ¿Están correctamente relacionadas, es decir, la versión inicial del diagrama ER sería correcta?

  4. ¿Están las cardinalidades y participación correctamente diseñadas? Es decir, ¿está el diseño ER con notación CF bien completo?

  5. ¿Están las tablas y sus atributos correctamente diseñadas en sql?

  6. ¿Están claras las claves primarias de cada tabla?

  7. ¿Y las claves ajenas?

  8. ¿Están todas las restricciones (atributo y tabla) correctamente diseñadas?

  9. ¿Es coherente el archivo .sql con el modelo ER?

  10. Hago la importación (en sqlite o el que me digas) y está todo correcto.