bases de batos parte 1

13
DEFINICIÓN Y ESTRUCTURA DE LAS BASES DE DATOS Una base de datos consiste en una relación o conjunto de datos estructurados con el mismo tipo de datos en registros que contienen unidades de información almacenadas en campos. Para entender el concepto, pensemos en una lista en la que cada unidad de información corresponde a una línea. Esta línea o unidad de información la llamaremos registro. Cada registro, a su vez, está determinado por un subconjunto de unidades, llamados campos, en los que se divide la unidad de información (el registro) y que asigna en cada uno de los registros el mismo tipo de datos. Tomemos como ejemplo una base de datos que contenga la relación de empleados de una oficina. Cada empleado será, en este caso, la unidad de información (podríamos pensar en cualquier otra unidad, dependiendo de la funcionalidad de la lista). Cada empleado, se corresponde con un registro de la BD (Base de datos). Por otro lado, como todos los integrantes de la lista son empleados, podríamos escribir en cada registro una única celda donde aparezca el nombre, los apellidos, el DNI, la ubicación, el cargo, su teléfono, su dirección, etc.. con lo que ya tendríamos construida una base de datos muy sencilla. Ramón Romaní Creos, 12.365.897, Gerencia, Jefe de Servicio, 273654, calle del alma 33 Pedro Delgado Ciruelo,09.375.134, Gerencia, Coordinador de círculos,298156, Calle del Terraplén, 35 Antonio Lagunas Gordas, 09.333.555, Depósito, Agenda Territorial, 375659, Calle del Folio 2 Ramón Romaní Creos, 12.365.897, Gerencia, Jefe de Servicio, 273654, Calle del Alumbre, 54 La de arriba es una lista que corresponde a una base de datos simple donde como decíamos, la información de cada empleado es un registro y este está constituido por un único campo. Pero esta organización de la información no es eficaz. Podemos ordenar los registros de manera que los nombres estén por orden alfabético, o por número de teléfono o por DNI… Fco. Javier Fernández Castelo Pág. 1 19 de marzo de 2012

Upload: javier-fernandez-castelo

Post on 11-Jul-2015

358 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bases de batos parte 1

DEFINICIÓN Y ESTRUCTURA DE LAS BASES DE DATOS

Una base de datos consiste en una relación o conjunto de datos estructurados con el mismo tipo de datos en registros que contienen unidades de información almacenadas en campos.

Para entender el concepto, pensemos en una lista en la que cada unidad de información corresponde a una línea. Esta línea o unidad de información la llamaremos registro.

Cada registro, a su vez, está determinado por un subconjunto de unidades, llamados campos, en los que se divide la unidad de información (el registro) y que asigna en cada uno de los registros el mismo tipo de datos.

Tomemos como ejemplo una base de datos que contenga la relación de empleados de una oficina.Cada empleado será, en este caso, la unidad de información (podríamos pensar en cualquier otra unidad, dependiendo de la funcionalidad de la lista). Cada empleado, se corresponde con un registro de la BD (Base de datos).

Por otro lado, como todos los integrantes de la lista son empleados, podríamos escribir en cada registro una única celda donde aparezca el nombre, los apellidos, el DNI, la ubicación, el cargo, su teléfono, su dirección, etc.. con lo que ya tendríamos construida una base de datos muy sencilla.

Ramón Romaní Creos, 12.365.897, Gerencia, Jefe de Servicio, 273654, calle del alma 33Pedro Delgado Ciruelo,09.375.134, Gerencia, Coordinador de círculos,298156, Calle del Terraplén, 35Antonio Lagunas Gordas, 09.333.555, Depósito, Agenda Territorial, 375659, Calle del Folio 2 Ramón Romaní Creos, 12.365.897, Gerencia, Jefe de Servicio, 273654, Calle del Alumbre, 54

La de arriba es una lista que corresponde a una base de datos simple donde como decíamos, la información de cada empleado es un registro y este está constituido por un único campo.

Pero esta organización de la información no es eficaz. Podemos ordenar los registros de manera que los nombres estén por orden alfabético, o por número de teléfono o por DNI…

Fco. Javier Fernández Castelo Pág. 1 19 de marzo de 2012

Page 2: Bases de batos parte 1

pero la información así obtenida ha de ser tratada de forma compleja: sería muy fácil ordenar la lista por Nombre pero, ¿si la queremos ordenar por teléfono?

Para subsanar esta carencia, podemos organizar la información de cada registro en una serie de departamentos, que llamaremos campos, de forma que cada uno de ellos tenga unas propiedades diferentes pero que toda la información correspondiente a un campo dado, pero de absolutamente todos los registros, sea homogénea.

