Está en la página 1de 24

Manual de “Base de datos”

Conceptos básicos del diseño de una base de datos

Una base de datos correctamente diseñada le permite obtener acceso a


información actualizada y precisa. Como es esencial tener un diseño 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 diseño.
Al final, es mucho más probable que acabe con una base de datos que se ajusta a
sus necesidades y que puede adaptarse fácilmente al cambio.

En este Manual se proporcionan instrucciones para planear una base de datos de


escritorio. Aprenderá a decidir qué información necesita, cómo dividir esa
información en las tablas y columnas adecuadas, y cómo se relacionan entre sí
esas tablas. Lea el manual antes de crear su primera base de datos de escritorio.

¿Qué es una base de datos bien diseñada?


Instituto Tecnológico Superior “La Merced” 1
Algunos principios guían el proceso de diseño de la base de datos. El 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 son importante. Si la base de datos contiene información
incorrecta, los informes que extraigan la información de la base de datos también
contendrán información incorrecta. Como resultado, las decisiones que tome
basándose en dichos informes estarán mal informadas.
Un buen diseño de base de datos es, por tanto, aquel que:

◾Divide la información en tablas basadas en temas para reducir los datos


redundantes.

◾Proporciona a Access la información necesaria para unir la información en las


tablas según sea necesario.

◾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.

Docente: Ing. Gary Rivero Rivero


El proceso de diseño
El proceso de diseño consta de los siguientes pasos:

◾ Determinar el propósito de la base de datos


Esto le ayudará a prepararse para los pasos restantes.

◾ Buscar y organizar la información necesaria


Recopile todos los tipos de información que podría querer registrar en la base de
datos, como los nombres de producto y los números 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 como una columna en la tabla. Por ejemplo,
una tabla de empleados podría incluir campos como Apellidos y Fecha de
contratación.

◾Instituto
Especificar las claves
Tecnológico Superiorprincipales
“La Merced” 2
Elija la clave principal de cada tabla. La clave principal es una columna que se usa
para identificar cada fila. Un ejemplo podría 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, según sea necesario.

◾ Perfeccionar el diseño
Analice el diseño 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 diseño, si es necesario.

◾ Aplicar las reglas de normalización


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.

Docente: Ing. Gary Rivero Rivero


Buscar y organizar la información necesaria

Para buscar y organizar la información necesaria, empiece con la información


existente. Por ejemplo, podría 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). Si no tiene
ningún formulario existente, imagine en su lugar que tiene que diseñar un
formulario para registrar la información del cliente. ¿Qué información incluiría en el
formulario? ¿Qué cuadros de relleno crearía? Identifique y enumere cada uno de
estos elementos. Por ejemplo, suponga que actualmente guarda la lista de clientes
en las tarjetas de índice. Al examinar dichas tarjetas podría revelar que cada una
contiene un nombre de cliente, dirección, ciudad, estado, código postal y número
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 más, pregúntele también sobre sus ideas. Podrá perfeccionar la
lista más Tecnológico
Instituto adelante. Superior “La Merced” 3

Después, tenga en cuenta los tipos de informes o correspondencia que podría


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. Diseñe el informe en su
mente y luego imagine su aspecto. ¿Qué información incluiría en el informe?
Enumere todos los elementos. Haga lo mismo para la carta modelo y para
cualquier otro informe que tenga previsto crear.

Pararse a pensar en los informes y correspondencia que podría querer crear le


ayudará a identificar los elementos que necesitará en la base de datos. Por
ejemplo, suponga que los clientes tienen la posibilidad de darse de alta (o de baja)
de las novedades enviadas 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 columna "Enviar correo electrónico" a la tabla de clientes.
Para cada cliente, puede establecer el campo en Sí o No.

