En las secciones siguientes se muestra cómo se diseñaron las relaciones de la tabla de base de datos. Los nombres de objeto se proporcionan para que pueda examinarlos fácilmente en la base de datos northwind 2.0 Starter Edition.
Para abrir el diagrama de relaciones que muestra las seis tablas y las relaciones entre ellas, seleccione Herramientas de base de datos > Relaciones.
Este diagrama muestra las seis tablas. En el diagrama, las líneas entre tablas identifican las relaciones entre ellas. El 1 y el símbolo de infinito (∞) situados al final de las líneas representan el lado uno de una relación (por ejemplo, un cliente) y el lado varios de una relación. Por ejemplo, un cliente envía muchos pedidos. Para obtener más información, vea la Guía de relaciones de tabla.
Los siguientes principios se aplican a las tablas de Northwind 2.0 Starter Edition, así como a las tablas en general.
Claves principales Identifique de forma única cada registro de una tabla. Todas las tablas tienen una clave principal. En el diagrama de relaciones, los símbolos de clave identifican esas claves principales. Las convenciones de nomenclatura de clave principal se denominan para la tabla en la que se encuentran, por ejemplo, "TableNameID".
Agregar un campo Autonumeración como clave principal.
Eficiencia Para mejorar el rendimiento y un almacenamiento más eficiente, las claves principales deben ser numéricas. Además, es más cómodo que Access genere automáticamente el nuevo valor único para la clave principal de cada nuevo registro. El tipo de datos Autonumeración tiene ambas características. De lo contrario, las autonumeraciones son números no significativos y no sirven para ningún otro propósito. Para obtener más información, veaClaves externas Una tabla también puede tener una o más claves externas, dependiendo de si está relacionada con otras tablas de la base de datos. Una clave externa contiene valores que corresponden a valores de la clave principal de la tabla relacionada.
Índices únicos Otros campos de las tablas también pueden tener sus propios índices únicos, por ejemplo, OrderStatus.StatusCode. Es ilógico tener dos Estados de pedido en la tabla OrderStatus con el mismo código, aunque StatusCode no sea la clave principal. Un índice único indica a Access que evite valores duplicados en ese campo.
Índices no exclusivos Las tablas también pueden tener índices para acelerar las búsquedas y ordenaciones en esos campos, por ejemplo, Orders.OrderDate. Se pueden realizar muchos pedidos el mismo día y a menudo desea buscar y ordenar por fechas de pedido. Hay un índice no único en ese campo para acelerar la búsqueda y la ordenación.
Nombres de tabla y campo Puede ponerle nombre a las cosas como desee, pero la coherencia es importante. Se recomienda que los nombres de tabla y campo sean una o más palabras sin espacios entre ellas y no haya caracteres especiales como una barra diagonal (/), un signo de almohadilla (#) o un porcentaje (%). Por ejemplo, use FechaPedido, pero no Fecha del pedido; use OrderNumber o OrderNo, pero no Order#.
Camelcase Poner en mayúscula las palabras para resaltar partes individuales del nombre, por ejemplo, FechaPedido, pero no FechaPedido o FechaPedido.
Valor obligatorio Este principio pone de relieve la importancia de las reglas de negocio para una aplicación. Algunas situaciones requieren valores o incluso valores específicos en algunos campos. Por ejemplo, ¿qué valor tiene un Pedido sin conocer al Cliente que lo realizó? Esto significa que CustomerID es un campo obligatorio para la tabla Pedidos.
Campos calculados Access admite campos calculados en tablas, por ejemplo, el campo Employees.FullName. Es posible que prefiera crear campos calculados en una consulta en lugar de en una tabla.
Datos adjuntos (campos) Access admite campos de datos adjuntos, por ejemplo Empleados.Imagen, que contiene una imagen del empleado. Los datos adjuntos pueden almacenar imágenes, documentos, correos electrónicos y otra información binaria. Los datos adjuntos ocupan una gran cantidad de espacio en la base de datos. es más eficaz almacenar datos adjuntos en un servidor de archivos en su lugar.
Campos multivalor Como su nombre indica, los campos multivalor almacenan uno o más valores en un único campo, por ejemplo, Empleados.Título. Le sugerimos que los use con moderación, especialmente si desea cambiar el tamaño de la base de datos. La mayoría de los demás sistemas de bases de datos no los tienen, por lo que esto requeriría una gran cantidad de trabajo.
Para obtener más información sobre los tipos de datos, vea Introducción a los tipos de datos y las propiedades de campo.
En esta sección se describen las características más importantes de cada tabla. Para revisar el diseño de una tabla, selecciónela en el panel de navegación, haga clic con el botón derecho en ella, elija Vista Diseño o seleccione Herramientas de base de datos > Relaciones y, después, haga clic con el botón derecho en un objeto de tabla. Para obtener más información, vea Introducción a las tablas.
Importante: Evite el uso de palabras reservadas que puedan causar conflictos de nomenclatura. Para obtener más información, vea Obtener información sobre las palabras y símbolos reservados de Access.
Tabla Empleados
Esta tabla almacena información sobre los empleados de Northwind.
Fields |
Descripción |
Nombre, Apellidos |
Ambos nombres son obligatorios y, en Northwind, juntos deben ser una combinación única. En el diseño de la tabla, al abrir el cuadro de diálogo Índices , puede ver que FirstName + LastName tiene un índice único. Como FirstName y LastName están indexados de forma única, la tabla de Northwind no puede almacenar dos empleados con el mismo nombre. En otras situaciones, puede usar una regla de negocio diferente. |
FullNameFNLN, FullNameLNFN |
Mire la propiedad expression de los campos calculados para ver cómo Access combina los valores de los campos calculados. Para incluir una inicial del medio, agréguela a la expresión existente con el espaciado adecuado entre los componentes. |
Campos Teléfono |
La regla empresarial para teléfonos es que la preferencia de los empleados es más relevante que el tipo de servicio. Por lo tanto, se usan números de teléfono primarios y secundarios en lugar de teléfonos móviles, de oficina, particulares, etc. |
Saludo |
Saludo es un campo de texto corto. Para ilustrar la característica de campo multivalor en Access, es un cuadro combinado con una lista editable de valores predefinidos. Listas cortas y estáticas como esta suelen ser candidatos para campos multivalor porque no cambian mucho, si es que alguna vez. |
JobTitle |
JobTitle es otro campo obligatorio. |
Tabla Clientes
Esta tabla almacena información sobre los clientes de Northwind.
Fields |
Descripción |
CustomerName |
Los clientes de Northwind son empresas y se requiere un nombre de cliente. Sin embargo, a diferencia de los nombres de los empleados, no está indexado de forma única, lo que permite que dos o más clientes tengan el mismo nombre. |
PrimaryContactFirstName, PrimaryContactLastName, PrimaryContactJobTitle |
Los nombres y apellidos y el puesto del contacto principal no son necesarios porque es posible que los clientes no tengan un contacto como contacto principal. Los contactos no pueden dar su puesto de trabajo para un pedido. |
BusinessPhone |
Northwind requiere solo un número de teléfono para cada cliente, aunque esto elimina la capacidad de capturar varios números de teléfono para los clientes o para los contactos de los clientes. En situaciones reales, las reglas empresariales más complejas normalmente se aplican a la información de contacto. |
Dirección, Ciudad Estado, CÓDIGO POSTAL |
Northwind necesita una dirección para enviar pedidos a los clientes. Solo hay una dirección genérica para un cliente. En situaciones reales, los clientes a menudo tienen direcciones de facturación, envío u otras direcciones diferentes. Una regla de negocio diferente para su organización requeriría campos adicionales. |
Notas |
El campo Notas es un tipo de datos Texto largo, que almacena hasta 1 GB de texto. Esto le permite escribir comentarios detallados sobre los clientes para su uso en situaciones posteriores de pedido. |
Tabla Pedidos
Esta tabla almacena información sobre los pedidos de Northwind.
Fields |
Descripción |
FechaDePedido, FechaDeEnvío, FechaDePagués |
Los pedidos requieren tres fechas. Todos son tipos de datos de fecha y hora, pero con dos formatos. FechaPedido tiene una fecha y una hora porque es posible que esté interesado en analizar el volumen del pedido para diferentes partes del día. Para las otras dos fechas, solo es necesaria la fecha. Una regla de validación de tabla para ShippedDate y PaidDate garantiza que esas fechas no sean anteriores a OrderDate. |
OrderStatusID |
El estado del pedido indica dónde se encuentra el orden en el flujo de trabajo de Northwind. Los pedidos se mueven por cuatro fases: Nuevo > Facturado —> enviado —> Cerrado.La clave externa para el OrderStatus actual usa OrderStatusID de la tabla de búsqueda de OrderStatus. Usar una tabla de búsqueda de estado garantiza que solo se puedan asignar a un pedido los cuatro estados predefinidos. |
Tabla detalles de pedidos
Esta tabla almacena información sobre los detalles del pedido de Northwind.
Fields |
Descripción |
OrderID |
Cada elemento de línea de la tabla Detalles de pedidos debe pertenecer a un pedido de la tabla Pedidos. OrderID es una clave externa que identifica ese pedido. Como se mencionó anteriormente, un orden que contiene uno o más elementos de línea ilustra una relación uno a varios. |
Id. de producto |
Cada registro de la tabla Detalles del pedido incluye el IdProducto para el producto pedido. IdProducto es una clave externa de la tabla Detalles de pedidos, que identifica ese producto en ese orden. Esta es también una relación uno a varios. |
Id. de pedido+ Id. de producto |
Como ve en la tabla Empleados, varios campos pueden tener un índice único. El índice único sobre IdDePedido+IdProducto de la tabla Detalles de pedidos garantiza que cada pedido contenga un producto solo una vez. Al abrir la hoja de propiedades Índices desde la cinta de opciones, puede ver este índice único. |
Tabla Productos
Esta tabla almacena información sobre los productos de Northwind.
Fields |
Descripción |
Productcode |
Además de la clave principal, ProductID, los productos de Northwind tienen un código de producto apto para el uso humano y único indexado. Los empleados suelen hacer referencia a códigos de producto, no a valores de clave principal. El código de producto es un valor compuesto formado por una designación de categoría y un número, por ejemplo, B-1 para "Bebidas", producto 1. |
Nombre de producto, Descripción del producto |
Además de los nombres de producto de texto corto, se aplica una descripción de texto largo a los productos. Este valor puede usarse en una descripción del catálogo o para responder a las preguntas de los clientes. |
UnitPrice |
Todos los productos se venden con un precio unitario por cada artículo, lo que simplifica la base de datos como un escaparate de características. En la mayoría de las situaciones del mundo real, los precios a menudo son significativamente más complejos. |
Consulte también