Вы находитесь на странице: 1из 15

1-.

Conceptos sobre bases de datos


a) Qu es una base de datos? b) Bases de datos relacional c) Microsoft Access y OpenOffice Base Tema 2

2-. Tablas
a) b) c) d) e) Tipos de datos posibles para los campos de una tabla Tipos de datos numricos Clave principal (clave primaria) Algunas propiedades de los campos Formato de tablas

3-. Relaciones entre tablas


a) b) c) d) Establecer una relacin Integridad Referencial Actualizar en cascada Eliminar en cascada

4-. Consultas
a) b) c) d) e) f) Diseo de consultas Consultas sobre una nica tabla Consultas sobre varias tablas Consultas con operadores de comparacin Consultas con caracteres de comodn Consultas con totales Apuntes de 2 de Bachillerato

5-. Anlisis relacional


a) Qu es el Anlisis Relacional? b) Un caso prctico c) Aplicacin de la tcnica de anlisis i. Identificacin de las entidades y de sus campos ii. Identificacin de las relaciones iii. Paso a tablas

6-. El proceso de creacin de una base de datos

1-. Conceptos sobre bases de datos


a) Qu es una base de datos? Una base de datos es un conjunto de informacin, de datos, que estn agrupados siguiendo una determinada organizacin. Los elementos en los cuales se organizan los datos se denominan tablas. Las empresas tienen bases de datos donde se almacena toda la informacin que necesitan para su funcionamiento: tendrn toda una tabla para los clientes, otra tabla para los proveedores, otra tabla para las facturas, para los albaranes, para los pedidos,... Otro ejemplo: en un instituto toda la informacin estar almacenada en una base de datos, donde habr diferentes tablas: alumnos, profesores, asignaturas, departamentos, etctera. Y para cada elemento se guardan diferentes datos. Por ejemplo, en la tabla de alumnos se guardar el DNI, el nombre, la direccin, la fecha de nacimiento, la fecha de matriculacin,... Tabla alumnos Apellidos Gmez Peir Snchez Torres Mir Gisbert

Expediente 34200 35100 35102

Nombre Antonio Mara Sonia

Curso 3 A 3 B 3 D

Repetidor No S No

Registros

Los registros son cada uno de los elementos de una tabla. Por ejemplo, la tabla anterior Alumnos tiene tres registros. b) Base de datos relacional Hoy en da la mayora de las bases de datos son relacionales. Esto significa que se pueden establecer relaciones entre las distintas tablas. Por ejemplo, se puede forzar a que un alumno pueda matricularse de asignaturas de 2 de bachillerato slo si tiene como mucho dos asignaturas pendientes de 1 de bachillerato. c) Microsoft Access y OpenOffice Base MS Access y OpenOffice Base son aplicaciones de base de datos. Nos permiten realizar todas las operaciones sobre la BD, como la creacin de la BD, la creacin de las tablas, la introduccin de los datos, la realizacin de consultas para ver la informacin almacenada, etctera, ... Adems de estos dos programas existen otros programas para gestionar bases de datos como son Paradox, DBAse, Oracle, Informix, SQL/Server, Ambas son aplicaciones de andar por casa, es decir, para realizar bases de datos domsticas o de empresas pequeas o medianas. Pero, cuando se quiere gestionar un gran volumen de datos se utilizan unas aplicaciones conocidas como SGBD, porque son ms rpidas y ms seguras. Por ejemplo, Oracle, Informix o SQL/Server. En empresas u organizaciones grandes se utilizan este tipo de aplicaciones (en el ayuntamiento de Valencia, por ejemplo,

utilizarn una BD diferente de Access o Base para almacenar los datos de los vecinos). Una aplicacin de BD proporciona un entorno grfico con una serie de herramientas para poder trabajar con los datos. Por ejemplo, en OpenOffice Base, tenemos: Tablas: desde aqu podremos crear las tablas, borrarlas, modificarlas, as como insertar datos en su interior. Consultas: una consulta nos permite recuperar informacin de una BD. Por ejemplo, en la BD del instituto habrn consultas para poder sacar un listado de los alumnos de un determinado grupo, para saber en un grupo cuntos alumnos promocionan, para saber cuntos alumnos tienen suspendidas las matemticas, cul es la nota media de un grupo, ... Formularios: con los formularios podemos realizar operaciones sobre tablas (como insertar datos) con un entorno de mejor apariencia. Informes: con los informes podemos mejorar el resultado de las consultas.

