Tema 9 Bases de Datos
Tema 9 Bases de Datos
Tema 9 Bases de Datos
Tanto el socio como el alquiler y la película, tienen sus informaciones asociadas que serán las que
se almacenen en la base de datos.
Para la entidad socio, las informaciones podrían ser “número de socio”, “nombre y apellidos”,
“número de teléfono”, etc.
Para la entidad alquiler las informaciones podrían ser “fecha”, “número de cinta”, “importe”,
“número de socio”, etc.
Para la entidad película las informaciones podríasn ser “número de cinta”, “título”, “director”,
“género”, etc.
Como vemos existen tablas para representar cada una de estas entidades del mundo real:
Proveedores (Suppliers), Productos, Categorías de productos, Empleados, Clientes,
Transportistas (Shippers), y Pedidos (Orders) con sus correspondientes líneas de detalle (Order
Details).
Además están relacionadas entre ellas de modo que, por ejemplo, un producto pertenece a una
determinada categoría (se relacionan por el campo CategoryID) y un proveedor (SupplierID), y lo
mismo con las demás tablas.
Cada tabla posee una serie de campos que representan valores que queremos almacenar para
cada entidad. Por ejemplo, un producto posee los siguientes atributos que se traducen en los
campos correspondientes para almacenar su información: Nombre (ProductName), Proveedor
(SupplierID, que identifica al proveedor), Categoría a la que pertenece (CategoryID), Cantidad de
producto por cada unidad a la venta (QuantityPerUnit), Precio unitario (UnitPrice), Unidades que
quedan en stock (UnitsInStock), Unidades de ese producto que están actualmente en pedidos
(UnitsOnOrder), qué cantidad debe haber para que se vuelva a solicitar más producto al
proveedor (ReorderLevel) y si está descatalogado o no (Discontinued).
Los campos marcados con "PK" indican aquellos que son claves primarias, es decir, que
identifican de manera única a cada entidad. Por ejemplo, ProductID es el identificador único del
producto, que será por regla general un número entero que se va incrementando cada vez que
introducimos un nuevo producto (1, 2, 3, etc..).
Los campos marcados como "FK" son claves foráneas o claves externas. Indican campos que
van a almacenar claves primarias de otras tablas de modo que se puedan relacionar con la tabla
actual. Por ejemplo, en la tabla de productos el campo CategoryID está marcado como "FK"
porque en él se guardará el identificador único de la categoría asociada al producto actual. En
otras palabras: ese campo almacenará el valor de la clave primaria (PK) de la tabla de categorías
que identifica a la categoría en la que está ese producto.
Los campos marcados con indicadores que empiezan por "I" (ej: "I1") se refieren a índices. Los
índices generan información adicional para facilitar la localización más rápida de registros
basándose en esos campos. Por ejemplo, en la tabla de empleados (Employees) existe un índice
"I1" del que forman parte los campos Nombre y Apellidos (en negrita además porque serán
también valores únicos) y que indica que se va a facilitar la locación de los clientes mediante esos
datos. También tiene otro índice "I2" en el campo del código postal para localizar más rápidamente
a todos los clientes de una determinada zona.
Los campos marcados con indicadores que empiezan con "U" (por ejemplo U1) se refieren a
campo que deben ser únicos. Por ejemplo, en la tabla de categorías el nombre de ésta
(CategoryName) debe ser único, es decir, no puede haber -lógicamente- dos categorías con el
mismo nombre.
Como vemos, un diseño conceptual no es más que una representación formal y acotada de
entidades que existen en el mundo real, así como de sus restricciones, y que están relacionadas
con el dominio del problema que queremos resolver.
Un buen diseño de base de datos debe poseer siempre las siguientes cualidades:
• Reflejar la estructura del problema en el mundo real.
• Ser capaz de representar todos los datos esperados, incluso con el paso del tiempo.
• Evitar el almacenamiento de información redundante.
• Proporcionar un acceso eficaz a los datos.
• Mantener la integridad de los datos a lo largo del tiempo.
• Ser claro, coherente y de fácil comprensión.
El primero, el diseño conceptual, es el que más tiempo nos va a llevar pues debemos pensar muy
bien cómo vamos a representar las entidades del mundo real que queremos representar, qué
datos almacenaremos, cómo los relacionaremos entre sí, etc...
El diseño lógico es mucho más sencillo puesto que no es más que pasar el diseño anterior a una
base de datos concreta. De hecho muchas herramientas profesionales nos ofrecen la generación
automática del modelo, por lo que suele ser muy rápido.
3.3) Diseño físico
El diseño físico por regla general recae en la propia base de datos, a partir del diseño lógico,
aunque si dominamos bien esa parte elegiremos cuidadosamente índices, restricciones o
particiones así como configuraciones para determinar cómo se almacenará físicamente esa
información, en qué orden, cómo se repartirá físicamente en el almacenamiento, etc...
Ejemplo de una base de datos para una agencia de alquiler de coches .Necesitaremos una tabla
en la que se guarde información sobre los coches, como puede verse en la figura.
De esta forma, vemos que cada tabla está compuesta por filas, también llamadas tuplas o
registros, cada uno de los cuales posee una serie de campos en los que se almacenan los datos
básicos. El esquema de una tabla nos indica los nombres de cada uno de los campos que
contiene, así como el tipo de información que debe contener. Una tabla es un conjunto de
registros; por tanto , los registros no pueden repetirse. Para poder acceder a un registro concreto,
es necesario hacer una consulta a través de algún campo que identifique a dicho registro, como
puede ser p.ej. el número de la matrícula. A este campo especial que identifica cada registro se le
llama clave del registro.
¿Cómo nos las apañamos para indicar ahora qué cliente se hace responsable de cada coche
alquilado? . Fácilmente, a través de una nueva tabla que relaciona los clientes con los coches.
Para ello dado que cada registro queda identificado por su clave, nos basta con incluir en esta
nueva tabla a las claves de ambas tablas, en lugar de todos sus campos. Así, podemos obtener
una nueva tabla de alquileres que contenga la matrícula del coche, y el D.N.I. del cliente, tal como
se ve en la figura siguiente.
Este método de expresar los datos facilita a demás las consultas, que se realizan ahora a través
de estas tablas especiales que relacionan a otras tablas. P.ej., si queremos saber los coches que
ha alquilado González Aranda, basta con buscar su clave en la tabla de clientes (75836934), y a
continuación ver que matrículas tiene asociadas en la tabla de alquileres (MA-2663-BC, y AD-768-
TTY); a continuación, buscamos en la tabla de coches cuales son los coches que poseen esas
claves, y obtenemos como resultado: Lamborghini y Jaguar.
Ejemplos de bases de datos muy simples son un directorio de personas o una lista de teléfonos:
tenemos una única tabla organizada en tres o cuatro columnas/campos: nombre, dirección, telé-
fono, etc.
En las tablas grandes los registros pueden contener muchos campos. Depende de la cantidad de
detalles que queramos almacenar acerca de un tema. El conjunto de datos de cada persona dis-
tinta en esa tabla, o sea, cada fila, se denomina registro. Las tablas pueden contener desde los
pocos registros de nuestra agenda de teléfonos personal, hasta las decenas de millones de regis-
tros que gestionan las bases de datos de los bancos, compañías telefónicas, Hacienda, etc.
Las hojas de cálculo como LibreOffice Calc funcionan estupendamente como modestas bases de
datos de una sola tabla. ¡Incluso una tabla escrita en LibreOffice Writer u otro procesador de tex-
tos puede considerarse como una primitiva base de datos!. En última instancia, siempre es prefe-
rible tener los datos sistemáticamente organizados de algún modo que carecer de organización
alguna. A la información almacenada en una base de datos se le llama información estructurada,
ya que los datos se amoldan a una estructura preexistente.
Una sola tabla no basta cuando queremos mantener junta información sobre diferentes temas
(entidades). Por ejemplo, llevar cuenta de los documentos de nuestro grupo de trabajo pero tam-
bién de las tareas concretas, y de las personas y los proyectos, etc.
5.1.- Consultas
Las consultas son las que verdaderamente hacen el trabajo en una base de datos. Pueden reali-
zar numerosas funciones diferentes. Su función más común es recuperar datos específicos de las
tablas. Los datos que desea ver suelen estar distribuidos por varias tablas y, gracias a las consul-
tas, puede verlos en una sola hoja de datos. Además, puesto que normalmente no desea ver to-
dos los registros a la vez, las consultas le permiten agregar criterios para "filtrar" los datos hasta
obtener solo los registros que desee. Las consultas a menudo sirven de origen de registros para
formularios e informes.
Algunas consultas son "actualizables", lo que significa que es posible editar los datos de las tablas
base mediante la hoja de datos de la consulta. Si trabaja con una consulta actualizable, recuerde
que los cambios se producen también en las tablas, no solo en la hoja de datos de la consulta.
Hay dos tipos básicos de consultas: las de selección y las de acción. Una consulta de selección
simplemente recupera los datos y hace que estén disponibles para su uso. Los resultados de la
consulta pueden verse en la pantalla, imprimirse o copiarse al portapapeles. O se pueden utilizar
como origen de registros para un formulario o un informe.
Una consulta de acción, como su nombre indica, realiza una tarea con los datos. Las consultas de
acción pueden servir para crear tablas nuevas, agregar datos a tablas existentes, actualizar datos
o eliminar datos.
5.2.- Informes
Los informes sirven para resumir y presentar los datos de las tablas. Normalmente, un informe
responde a una pregunta específica, como "¿Cuánto dinero se ha facturado por cliente este año?"
o "¿En qué ciudades están nuestros clientes?" Cada informe se puede diseñar para presentar la
información de la mejor manera posible.
Un informe se puede ejecutar en cualquier momento y siempre reflejará los datos actualizados de
la base de datos. Los informes suelen tener un formato que permita imprimirlos, pero también se
pueden consultar en la pantalla, exportar a otro programa o enviar por correo electrónico.
6.- Filtros
Se trata de una sofisticada herramienta de selección que permite que se visualicen en la tabla sólo
aquellos registros que cumplan con determinada condición (aunque seguirá conteniendo los de-
más registros, si bien éstos no se mostrarán). Los filtros nos permiten seleccionar aquellos regis-
tros que cumplen una propiedad.
Existen básicamente formas diferentes de definir filtros en una tabla (consulta o formulario)
.
1 .Filtrar por selección, consiste en seleccionar directamente en la hoja de datos (o formulario) la
totalidad o parte de un valor y pulsar en el botón Filtro por selección en la barra de herramientas,
para que sean seleccionados todos los registros que tengan el valor seleccionado.
2. Filtrar excluyendo la selección, consiste en seleccionar la totalidad o parte de un valor en la hoja
de datos (o formulario) y pulsar en el botón Filtro excluyendo la selección en el menú contextual,
para localizar todos los registros que no contengan el valor seleccionado.
3. Filtrar por formulario; Cuando abrimos un formulario nos aparece reflejado en él toda la tabla de
la base de datos, pero en determinadas ocasiones queremos seleccionar únicamente ciertos
registros y no todos, es decir, queremos tener un formulario de una consulta.