Академический Документы
Профессиональный Документы
Культура Документы
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
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
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
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.
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
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 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.
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.
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.
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
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
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
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
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
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