2-. Tablas
a) Tipos de datos posibles para los campos de una tabla Tipos de datos Texto [VARCHAR]1 Nota [LONGVARCHAR] Nmero [NUMERIC] Real [REAL] Fecha [DATE] Fecha [TIME] S/No [BOOLEAN] Imagen [LONGVARBINARY] Caractersticas Campo habitual de texto Mximo de 65.535 caracteres Valores numricos enteros, podrn realizarse operaciones matemticas Valores numricos reales Campos de tipo fecha Campos de tipo hora Slo admite esos dos valores Insercin de imgenes

c) Clave principal (Clave primaria o llave primaria) Con este nombre se conoce a aquel campo (o conjunto de campos) de una tabla que sirve para identificar a los registros. Si un campo est definido como clave primaria no podr contener valores nulos ni valores repetidos. Por ejemplo, el campo Cdigo de la tabla Socios ser la clave primaria de esa tabla, porque no puede haber dos socios con el mismo cdigo ni tampoco puede haber un socio que no tenga ningn cdigo asignado. Un ejemplo muy evidente es el DNI. Si tuviramos una tabla con los datos de muchas personas (nombre, sexo, edad, domicilio, telfono,...), elegiramos el
1

Con la propiedad Longitud podemos indicar el nmero mximo de caracteres

DNI como clave principal ya que no puede haber dos personas con el mismo nmero de DNI ni una persona que no tenga este nmero. d) Algunas propiedades de los campos Valor predeterminado: esta propiedad permite que Access asigne un valor por defecto a ese campo. Por ejemplo, que en un campo Fecha aparezca la fecha de hoy, que en un campo numrico se escriba por defecto un 0, etctera. Entrada requerida: con esta propiedad estaremos obligando al usuario a que introduzca un valor en el campo. Si el campo se queda vaco Base mostrar un mensaje de error. Si queremos por ejemplo que el usuario tenga que escribir su direccin pondremos Requerido a S. e) Formato de tablas Si hacemos clic con el botn derecho del ratn sobre el cuadrado gris que hay a la izquierda de cualquier fila podremos entrar en Formateado de las filas. Desde aqu podemos cambiar, para todos los registros, el tipo de letra, el tamao o el color de la misma. Adems, desde Altura de la fila se podr modificar la altura de todas las filas de la tabla. Se pueden ocultar columnas desde el men emergente al hacer clic sobre las columnas con el botn derecho del ratn. Para volver a mostrarlas tambin haremos clic con el mismo botn.

3-. Relaciones entre tablas


a) Establecer una relacin Cuando se quiere mostrar informacin (mediante una consulta o un informe) de dos tablas distintas es necesario previamente crear una relacin entre ellas. Pero dos tablas slo se podrn relacionar si existe un campo comn entre ambas.
Libros IdLibro Ttulo Autor Editorial Ao Prstamos IdLibro IdSocio Fecha_prstamo Fecha_devolucin Socios IdSocio Nombre Domicilio Localidad Fecha_nacimiento Fecha_alta Profesin

En el ejemplo anterior se pueden establecer dos relaciones: Entre la tabla Libros y la tabla Prstamos, ya que tienen un campo comn: los valores del campo IdLibro de la tabla Prstamos hacen referencia a los valores del campo IdLibro de la tabla Libros. Entre la tabla Socios y la tabla Prstamos: los valores del campo IdSocio de la tabla Prstamos hacen referencia a los valores del campo IdSocio de la tabla Socios.