Se entenderá mejor comprobándolo en el siguiente ejemplo.

Ramón Romaní Creos

12.365.897 Gerencia Jefe de Servicio 273654 calle del alma 33

Pedro Delgado Ciruelo

09.375.134 Gerencia Coordinador de círculos

298156 Calle del Terraplén, 35

Antonio

Lagunas Gordas

09.333.555 Depósito Agenda Territorial

375659 Calle del Folio 2

Ramón Romaní Creos

12.365.897 Gerencia Jefe de Servicio 273654 Calle del Alumbre, 54

En el ejemplo superior, vemos la misma información que en el primer ejemplo, solo que en esta ocasión hemos distribuido la información de forma que esta resulte dividida y homogénea.

Si observamos cada línea, vemos que la información de registro sigue siendo exactamente la misma. Pero ahora, ésta estructurada de forma que cada subconjunto de cada registro, cada campo, estará relleno con información homogénea: en el primer campo la información es el nombre de pila, desde el primer hasta el último registro, lo mismo pasará con los apellidos, los DNI’s,… la información se encuentra estructurada.

Ahora es más sencillo ordenar los diferentes registros ya sea por nombre, teléfono o por el campo que sea.

Para hacer la organización de la lista más eficiente, podemos y debemos dotar a cada campo de un nombre que lo identifique. La información así presentada, obtiene un grado más de estructuración y su lectura y análisis más sencillo.A este nombre identificativo le llamamos etiqueta.

Fco. Javier Fernández Castelo Pág. 2 19 de marzo de 2012

Page 3: Bases de batos parte 1

NOMBRE APELLIDOS DNI DEPENDENCIA CARGO TELEFONO DIRECCIÓN

Ramón Romaní Creos

12.365.897

Gerencia Jefe de Servicio

273654 Calle del Alma 33

Pedro Delgado Ciruelo

09.375.134

Gerencia Coordinador de círculos

298156 Calle del Terraplén, 35

Antonio Lagunas Gordas

09.333.555

Depósito Agenda Territorial

375659 Calle del Folio, 2

La verdadera potencia de las bases de datos está en la capacidad de la que han sido dotadas para relacionarse las unas con las otras. Las bases de datos con esta capacidad se llaman Bases de Datos Relacionales y son las que vemos comúnmente cuando trabajamos con programas como Access de Microsoft, SQL, MySQL, Oracle,…

Entenderemos el concepto de relacional de forma inmediata con un nuevo ejemplo.

Supongamos que tenemos una lista similar a la anterior que tiene por campos DNI, Nombre y Apellidos. Llamemos al campo DNI campo clave y como propiedades diremos que es un campo cuyos componentes son únicos. Esto quiere decir que no puede haber un DNI repetido en la lista.

Ahora creemos otra lista con los campos DNI, Dependencia, cargo y teléfono y otra nueva lista con los campos DNI y dirección.

Cada una de las listas por si misma podría ser una base de datos, de hecho lo es. Pero en las bases de datos relacionales, a cada lista la vamos a llamar tabla y al conjunto de tablas es lo que llamaremos base de datos relacional. Para ello, debemos relacionarlas.Varias tablas se relacionan entre sí a través de un campo especial que se denomina campo clave.

NOMBRE APELLIDOS DNIRamón Romaní Creos 12.365.897Pedro Delgado Ciruelo 09.375.134Antonio Lagunas Gordas 09.333.555

DNI DEPENDENCIA CARGO TELEFONO DNI DIRECCIÓN

12.365.897 Gerencia Jefe de Servicio 273654 12.365.897 Calle del Alma 3309.375.134 Gerencia Coordinador de

círculos298156 09.375.134 Calle del Terraplén,

3509.333.555 Depósito Agenda

Territorial375659 09.333.555 Calle del Folio, 2

12.365.897 Calle del Alumbre, 54

Fco. Javier Fernández Castelo Pág. 3 19 de marzo de 2012

Page 4: Bases de batos parte 1

Supongamos que, en esta base de datos sencilla, uno de los empleados tiene asignados dos domicilios, con sendas direcciones.Es terriblemente ineficiente el crear una tabla con todos los campos relacionados de cada empleado. En el caso que nos ocupa, nos hubiera obligado a duplicar todos los datos del empleado menos el campo dirección, que sería distinto. Esta manera de proceder no aporta más que complicaciones a la hora de tratar un número elevado de datos. Ni que decir tiene el problema si en vez de dirección hubiera sido el campo cursos de formación. Y cada uno hubiese realizado 35…

