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¶
- 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 .   
- Diseño físico. Dependerá del SGBD que utilices. Tendrás que revisar la documentación de tu SGBD para ver: - Las instrucciones DDL utilizadas 
- Cómo se implementan las restricciones 
- Qué tipos de datos permite implementar 
 - Solución Sqlite- Solución Mariadb/Mysql- Solución Postgres
Guía de Evaluación¶
- ¿Tienes una imagen (PNG / JPG) con el diseño lógico en notación CF? 
- ¿Están todas las entidades detectadas y con los atributos adecuados? 
- ¿Están correctamente relacionadas, es decir, la versión inicial del diagrama ER sería correcta? 
- ¿Están las cardinalidades y participación correctamente diseñadas? Es decir, ¿está el diseño ER con notación CF bien completo? 
- ¿Están las tablas y sus atributos correctamente diseñadas en sql? 
- ¿Están claras las claves primarias de cada tabla? 
- ¿Y las claves ajenas? 
- ¿Están todas las restricciones (atributo y tabla) correctamente diseñadas? 
- ¿Es coherente el archivo .sql con el modelo ER? 
- Hago la importación (en sqlite o el que me digas) y está todo correcto. 
 