Docente: Ing. Gary Rivero Rivero


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 deberá saber la dirección de correo electrónico a la que enviárselos. 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 deberá generar el informe. Por ejemplo, cuando examina una carta
modelo, podrían venirle a la mente algunas consideraciones. Si quiere incluir un
saludo formal, por ejemplo, la cadena "Sr.", "Sra." o "Srta." con la que comienza un
saludo, tendrá que crear un elemento de saludo. Además, tal vez quiera comenzar
una carta con "Estimado Sr. Alcalá" en lugar de "Estimado. Sr. Jorge Alcalá". Esto
sugiere que normalmente querría almacenar el apellido separado del nombre.

Un punto clave que recordar es que debería dividir cada fragmento de información
en partes más pequeñas. En el caso de un nombre, para poder usar el apellido,
dividirá el nombre en dos partes: nombre y apellido. Para ordenar un informe por
apellidos, por ejemplo, resulta útil tener el apellido del cliente almacenado por
separado. En general, si quiere ordenar, buscar, calcular o crear informes en
Institutode
función Tecnológico Superior
un elemento de“Lainformación,
Merced” debe crear un campo propio para ese 4
elemento.

Piense en las preguntas que tal vez quiere que responda la base de datos. Por
ejemplo, ¿cuántas ventas de un producto destacado se cerraron el mes pasado?
¿Dónde viven sus mejores clientes? ¿Quién es el proveedor de su producto más
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.

Docente: Ing. Gary Rivero Rivero


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 podría ser similar a la siguiente:

Instituto Tecnológico Superior “La Merced” 5

Las principales entidades que se muestran aquí 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 está completa con ellas, es un buen punto de partida.
Puede seguir ajustando la lista hasta que tenga un diseño que funcione bien.

Cuando revise por primera vez la 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 obtendrá información sobre por qué es
una mala idea. Considere por un momento la tabla que se muestra aquí:

Docente: Ing. Gary Rivero Rivero


En este caso, cada fila 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 tendrán 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 diseño surge cuando es necesario modificar la


información sobre el proveedor. Por ejemplo, supongamos que necesita cambiar la
dirección de un proveedor. Al aparecer en varios lugares, accidentalmente podría
cambiar la dirección en un solo lugar y olvidarse de cambiarla también en los
demás. Si registra la información del proveedor en un único lugar, se evitará el
problema.

Al diseñar la base de datos, intente siempre registrar cada hecho una sola vez. Si
se encuentra repitiendo la misma información en más de un lugar, como la
dirección de un determinado
Instituto Tecnológico Superior “Laproveedor,
Merced” coloque dicha información en una tabla 6
aparte.

Por último, supongamos que Coho Winery suministra un solo producto y que
quiere eliminar el producto pero conservar la información 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 eliminaría 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 deberían almacenar datos sobre el tema. Por ejemplo, la tabla de
productos debería almacenar únicamente 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.

Docente: Ing. Gary Rivero Rivero


Convertir los elementos de información en columnas
Para determinar las columnas de una tabla, decida cuál 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 de columnas contendría
Nombre, Dirección, Ciudad-Provincia-Código postal, Enviar correo electrónico,
Saludo y Dirección de correo electrónico. Cada registro de la tabla contiene el
mismo conjunto de columnas, por lo que puede almacenar la información de
Nombre, Dirección, Ciudad-Provincia-Código postal, Enviar correo electrónico,
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 dirección contiene la dirección de
dicho cliente.
Una vez que haya determinado el conjunto inicial de columnas para cada tabla,
podrá refinar aún 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 e indexar en estas columnas. De forma similar, la dirección
Instituto Tecnológico
realmente se componeSuperior
de “La Merced”
cinco componentes independientes: dirección, ciudad, 7
estado, código postal y país o región, que también tiene sentido almacenar en
columnas separadas. Si quiere realizar una búsqueda, filtrar u ordenar la
operación por estado, por ejemplo, necesita que la información de estado se
almacene en una columna independiente.
También debería tener en cuenta si la 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 países o regiones. De forma similar, Código postal tiene más 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 la mayoría 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 categoría de
producto en la base de datos. Pero no hay ninguna columna de subtotal de

Docente: Ing. Gary Rivero Rivero


Unidades en pedidos en ninguna 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 sí no debería almacenarse en una tabla.

◾ Almacene la información en sus partes lógicas más pequeñas