Como vemos en la base de datos relacional, la tabla principal permanece invariable y por lo general no tendrá ningún campo duplicado.Las tablas secundarias, por su parte, solo duplicarán el dato correspondiente al campo clave, pero tampoco duplicarán el resto de la información. No solo se escribe menos, sino que se controla mejor los errores y se manejan mejor las tablas a posteriori.

COMPOSICIÓN DE UNA TABLALas tablas de datos, como sabemos se componen de registros y estos de campos.

El campo es la unidad individual más pequeña que puede contener la estructura de una tabla. Cada campo, puede albergar diferentes tipos de datos: pueden ser numérico o alfanuméricos. Dentro de los numéricos, pueden ser de diferentes precisiones: simple, doble, entero,… y dentro de los alfanuméricos, pueden ser tipo texto, fecha,…

Vamos a ver todo lo anterior referido a las bases de datos de Access de Microsoft.

BASES DE DATOS ACCESS

Mucha gente conoce o ha oído hablar de las bases de datos pero ya son bastante menos los que se atreven a coquetear con ellas.Lo cierto es que es una manera tan eficiente de clasificar y almacenar la información que merece la pena gastar algo de nuestro tiempo en familiarizarnos con ellas.

Access, es una herramienta de Bases de Datos integrada en el paquete ofimático Office de Microsoft y nuestro trabajo va a versar en torno a este.

La mejor manera de comprender su funcionamiento, es comenzar desde la génesis un proyecto de ejemplo. Esto nos permitirá aprender los conceptos, y disponer de una base o plantilla inicial donde apoyarnos en nuestros inicios.

Propongo como ejemplo una sencilla base de datos para gestionar nuestra discoteca y videoteca particular.

Fco. Javier Fernández Castelo Pág. 4 19 de marzo de 2012

Page 5: Bases de batos parte 1

En primer lugar, nuestro trabajo consiste en determinar exactamente qué es lo que queremos controlar con nuestra aplicación. Podemos desear desde mantener una lista monda y lironda de toda nuestra propiedad hasta gestionar un catálogo “profesional” de títulos.

Una vez que conocemos el alcance de nuestro proyecto, definimos la estructura de la base de datos de manera que no nos veamos abocados a alterarla a mitad del proyecto… esto supondría volver hacia atrás en el mismo con lo que se perderá mucho tiempo (este no suele ser gratis)

Pero comencemos…

Nuestro primer programa de base de datos no va a ser demasiado ambicioso. Se trata de crear una estructura muy simple que almacene nuestra colección de CD’s de música, que nos permita realizar operaciones de alta, baja, modificación, búsquedas, borrado, etc… que nos presente la información en informes definidos por nosotros mismos y que todas las operaciones las centralice en un formulario (o varios) que de valor estético a nuestro trabajo y nos lo facilite al mismo tiempo.

Parece lógico pensar que lo primero es sentarse y pensar que información almacenaremos; esta puede ser muy diversa:

Nuestros registros, necesariamente han de contener al menos el título del álbum. Con esto ya podríamos construir nuestra base de datos. Pero aprovechando la potencia de la herramienta, vamos a añadir más información. En principio, introduciremos también el autor y la fecha del álbum. Vamos a añadir un campo numérico del que ya hablaremos y que nos va a ayudar en la tarea de relacionar tablas.

Vale, pues ya tenemos nuestra primera estructura de tabla de Access.

Vamos a implementarla en el programa.

Abrimos la aplicación y lógicamente nos la vamos a encontrar vacía de contenido alguno. A la derecha vemos un menú con varias opciones. Nosotros vamos a elegir la primera: Base de Datos en blanco. Nos aparece el cuadro de diálogo necesario para

Fco. Javier Fernández Castelo Pág. 5 19 de marzo de 2012

Page 6: Bases de batos parte 1

poner un nombre al archivo y guardar el mismo en la ubicación que mejor nos parezca. Por defecto, el nombre que el sistema escoge es db1.mdb donde el 1 se incrementa secuencialmente a medida que abres más bases de datos.

A la nuestra la llamaremos Discoteca y lo introducimos en vez de db1.mdb, pulsamos el botón “Crear” y automáticamente aparece el interfaz de la base de datos Discoteca

Nos vamos a detener un instante en este interfaz..La parte izquierda contiene una serie de entradas correspondientes a cada uno de los objetos de la base de datos.

Tablas: como ya hemos explicado, son una colección de datos estructurados en registros y estos divididos en campos.