b) Integridad referencial La integridad referencial es una restriccin que se define sobre una relacin. En OpenOffice Base todas las relaciones llevan incorporada la integridad referencial.
Tabla A CP: { Campo1 } Campo2 Campo3 Tabla B CP: { Campo1 } Campo2 Campo3

Relacin

Los valores del Campo3 de la Tabla B tendrn que hacer referencia a valores que ya existan en el Campo1 de la Tabla A. En caso de que no haga referencia a un valor ya existente se impedir la actualizacin. Esto implica que los registros de la Tabla A tendrn que ser introducidos antes que los registros de la Tabla B. De los dos campos relacionados, el campo que es clave primaria es el que contiene los valores a los que tienen que hacer referencia los campos relacionados de otras tablas. Por ejemplo, al marcar la casilla de Exigir integridad referencial en la relacin entre la tabla Libros y la tabla Prstamos, estamos obligando al usuario a que cuando introduzca un nuevo registro en la tabla Prstamos, el campo Libro tendr que contener el cdigo de un libro que ya exista en la tabla Libros. En caso de que introduzcamos un cdigo que no exista en la tabla Libros se mostrar un mensaje de error y se impedir la actualizacin. La integridad referencial es un mecanismo que nos permite asegurar que los valores que estamos introduciendo son ntegros con los valores que ya existen. En el ejemplo anterior, nos aseguramos que al dar de alta un prstamo el cdigo del libro introducido hace referencia a un libro que realmente exista. c) Actualizar en cascada los campos relacionados Al cambiar el valor del Campo1 en un registro de la tabla A se actualizarn automticamente en la tabla B los valores del Campo3 que hicieran referencia a ese valor.
Tabla Libros Ttulo El nombre de la rosa El mdico El mundo de Sofa Tabla Prstamos IdSocio Fecha_prstamo 105 21/10/2004 105 21/10/2004 107 29/11/2004

IdLibro 10 20 30

Si cambiamos el cdigo del libro El mdico del 20 al 25, se actualizar en cascada los dos prstamos que hay con el cdigo 20 (los de los socios 105 y 107) al nuevo valor 25.

IdLibro 10 20 20

d) Eliminar en cascada los campos relacionados

Al eliminar un registro en la Tabla A se eliminarn automticamente en la Tabla B todos los registros con los que estuviera relacionado. En el ejemplo anterior, si borramos el libro El mdico tambin se borrarn los dos prstamos relacionados.

4-. Consultas
a) Diseo de consultas A la hora de realizar una consulta hay que indicar: 1) 2) 3) 4) 5) Tabla o tablas implicadas en la consulta Campos de la tabla/s que se van a utilizar De los campos utilizados, cules se van a mostrar Criterios de la consulta Ordenacin

b) Consultas sobre una nica tabla En los campos que sean de texto habr que poner el criterio entre comillas simples Consulta 1-. Mostrar el ttulo, la editorial y el ao de edicin de los libros escritos por Benito Prez Galds. Ordenar los registros por el ttulo en sentido ascendente.

Consulta 2-. Mostrar el ttulo, el autor y el ao de edicin de los libros de la editorial Anaya. Ordenar los registros por el ttulo en sentido descendente.

Consulta 3-. Mostrar los libros editados en el ao 1990

Consulta 4-. Mostrar los libros de la editorial Anaya y editados en el ao 1990

Consulta 5-. Mostrar los libros de la editorial Anaya o de la editorial Castalia

Consulta 6-. Mostrar los libros de las editoriales Anaya o Castalia editados en el ao 1990

c) Consultas sobre varias tablas Consulta 1-. Mostrar el nombre y la localidad de los socios que han recibido en prstamo el libro Poesas escogidas. Tambin se mostrar la fecha de prstamo. Ordenar los registros ascendentemente por este ltimo campo.