Es posible que tenga la tentación 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, es difícil recuperar datos individuales
más adelante. Intente dividir la información en partes lógicas; por ejemplo, cree
campos independientes para nombre y apellido, o para nombre, categoría y
descripción del producto.

Instituto Tecnológico Superior “La Merced” 8

Una vez ajustadas las columnas de datos de las tablas, ya puede elegir la clave
principal de cada tabla.

Docente: Ing. Gary Rivero Rivero


Especificar las claves principales

Cada tabla debe incluir una columna (o conjunto de columnas) que identifique
exclusivamente cada fila almacenada en la tabla. Esto suele ser un número de
identificación único, como un número de identificación de empleado o un número
de serie. En la terminología de base de datos, esta información se denomina la
clave principal de la tabla. Access usa los campos de clave principal para asociar
rápidamente los datos de varias tablas y agrupar esos datos.
Si ya tiene un identificador único para una tabla, como un número de producto que
identifica exclusivamente a cada producto en el catálogo, puede usar ese
identificador como clave principal de la tabla, pero solo si los valores de esta
columna serán siempre diferentes para cada registro. No puede tener valores
duplicados en una Superior
Instituto Tecnológico clave principal. Por ejemplo, no use nombres de personas
“La Merced” 9
como clave principal, porque los nombres no son únicos. Es muy fácil que dos
personas tengan el mismo nombre en una misma tabla.
Una clave principal siempre debe tener un valor. Si en algún momento el valor de
una columna puede quedar sin asignar o 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 cambiará. En una base de
datos que use más de una tabla, la 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.
A menudo se usa un número único arbitrario como clave principal. Por ejemplo,
podría asignar a cada pedido un número de pedido único. El único propósito del
número de pedido es identificar un pedido. Una vez asignado, nunca cambia.

Si no 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,

Docente: Ing. Gary Rivero Rivero


Access asigna automáticamente un valor por usted. Este identificador está vacío,
no contiene información objetiva sobre la fila que representa. Los identificadores
vacíos son ideales para usarlos como clave principal, porque no cambian. Una
clave principal que contiene datos sobre una fila, como el número de teléfono o el
nombre de un cliente, por ejemplo, es más probable que cambie, ya que la propia
información objetiva podría 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 o más campos que, juntos,
proporcionan la clave principal de una tabla. Por ejemplo, una tabla de detalles de
Instituto Tecnológico Superior “La Merced” 10
pedido que almacena datos de pedidos usaría dos columnas en su clave principal:
Identificador de pedido e Identificador de producto. Cuando una clave principal
está formada por más 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.

Docente: Ing. Gary Rivero Rivero


Crear las relaciones de tablas

Instituto Tecnológico Superior “La Merced” 11


Ahora que ha dividido la información en tablas, necesita una manera para volver a
unir la información de forma que tenga significado. Por ejemplo, el siguiente
formulario incluye información de varias tablas.

Docente: Ing. Gary Rivero Rivero


1. La información de este formulario procede de la tabla Clientes...
2. ...la tabla Empleados...
Instituto Tecnológico Superior “La Merced” 12
3. ...la tabla Pedidos...
4. ...la tabla Productos...
5. ... y la tabla Detalles de pedidos.
Access es un sistema de administración de base de datos relacional. En una base
de datos relacional, se divide la información en tablas separadas, basadas en el
tema. Después, se usan las relaciones de la tabla para combinar la información
según sea necesario.

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

Docente: Ing. Gary Rivero Rivero


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 diseño 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, agregaría la
Instituto Tecnológico columna
Superior Id. de proveedor de la tabla Proveedores a la tabla
“La Merced” 13
Productos. Así, Access puede usar el número 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.
Al establecer parejas de claves principales y claves externas, proporciona la base
para unir las tablas relacionadas. Si no está seguro de qué tablas deberían
compartir una columna común, identificar una relación uno a varios asegura que,
en efecto, las dos tablas relacionadas requerirán una columna compartida.

Crear una relación de varios a varios


Considere la 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. Además, por cada

Docente: Ing. Gary Rivero Rivero