Consultas: a partir de la información que contienen las tablas, es posible filtrar datos de forma que cada consulta nos devuelva aquellos datos que cumplan las condiciones especificadas.Formularios: interfaces particulares creados por los usuarios que presentan la información de manera intuitiva para facilitar el tratamiento de los datos.Informes: presentación de la información formateada por los usuarios infiriendo a esta un resultado final deseado. Comencemos creando una tabla de datos.

Podemos crear una tabla, partiendo de la vista de diseño, que veremos inmediatamente, utilizando el asistente o introduciendo datos directamente.

Si partimos de la vista de diseño, aparece en pantalla un cuadro de dialogo como el de la figura de la derecha en el que introduciremos los nombres de

Fco. Javier Fernández Castelo Pág. 6 19 de marzo de 2012

Page 7: Bases de batos parte 1

los campos, el tipo de datos de que están compuestos e incluso podemos escribir una descripción de cada campo.En nuestro caso, la tabla que vamos a crear tiene los siguientes campos:Un campo auto numérico: Le llamaremos índice (o como queramos) nos va a servir para ordenar los registros conforme hayan sido grabados. Es un campo especial que se va autor rellenando a medida que introduces registros con la particularidad de que no puede darse el caso de que alguno esté repetido. Esta propiedad la vamos a utilizar para convertir el campo en campo clave, por el cual nos referiremos al llamar registros de otras tablas relacionadas.

Campo Título: este campo será un campo de tipo texto. Por defecto, es el tipo de datos que tienen los campos. También por defecto, su tamaño está limitado a 50 caracteres pero puede tener entre 0 y 255 caracteres. Para modificarlo, pulsamos con el botón izquierdo del ratón sobre la entrada “Texto” correspondiente y en la parte inferior del cuadro, modificamos

el valor por defecto por el que necesitemos. En esta ocasión será suficiente con 70. En este mismo cuadro y para el tipo de datos Testo, podemos observar que hay mas propiedades que se pueden definir y que más adelante iremos viendo; tal es así como el formato, mascara de entrada, título, valor predeterminado,…Campo Autor. Lo mismo que el anterior, pero el tamaño del campo o su longitud la vamos a incrementar hasta 100 caracteres, por si hay varios autores.Campo Fecha_Album: en este campo indicaremos la fecha de creación del álbum por su autor. No es casualidad que las dos palabras que componen el nombre de este campo estén unidas

Fco. Javier Fernández Castelo Pág. 7 19 de marzo de 2012

Page 8: Bases de batos parte 1

por un guión bajo. Es recomendable facilitarnos el trabajo futuro y es por eso que esta descripción la haremos con una única palabra. De ser dos o más, que también sería factible, al llamar a ese campo por su nombre en otro módulo u objeto, deberíamos introducirlo siempre entre comillas. El tipo de datos fecha/hora es formateable de diferentes maneras para que la información se adapte a nuestras necesidades. Como vemos en la figura, puede adoptar deferentes formatos y como en el caso de los campos de datos tipo texto, se pueden precisar ciertas propiedades que hagan la información más identificable.

Campo Fecha_Alta: va a acoger la fecha en que ha sido de alta el título en nuestra base de datos. Como en el caso anterior, podemos formatear la información para hacerla más comprensible.

Vamos a elegir para ambos campos de fecha, el formato Fecha corta.Con esta sencilla operación hemos configurado nuestra primera tabla de base de datos. Ahora, solo hace falta tener datos para introducirlos.Para terminar, cerramos el cuadro pulsando la “x” de la esquina superior derecha, contestamos que sí a la pregunta de si deseamos guardar los datos y damos un nombre a la tabla cuando a continuación nos lo pidan.

Seguramente, y puesto que no lo hemos hecho antes, nos aparecerá un cuadro de dialogo que

nos informe de que no hemos definido clave principal y si deseamos crearla. En este caso le diremos que sí.

Fco. Javier Fernández Castelo Pág. 8 19 de marzo de 2012

Page 9: Bases de batos parte 1

Ya hemos creado y guardado nuestra primera tabla y la podemos ver en el espacio reservado a los objetos tabla tal y como figura en la ilustración siguiente.La tabla recién creada, se puede abrir para introducir datos inmediatamente o para consultar y/o modificar su diseño. En el menú de iconos de la parte superior del cuadro de dialogo vemos los botones

con ambas opciones.Si nos detenemos un instante en el diseño, veremos que este ha cambiado del que nosotros propusimos; ahora hay definido un campo clave, que es el campo índice.

Fco. Javier Fernández Castelo Pág. 9 19 de marzo de 2012

Page 10: Bases de batos parte 1