Consulta 2-. Mostrar el ttulo y la editorial de los libros que se le han prestado a Fanny Roig. Tambin se mostrar la fecha de prstamo. Ordenar los registros ascendentemente por este ltimo campo.

Consulta 3-. Mostrar los libros que fueron editados en el ao 1985 o 1986 y que han sido prestados en alguna ocasin. Mostrar tambin el nombre del socio que lo recibi en prstamo y la fecha en que fue prestado.

Consulta 4-. Mostrar todos los libros que fueron editados en el ao 1985 y que fueron prestados el da 10/07/2004.

d) Consultas con operadores de comparacin

Operador = > < >= <= <>

Significado Igual a2 Mayor que Menor que Mayor o igual que Menor o igual que Distinto de

Consulta 1-. Mostrar todos los libros cuyo ao de edicin sea menor que 1990.

Consulta 2-. Mostrar todos los libros que no sean de la editorial Ctedra.

Consulta 3-. Mostrar todos los libros que se prestaron antes de la fecha 01/06/04.

Este operador puede omitirse

e) Consultas con caracteres de comodn Son dos caracteres (* y ?) que nos permiten aumentar las posibilidades de seleccin en una consulta. Hay que anteponer la palabra reservada COMO. Comodn * ? Funcin Acta como un conjunto de caracteres Acta como un solo carcter en la posicin indicada

Consulta 1-. Mostrar todos los libros que empiezan por la palabra Qumica.

Consulta 2-. Mostrar todos los libros prestados a socios cuyo oficio sea psiclogo/a

f) Consultas con funciones Las consultas con funciones permiten introducir campos calculados en las consultas. Los campos calculados ms utilizados son: suma, promedio, mximo, mnimo y contar. Consulta 1-. Disear una consulta para que se muestre el nmero de prstamos que se ha hecho a cada socio. Mostrar el cdigo y el nombre del socio.

Consulta 2-. Disear una consulta para que se muestren la media de los aos de edicin de los libros prestados a cada socio. Mostrar el cdigo y el nombre del socio.

5-. Anlisis relacional


a) Qu es el anlisis relacional? Cuando vamos a comenzar a crear una base de datos nos surge en primer lugar la pregunta de qu tablas crear y cmo relacionarlas entre s. Si la base de datos va a tener varias tablas estas decisiones pueden ser difciles de resolver. El Anlisis Relacional es una tcnica de anlisis que permite antes de crear una base de datos determinar qu tablas vamos a tener que crear y qu relaciones estableceremos entre ellas. La principal herramienta del Anlisis Relacional son los Diagramas Entidad-Relacin. Entenderemos mejor cmo utilizarlos con el ejemplo que se detalla a continuacin. b) Un caso prctico Una familia de campesinos posee una granja de animales. Desean disfrutar de las ventajas de la sociedad de la informacin y es por eso que se han decidido a informatizar su negocio. Han comprado un ordenador y una impresora, han instalado el sistema operativo y las aplicaciones de ofimtica ms extendidas del mercado, se han conectado a Internet, pero... les gustara disponer de una aplicacin con la que poder llevar la gestin diaria de la granja. Han buscado a un experto en bases de datos y han tenido la fortuna de dar contigo. A continuacin te detallan cules son los requisitos que desean para la aplicacin. En primer lugar, desean tener disponible en todo momento el nmero de cabezas de cada especie animal presente en la granja (nmero de vacas, de cerdos, de ovejas, etctera). Tambin se quiere registrar la informacin relevante a los alimentos que se suministra a los animales. De cada tipo de alimento (grano, pienso, etctera) se quiere guardar su descripcin, fecha de compra, fecha de caducidad y proveedor que lo suministra. Cada uno de ellos es proporcionado por un nico proveedor, pero un mismo proveedor puede suministrar diferentes alimentos. De cada proveedor se quiere almacenar el nombre de la empresa, su direccin, nmero de telfono, persona de contacto y direccin de correo.