registro de la tabla Productos puede haber varios registros en la tabla Pedidos.
Este tipo de relación se denomina relación de varios a varios, porque, para cada
producto, puede haber varios pedidos, y para cada pedido puede haber muchos
productos. Tenga en cuenta que para detectar las relaciones de varios 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é
pasaría 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 más de un registro por pedido en la tabla Pedidos. Tendría que repetir la
información del pedido en cada fila que esté relacionada con un único pedido, lo
que provocaría un diseño ineficaz que podría producir datos inexactos. Se
encontraría con el mismo problema si colocase el campo Id. de pedido en la tabla
Productos: dispondrá 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.

Instituto Tecnológico Superior “La Merced” 14

Cada registro de la
tabla Detalles de
pedidos representa un
elemento de línea en un
pedido. La clave principal
de la tabla Detalles de
pedidos consta de dos
campos: las claves externas de las tablas Pedidos y Productos. Usar el campo de
Id. de pedido por sí solo no sirve como clave principal para esta tabla, porque un
pedido puede tener muchos elementos de línea. El Id. de pedido se repite para
cada elemento de línea en un pedido, por lo que el campo no contiene valores
únicos. Usar el campo de Id. de producto por sí solo tampoco sirve, porque un
producto puede aparecer en varios pedidos diferentes. Pero juntos, los dos
campos siempre generan un valor único para cada registro.

Docente: Ing. Gary Rivero Rivero


En la base de datos de ventas de productos, la tabla Pedidos y la tabla Productos
no están directamente relacionadas entre sí. 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:

◾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 línea, pero cada
elemento de línea está conectado a un único 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 línea asociados a él,
pero cada elemento de línea 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
podría tener un aspecto similar a este:

Instituto Tecnológico Superior “La Merced” 15

Crear una relación uno a uno

Otro tipo de relación es la relación de uno a uno. Por ejemplo, supongamos que
necesita registrar información adicional sobre productos que casi nunca necesitará
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
daría 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

Docente: Ing. Gary Rivero Rivero


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 único
registro coincidente en la tabla complementaria. Cuando se identifica este tipo de
relación, ambas tablas deben compartir un campo común.

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 algún motivo no quiere hacerlo, quizás porque se crearía una gran cantidad de
huecos, la siguiente lista le muestra cómo puede representar la relación en su
diseño:

◾Si las dos tablas tienen el mismo tema, probablemente pueda configurar la
relación usando la misma clave principal en ambas tablas.

◾Si las 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.

Instituto Tecnológico Superior “La Merced” 16


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 o uno a
varios, las tablas relacionadas tienen que compartir una o varias columnas
comunes. Cuando existe una relación varios a varios, se necesita una tercera
tabla para representar la relación.

Ajustar el diseño
Una vez que tiene las tablas, campos y relaciones que necesita, debería crear y
rellenar las tablas con datos de ejemplo e intentar trabajar con la información:
creando consultas, agregando nuevos registros, etc. Esto le permitirá resaltar los
posibles problemas. Por ejemplo, tal vez deba agregar una columna que olvidó
insertar durante la fase de diseño, y es posible que tenga una tabla que debería
dividir en dos tablas para eliminar los datos duplicados.

Docente: Ing. Gary Rivero Rivero


Vea si puede usar la base de datos para obtener las respuestas que quiere. Cree
bocetos de los formularios e informes y compruebe si muestran los datos que
espera. Busque duplicaciones de datos innecesarias y, si encuentra alguna,
modifique el diseño para eliminarla.
Cuando pruebe la base de datos inicial, probablemente descubrirá posibilidades
de mejora. Estas son algunas cosas que debería comprobar:

◾¿Olvidó alguna columna? Si es así, ¿la 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 ejemplo, un precio de descuento calculado a
partir del precio de venta, generalmente es mejor simplemente hacerlo y evitar
crear una nueva columna.

◾¿Ha introducido información duplicada en una de las tablas? Si es así,