Si abrimos la tabla para introducción de datos, el aspecto que presenta la ventana es el de la imagen siguiente. A medida que introducimos un registro, se genera otro para poder introducir

nuevos datos, así hasta que dejemos de introducir nuevos registros.

Existen otros dos métodos para crear tablas en Access. Uno de ellos es la introducción de datos directamente; mas adelante habrá que dar nombres a los campos creados, de forma que no parece que sea mejor que el que acabamos de ver. El

otro consiste en seguir paso a paso las instrucciones de un asistente y crea las tablas necesarias automáticamente. El problema es que si las plantillas existentes no coinciden con nuestras necesidades, o las modificas o no nos va a servir.

Fco. Javier Fernández Castelo Pág. 10 19 de marzo de 2012

Page 11: Bases de batos parte 1

Cuando tenemos una tabla de datos con registros introducidos en ella, podemos localizar el registro requerido con una simple consulta de datos sobre esa tabla. Imaginemos que la tabla que aparece en la imagen, en vez de 30 registros tiene 30.000. Sería difícil establecer de forma inmediata los nombres de los álbumes cuyo autor es Radiohead y poder decir cuántos tenemos almacenados.

Access dispone de un objeto, llamado consultas mediante el cual podemos configurar una selección de datos de una tabla que cumpla ciertos criterios.

El ejemplo anterior nos servirá para ilustrar el funcionamiento de las consultas.

Construyamos una consulta tal que nos filtre únicamente aquellos álbumes existentes en la tabla cuyo autor sea Radiohead.

Como en el caso de la creación de tablas, en la creación de consultas también hay varios métodos. Uno de ellos es mediante un asistente que nos guía paso a paso en las operaciones que hay incurrir. El otro método, el que veremos, básicamente es lo mismo pero tomamos el control desde el

minuto cero sobre la configuración de la consulta que vamos a realizar. Pulsando sobre la entrada correspondiente a ·Crear una consulta en vista de diseño, podemos ver el siguiente cuadro, en el que se nos permitirá colocar los campos de la tabla de la forma que queramos de acuerdo con nuestras necesidades. Para ello, aparece automáticamente un nuevo cuadro donde elegir la o las tablas, o consultas o ambas que necesitemos para realizar nuestra consulta.

Fco. Javier Fernández Castelo Pág. 11 19 de marzo de 2012

Page 12: Bases de batos parte 1

En este primer ejemplo, solo disponemos de una tabla y ninguna consulta por lo que la decisión es fácil. Como ya esta seleccionada, pulsamos el botón Agregar. En este momento, la tabla seleccionada aparece en el lugar que le corresponde en el cuadro Consulta de selección y esta lista para operar con ella.

Para agregar un campo a la consulta, bastara seleccionarlo de la tabla que acabamos de instalar en la consulta pulsando el botón izquierdo del ratón y, sin

soltar,

arrastrar hacia el área inmediatamente inferior, compuesta de columnas que representan a cada campo incluido. Es importante recordar que, si se quiere incluir el total de los campos de una tabla, en vez de seleccionar y arrastrar cada uno de ellos, se puede conseguir el mismo efecto seleccionando el asterisco superior y arrastrándolo a la columna Campo

correspondiente; asterisco significa para Access todos los campos de la tabla. Esto es muy rápido pero tiene una restricción: no podemos crear condiciones individuales a cada campo de la manera que veremos a continuación.Una vez hemos arrastrado todos los campos deseados podemos expresar condiciones para cada campo que filtren de una u otra forma la salida de la consulta.

Fco. Javier Fernández Castelo Pág. 12 19 de marzo de 2012

Page 13: Bases de batos parte 1

Para el ejemplo que seguimos, vamos a seleccionar todos los campos de la tabla pero seleccionándolos de uno en uno. Una vez seleccionados, vamos a pedir, en la línea criterios, que el autor sea Radiohead, de manera que cuando ejecutemos la consulta, solo aparecerán los

registros correspondientes a este autor, tal como vemos en la imagen. Para terminar con este ejemplo, la

consulta presentara los datos por orden cronológico en base a la fecha de adquisición. Para ello, en la línea Orden de la columna campo Autor, escogemos “Ascendente” y ejecutamos la acción pulsando el botón Vista.

Ya estamos satisfechos de los resultados de esta consulta, es momento de guardarla y darle un nombre que haga reconocible fácilmente esta consulta. Para esto, cerramos la consulta, contestamos que si a la pregunta de si queremos guardar los cambios y en el cuadro que aparece introducimos el nombre de la consulta “Consulta Radiohead”

Fco. Javier Fernández Castelo Pág. 13 19 de marzo de 2012