Adems, la granja vende diferentes productos. Se desea almacenar la siguiente informacin referente a estos productos: descripcin (huevos, leche, lana, etctera), precio, cantidad vendida en el ao actual y recaudacin anual acumulada. Un mismo tipo de alimento se puede dar a diferentes especies animales, y viceversa, cada especie animal puede recibir ms de un tipo de alimento. Es por esto ltimo que se quiere llevar una programacin para saber, cada da de la semana, qu se le da de comer a cada animal. Por ltimo, para evitar errores y malentendidos, preferiran disponer de unos cdigos internos para referirse de manera unvoca a los productos que venden, los proveedores, y en general, cualquier elemento perteneciente a la base de datos. Los propietarios de la granja no tienen ni idea de cmo se administra una base de datos, por lo que desearan que les proporcionaras un entorno sencillo e intuitivo de utilizar (es decir, tendrs que hacer uso de formularios y de informes). c) Aplicacin de la tcnica de anlisis i) IDENTIFICACIN DE LAS ENTIDADES Y DE SUS CAMPOS ANIMAL = cdigo + descripcin + nmero ALIMENTO = cdigo + descripcin + fecha de compra + fecha de caducidad PROVEEDOR = cdigo + nombre + contacto + telfono + e-mail PRODUCTO = cdigo + descripcin + precio + cantidad + recaudacin ii) IDENTIFICACIN DE LAS RELACIONES

Relacin uno a muchos Relacin donde un registro de la tabla A se puede relacionar con varios registros de la tabla B, pero un registro de la tabla B slo puede relacionarse con uno de la tabla A.

Un proveedor puede suministrar varios alimentos pero un tipo de alimento slo puede ser suministrado por un proveedor distinto (relacin Suministra). Un producto slo puede ser obtenido de una especie animal pero una especie animal puede proporcionar diferentes productos (relacin Procedencia). Relacin muchos a muchos

Relacin donde un registro de la tabla A se puede relacionar con varios registros de la tabla B y un registro de la tabla B tambin con varios de la tabla A.

Un mismo tipo de alimento se puede dar a diferentes especies animales, y viceversa, cada especie animal puede recibir ms de un tipo de alimento (relacin alimentacin). Relacin uno a uno Relacin donde un registro de la tabla A slo se puede relacionar con un registro de la tabla B y viceversa.

Caso extrado de otro caso prctico: Un departamento tiene un nico jefe de departamento y un profesor slo puede ser jefe de un departamento (relacin jefe de departamento)

Diagrama Entidad - Relacin El diagrama obtenido recibe el nombre de Diagrama Entidad - Relacin
Suministra

Alimento

Proveedor

Alimentacin

Procedencia

Animal

Producto

iii) PASO A TABLAS

Relacin uno a muchos Se incluir en la tabla A la clave primaria de la tabla B. PRODUCTO = cdigo + descripcin + precio + cantidad + recaudacin + animal CAjena: {animal} ANIMAL Producto Precio Cantidad 1 500 3 100

Cdigo 1 2

Descripcin Leche de vaca Queso de vaca

Recaudacin 500 300

Animal 1 1

ALIMENTO = cdigo + descripcin + fecha de compra + fecha de caducidad + proveedor CAjena: {proveedor} Relacin muchos a muchos Se crear una nueva tabla que incluya las claves primarias de las dos tablas relacionadas. La clave primaria de la nueva tabla estar formada por esto dos campos. ALIMENTACIN = Animal + Alimento + Da CAjena: {Animal} CAjena: {Alimento} ANIMAL ALIMENTO PROVEEDOR

Animal 1 2 2 Relacin uno a uno

ALIMENTACIN Alimento 101 101 102

Da Lunes Lunes Martes

Hay que incluir en una de las dos tablas la CP de la otra tabla. DEPARTAMENTO = Cdigo + nombre + Jefe de departamento CAjena: {Jefe de departamento} PROFESOR DEPARTAMENTO Nombre Matemticas Lenguas