probablemente tenga que dividir la tabla en dos tablas que tengan una relación de
uno a varios.
Instituto Tecnológico Superior “La Merced” 17
◾¿Tiene tablas con muchos campos, un número limitado de registros y muchos
campos vacíos en registros individuales? Si es así, piense en rediseñar la tabla
para que tenga menos campos y más registros.

◾¿Se ha dividido cada elemento de información en sus partes más pequeñas? Si


necesita realizar informes, ordenar, buscar o 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.

◾¿Las 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 categoría general, como bebidas, condimentos o marisco. La
tabla Productos podría incluir un campo que muestre la categoría de cada
producto.

Docente: Ing. Gary Rivero Rivero


Suponga que, después de examinar y refinar el diseño de la base de datos, decide
almacenar una descripción de la categoría junto con su nombre. Si agrega un
campo Descripción de la categoría a la tabla Productos, tendrá que repetir la
descripción de cada categoría para cada producto en el que se encuentre dentro
de la categoría, lo que no es una buena solución.

Una solución mejor es convertir Categorías en un nuevo tema de la base de datos


para realizar el seguimiento, con su propia tabla y su propia clave principal.
Después, podrá agregar la clave principal de la tabla Categorías a la tabla
Productos como clave externa.
Las tablas Categorías y Productos tienen una relación de uno a varios: una
categoría puede contener más de un producto, pero un producto pertenece
únicamente a una categoría.
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
Instituto Tecnológico Superior “La Merced” 18
◾Id. de producto1

◾Nombre1

◾Id. de producto2

◾Nombre2

◾Id. de producto3

◾Nombre3

Aquí, cada producto es un grupo de columnas que se repite y que difiere de los
demás solo porque agrega un número al final del nombre de columna. Si ve
columnas numeradas de esta forma, debería revisar el diseño.
Este tipo de diseño tiene varios defectos. Para empezar, lo obliga a poner un límite
superior en el número de productos. En cuanto supere ese límite, deberá agregar
un nuevo grupo de columnas a la estructura de la tabla, lo que implica más tareas
administrativas.

Docente: Ing. Gary Rivero Rivero


Otro problema es que los proveedores que tienen menos del número máximo de
productos desperdiciarán el espacio, ya que las columnas adicionales estarán en
blanco. El defecto más grave de este diseño es que hace que muchas tareas sean
difícil de realizar, como ordenar o indexar la tabla por Id. de producto o nombre.
Siempre que vea grupos que se repiten, revise cuidadosamente el diseño y esté
pendiente sobre cómo dividir la tabla en dos. En el ejemplo anterior, es mejor usar
dos tablas, una para proveedores y otra para productos, vinculadas por Id. de
proveedor.

Instituto Tecnológico Superior “La Merced” 19

CONCLUSIONES

Definición de base de datos

Docente: Ing. Gary Rivero Rivero


Se define una base de datos como una serie de datos organizados y relacionados entre sí,
los cuales son recolectados y explotados por los sistemas de información de una empresa o
negocio en particular.

Características

Entre las principales características de los sistemas de base de datos podemos mencionar:

 Independencia lógica y física de los datos.


 Redundancia mínima.
 Acceso concurrente por parte de múltiples usuarios.
 Integridad de los datos.
 Consultas complejas optimizadas.
 Seguridad de acceso y auditoría.
 Respaldo y recuperación.
 Acceso a través de lenguajes de programación estándar.

Sistema de Gestión de Base de Datos (SGBD)

Los Sistemas de Gestión de Base de Datos (en inglés DataBase Management System) son
un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el
usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de
datos, de un
Instituto lenguaje de
Tecnológico manipulación
Superior de datos y de un lenguaje de consulta.
“La Merced” 20

Ventajas de las bases de datos

Control sobre la redundancia de datos:

Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos.
Esto hace que se desperdicie espacio de almacenamiento, además de provocar la falta de
consistencia de datos.

En los sistemas de bases de datos todos estos ficheros están integrados, por lo que no se
almacenan varias copias de los mismos datos. Sin embargo, en una base de datos no se
puede eliminar la redundancia completamente, ya que en ocasiones es necesaria para
modelar las relaciones entre los datos.

