Está en la página 1de 15
am Microsoft Microsoft 365 oporteorice ‘ado Microsoft Windows Produces’ Dipesace Xbox Buscar Novedades Stone » Accoss / KoumpranMigrasnttaiiBs bisicos / Conceptos bisicos del disefo de una base de datos Cuenas y facurseion © Pantillas wien ONCEpPtos basicos del disefio de una base de datos ‘Access para Microsoft 365, Access 2021, Access 2019, Access 2016, Access 2013, Mis. Una base de datos correctamente disefiada le permite obtener acceso a informacién actualizada y precisa Como es esencial tener un disefio correcto para lograr sus objetivos de trabajar con una base de datos, tiene sentido invertir el tiempo necesario para obtener informacién sobre los principios de un buen disefo. Al final, es mucho mas probable que acabe con una base de datos que se ajusta a sus necesidades y que puede adaptarse facilmente al cambio. En este articulo se proporcionan instrucciones para planear una base de datos de escritorio. Aprendera a decidir qué informacién necesita, como dividir esa informacién en las tablas y columnas adecuadas, y cémo se relacionan entre si esas tablas, Lea este articulo antes de crear su primera base de datos de escritorio, Importante: Access proporciona experiencias de disefio que le permiten crear aplicaciones de bases de datos para la Web. Hay muchas consideraciones de disefo que son dlferentes cuando disefia para la Web. En este articulo no se explica el disefio de aplicaciones de bases de datos web. Para mas informacién, vea el articulo Crear una base de datos de Access para compartra en la Web. En este articulo Algunos términos de hase de datos que debe conocer 2Qué es una base de datos bien disefiada? El proceso de disenio Determinar el propésito de la base de datos Buscar y organizar la informacién necesaria Dividir la informa nen tablas Convertir os elementos de informacién en columnas Especificar las claves principales Crear las relaciones de tablas Le ha sido titil esta informacion? si N Aplicar las reglas de normalizacién Algunos términos de base de datos que debe conocer Access organiza la informacién en tabla: lstas de filas y columnas que recuerdan a una hoja de célculo oa los libros de contabilidad. En una base de datos simple, es posible que solo tenga una tabla, Para la mayoria de las bases de datos necesitara tener mas de una, Por ejemplo, puede que tenga una tabla que almacena informacién sobre productos, otra que almacena informacién sobre pedidos y otra tabla con informacién sobre clientes. |= rr = Pinte picts clNambra el pro], Proveedon = 5 1 Tapias fat Lauds a 2ichang Ere Ligue Orb eb preg rl enriva inn = 4 Alfreds Futterkiste: ‘Maris Anders. ana TruileEngar edad y belados Ara Tafa Soa” Emplesda-= ™ buchanan, ste > tous Tracie inermereadosSuyama, Mich © 10250 Hanan Carnes Peacock, Marie [Eee ees ee ear Cada fila se denomina, més correctamente, un registro y cada columna, un eampe. Un registro es una forma clara y coherente de combinar informacién sobre algo. Un campo es un tinico elemento de informacién, un tipo de elemento que aparece en cada registro, En la tabla de productos, por ejemplo, cada fila o registro contiene la informacién de un producto. Cada columna o campo contiene algtin tipo de informacién sobre el producto, como su nombre o el precio. Principio de pagina {Qué es una base de datos bien disefiada? Algunos principios guian el proceso de disefio de la base de datos. l primer principio es que la informacién duplicada (también denominada datos redundantes) es perjudicial, porque se pierde espacio y aumenta la probabilidad de errores e incoherencias. El segundo principio es que la correccién y la integridad de informacién es importante. Si la base de datos contiene informacién incorrecta, los informes que extraigan la informacién de la base de datos también contendran informacién incorrecta. Como resultado, las decisiones que tome basdndose en dichos informes estarén mal informades. Un buen diseito de base de datos es, por tanto, aquel que’ 1 Divide la informacién en tablas basadas en temas para reducir las datos redundantes, Le ha sido titil esta informacion? = Ayuda a respaldar y garantizar la precisién y la integridad de la informacién, = Se ajusta a sus necesidades de informes y procesamiento de datos. Principio de pagina El proceso de disefio €l proceso de disefio consta de los siguientes pasos + Determinar el propésito de la base de datos Esto le ayudard a prepararse para los pasos restantes, = Buscar y organizar la informacién necesari Recopile todos los tipos de informacién que podria querer registrar en la base de datos, como los nombres de producto y los nimeros de pedido, = Dividir la informacién en tablas Divida los elementos de informacién en entidades principales o temas, como Productos o Clientes. Después, cada tema se convierte en una tabla, = Convertir los elementos de informacién en columnas Decida qué informacién quiere almacenar en cada tabla. Cada elemento se convierte en un campo y se muestra come una columna en la tabla, Por ejemplo, una tabla de empleados podria incluir campos como Apellidos y Fecha de contratacién. = Especificar las claves principales Elija la clave principal de cada tabla. La clave principal es una columna que se usa para identificar cada fila Un ejemplo podria ser Id. de producto o Id. de pedido, = Establecer las relaciones de tablas Busque en cada tabla y decida cémo se relacionan los datos en una tabla con los datos de otras tablas. Agregue campos a las tablas o cree tablas para aclarar las relaciones, segtin sea necesario, = Perfeccionar el disefio Analice el disefio en busca de errores. Cree las tablas y agregue unos cuantos registros de datos de ejemplo. Compruebe si puede obtener los resultados que quiere de las tablas. Haga algunos ajustes en el disefo, si es necesario, = Aplicar las reglas de norm: Aplique las reglas de normalizacién de datos para ver si las tablas estén estructuradas correctamente, Haga algunos ajustes en las tablas, si es necesario. Le ha sido titil esta informacion? Determinar el propdsito de la base de datos Es una buena idea anotar el propésito de la base de datos en un papel: su propésito, como espera usarla y ‘quién la usard. Por ejemplo, para una base de datos pequefia para un negocio familiar, escriba algo como: “La base de datos de clientes es una lista con informacién de los clientes cuya finalidad es el envio de correo ylla creacién de informes. Sila base de datos es mas compleja o la usan muchas personas, como ocurre normalmente en un entorno corporativo, el propésito podria constar fécilmente de uno o varios parrafos, y deberiaincluir cusndo y cémo cada persona usaré la base de datos. La idea es tener una declaracién de objetivos bien desarrollada a la que se pueda hacer referencia en todo el proceso de disefio. Tener ese resumen le ayuda a centrarse en sus objetivos cuando tome decisiones. Principio de pagina Buscar y organizar la informacién necesaria Para buscar y organizar la informacién necesaria, empiece con la informacién existente. Por ejemplo, podria registrar los pedidos de compra en un libro de contabilidad o guardar la informacién de los clientes en formularios de papel en un archivo. Recopile dichos documentos y enumere cada tipo de informacién que se muestra (por ejemplo, cada cuadro que rellene en un formulario) Sino tiene ningtin formulario existente, imagine en su lugar que tiene que disefar un formulario para registrar la informacién del cliente. Qué informacién incluiria en el formulario? Qué cuadros de relleno crearia? Identifique y enumere cada uno de estos elementos. Por ejemplo, suponga que actualmente guarda la lista de clientes en las tarjetas de indice, ‘Al examinar dichas tarjetas podria revelar que cada una contiene un nombre de cliente, direccién, ciudad, estado, cédigo postal y nimero de teléfono. Cada uno de estos elementos representa una posible columna en una tabla, Mientras prepare esta lista, no se preocupe de hacerla perfecta desde el principio, En su lugar, enumere todos los elementos que se le ocurran. Si la base de datos la usaré alguien mas, pregintele también sobre sus ideas. Podra perfeccionar la lista mas adelante. Después, tenga en cuenta los tipos de informes o correspondencia que podria querer crear a partir de la base de datos. Por ejemplo, puede que quiera un informe de ventas de un producto para mostrar las ventas por regién o un informe de resumen de inventario que muestre los niveles de inventario del producto. ‘También es posible que quiera generar cartas modelo para enviar a los clientes que anuncien un evento de venta u ofrezcan una mejora. Diseiie el informe en su mente y luego imagine su aspecto. ;Qué informacién incluiia en el informe? Enumere todos los elementos, Haga lo mismo para la carta modelo y para cualquier otro informe que tenga previsto crear. Le ha sido titil esta informacion? si No Pararse a pensar en los informes y correspondencia que podria querer crear le ayudaré a identificar los elementos que necesitars en la base de datos. Por ejemplo, suponga que los clientes tienen la posibilidad de darse de alta (0 de baja) de las novedades enwviadas periédicamente por correo electrénico, y que quiere imprimir una lista de los usuarios que se han dado de alta, Para registrar esa informacién, agrega una ccolumna "Enviar correo electrénico” ala tabla de clientes. Para cada cliente, puede establecer el campo en Si © No. El requisito de enviar mensajes de correo a los clientes sugiere otro elemento del registro, Una vez que sepa que un cliente quiere recibir mensajes de correo, también deberd saber la direccién de correo electrénico a la que envidrselos, Por tanto, necesita registrar una direccién de correo electrénico para cada cliente. Tiene sentido crear un prototipo de cada informe o listado de salida, y considerar qué elementos debers generar el informe. Por ejemplo, cuando examina una carta modelo, podrian venirle a la mente algunas cconsideraciones. Si quiere incluir un saludo formal, por ejemplo, la cadena "Sr", "Sta." 0 "Sita." con la que comienza un saludo, tendré que crear un elemento de saludo. Ademés, tal vez quiera comenzar una carta ‘con “Estimado Sr, Alcala” en lugar de “Estimado, Sr. Jorge Alcala”, Esto sugiere que normalmente quertia almacenar el apellido separado del nombre, Un punto clave que recordar es que deberia dividir cada fragmento de informacién en partes mas pequefias. En el caso de un nombre, para poder usar el apellido, dividiré el nombre en dos partes: nombre y apelido. Para ordenar un informe por apellidos, por ejemplo, resulta titi tener el apellido del cliente almacenado por separado. En general, si quiere ordenar, buscar, calcular o crear informes en funcién de un elemento de informacién, debe crear un campo propio para ese elemento, Piense en las preguntas que tal vez quiere que responda la base de datos. Por ejemplo, cusntas ventas de un producto destacado se cerraron el mes pasado? {Dénde viven sus mejores clientes? :Quién es el proveedor de su producto mas vendido? Anticipar estas preguntas le ayuda a centrarse en qué elementos adicionales registrar. Una vez recopilada esta informacién, esté listo para pasar al siguiente paso. Principio de pagina Dividir la informacién en tablas Para dividir la informacién en tablas,elija las entidades principales, o asuntos, Por ejemplo, después de encontrar y organizar la informacién para una base de datos de ventas de un producto, la lista preliminar podria ser similar a la siguiente: Le ha sido titil esta informacion? si No Las principales entidades que se muestran aqui son los productos, los proveedores, los clientes y los pedidos. Por tanto, tiene sentido comenzar con estas cuatro tablas: una para los datos sobre productos, otra para datos sobre proveedores, otra para los datos sobre clientes y otra para los datos sobre pedidos, ‘Aunque la lista no esta completa con ellas, es un buen punto de partida, Puede seguir ajustando la lista hasta que tenga un disefio que funcione bien, Cuando revise por primera ver Ia lista preliminar de elementos, es posible que esté tentado a incluirlos en Una sola tabla, en lugar de las cuatro que se muestran en la ilustracién anterior. A continuacién obtendra informacién sobre por qué es una mala idea. Considere por un momento la tabla que se muestra aqui rroavats ana swaps ri Sa EE rolctquiés —__aBaibert st J Exotic Liquids aailberst. [Anizeed Syrup Exotic Liquids “aGibert st. ‘Chef Anton's Cajun Sea: New Orleans Cajun Deli, P.0. 80x 72594 En este caso, cada fla contiene informacién sobre el producto y su proveedor. Dado que un mismo proveedor puede suministrarle una gran cantidad de productos, el nombre y la direccién de ese proveedor tendran que repetirse muchas veces. Esto supone un desperdicio de espacio en disco. Registrar la informacién del proveedor una sola vez en una tabla independiente para los proveedores y vincular esa tabla a la de productos es una solucién mucho mejor. Un segundo problema con este disefio surge cuando es necesario modificar la informacién sobre el proveedor. Por ejemplo, supengamos que necesita cambiar la direccién de un proveedor. Al aparecer en varios lugares, accidentalmente podria cambiar la direccién en un solo lugar y olvidarse de cambiarla también en los demas. Si registra la informacién del proveedor en un tinico ligat, se evitard el problema Al diseiar la base de datos, intente siempre registrar cada hecho una sola vez. Si se encuentra repitiendo la misma informacién en mas de un lugar, como la direccién de un determinado proveedar, coloque dicha informacién en una tabla aparte, Por tiltimo, supongamos que Coho Winery suministra un solo producto y que quiere eliminar el producto pero conservar la informacin de nombre y direccién del proveedor. :Cémo se elimina el registro del producto sin perder la informacién de proveedor? No se puede. Dado que cada registro contiene datos sobre un producto y datos sobre un proveedor, no puede eliminar uno sin eliminar el otro, Para mantener estos datos separados, debe dividir la tabla en dos: una tabla para la informacién de productos y otra para la informacién de proveedores. Al eliminar un registro de producto, solo eliminaria los datos del producto, no los datos del proveedor. Una vez que haya elegido el tema representado por una tabla, las columnas de dicha tabla solo deberian almacenar datos sobre el tema, Por ejemplo, la tabla de productos deberia almacenar Gnicamente datos sobre los productos. Dado que la direccién del proveedor es un dato del proveedor y no un hecho sobre el producto, esta pertenece a la tabla de proveedores. Principio de pagina Convertir los elementos de informacion en colurmnas Para determinar las columnas de una tabla, decida cual es la informacién de la que necesita realizar un seguimiento sobre el tema registrado en la tabla. Por ejemplo, para la tabla Clientes, una buena lista inicial Le ha sido titil esta informacion? por lo que puede almacenar la informacién de Nombre, Direccién, Ciudad-Provincia-Cédigo postal, Enviar correo electréonico, Saludo y Direccién de correo electrénico para cada registro. Por ejemplo, la columna de direccién contiene las direcciones de los clientes, Cada registro contiene datos sobre un cliente, y el campo direcci6n contiene la direccién de dicho cliente. Una vez que haya determinado el conjunto inicial de columnas para cada tabla, podrd refinar atin més las columnas. Por ejemplo, tiene sentido almacenar el nombre del cliente como dos columnas separadas: nombre y apellidos, para que pueda ordenar, buscar € indexar en estas columnas, De forma similar, la direccién realmente se compone de cinco componentes independientes: direccién, ciudad, estado, cédigo postal y pais o regién, que también tiene sentido almacenar en columnas separadas, Si quiere realizar una busqueda, filtrar u ordenarla operacién por estado, por ejemplo, necesita que la informacién de estado se almacene en una columna independiente. También deberia tener en cuenta sila base de datos contiene informacién solo de origen nacional o también internacional. Por ejemplo, si va a almacenar direcciones internacionales, es mejor tener una columna Regién en lugar de Estado, ya que esa columna puede incluir tanto estados internos como regiones de otros paises © regiones. De forma similar, Cédigo postal tiene mas sentido que cédigo ZIP si va a almacenar direcciones internacionales. En la lista siguiente se muestran algunas sugerencias para determinar las columnas, = No incluya datos calculados En a mayorfa de los casos, no se debe almacenar el resultado de los célculos en las tablas. En su lugar, puede hacer que Access realice los célculos cuando quiera ver el resultado. Por ejemplo, suponga que hay Un informe de Productos en pedidos que muestra el subtotal de unidades en pedidos para cada categoria de producto en la base de datos. Pero no hay ninguna columna de subtotal de Unidades en pedidos en hinguna tabla. En su lugar, la tabla Productos incluye una columna Unidades en pedidos que almacena las unidades en pedidos para cada producto. Con esos datos, Access calcula el subtotal cada vez que imprima el informe, El subtotal en si no deberia almacenarse en una tabla, = Almacene la informacién en sus partes Idgicas mas pequefias Es posible que tenga la tentaci6n de tener un solo campo para nombres completos o para nombres de producto junto con descripciones de productos. Si combina més de un tipo de informacién en un campo, ¢s dificil ecuperar datos individuales més adelante, Intente diviir la informacién en partes légicas: por ejemplo, cree campos independientes para nombre y apellido, o para nombre, categoria y descripcién del producto. Una vez ajustadas las columnas de datos de las tablas, ya puede elegir la clave principal de cada tabla. Principio de pagina Especificar las claves principales Cada tabla debe incluir una columna (0 conjunto de columnas) que identifique exclusivamente cada fila almacenada en la tabla, Esto suele ser un niimero de identificaci6n Ginico, como un nimero de identificacién de empleado 0 un niimero de serie, En la terminoloaia de base de datos, esta informacién se denomina la Le ha sido titil esta informacion? Sia tiene un identificador ‘nico para una tabla, como un niimero de producto que identifica exclusivamente a cada producto en el catélogo, puede usar ese identificador como clave principal de la tabla, pero solo silos valores de esta columna seran siempre diferentes para cada registro. No puede tener valores duplicados en una clave principal. Por ejemplo, no use nombres de personas como clave principal, porque los nombres no son inicos, Es muy facil que dos personas tengan el mismo nombre en una misma tabla Una clave principal siempre debe tener un valor. Si en algin momento el valor de una columna puede quedar sin asignar 0 ser desconocido (un valor que falta), no se puede usar como un componente de una clave principal. Siempre debe elegir una clave principal cuyo valor no cambiard, En una base de datos que use mas de una tabla, [a clave principal de una tabla puede usarse como referencia en otras tablas. Si se cambia la clave principal, el cambio también se debe aplicar en todas partes en las que se hace referencia a la clave. Usar Una clave principal que no cambia reduce la posibilidad de que no se sincronice con otras tablas que hacen referencia a ella ‘Amenudo se usa un niimero Unico arbitrario como clave principal. Por ejemplo, podria asignar a cada pedido un niimero de pedido tinico. El Unico propésito del nimero de pedido es identificar un pedido. Una vez asignado, nunca cambia, Sino se le ocurre una columna o un conjunto de columnas que puedan servir como una buena clave principal, considere la posibilidad de usar una columna que tenga el tipo de datos Autonumeracién. Al usar el tipo de datos Autonumeracién, Access asigna automaticamente un valor por usted. Este identificador esta vacio, no contiene informacién objetiva sobre la fila que representa. Los identificadores vacios son ideales para usarlos como clave principal, porque no cambian. Una clave principal que contiene datos sobre una fia, como el ntimero de teléfono o el nombre de un cliente, por ejemplo, es mas probable que cambie, ya que la propia informacién objetiva podria cambiar. 1. Una columna establecida en el tipo de datos Autonumeracién suele ser una buena clave principal, No hay dos identificadores de producto iguales. En algunos casos, tal vez quiera usar dos 0 mas campos que, juntos, proporcionan la clave principal de una tabla, Por ejemplo, una tabla de detalles de pedido que almacena datos de pedidos usaria dos columnas en su clave principal: Identificador de pedido e Identificador de producto. Cuando una clave principal esta formada por mas de una columna, también se denomina una clave compuesta Para la base de datos de ventas de productos, puede crear una columna Autonumeracién para cada una de las tablas para que sirvan de clave principal: Id. de producto para la tabla Productos, Id. de pedido para la tabla Pedidos, Id. de cliente para la tabla Clientes e Id. de proveedor para la tabla Proveedores. Principio de pagina Crear las relaciones de tablas Le ha sido titil esta informacion? 1. La informacién de este formulario procede de la tabla Clientes, 2...Ia tabla Empleados. 3...la tabla Pedidos. 4, «la tabla Productos 5... yla tabla Detalles de pedidos. ‘Access es un sistema de administracién de base de datos relacional. En una base de datos relacional, se divide a informacién en tablas separadas, basadas en el temas. Después, se usan las relaciones de la tabla para combinar Ia informacién segtin sea necesario. Principio de pagina Crear una relacién uno a varios Considere este ejemplo: las tablas Proveedores y Productos en la base de datos de pedidos de productos, Un proveedor puede proporcionar cualquier cantidad de productos. Se puede decir que, para cualquier proveedor que se representa en la tabla Proveedores, puede haber muchos productos que se representan en la tabla Productos. La relacién entre la tabla Proveedores y la tabla Productos es, por tanto, una relacién uno a varios. Para representar una relacién uno a varios en el disefio de la base de datos, tome la clave principal del lado uno" de la relacién y agréguela como columna o columnas adicionales a la tabla en el lado "varios" de la relacién. En este caso, por ejemplo, agregaria la columna Id. de proveedor de la tabla Proveedores a la tabla Productos. Asi, Access puede usar el niimero de identificador del proveedor de la tabla Productos para dar con el proveedor correcto de cada producto. La columna Id. de proveedor en la tabla Productos se denomina una clave externa, Una clave externa es la clave principal de otra tabla, La columna Id, de proveedor en la tabla Productos es una clave externa porque ‘también es la clave principal en la tabla Proveedores. Alestablecer parejas de claves principales y claves externas, proporciona la base para unir las tablas relacionadas. Si no esta seguro de qué tablas deberian compartir una columna comin, identificar una relacién uno a varios asegura que, en efecto, las dos tablas relacionadas requeriran una columna compartida Principio de pagina Crear una relacién de varios a varios Considere Ia relacién entre la tabla Productos y la tabla Pedidos. Un solo pedido puede incluir varios productos. Por otra parte, un nico producto puede aparecer en muchos pedidos. Por tanto, por cada registro de la tabla Pedidos puede haber varios registros en la tabla Productos. Le ha sido titil esta informacion? pedidos, y para cada pedido puede haber muchos productos. Tenga en cuenta que para detectar las relaciones de vatios a varios entre las tablas, es importante que considere ambas partes de la relacién. Entre los temas de las dos tablas, productos y pedidos, existe una relacién de varios a varios. Esto supone un problema, Para entender el problema, imagine qué pasaria si intentase crear la relacién entre las dos tablas agregando el campo Id. de producto a la tabla Pedidos. Para tener més de un producto por pedido, necesita mas de un registro por pedido en la tabla Pedidos. Tendria que repetir la informacién del pedido en cada fila que esté relacionada con un tinico pedido, lo que provocaria un disefio ineficaz que podria producir datos inexactos. Se encontraria con el mismo problema si colocase el campo Id. de pedido en la tabla Productos: dispondra de més de un registro en la tabla Productos para cada producto, {Cémo se soluciona este problema? La respuesta es crear una tercera tabla, a menudo denominada tabla de unién, que divida la relacién de varios a varios en dos relaciones uno a varios. Inserte la clave principal de cada una de las dos tablas en la tercera tabla. Como resultado, la tercera tabla registra cada repeticién o instancia de la relacién Cada registro de la tabla Detalles de pedidos representa un elemento de linea en un pedido, La clave principal de la tabla Detalles de pedidos consta ce dos campos: las claves externas de las tablas Pedidos y Productos, Usar el campo de Id. de pedido por si solo no sirve como clave principal para esta tabla, porque un pedido puede tener muchos elementos de linea. El ld. de pedido se repte para cada elemento de linea en un pedido, por lo que el campo no contiene valores tinicos. Usar el campo de Id. de producto por si solo tampoco sive, porque un producto puede aparecer en varios pedidos diferentes. Pero juntos, los dos campos siempre generan un valor nico para cada registro En la base de datos de ventas de productos, la tabla Pedidos y la tabla Productos no estan directamente relacionadas entre si En su lugar, estén relacionadas indirectamente a través de la tabla Detalles de pedidos. La relacién de varios a varios entre productos y pedidos se representa en la base de datos mediante dos relaciones de uno a varios: 1 La tabla Pedidos y la tabla Detalles de pedidos tienen una relacién de uno a varios. Cada pedido puede tener més de un elemento de linea, pero cada elemento de linea est conectado a un tinico pedido. = La tabla Productos y la tabla Detalles de pedidos tienen una relacién de uno a varios. Cada producto puede tener muchos elementos de linea asociados a él, pero cada elemento de linea se refiere a un solo producto, En la tabla Detalles de pedido, puede determinar todos los productos en un pedido determinado. También puede determinar todos los pedidos de un producto en particular. Después de incorporar la tabla Detalles de pedido, la lista de tablas y campos podria tener un aspecto similar aeste: Principio de pagina Crear una relacién uno a uno Le ha sido titil esta informacion? Otro tipo de relacién es la relaci6n de uno a uno. Por ejemplo, supongamos que necesita registrar informacién adicional sobre productos que casi nunca necesitara o que solo se aplica a unos pocos productos. Puesto que no necesita la informacién con frecuencia, y que almacenar la informacién de la tabla Productos daria como resultado un hueco en todos los productos a los que no se aplica, la coloca en una tabla aparte, Al igual que la tabla Productos, puede usar el Id, de producto como clave principal. La relacién entre esta tabla y la tabla Productos es una relacién de uno a uno. Para cada registro de la tabla Producto, existe un tinico registro coincidente en la tabla complementaria, Cuando se identifica este tipo de relacién, ambas tablas deben compartir un campo comin, ‘Al detectar la necesidad de una relacién de uno a uno en la base de datos, tenga en cuenta si se puede combinar la informacién de las dos tablas en una sola, Si por algiin motivo no quiere hacerlo, quizas porque se crearia una gran cantidad de huecos, la siguiente lista le muestra como puede representar la relacién en su disefo: = Silas dos tablas tienen el mismo tema, probablemente pueda configurar la relacién usando la misma clave principal en ambas tablas. 1 Silas dos tablas tienen diferentes temas con diferentes claves principales, elija una de las tablas (cualquiera de ellas) e inserte la clave principal de la otra tabla como clave externa, Determinar las relaciones entre tablas le ayuda a asegurarse de que tiene las tablas y columnas correctas. Cuando existe una relacién de uno a uno uno a varios, las tablas relacionadas tienen que compartir una 0 varias columnas comunes. Cuando existe una relacidn varios a varios, se necesita una tercera tabla para representar la relacién. Principio de pagina Refinar el disefio Una vez que tiene las tablas, campos y relaciones que necesita, deberia crear y rellenar las tablas con datos de ejemplo e intentar trabajar con la informacién: creando consultas, agregando nuevos registros, etc. Esto le permitia resaltar los posibles problemas. Por ejemplo, tal vez deba agregar una columna que olvidé insertar durante la fase de disefio, yes posible que tenga una tabla que deberia dividir en dos tablas para eliminar los datos duplicados. Vea si puede usar la base de datos para obtener las respuestas que quiere. Cree bocetos de los formularios ¢ informes y compruebe si muestran los datos que espera. Busque duplicaciones de datos innecesarias y, si encuentra alguna, modifique el disefio para eliminarla, Cuando pruebe la base de datos inicial, probablemente descubriré posibilidades de mejora, Estas son algunas cosas que deberia comprobar: = Olvidé alguna columna? Si es asi, ila informacién pertenece a las tablas existentes? Si se trata de informacién sobre otra cosa, tal vez necesite crear otra tabla, Cree una columna para cada elemento de informacién del que necesite realizar un seguimiento, Si no se puede calcular la informacién de otras columnas, es probable que necesite una nueva columna para ella, = Cualquiera de las columnas innecesarias lo son porque se pueden calcular con los campos existentes? Si se puede calcular un elemento de informacién desde otras columnas existentes, como por eiemplo. un Le ha sido titil esta informacion? = @Ha introducido informacién duplicada en una de las tablas? Si es asi, probablemente tenga que dividir la tabla en dos tablas que tengan una relaci6n de uno a varios. 1 {iene tablas con muchos campos, un niimero limitado de registros y muchos campos vacios en registros individuales? Si es asi, piense en redisefiar la tabla para que tenga menos campos y mas registros. 1 {Se ha dividido cada elemento de informacién en sus partes mas pequefias? Si necesita realizar informes, ordenar, buscar 0 calcular sobre un elemento de informacién, coloque dicho elemento en su propia columna, = {Cada columna contiene datos sobre el tema de la tabla? Si una columna no contiene informacién sobre el tema de la tabla, pertenece a otra tabla. 1 gLas relaciones son entre las tablas representadas, bien sea por los campos comunes o por una tercera tabla? Las relaciones de uno a uno y de uno a varios requieren columnas comunes. Las relaciones de varios a varios requieren una tercera tabla. Ajustar la tabla Productos Suponga que cada producto en la base de datos de ventas de productos se encuentra en una categoria general, como bebidas, condimentos o marisco. La tabla Productos podria incluir un campo que muestre la categoria de cada producto. Suponga que, después de examinar y refinar el disefio de la base de datos, decide almacenar una descripcién de la categoria junto con su nombre. Si agrega un campo Descripcién de la categoria a la tabla Productos, tendré que repetir la descripci6n de cada categoria para cada producto en el que se encuentre dentro de la categoria, lo que no es una buena solucién. Una solucién mejor es convertir Categorias en un nuevo tema de la base de datos para realizar el seguimiento, con su propia tabla y su propia clave principal. Después, podra agregar la clave principal de la tabla Categorias a la tabla Productos como clave externa, Las tablas Categorias y Productos tienen una relacién de uno a varios: una categoria puede contener mas de Un producto, pero un producto pertenece Gnicamente a una categoria, Al revisar las estructuras de tabla, esté atento a los grupos que se repiten. Por ejemplo, considere la posibilidad de una tabla que contiene las siguientes columnas + Id. de producto + Nombre + I6.de productot + Nombret 1 Id, de producto + Nombre? = Id. de producto3 Le ha sido titil esta informacion? ‘Aqui, cada producto es un grupo de columnas que se repite y que difiere de los demas solo porque agrega Un ndmero al final del nombre de columna. Si ve columnas numeradas de esta forma, deberia revisar el disefo, Este tipo de disefio tiene varios defectos. Para empezar, lo obliga a poner un limite superior en el numero de productos, En cuanto supere ese limite, deberé agregar un nuevo grupo de columnas a la estructura de la tabla, lo que implica mas tareas administrativas. tro problema es que los proveedores que tienen menos del nimero maximo de productos desperdiciaran el espacio, ya que las columnas adicionales estardn en blanco. El defecto mas grave de este disefio es que hace que muchas tareas sean dificil de realizar, como ordenar o indexar la tabla por Id. de producto 0 nombre Siempre que vea grupos que se repiten, revise cuidadosamente el dise’o y esté pendiente sobre cémo dividir a tabla en dos. En el ejemplo anterior, es mejor usar dos tablas, una para proveedores y otra para productos, vinculadas por Id. de proveedor. Principio de pagina Aplicar las reglas de normalizacién Puede aplicar las reglas de normalizacién de datos (a veces se denominan reglas de normalizacién) como el siguiente paso en su disefo. Dichas reglas se usan para ver si las tablas estan estructuradas correctamente. El proceso de aplicar las reglas al disefio de Ia base de datos se denomina normalizacién de la base de datos, o simplemente, normalizacién La normalizacién es especialmente util despues de representar todos los elementos de informacién y cuando ya tenga un disefio preliminar. La idea es ayudarle a asegurarse de que se han dividido los elementos de informacién en las tablas apropiadas. Lo que la normalizacién no puede hacer es asegurarse de que tiene todos los elementos de los datos correctos con los que comenzar. En cada paso, aplica las reglas consecutivamente, para garantizar que su disefo llegue a tener lo que se denomina "formulario normal’. En general, se aceptan cinco formularios normales, del primer formulario normal al quinto formulario normal. Este articulo se centra en los tres primeros, ya que son todo lo necesario. para la mayoria de los disefios de base de datos. Primer formulario normal El primer formulario normal indica que, en cada interseccién de fila y columna de la tabla, existe un valor Unico y nunca una lista de valores. Por ejemplo, no puede tener un campo denominado Precio en el que coloca mas de un precio, Si piensa en cada interseccién de filas y columnas como en una celda, cada celda puede contener un solo valor. Segundo formulario normal El segundo formulario normal requiere que cada columna de clave dependa completamente de toda la clave principal y no solo de parte de la clave. Esta regla se aplica cuando tiene una clave principal que consta de ms de una columna, Por ejemplo, supongamos que tiene una tabla que contiene las siguientes columnas, Le ha sido titil esta informacion? # Id. de pedido (clave principal) + Id de producto (clave principal 1 Nombre del producto Este disefo infringe el segundo formulario normal, porque el Nombre de producto depende del Id. de producto, pero no del Id. de pedido, por lo que no depende de toda la clave principal. Debe quitar Nombre de producto dela tabla, Pertenece a una tabla diferente (Productos). Tercer formulario normal El tercer formulario normal requiere que no solo cada columna de clave dependa de toda la clave principal, sino también que las columnas que no son claves sean independientes entte si tra forma de decirlo es que cada columna que no sea de clave debe depender de la clave principal y nada mas que de la clave principal. Por ejemplo, suponga que tiene una tabla que contiene las siguientes columnas: Id. de producto (clave principal) Nombre = pvs = Descuento Suponga que Descuento depende del precio de venta sugerido (PVS). Esta tabla infringe el tercer formulario normal porque una columna que no es de clave, Descuento, depende de otra columna sin clave, PVS. La Independencia de columna significa que deberia poder cambiar cualquier columna sin clave sin que afecte a cualquier otra columna, Si cambia un valor en el campo PVS, el descuento cambiaria en consecuencia, por tanto infringiria esa regla, En este caso Descuento se moverd a otra tabla cuya clave sea PVS. Principio de pagina iNecesita mas ayuda? 4Cémo podemos ayudarle? > Ampliar sus conocimientos Obtener nuevas caracteristicas EXPLORAR LOS CURSOS > primero UNIRSE A MICROSOFT INSIDER > Le ha sido titil esta informacién? si N Mb icroson 365 Una suscripeién para ayudarle a aprovechar el tiempo al maximo Probar 1 mes gratis Novedades Surface Laptop Suto surce Po 78 Aoleaconts de Windows Microsoft Store Educacién Pete ca Marotta edvecén conte do dosargs ofc para estusiantes fea pra estes Seouimlenodepeddos — MisosoftAxute enla @ Espa spat, tabetincon temconah Ponte en contacto con Beret Pvacdad Condiciones de uso Mates eg! aLe ha sido titil esta informacién? Empresa Appsurce soa vase Soe neta pa si Desarrollador Compania MigosttVisualSude—Opotunidedes de certo de desl do certo para Notice de composts Programa de - esuoladores de ovrsores Segurdsa chant coro 365 Dev Contr Kidad Does de cmpinent de a VE No

También podría gustarte