Cdigo 1 2

Jefe de departamento 1005 1005 (Imposible)

6-. El proceso de creacin de una base de datos

1) En primer lugar el usuario le proporciona al diseador los requisitos de la base de datos que necesita. Un ejemplo de requisitos podra ser el caso prctico que se ha analizado en el apartado anterior. Usuario de la base de datos
Requisitos del usuario

Diseador de la base de datos

2) A continuacin el diseador de la base de datos obtiene el Diagrama Entidad-Relacin a partir de los requisitos del usuario. 3) En tercer lugar realizaremos el paso a tablas a partir del Diagrama EntidadRelacin obtenido en el paso anterior. 4) A continuacin crearemos la base de datos, indicando su nombre y ubicacin en el disco duro del ordenador. 5) Ahora entraremos en la base de datos y comenzaremos a crear las tablas: a. Toda tabla debe tener su clave primaria: campo (o conjunto de campos) que no puede contener valores nulos ni valores repetidos. Es aconsejable que la clave primaria sea un campo numrico. b. Los campos deben estar definidos de modo que se optimicen los recursos: no utilizar campos de texto de 50 caracteres si slo se van a necesitar 10, definir los campos numricos de tipo byte si va a contener valores pequeos,... c. Definiremos un campo como requerido cuando queramos que no contenga valores nulos. d. Podemos indicar que un campo se rellene por defecto con un valor predeterminado. e. Cuando queramos que al introducir un valor en un campo se compruebe una determinada condicin, usaremos una regla de validacin. Adems, podemos escribir un texto de validacin que se mostrar al usuario cuando no se cumpla la regla que hemos definido. 6) Estableceremos las relaciones entre las tablas: es necesario establecer relaciones para poder realizar ms tarde consultas que lean datos de varias tablas (que son las ms comunes). Cuando se establece una relacin hay que tener en cuenta: a) Las relaciones entre tablas se establecen entre dos campos con valores comunes, es decir, que tienen el mismo significado, que estn almacenando la misma informacin.

b) Los dos campos relacionados deben ser del mismo tipo de datos: numrico -entero, numrico entero largo, fecha,... c) Adems, cuando se crea una relacin pueden indicarse las siguientes propiedades: i. Integridad referencial: en el ejemplo anterior, al introducir el cdigo de un libro en la tabla de Prstamos, si no existe ese cdigo en la tabla de los Libros, se mostrar un mensaje de error y se impedir el prstamo. De este modo nos aseguramos de que los prstamos siempre hagan referencia a libros que ya existan.

ii. Actualizacin en cascada: si cambiramos el cdigo de un libro en la tabla Libros, se actualizarn automticamente todos los libros con ese cdigo que hubiese en la tabla de Prstamos. iii. Borrado en cascada: si eliminamos un libro se borrarn todos los prstamos relacionados que tuviese. 7) Ahora crearemos las consultas principales que va a ejecutar el cliente. Si hubiese una consulta que furamos a ejecutar con mucha frecuencia, sera conveniente definir un ndice sobre el campo sobre el que se define el criterio de la consulta. Los campos indexados pueden ser de dos tipos: sin duplicados (cuando ese campo no puede tener valores repetidos) o con duplicados (cuando s que puede tenerlos). 8) A continuacin crearemos los informes que vaya a necesitar el cliente, bien directamente sobre las tablas o bien sobre alguno de las consultas creadas previamente. 9) Ahora crearemos los formularios necesarios para gestionar cada una de las tablas, as como otros formularios que creamos que puedan ser necesarios. Tambin disearemos un formulario que ser la ventana inicial de la base de datos y desde donde se podr acceder a todos lo dems. 10) Por ltimo se entregar la base de datos al cliente.
Usuario de la base de datos Diseador de la base de datos

Entrar en el formulario inicial Introducir los registros

Entrega de la base de datos

Ejecutar las consultas y los informes

Вам также может понравиться