Consistencia de datos:

Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de


que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización
se debe realizar sólo una vez, y está disponible para todos los usuarios inmediatamente. Si
un dato está duplicado y el sistema conoce esta redundancia, el propio sistema puede
encargarse de garantizar que todas las copias se mantienen consistentes.

Docente: Ing. Gary Rivero Rivero


Compartir datos:

En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos
que los utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la
empresa y puede ser compartida por todos los usuarios que estén autorizados.

Mantenimiento de estándares:

Gracias a la integración es más fácil respetar los estándares necesarios, tanto los
establecidos a nivel de la empresa como los nacionales e internacionales. Estos estándares
pueden establecerse sobre el formato de los datos para facilitar su intercambio, pueden ser
estándares de documentación, procedimientos de actualización y también reglas de acceso.

Mejora en la integridad de datos:

La integridad de la base de datos se refiere a la validez y la consistencia de los datos


almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que no
se pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus
relaciones, y es el SGBD quien se debe encargar de mantenerlas.

Mejora en la seguridad:

LaInstituto
seguridad de la base de datos es la protección de la base de datos frente a usuarios no
Tecnológico Superior “La Merced” 21
autorizados. Sin unas buenas medidas de seguridad, la integración de datos en los sistemas
de bases de datos hace que éstos sean más vulnerables que en los sistemas de ficheros.

Mejora en la accesibilidad a los datos:

Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que


permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario
que un programador escriba una aplicación que realice tal tarea.

Mejora en la productividad:

El SGBD proporciona muchas de las funciones estándar que el programador necesita


escribir en un sistema de ficheros. A nivel básico, el SGBD proporciona todas las rutinas de
manejo de ficheros típicas de los programas de aplicación.

El hecho de disponer de estas funciones permite al programador centrarse mejor en la


función específica requerida por los usuarios, sin tener que preocuparse de los detalles de
implementación de bajo nivel.

Mejora en el mantenimiento:

En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los
programas de aplicación que los manejan.

Docente: Ing. Gary Rivero Rivero


Esto hace que los programas sean dependientes de los datos, de modo que un cambio en su
estructura, o un cambio en el modo en que se almacena en disco, requiere cambios
importantes en los programas cuyos datos se ven afectados.

Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es
lo que se conoce como independencia de datos, gracias a la cual se simplifica el
mantenimiento de las aplicaciones que acceden a la base de datos.

Aumento de la concurrencia:

En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder


simultáneamente a un mismo fichero, es posible que el acceso interfiera entre ellos de
modo que se pierda información o se pierda la integridad. La mayoría de los SGBD
gestionan el acceso concurrente a la base de datos y garantizan que no ocurran problemas
de este tipo.

Mejora en los servicios de copias de seguridad:

Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas
necesarias para proteger los datos ante fallos en el sistema o en las aplicaciones. Los
usuarios tienen que hacer copias de seguridad cada día, y si se produce algún fallo, utilizar
estas copias para restaurarlos.

EnInstituto Tecnológico
este caso, Superiorrealizado
todo el trabajo “La Merced”
sobre los datos desde que se hizo la última copia de 22
seguridad se pierde y se tiene que volver a realizar. Sin embargo, los SGBD actuales
funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se produce un
fallo.

Desventajas de las bases de datos

Complejidad:

Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran
funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar un
buen uso de ellos.

Coste del equipamiento adicional:

Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir más
espacio de almacenamiento. Además, para alcanzar las prestaciones deseadas, es posible
que sea necesario adquirir una máquina más grande o una máquina que se dedique
solamente al SGBD. Todo esto hará que la implantación de un sistema de bases de datos
sea más cara.

Vulnerable a los fallos:

Docente: Ing. Gary Rivero Rivero


El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más vulnerable
ante los fallos que puedan producirse. Es por ello que deben tenerse copias de seguridad
(Backup).

Tipos de Campos

Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o
diferentes. Entre los más comunes podemos nombrar:

 Numérico: entre los diferentes tipos de campos numéricos podemos encontrar


enteros “sin decimales” y reales “decimales”.
 Booleanos: poseen dos estados: Verdadero “Si” y Falso “No”.
 Memos: son campos alfanuméricos de longitud ilimitada. Presentan el
inconveniente de no poder ser indexados.
 Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar
fechas de esta forma posibilita ordenar los registros por fechas o calcular los días
entre una fecha y otra.
 Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255
caracteres).
 Autoincrementables: son campos numéricos enteros que incrementan en una
unidad su valor para cada registro incorporado. Su utilidad resulta: Servir de
identificador ya que resultan exclusivos de un registro.
Instituto Tecnológico Superior “La Merced” 23
Tipos de Base de Datos

Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:

 MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza
por su rapidez. No es recomendable usar para grandes volúmenes de datos.
 PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy
bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de
gran calibre.
 Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe
ser creada bajo el programa access, el cual crea un archivo .mdb con la estructura ya
explicada.
 Microsoft SQL Server: es una base de datos más potente que access desarrollada
por Microsoft. Se utiliza para manejar grandes volúmenes de informaciones.

Docente: Ing. Gary Rivero Rivero


Ejercicios de Aplicación
Ejercicio 1

Se desea construir una base de datos que almacene la carta de un restaurante.

Para cada plato, se desea obtener su nombre, descripción, nivel de dificultad (de elaboración), una
foto y el precio final para el cliente. Cada plato pertenece a una categoría.

Las categorías se caracterizan por su nombre, una breve descripción y el nombre del encargado.
Además de los platos, se desea conocer las recetas para su realización, con la lista de ingredientes
necesarios, aportando la cantidad requerida, las unidades de medida (gramos, litros, etc.) y
cantidad actual en el almacén.

Ejercicio 2

Acabas de empezar tu colección de películas y quieres hacer una base de datos para construir su
ficha técnica. De cada película, necesitas su título, año, nacionalidad y algunos datos de su
director: el nombre, la fecha de nacimiento y su país de origen. Además, quieres saber su idioma,
si es en blanco y negro o en color, si tiene alguna restricción de edad, un resumen y poder poner
tus propias observaciones.

La ficha técnica de cada película también debe incluir el reparto de actores, donde aparecerá su
nombre, su nacionalidad y el nombre del personaje que tiene en la película.

Diseñar una base de datos que se ajuste al requerimiento arriba expuesto, identificando tablas,
atributos, claves principales y relaciones existentes.

Ejercicio 3
Instituto Tecnológico Superior “La Merced” 24
Un parque zoológico quiere construir una BD para organizar las especies que posee y los distintos
itinerarios para visitar el parque. La información se estructura de la siguiente forma. De las
especies, se desea conocer su nombre común y su nombre científico, así como una descripción
general y una fotografía. Cada especie puede vivir en distintos hábitats naturales, definidos por su
nombre, clima y vegetación predominante. Cada especie tiene asociado un índice de vulnerabilidad
dentro de cada hábitat, que mide el riesgo de extinción de la especie en el dicho hábitat.

Para organizar las visitas, y en función de los hábitats que desee recorrer un visitante, el parque le
ofrece una serie de recorridos por los hábitats, que se identifican por su código y se caracterizan
por su duración estimada, longitud y número máximo de visitantes permitidos. Un hábitat sólo
puede formar parte de un itinerario.

Ejercicio 4

Una clínica desea mantener una base de datos con el historial de todos los pacientes que tiene
ingresados.

La clínica está divida en varias unidades, cada una de las cuales tiene un identificador, su nombre
y la planta en la que se encuentra. La unidad tiene un único doctor responsable, del cual se desea
almacenar su código, el nombre y su especialidad.

Cuando llega un paciente, se le ingresa en una unidad y se registra su número de la S.S., nombre,
edad y fecha de ingreso. Durante toda su estancia en la clínica, se anotan todas las intervenciones
que realizan cada uno de los doctores, indicando la fecha, el síntoma observado y el tratamiento
prescrito.

Docente: Ing. Gary Rivero Rivero

También podría gustarte