Curso de Bases de datos de la Facultad de Zootecnia, UACH Universidad Autónoma de Chihuahua Facultad de Zootecnia Apuntes para el curso Manejo de Bases de Datos Curso de Bases de datos de la Facultad de Zootecnia, UACH Bases de Datos ______________________________________________________________ 1 La importancia de la información _________________________________________________ 1 Diseño de la base de datos ________________________________________________________ 2 Diseño de las herramientas para accesar los datos ____________________________________ 5 Sistema de Información __________________________________________________________ 6 Fases para diseñar un Sistema de Información. _______________________________________________ 6 Access: Sistema Manejador de Bases de Datos ____________________________________ 7 Elementos de Access ____________________________________________________________ 7 Para iniciar una base de datos en Access ____________________________________________ 8 Los pasos para definir la estructura de la tabla son los siguientes: ________________________________ 9 Expresiones lógicas ____________________________________________________________ 18 Sintaxis de una expresión lógica _________________________________________________________ 19 Ejemplos de expresiones lógicas _________________________________________________________ 20 Cuadro de Propiedades del Campo _______________________________________________ 24 Campo llave o Campo principal _______________________________________________ 25 Herramientas de Access para obtener las ventajas de un DBMS _____________________ 26 Consultas _________________________________________________________________ 28 Tipos de Consultas _____________________________________________________________ 28 Diseño de la consulta ___________________________________________________________ 29 Compartir datos de varias tablas o consultas ________________________________________________ 31 Ordenar en Ascendente o Descendente ____________________________________________________ 31 Filtros de registros _____________________________________________________________ 31 Por posición en el listado _______________________________________________________________ 31 Por valor en sus campos ________________________________________________________________ 31 Constantes tipo texto: __________________________________________________________________ 32 Constantes tipo fecha: _________________________________________________________________ 32 Constantes tipo número: _______________________________________________________________ 32 Ejemplos de campos: __________________________________________________________________ 32 Solicitud de un dato al usuario de la consulta _______________________________________________ 32 Operadores de comparación: ____________________________________________________________ 33 Campos calculados _____________________________________________________________ 35 Trabajando con grupos de Registros ______________________________________________ 36 Consultas de creación de tablas __________________________________________________ 37 Consulta de datos anexados _____________________________________________________ 38 Consulta de actualización _______________________________________________________ 39 Consulta de Eliminación ________________________________________________________ 39 Consulta de tablas de referencias cruzadas _________________________________________ 40 Curso de Bases de datos de la Facultad de Zootecnia, UACH Curso de Bases de datos de la Facultad de Zootecnia, UACH 1 Bases de Datos La importancia de la información En cualesquier actividad productiva en la que estemos inmersos, día a día debemos tomar decisiones que indicarán el rumbo de nuestra empresa, ya sea hacia el éxito o al fracaso. Para tomar una decisión lo más acertada posible es necesario basarnos en información, pero definitivamente, ésta debe ser de calidad, pues al momento de considerarla partimos de que es confiable, y también debe ser suficientemente amplia, mientras mayor sea la cantidad de información con que se cuente será mayor la posibilidad de tomar una buena decisión. En los tiempos actuales las fuentes de información son muy diversas y completas, eso implica un gran esfuerzo de parte de las personas con puestos gerenciales de estar bien informados, para definir las medidas correctivas necesarias y la dirección que tomará la empresa. En una empresa se genera información externa, en la que no tenemos ninguna influencia (el mercado internacional, investigaciones científicas, el tipo de cambio, la política, reformas fiscales, nuevos productos de la competencia, etc.) e información interna (problemas con la producción, la nómina, gastos fijos, gastos que se deben reducir, etc.) en la que sí tenemos efecto y se verá modificada con las decisiones que se tomen. La información interna se obtiene a partir de los datos que se generan en las diversas áreas de la empresa, el objetivo de este curso es la organización, almacenamiento, manejo y acceso de dichos datos internos para la obtención de información que se utilizará en la toma de decisiones en cualquier actividad productiva o de investigación. Dichos datos internos se deben coleccionar de forma que estén interrelacionados, es decir, datos que se generen en la misma actividad (no mezclar datos de una biblioteca con un taller mecánico), y ser almacenados juntos sin redundancia perjudicial e innecesaria para servir a múltiples aplicaciones, esto es lo que se llama una Base de datos. Base de datos.- Es la colección de datos interrelacionados, almacenados juntos sin redundancia perjudicial e innecesaria para servir a múltiples aplicaciones. Posteriormente de que los datos están ya almacenados sigue el análisis de dichos datos para obtener de la información requerida. Información.- La componen datos que se han colocado en un contexto significativo y útil y se ha comunicado a un receptor, quien la utiliza en toma de decisiones. La información implica la transmisión de un conocimiento o inteligencia. Para que la información sea considerada de calidad debe ser exacta, , oportuna y relevante, es decir, estar libre de errores, estar en el momento que se le requiere y estar completa contestando las preguntas del ¿qué?, ¿porqué?, ¿cuando?, ¿donde?, ¿quién?, ¿cómo?, etc., respectivamente. Las fuentes de las cuales se puede obtener información son imágenes (fotos, televisión, etc.), textos (libros, internet, revistas, etc.), voz (radio, conferencias, preguntando a expertos) y datos (bases de datos), entendiendo por dato como cualesquier detalle o hecho que describe a un objeto o evento. Curso de Bases de datos de la Facultad de Zootecnia, UACH 2 Nos enfocaremos a la fuente de datos, pues durante el curso aprenderemos como podemos trabajar con datos para obtener información. Debido a los avances tecnológicos y a la alta competencia que existe, los datos que se generan en una empresa cada vez son de mayor cantidad por lo tanto ha sido necesaria la creación y desarrollo de conceptos y técnicas especiales para lograr una gestión eficiente de los datos, que en ocasiones pueden llegar a ser en cantidades millonarias. La gestión de los datos se encarga de, definir las estructuras para el almacenamiento de los datos (Bases de datos) y proveer los mecanismos necesarios para la gestión de la información (Sistemas Manejadores de Bases de datos). Diseño de la base de datos Dentro del primero de los puntos de la gestión de los datos, una de las técnicas más ampliamente conocidas es la de Modelamiento Entidad-Relación, la cual provee un modelo exacto de las necesidades de información de la organización e independiente de cualquier medio de almacenamiento de datos y métodos de acceso. Entidad.- Es un evento u objeto de importancia, real o imaginaria, de la cual se necesita conocer o mantener información. Ejemplos: carro, alumno, inscripción, libro, concierto, etc. Atributo.- Es cualquier detalle que sirva para calificar, identificar, clasificar, cuantificar o expresar el estado de una entidad. Ejemplos: placas del carro, nombre del alumno, fecha de inscripción, título del libro, autor, lugar del concierto, hora, fecha, artista, etc. Relación.- Es la asociación significativa entre dos entidades. La técnica de Modelamiento Entidad-Relación se utiliza para el diseño de la base de datos generando bases de datos relacionales. En bases de datos relacionales, la manera de organizar los datos es detectando las diversas entidades con sus atributos, que formarán sus respectivas tablas y definiendo un atributo o campo común que permitirá que dichas tablas se relacionen con el fin de poder compartir datos entre ellas. Los términos que se utilizan en bases de datos relacionales son los siguientes: Campo.- es una característica que describe a una entidad, campo es lo mismo que atributo. Campo elemental.- es una característica que esta formada por un solo dato, si se fracciona pierde sentido. Campo no elemental.- es una característica formada de varios datos que se pueden fraccionar y siguen dando información. Registro.-es el conjunto de campos que dan información sobre una entidad u objeto específico Tabla.- es el lugar donde se almacena los registros de un grupo de objetos o entidades similares, una tabla se utiliza como equivalente a una entidad. Curso de Bases de datos de la Facultad de Zootecnia, UACH 3 La jerarquía de la organización de los datos en una base de datos relacional se muestra en la figura Base de datos, compuesta de todas las tablas Una tabla es un conjunto de registros que contienen datos acerca de un grupo de entidades similares Un registro es un conjunto de campos que se relacionan con una entidad y dan información sobre ésta Los campos no elementales representan atributos cuyo valor se puede subdividir más Los campos elementales representan atributos cuyo valor ya no se puede subdividir más Los caracteres son alfabéticos, números, símbolos especiales o una combinación de los anteriores y forman los datos que serán guardados en los campos Para crear las relaciones entre las tablas en Bases de datos relacionales se trabaja con los campos comunes y los campos llave. Campo común.- Es un atributo que existe en dos entidades diferentes y que permite crear una relación entre ellas. Las características de estos campos son: Describen lo mismo Son del mismo tipo de datos Son del mismo tamaño El nombre puede ser diferente Campo llave o clave principal o clave primaria.- Es un atributo o una combinación de atributos que permite identificar inequívocamente a una entidad específica (registro) No debe tener un valor nulo No debe repetirse el valor en varios registros Su contenido no debe ser extenso Normalmente este campo se utiliza como campo común con otras tablas, pues permiten hacer la relación exactamente con el registro que se requiere. Pero no es requisito que exista un campo llave para que haya una relación, aunque sí es recomendable. Existen 3 tipos de relaciones posibles entre dos tablas (entidades) Uno a uno .- cuando dos campos que permiten la relación son campos llave a la vez. Esto se utiliza cuando una tabla tiene una extensa cantidad de campos y algunos son mas frecuentemente utilizados que otros, es preferible separarlos en 2 o más tablas según su uso. Curso de Bases de datos de la Facultad de Zootecnia, UACH 4 Uno a muchos.- Cuando uno de los campos comunes es campos llave (es el tipo de relación más frecuente). Por ejemplo, en una relación de clientes con sus pedidos. Muchos a muchos.- Ninguno de los dos campos comunes es llave. Dentro del diseño de la base de datos, después de detectar las tablas, los campos y las relaciones, se debe de aplicar una serie de reglas ya definidas por la técnica de Modelamiento Entidad-Relación, esto se conoce como Normalización de la base de datos. La Normalización ayuda a detectar errores en el diseño de las tablas, permitiendo reducir el tamaño de la base de datos, al momento de disminuir la redundancia innecesaria. El conjunto de reglas se conocen como formas normales, las cuales indican lo siguiente: 1ª. Forma normal a) Ningún campo, a excepción del campo llave, puede estar formado de varios datos (todos son campos elementales) Ejemplo: Campo mal definido Lo correcto Dirección Calle, número de casa, colonia, código postal Nombre Completo Apellido paterno, apellido materno, nombre de pila b) Cada campo debe ser único en el registro, es decir, que no hayan dos o mas campos que guarden datos similares (altura1, altura2, altura3). Mediciones de Plantas Fecha 1 medición 1 fecha 2 medición 2 fecha 3 medición 3 1 registro por planta, limitado a 3 mediciones Mediciones de Plantas Fecha Medición 1 registro por medición, sin limites de mediciones Forma correcta c) No debe haber campos innecesarios (el tiempo de captura y el gasto en la adquisición de los datos es directamente proporcional al número de campos) 2ª Forma normal a) Creación de tablas adicionales cuando alguna tabla contenga datos que no tengan ninguna relación con la entidad. Curso de Bases de datos de la Facultad de Zootecnia, UACH Cría Arete sexo Peso al nacer Arete madre Edad de la madre raza de la madre 5 Vacas Arete Fecha de nacimiento raza madre b) Creación de tablas adicionales cuando alguna tabla contenga un campo cuyo valor sea común para varios registros, esto ayuda a estandarizar la captura. Cría Arete raza Peso al nacer Peso al destete Razas Nombre de la raza 3ª Forma Normal Ningún campo que no sea el campo llave, puede depender del valor de otro campo Ejemplo: Edad – depende de la fecha de nacimiento Producción mensual – depende de la producción diaria Y por último Sentido Común para romper las reglas cuando se considere necesario. Diseño de las herramientas para accesar los datos La segunda de las fases de la gestión de los datos, se refiere a que se deben de generar las herramientas necesarias para capturar, manejar los datos (clasificar, ordenar, sumarizar y realizar cálculos) y generar salidas de información. Esto se logra utilizando programas especializados en el manejo de las bases de datos, dichos programas se conocen con el nombre de Sistemas Manejadores de Bases de Datos (DBMS). Sistema Manejador de Bases de Datos.- Es un conjunto de programas especializados diseñados para describir (definir los datos empleados y las relaciones), proteger, almacenar y accesar (accesos múltiples y recuperación) la base de datos. Dentro de esta clasificación de software existe una amplia variedad de programas comerciales, como son: FoxPro, Delphi, DBase, Paradox, SQL y Access. Las ventajas de utilizar un DBMS en el manejo de los datos son las siguientes: 1) Mínima redundancia (los datos no se repiten innecesariamente) 2) Consistencia, que los datos siempre se escriban igual, sin variaciones para evitar errores en la captura como los datos que a continuación se muestran: Bachilleres 1 o Bachilleres #1 o COBACH 1 o COBACH #1 o Colegio de Bachilleres Num. 1 Curso de Bases de datos de la Facultad de Zootecnia, UACH 6 Otro aspecto que controla la consistencia es que si se hace referencia a un dato de un registro que se supone debe existir previamente en otra tabla, en realidad exista. Es decir, suponga que va a registrar el pedido de un cliente, entre los datos que debe guardar esta la identificación del cliente que hizo el pedido, en este caso la consistencia verifica que el cliente del que se hace referencia este ya capturado en la tabla de clientes, de no ser así el dato es inválido. 3) Integridad, los datos que se capturen en un campo deben cumplir con un rango de valores aceptables. Por ejemplo, en el campo de sexo, solo debe aceptar una de las letras F o M 4) Compartimiento de los datos, se pueden compartir datos entre tablas y entre bases de datos. Que es la ventaja de trabajar con bases de datos relacionales. 5) Independencia, los datos son independientes del programa que los genera, se pueden exportar a otros programas como Excel, SAS, Word, etc. 6) Seguridad, existen medidas para proteger a los datos cuando hay un acceso multiusuarios o fallas eléctricas. Sistema de Información La integración de la base de datos y las herramientas para realizar la gestión de ella forma lo que se conoce como un Sistema de Información, aunque el concepto es más amplio, pues abarca también a los usuarios y los equipos de cómputo que intervendrán en el proceso. Los sistemas de información se crean ante una necesidad de almacenar y analizar datos que se generan continuamente durante la realización de actividades productivas. Fases para diseñar un Sistema de Información. 1. Definir el problema que se requiere solucionar (ubicarse en un contexto claro y bien definido) 2. Levantamiento de información, esto es, conocer como se trabaja en esa actividad, detallar todas las tareas que se realizan para detectar los datos que se generan y la interrelación que exista entre ellos. 3. Propuestas de modificaciones en el proceso para generar los datos que sean necesarios o sugerir posibles mejoras que se hayan detectado, aquí se requiere la ayuda de un experto sobre el área en que se está trabajando. 4. Diseño de la base de datos En base a que previamente se hizo el levantamiento de la información, se aplica la técnica de Modelamiento Entidad-Relación con los siguientes pasos: a) Detectar entidades b) Detectar los atributos c) Definir el campo llave d) Definir las relaciones Curso de Bases de datos de la Facultad de Zootecnia, UACH 7 e) Aplicar la Normalización 5. Diseño de entradas y salidas de información del Sistema, crear un bosquejo sobre la manera en que se van a estructurar las pantallas de captura y distribuir los datos, a la vez, de definir las consultas y los reportes impresos necesarios. 6. Implementación del sistema, utilizando un Sistema Manejador de Bases de Datos (DBMS) determinado se crean todas las estructuras de almacenamiento y las herramientas pertinentes para su manejo. Utilizando Access como DBMS, se crean las tablas, las consultas, los formularios tanto para capturar los datos como para mostrar la información de las consultas, los informes y un formularios principal que hará la función de Menú de opciones para el usuario. 7. Implantación y pruebas del Sistema, en este punto se realiza una simulación del sistema funcionando, se capturan algunos registros y se trabaja con todas las opciones que se hayan añadido al sistema, para detectar errores en el diseño o en el funcionamiento y mejoras posibles, en esta parte es conveniente que el usuario final intervenga, pues sus observaciones serán valiosas. 8. Puesta en marcha del Sistema, el sistema ya funcionando en la actividad para la cual fue diseñado. Access: Sistema Manejador de Bases de Datos Los programas especializados para lograr un manejo eficiente y seguro de una base de datos son conocidos como Sistemas Manejadores de Bases de Datos (DBMS), dentro de esta categoría existen varios programas comerciales como son: FoxPro, Paradox, Delphi, Dbase, Oracle, SQL y Access, todos estos programas tienen dos niveles de usuarios, los usuarios generales, son las personas que no tienen un profundo conocimiento sobre sistemas pero que utilizando todas las herramientas y asistentes que el programa brinda puede lograr un control aceptable sobre su base de datos, y el segundo nivel es el de usuario avanzado, los cuales escribirán sus propias instrucciones a través del lenguaje de programación que el programa incluya, esto es para ocasiones en que el manejo de los datos requiera operaciones especiales que no estén incluidas en los menús o asistentes. Nosotros usaremos el DBMS Access, el cual es un programa popular y de fácil manejo con una interfase amigable y que utiliza como lenguaje de programación Visual Basic. Elementos de Access La manera en que Access controla la base de datos es a través de los siguientes 7 elementos: Tablas.- lugar donde se almacenan los datos que describen a objetos similares. Formularios.- pantallas o interfases que permiten acceder de manera personalizada los datos de las tablas. Consultas.- son todas las indicaciones necesarias para obtener cierta información de las tablas. Informes.- son los formatos de los reportes que serán impresos a partir de los datos arrojados por una consulta o directamente de una tabla. Curso de Bases de datos de la Facultad de Zootecnia, UACH 8 Macros.- son una serie de instrucciones para el programa, agrupadas para ser accesadas a través de una tecla o una sola instrucción. Módulo.- conjunto de comandos o instrucciones de programación en Visual Basic para realizar una tarea específica personalizada. Página.- crea una hoja de tipo HTML para el acceso de las tablas a través del WEB. Para iniciar una base de datos en Access Después de haber hecho el diseño de la base de datos en papel, se crean las estructuras necesarias para guardar los datos en la computadora desde un Sistema Manejador de Bases de Datos, en este caso el ACCESS XP, el cual forma parte del suite de OfficeXP Para iniciar a trabajar en Access el primer paso es crear una base de datos nueva, donde se indicará el nombre y el lugar de almacenamiento requerido. El siguiente paso es crear las tablas correspondientes a las entidades detectadas. Cuando se crean las tablas lo que se hace es la estructura o el formato donde serán guardados los datos, aunque en un DBMS la palabra formato tiene un alcance más amplio, ya que es en esta etapa donde se ponen los controles, que afectarán a los datos que se van a capturar, necesarios para lograr las ventajas de integridad y consistencia que antes se mencionaron. Existen 3 maneras de crear tablas, nosotros nos concentraremos en la opción de Crear desde Vista de Diseño de la tabla, pues es aquí donde se pueden acceder todas las herramientas que provee ACCESS para controlar los datos que serán guardados en los campos y poner restricciones que previamente se hayan detectado durante el diseño de la base de datos. Curso de Bases de datos de la Facultad de Zootecnia, UACH 9 Cuando se crea la estructura de la tabla se debe definir y configurar cada uno de los campos, a esto se le llama diseño de la tabla, o sea la estructura donde serán guardados los datos, se deben seguir una serie de pasos para cada campo o atributo detectado. Los pasos para definir la estructura de la tabla son los siguientes: 1º. Ponerle un nombre al campo. El cual como máximo puede tener 64 caracteres, no debe iniciar con espacios ni contener el punto ni parentesis, como por ejemplo Nom. de la empresa, también se recomienda que los nombres de los campos sean cortos, principalmente abreviaciones, ya que para cálculos futuros se debe hacer referencia al campo respecto a su nombre, y que no contengan espacios entre las palabras para cuestiones de compatibilidad con otros Sistemas Manejadores de Bases de datos Curso de Bases de datos de la Facultad de Zootecnia, UACH 10 2º. Indicar el tipo de datos con el que se va a trabajar en ese campo. El tipo texto se utiliza en casos donde el dato contenga letras y/o números, símbolos especiales y/o espacios, pero con un tamaño limitado de hasta 255 caracteres. Ejemplo: Nombre, Dirección, Ciudad, etc. El tipo memo, se utiliza en casos donde se requiere guardar un texto con longitud mayor a los 255 caracteres o donde se requiera separar el dato en párrafos, por ejemplo un campo para observaciones generales, descripción de algo o un historial médico, para los cuales no sabemos con exactitud el espacio que se necesita para almacenar el dato, además de que se requiere utilizar el punto y aparte. El tipo número será para campos donde se precise realizar cálculos numéricos posteriores, este tipo de campo utiliza el procesador matemático para lograr una mayor precisión en sus cálculos. El tamaño del campo dependerá del dato que se espere guardar, para casos donde solo se trabaje con números enteros (no fracciones) existen los tamaños de: Nombre Valor mínimo Valor máximo Bytes ocupados Byte Entero entero largo 0 -32.768 -2.147.483.648 255 32.767 2.147.483.647 1 2 4 Lugares decimales 0 0 0 Por otra parte, para datos donde se requieran fracciones existen los tamaños de: Nombre Valor mínimo que almacena Valor máximo que almacena Bytes ocupados Lugares decimales Simple -3,402823E38 1,401298E-45 -1,401298E-45 3,402823E38 4 7 Curso de Bases de datos de la Facultad de Zootecnia, UACH Doble Decimal -1,79769313486231E308 1,79769313486231E308 -10^28-1 4,94065645841247E-324 4,94065645841247E-324 10^28-1 11 8 15 12 28 Los tamaños más comúnmente usados son el entero largo y el decimal dependiendo del caso. Ejemplos: número de partos (byte), circunferencia de un árbol (simple), Número de páginas de un libro (entero), etc. El tipo Fecha/Hora se utiliza cuando el campo esta representando una fecha y en ocasiones también se necesita almacenar la hora, en este tipo de campo el tamaño es fijo. Ejemplo Fecha de nacimiento, fecha de registro, Hora del parto, etc. El tipo moneda trabaja con 2 lugares decimales, se utiliza principalmente para campos que representan dinero aunque no exclusivamente ya que se recomienda utilizar en campos donde no se requiera mucha precisión decimal en los cálculos y que estén involucrados en una cantidad exhaustiva de operaciones matemáticas, pues este tipo trabaja a mayor velocidad que los tipo numéricos con tamaño doble o simple. El formato del campo se puede controlar para que no añada el símbolo $ en los casos que no se requiera. Ejemplo costo, precio, peso al nacer, etc. El tipo autonumérico es útil en los casos en que se requiere un campo para trabajar como campo llave y que no se necesita tener el control sobre el dato que se va a guardar. Este tipo autonumérico pone de manera autónoma un número secuencial según el número de registros que se han capturado en la tabla (no importa si actualmente existen o fueron borrados de la tabla), asegurando con esto que este campo siempre tendrá un valor diferente al de los demás registros. Ejemplo id_cliente, id_carro, etc. El tipo Sí/No trabaja para casos en que sólo se puede tener uno de estos dos valores como respuesta, por ejemplo: Soltero? Sí o No, Hembra?, Baja?, etc. El tipo Objeto Ole es muy importante en la actualidad donde la comunicación es principalmente visual, este tipo permite que imágenes, sonidos o archivos generados en alguna aplicación compatible con Microsoft Office, se pueda relacionar con un registro a través de un campo. Ejemplo: Foto de la persona, Canto de una pájaro, Un registro oficial escaneado, etc. El tipo Hipervínculo es para cuando el dato que se va a guardar se refiere a una dirección de WEB, dirección de correo o una liga a un punto específico de un documento u hoja electrónica. La manera de hacer la liga a una parte específica de un documento cuando se están capturando los datos en la tabla es la siguiente: abra el documento y la tabla a la vez, acomode las ventanas de tal manera que pueda observar los dos programas al mismo tiempo, abra la tabla en vista de datos, seleccione el texto del documento donde se quiere hacer la liga y presionando la tecla de Control (Ctrl) arrastre el texto al campo tipo hipervínculo del registro que le corresponde. Curso de Bases de datos de la Facultad de Zootecnia, UACH 12 Por último el asistente para búsquedas, es para campos que requieren una búsqueda ya sea en una tabla o en una lista de valores que desde el diseño se define, para verificar si el dato capturado es el correcto, esto es sumamente útil para el control de consistencia de los datos Curso de Bases de datos de la Facultad de Zootecnia, UACH 13 La primera opción de una búsqueda: se utiliza principalmente cuando un campo de la tabla es común con un campo de una tabla primaria, es decir, con una tabla donde se tiene una relación de uno a muchos o de uno a uno, en este caso es imprescindible que el valor que se capture en el campo exista previamente en algún registro de la tabla primaria, también se utiliza en tablas adicionales que se crean cuando se aplica la segunda forma normal, la cual indica que en los casos en que existan campos en una tabla que en realidad describan a un objeto diferente se recomienda guardarlos en una tabla adicional o en casos en que los valores de un campo sean muy repetitivos (como la familia de una planta en un inventario de plantas) y no se quiera limitar a un grupo de valores predefinidos es mejor crear una tabla adicional donde solo se guarde ese campo y el usuario alimente la tabla con todos los valores que requiera. La segunda opción en una búsqueda: se utiliza cuando un campo tiene valores bien definidos y que se quieren mostrar al usuario a través de un menú de despliegue, la ventaja de esto es que el usuario no tiene que escribir el valor completo pues con las primeras letras automáticamente se van localizando los valores en la lista o también lo puede seleccionar con el mouse. La limitante que la lista de valores quedan fijos a los que el diseñador haya definido desde la estructura de la tabla, muy común Curso de Bases de datos de la Facultad de Zootecnia, UACH 14 en campos como: tamaño (grande, mediano, chico), estado (sólido, líquido, gaseoso), color de hoja (verde, amarillo, naranja), etc. Menú de despliegue Desde el asistente para búsquedas se hace todo a través de un asistente sin tener que configurar las opciones de manera manual a excepción de la opción de “limitar a la lista” la cual permite poner un candado a los datos válidos para el campo. Hasta este momento el campo ya puede recibir datos, limitados solo por el tipo de datos que se haya definido, pero cuando se va a realizar una captura exhaustiva de datos o que Curso de Bases de datos de la Facultad de Zootecnia, UACH 15 la captura se deberá realizar sistemáticamente en un periodo grande de tiempo es recomendable invertir tiempo en el diseño del campo que nos evitará problemas y dolores de cabeza ocasionados por errores en la captura de los datos. Se debe tener en cuenta que los controles que se pongan al campo desde el diseño de la tabla, siempre van a estar presentes en ese campo sin importar si se esta trabajando desde la tabla en vista de datos, los formularios o las consultas. En ocasiones es recomendable que algunos controles se definan desde el formulario para personalizar el campo según los requerimientos de la tarea que se esté refiriendo. Para configurar un campo desde la vista de diseño de la tabla se hace con las propiedades del campo, las cuales se accesan a través de las 2 fichas que se muestran en la parte inferior de la ventana de diseño. Ficha General 3º. El tamaño ya se mencionó con los tipos de datos, pues el tamaño depende del tipo de dato que se defina. 4º. Formato, aquí se especifica la manera en que se quiere que se muestren los datos en los formularios o los reportes. Se controla el color y algunas cosas del texto como si se muestra en mayúsculas o minúsculas. No es recomendable poner controles aquí pues es más sencillo hacerlos a través del formulario o los informes. 5º. Máscara de entrada es una ayuda importante en la captura del dato ya que estandariza la manera en que se forma el dato y se guarda en la tabla, es decir, con una máscara se puede hacer que el dato para todos los registros siempre se guarde en mayúsculas, minúsculas o una combinación de éstas, también se pueden añadir caracteres constantes al dato que se esta capturando, por ejemplo en un campo que guarde un código de un artículo y sea necesario que todos los códigos inicien con las letras WK se pone una máscara y así el usuario ya no tendrá Curso de Bases de datos de la Facultad de Zootecnia, UACH 16 que escribir estas 2 letras constantes, también permite controlar la secuencia de letras y números con los que se formarán los datos del campo. Las máscaras de entrada contiene 3 secciones, aunque la única indispensable es la primera la cual trabaja con una serie de caracteres especiales que permiten indicarle al programa como se debe de formar el dato que se va a capturar. La sintaxis de una máscara es la siguiente: Sección primera; Sección segunda; Sección tercera Sección Descripción Primera Especifica la máscara de entrada propiamente dicha, por ejemplo, !(999) 999-9999. Para ver una lista de los caracteres que puede utilizar para definir la máscara de entrada, vea la tabla siguiente. Segunda Especifica si Microsoft Access almacena los caracteres de visualización literales en la tabla al introducir datos. Si utiliza 0 para esta sección, todos los caracteres de visualización literales (por ejemplo, el paréntesis de una máscara de entrada de un número de teléfono) se almacenan con el valor; si introduce 1 o deja esta sección en blanco, sólo se almacenan los caracteres introducidos en el control. Tercera Especifica el carácter que Microsoft Access muestra para el espacio en el que el usuario debe escribir un carácter en la máscara de entrada. Para esta sección, puede utilizar cualquier carácter; para mostrar una cadena en blanco, utilice un espacio entre comillas (" "). Caracteres especiales que se utilizan en una máscara: Carácter Descripción 0 Dígito (0 a 9, entrada obligatoria, signos más [+] y menos [-] no permitidos). 9 Dígito o espacio (entrada no obligatoria, signos más y menos no permitidos). # Dígito o espacio (entrada no obligatoria; los espacios se muestran en blanco en el modo Edición, pero se eliminan cuando se guardan los datos; signos más y menos permitidos). L Letra (A a Z, entrada obligatoria). ? Letra (A a Z, entrada opcional). A Letra o dígito (entrada obligatoria). a Letra o dígito (entrada opcional). & Cualquier carácter o un espacio (entrada obligatoria). Curso de Bases de datos de la Facultad de Zootecnia, UACH 17 C Cualquier carácter o un espacio (entrada opcional). .,:;-/ Marcador de posición decimal y separadores de millares, fecha y hora. (Los caracteres utilizados dependen de los valores del cuadro de diálogo Propiedades de Configuración regional en el Panel de control de Windows). < Hace que todos los caracteres se conviertan a minúsculas. > Hace que todos los caracteres se conviertan a mayúsculas. ! Hace que la máscara de entrada se muestre de derecha a izquierda, en lugar de mostrarse de izquierda a derecha. Los caracteres introducidos en la máscara siempre se rellenan de izquierda a derecha. Puede incluir el signo de exclamación en cualquier lugar de la máscara de entrada. \ Hace que el carácter siguiente se muestre como un carácter literal (por ejemplo, \A se muestra sólo como A). En las máscaras es necesario señalar para cada espacio, que determina el tamaño del campo, que se espera recibir. Por ejemplo: el código de un artículo que esta formado por 4 letras, donde las dos primeras son WK, seguidas de 4 números opcionales. Para este caso el tipo del campo es texto, tamaño 8 pues las dos letras constantes se van a guardar como parte del dato. La máscara correspondiente es: W K L L 0 0 9 9 ; 0;“ ” Indica que se muestren espacios en los lugares vacíos al momento de capturar el dato Indica que se guarden las constantes WK Tamaño 8 a las letras WK el programa las enmarcará ente comillas, quedando la máscara como: “WK”LL0099;0;” “ Otro ejemplo es cuando se requiere guardar el nombre de un perro, y para estandarizar que siempre esté capturado con la primera letra en mayúsculas y las demás en minúsculas se pone una máscara, el tamaño del campo será 15 y la máscara es: >L<??????????????, el carácter L nos asegura que el dato no va a iniciar con espacio sino con una letra que será la que se convierta a mayúsculas, los demás caracteres son letras opcionales pues no podemos obligar que todos los perros tengan un nombre de 15 letras. Curso de Bases de datos de la Facultad de Zootecnia, UACH Más ejemplos: Campo Lo que se va a controlar Placas Formada por 3 letras 4 números y dos letras o números opcionales, todo en mayúsculas RFC 4 letras, 6 números, un guión, 2 letras o numeros opcionales y un número opcional, todo en mayúsculas Dirección máximo 20 caracteres en minúsculas Peso Son 2 enteros y 3 fracciones opcionales 18 Máscara requerida >LLL000aa >LLLL000000-aa9;0 <CCCCCCCCCCCCCCCCCCCC 99.999 Las máscaras son muy útiles y trabajan como una plantilla para controlar la secuencias de letras, números o símbolos especiales que forman el dato pero NO controla cuales letras o números deben ser, para eso se utiliza la regla de validación. 6º. Título, es para escribir el nombre largo del campo, tal como se escriba en el título será como se muestre el campo en un formulario o un informe pues no es conveniente que la persona que va a capturar los datos vea abreviaturas para hacer referencia al campo. 7º. Valor predeterminado. Cuando en una tabla existe un valor que es muy frecuente para ese campo, lo cual implica que al momento de capturar el registro el dato de ese campo se va a estar repitiendo continuamente en la mayoría de los registros, para evitar tener que escribir lo mismo se pone ese dato como un valor predeterminado, lo cual implica que al momento de agregar un nuevo registro el campo toma este valor por default y si es otro dato simplemente se sobreescribe. Ejemplo: En un inventario de equipo de cómputo es necesario guardar el tipo de equipo (computadora, impresora, escanner, etc.) como casi todo lo que se registre serán computadoras el valor predeterminado que se indique en el campo de tipo es “Computadora”. 8º. Regla de Validación. Cuando se necesita controlar el valor del dato que se va a capturar en el campo comparando dicho valor con los datos que se determinaron como válidos en el momento del diseño se utiliza una regla de validación, la cual se basa en expresiones lógicas. Expresiones lógicas Son las que permiten indicar una condición que se debe cumplir sobre uno o varios campos, evaluándose y regresando un Verdadero si se cumple la condición o un Falso si se rechaza. Se utilizan en la estructura de la tabla a través de la regla de validación del campo y la regla de validación de la tabla. También su uso es extenso en las consultas y eventualmente en los formularios o informes. Curso de Bases de datos de la Facultad de Zootecnia, UACH 19 Sintaxis de una expresión lógica Campo Operador de comparación Expresión Constante:”Rojo”,123, #15/03/2003# Función: Fecha(), Año([fecha]) Un cálculo: Fecha()-230 Otro campo: [F_Nac] >,<,>=,<=,=,<>, Entre ___Y ___, Como Nota importante: En reglas de validación para un campo NO se puede comparar el campo con otro campo, de ser esto necesario se debe de hacer desde la regla de validación del registro (Propiedades de la tabla, en vista de diseño), también se omite el nombre del campo en cuestión, pues la regla de validación del campo implica que ya se está haciendo referencia al mismo. Ejemplos: Peso al nacer de un becerro, no debe ser mayor de 42 Kgs ni menor de 25 Kgs PesoNac Entre 25 y 42 La fecha de nacimiento no debe ser después de la fecha actual FechaNac <=fecha() Curso de Bases de datos de la Facultad de Zootecnia, UACH 20 La edad del animal al momento de registrarse debe ser máxima de 15 días FechaNac >= fecha()-15 Cuando se tienen varias condiciones que cumplir en un campo, éstas deben de unirse con un operador lógico, la intersección Y, el cual obliga que las dos condiciones se cumplan para aceptar el dato y la unión O, que permite el dato siempre y cuando se cumpla al menos una de las dos condiciones. Ejemplos de expresiones lógicas Para la raza de una vaca solo acepta razas Charolais, Limousin y Brangus Raza “Charolais” O “Limousin” O “Brangus” El animal debe destetarse con mínimo de 180 días de edad y pesar más de 100 Kgs [Fdestete] > [Fnac]+180 Y [Pdestete] > 100 Ejemplos de expresiones con campos tipo texto y fecha/Hora utilizando constantes Campo Expresión Descripción CiudadEnvío "Londres" Muestra los pedidos enviados a Londres. CiudadEnvío "Londres" O "Hedge End" Utiliza el operador O (Or) para mostrar los pedidos enviados a Londres o a Hedge End. FechaEnvío Entre #5-Ene-95# Y #10-Ene-95# Utiliza el operador Entre...Y (Between...And) para mostrar los pedidos enviados no antes del 5-Ene95 ni después del 10-Ene-95. FechaEnvío #2/2/95# Muestra los pedidos enviados el 2Feb-95. PaísEnvío En("Canadá", "Reino Unido") Utiliza el operador En (In) para mostrar los pedidos enviados a Canadá o al Reino Unido. PaísEnvio Negado "EE.UU." Utiliza el operador Negado (Not) para mostrar los pedidos enviados a países distintos de EE.UU. NombreEnvío Como "S*" Muestra los pedidos enviados a los clientes cuyo nombre empieza por S. NombreCompañía >="N" Muestra los pedidos enviados a Curso de Bases de datos de la Facultad de Zootecnia, UACH 21 compañías cuyo nombre comienza por las letras N a Z. IdPedido Der([IdPedido], 2)="99" Utiliza la función Der (Right) para mostrar los pedidos con valores de IdPedido que terminan en 99. NombreCompañía Longitud([NombreCompañía]) >Val(30) Utiliza las funciones Longitud (Len) y Val (Val) para mostrar los pedidos de las compañías cuyo nombre tiene más de 30 caracteres Ejemplos de expresiones que calculan o manipulan fechas y a continuación usan el resultado como criterio Campo Expresión Descripción FechaRequerida Entre Fecha( ) Y AgregFecha("m", 3, Fecha( )) Utiliza el operador Entre...Y (Between...And) y las funciones AgregFecha (DateAdd) y Fecha (Date) para mostrar pedidos cuya fecha requerida está entre el día de hoy y dentro de tres meses. FechaPedido < Fecha( )- 30 Utiliza la función Fecha (Date) para mostrar los pedidos con una antigüedad de más de 30 días. FechaPedido Año([FechaPedido])=1996 Utiliza la función Año (Year) para mostrar los pedidos con fechas de entrega en 1996. FechaPedido ParcFecha("q", [FechaPedido])=4 Utiliza la función ParcFecha (DatePart) para mostrar los pedidos del cuarto trimestre. FechaPedido SerieFecha(Año ([FechaPedido]), Mes([FechaPedido])+1, 1)-1 Utiliza las funciones SerieFecha (DateSerial), Año (Year) y Mes (Month) para mostrar los pedidos del último día de cada mes. FechaPedido Año([FechaPedido])= Año(Ahora()) Y Mes([FechaPedido])= Mes(Ahora()) Utiliza las funciones Año (Year) y Mes (Month) y el operador Y (And) para mostrar los pedidos del año y el mes actual. Ejemplos de expresiones que usan un valor de campo vacío (Null o cadena de longitud cero) como criterio Campo Expresión Descripción RegiónEnvío Es Nulo Muestra los pedidos de los clientes cuyo campo RegiónEnvío es Null (está vacío). RegiónEnvío No es Nulo Muestra los pedidos de los clientes cuyo campo RegiónEnvío contiene un valor. Curso de Bases de datos de la Facultad de Zootecnia, UACH Fax "" 22 Muestra los pedidos de los clientes que no tienen una máquina de fax, lo que se indica mediante un valor de cadena de longitud cero en el campo Fax en lugar de un valor Null (vacío). Ejemplos de expresiones que usan parte del valor de un campo como criterio Campo Expresión Muestra NombreDestinatario Como "S*" Pedidos enviados a los clientes cuyos nombres empiezan por la letra S. NombreDestinatario Como "*Importaciones" Pedidos enviados a los clientes cuyos nombres terminan por la palabra "Importaciones". NombreDestinatario Como "[A-D]*" Pedidos enviados a los clientes cuyos nombres empiezan de la A a la D. NombreDestinatario Como "*ar*" Pedidos enviados a los clientes cuyos nombres incluyen la secuencia de letras "ar". NombreDestinatario Como "Casa Dewe?" Pedidos enviados al cliente con "Casa" como primera parte del nombre y un segundo nombre de 5 letras, de las cuales las cuatro primeras son "Dewe" y la última se desconoce. Ejemplos de expresiones que usan el resultado de una función de agregado de dominio como criterio Campo Expresión Descripción Carga >(DDesvEst("[Carga]", "Pedidos") + DProm("[Carga]", "Pedidos")) Utiliza las funciones DProm (DAvg) y DDesvEst (DStDev) para mostrar todos los pedidos para los que el coste de carga queda por encima de la media más la desviación estándar del coste de carga. Cantidad >DProm("[Cantidad]", "Detalles de pedidos") Utiliza la función DProm (DAvg) para mostrar los productos pedidos en cantidades superiores a la cantidad de pedido media. Lo anteriormente expuesto se puede resumir en el cuadro que a continuación se muestra, ahí se indica el significado de cada una de las propiedades del campo, tanto generales como de búsqueda. Respecto a las búsquedas, aun cuando puede utilizar el asistente para realizarlas, también lo puede hacer a través de la ficha de búsqueda que se muestra en las propiedades del campo, si utiliza el asistente, éste se encarga de llenar los datos que se requieren, pero desde la ficha de búsqueda se pueden modificar las opciones inicialmente indicadas agregando mas campos, cambiando el campo dependiente o modificando el ancho de la columna, lo que sí es Curso de Bases de datos de la Facultad de Zootecnia, UACH 23 importante es que desde esta ficha se determina la propiedad de Limitar a la Lista, lo cual no permite el asistente. Curso de Bases de datos de la Facultad de Zootecnia, UACH 24 Cuadro de Propiedades del Campo Propiedades Generales Tamaño Formato Máscara de Entrada Título Valor Predeterminado Regla de Validación Texto de Validación Requerido Propiedades de Búsqueda Control de Origen Como se muestra la lista en el formulario De dónde se van a tomar los valores Cuadro de texto Cuadro de lista Cuadro Combinado Tabla/Consulta Lista de Valores SELECT [campo1], [Campo2] FROM [Tabla]; Dato1;dato2;.. El cómo se muestra el dato Controla la secuencia de caracteres que forman el dato Tipo de origen de la fila Origen de la fila Cuales valores forman la lista Substituye el nombre del campo en los formularios e informes Dato que toma este campo en un registro nuevo Columna dependiente De cual columna se toma el valor que se seleccione Número de Columnas Condiciona el dato utilizando expresiones lógicas Texto libre que indica en que consiste la RV Obliga la captura Ancho de Columnas En cuantas columnas se distribuyen los datos Espacio para 3cms;4cms c/columna separado por ; Solo acepta datos que estén en la lista Limitar a la lista Curso de Bases de datos de la Facultad de Zootecnia, UACH 25 Campo llave o Campo principal Para finalizar se debe señalar el campo que se utilizará como llave o principal, utilizando ya sea la barra de herramienta principal con el icono o a través del menú que aparece al presionar el botón derecho del mouse Si al marcar el campo como campo llave aparece el siguiente error: Nos indica que la tabla tiene capturados datos y alguno o algunos de los registros tiene el campo que se esta indicando como llave sin un valor capturado, lo cual no es permitido, para solucionar esto, debe desmarcar el campo como llave, salvar la estructura y cambiarse a la Curso de Bases de datos de la Facultad de Zootecnia, UACH 26 vista de datos para eliminar el registro o capturar el valor que corresponde en el campo que vamos a requerir como llave. Otro error que puede ocurrir es lo cual nos indica que ya se habían capturado datos en la tabla antes de señalar el campo llave y durante la captura se hicieron dos o mas registros con el mismo valor en el campo que queremos trabajar como llave. Primero debe corregir el dato antes de hacer la modificación en la estructura. Herramientas de Access para obtener las ventajas de un DBMS Es a través de las propiedades de los campos y de la tabla como se logra obtener la Consistencia e Integridad, que se mencionaron como ventajas de utilizar un Sistema Manejador de Bases de Datos. La consistencia se tendrá utilizando las búsquedas tanto en tablas adicionales como en listas de valores y las máscaras de entrada. La integridad de los datos se controlará con definir correctamente el tipo de datos, las búsquedas en listas de valores definiendo que se limite a la lista y principalmente con las reglas de Validación. El compartir de los datos es utilizando la opción de copiar – pegar o a través de las consultas de creación de tablas o de anexar datos, también esta la opción de importar o exportar presente en el menú de opciones del botón derecho del mouse. La independencia de los datos se obtiene con la opción de exportar la tabla, que se muestra en el submenú de Archivo del menú principal, o con el menú que se despliega al presionar el botón derecho del mouse cuando se tiene seleccionada una tabla. Curso de Bases de datos de la Facultad de Zootecnia, UACH 27 Desde este menú de opciones, se puede cambiar el nombre a la tabla, sacar una copia en otra tabla que se guarda en la misma base de datos, imprimir el listado de los registros sin un formato determinado, etc. Curso de Bases de datos de la Facultad de Zootecnia, UACH 28 Consultas Como ya se ha hablado, los datos guardados en las diversas tablas de la base de datos se convierten en información hasta en el momento en que son útiles y significativos para el usuario, quien los requiere para tomar alguna decisión específica. Para obtener información es necesario en primer término tener alimentadas las tablas con los datos y posteriormente manejar los datos según lo que se requiera. Access brinda una potente herramienta llamada Consultas para obtener información y algo más, a través de consultas podemos: Compartir datos entre tablas: combinando campos de varias tablas, compartiendo grupos de registros entre dos tablas o creando nuevas tablas a partir de las ya existentes. Filtrar campos, trabajando solo con los campos de nuestro interes Filtrar registros, ya sea por posición en la lista de registros a partir del primer registro que se observe en el resultado de la consulta o por valores que tengan en los campos Calcular formulas para cada uno de los registros a partir de los datos que están en sus campos o clasificando los registros por alguna característica común para posteriormente hacer cálculos sobre el grupos de registros. Ordenar los datos Clasificar por una o varias características comunes entre los registros Anexar datos de una tabla a otra Eliminar un conjunto de registros definidos por una o varias opciones Crear una tabla con datos específicos de otra tabla. Reemplazar un valor de un campo por otro valor de forma selectiva Hacer filtros dinámicos donde el usuario personaliza los filtros según sus necesidades Tipos de Consultas Existen 6 tipos de consultas: Curso de Bases de datos de la Facultad de Zootecnia, UACH 29 Las consultas de selección son las más utilizadas, pues son las que muestran información específica en la pantalla y a partir de ellas puede crear formularios e informes. A excepción de la consulta de tabla de referencias cruzadas, el resto de las consultas se utilizan para afectar directamente a los datos de las tablas por eso se les conocen como consultas de acción. Diseño de la consulta Al igual que las tablas, las consultas tienen dos vistas, una es vista de diseño donde configuramos todo lo necesario para obtener los datos requeridos y la otra es cuando la consulta ya esta creada y se ejecuta para obtener los resultados cada vez que se requieran. Para crear una consulta existen dos opciones: una es con el asistente, el cual permite seleccionar las tablas o consultas previas y los campos con los que se va a trabajar y la otra es desde vista de diseño que es donde se tiene el control total sobre todos los elementos de la consulta. Nosotros usaremos la opción de crear la consulta en vista de diseño. En vista de diseño la pantalla se separa en dos partes, como se muestra en la figura Curso de Bases de datos de la Facultad de Zootecnia, UACH 30 Aquí se muestran las tablas o consultas con las que va a trabajar Los campos que formarán la consulta, seleccionados de las tablas con doble clic Claro que las tablas o consultas deben estar relacionadas o tener algo en común para que se establezca una relación dentro de la consulta. La barra principal de herramientas para el diseño de la consulta tiene los siguientes elementos Cuando inicia la creación de la consulta usted debe seleccionar las tablas o consultas que serán el origen de los datos y posteriormente pasar los campos con los que va trabajar a las columnas que se muestran en la parte inferior de la pantalla. Para hacer esto solo presione doble clic del ratón sobre el campo requerido. Los elementos que forman parte de las columnas son: Curso de Bases de datos de la Facultad de Zootecnia, UACH 31 Compartir datos de varias tablas o consultas Las tablas deben tener campos comunes para poder compartir campos entre ellas, simplemente pasa los campos que necesita a las columnas. Lo mismo es para los filtros de campos. Ordenar en Ascendente o Descendente Los registros se pueden mostrar ordenados respecto a uno o varios campos, seleccionando de manera individual cual es el orden que le corresponde a cada uno, el orden se realizara a partir del campo señalado que este más a la izquierda, terminando con el campo que esté en el extremo derecho. Se utilizan varios campos cuando se considera que varios registros pueden tener repeticiones en el mismo campo y es necesario otra u otras referencias de ordenación. Primero ordena por país Filtros de registros Por posición en el listado Considerando la lista de registros resultado de la consulta se puede limitar a que se muestren solo un cierto número de registros a partir del primer registro de la lista. Esto se hace desde la vista de diseño en la barra de herramientas con el siguiente icono Aunque cuenta con valores predeterminados, se personalizar el dato Por valor en sus campos Usted puede condicionar los registros con los cuales va a trabajar a partir de restricciones sobre los valores posibles guardados en los campos. Esto se hace a través de expresiones lógicas. Curso de Bases de datos de la Facultad de Zootecnia, UACH 32 Como se mencionó en el diseño de la tabla las expresiones lógicas consisten en la comparación de un campo con un dato, donde se regresa un valor verdadero si se cumple la condición o de lo contrario regresa un valor negativo. Constante:”Rojo”,123, #15/03/2003# Operador de comparación Campo Expresión Función: Fecha(), Año([fecha]) Un cálculo: Fecha()-230 Otro campo: [F_Nac] >,<,>=,<=,=,<>, Entre ___Y ___, Como Como el nombre del campo ya esta indicado no es necesario escribirlo en la expresión lógica Cuando usted escribe un valor constante en el criterio el programa delimita ese valor según el tipo de dato que corresponda. Constantes tipo texto: “Alberto” , “Alemania”, “Samaniego #2345” Constantes tipo fecha: #25/02/2001#, #13/03/2003#, #31/12/2003# Constantes tipo número: 123, 34.5, 45678.567 Ejemplos de campos: [FechaNacimiento], [Nombre], [Peso al Nacer] Solicitud de un dato al usuario de la consulta (recuerda que eres el diseñador) Cuando se quiere hacer una consulta abierta, es decir, que no trabaje con datos fijos o constantes, sino con los que indique la persona que esta ejecutando la consulta se hace una Curso de Bases de datos de la Facultad de Zootecnia, UACH 33 solicitud del dato en lugar de escribir el valor fijo desde el diseño de la consulta, para esto se reemplaza el valor fijo por una pregunta que se le hará al usuario escrita entre corchetes. Debe tener cuidado de que el texto que escriba dentro de los corchetes NO coincida con el nombre de un campo, pues esto indicaría que tome el valor del campo. Ejemplos: Trabajando con constantes “Alemania” >45.50 Como “B*” Trabajando con una solicitud de dato [De cual país quiere los pedidos?] >[Mayor de cual precio?] Como [Con cual letra inicia?]+”*” El signo + o & son de concatenación en datos tipo texto, es decir, sirven para unir varios textos en uno solo Operadores de comparación: > Mayor que < Menor que >= Mayor o igual <= Menor o igual <> Diferente Entre Vmín y Vmáx Controla rangos entre un valor mínimo y un valor máximo = Busca valores que sean exactamente iguales a la expresión del criterio Como Se utiliza para encontrar solo partes de texto en un campo tipo texto, trabaja en conjunto con los comodines * y ?, donde el * significa que substituye o ignora un grupo de caracteres y el ? solo ignora el caracter de la posición donde se ubique. Ejemplos del operador Como Como “A*” busca todo lo que inicia en A Como “*on” busca todo lo que finaliza en on Como “*on*” busca todo lo que contenga la combinación on sin importar la posición Como “?a*” busca todo lo que la segunda letra sea una a también funciona para campos tipo fecha Como “*03” Busca todas las fechas que el año terminan en 03 Como “*/03/* Busca todas las fechas que el mes es de marzo Como “03*” Busca todas las fechas que el día es 3 Curso de Bases de datos de la Facultad de Zootecnia, UACH 34 Para formar la expresión de comparación puede utilizar el generador de expresiones. Desde esta ventana puede accesar las funciones incorporadas y los campos de las tablas del sistema. De aquí selecciona los campos A continuación se muestra un cuadro con las funciones más comunes escritas con la versión en español, considere que un registro tiene en su campo FechaNacimiento el valor de 11/02/1968 y en el campo Nombre el valor de Soraya, para trabajar con el ejemplo. Nombre de la función Ejemplo Ahora() Ahora() HoraActual() HoraActual() Valor que regresa La fecha de la computadora La hora de la computadora Curso de Bases de datos de la Facultad de Zootecnia, UACH 35 Año([campo o dato tipo fecha]) Año(#16/10/2003#) Año([FechaNacimiento]) 2003 1968 Mes([campo o dato tipo fecha]) Mes(#16/10/2003#) Mes([FechaNacimiento]) 10 02 Día([campo o dato tipo fecha]) Día(#16/10/2003#) Día([FechaNacimiento]) 16 8 DíaSemana([campo o dato tipo fecha]) DíaSemana(#16/10/2003#) DíaSemana([FechaNacimiento]) 5 1 NombreDíadelaSemana( # de día del 1 al 7) NombreDíaSemana(5) NombreDíaSemana(DíaSemana([FechaNacimiento])) Jueves Domingo Izq(texto,# de letras) Izq(“Alonso”,2) Izq([Nombre],4) Al Sora Der(texto,# de letras) Der(“Alonso”,2) Der([Nombre],4) so raya También tiene los cuadros de ejemplos que se mostraron en el capítulo de Tablas en expresiones lógicas. Campos calculados Según la tercera forma normal, ningún campo que pueda calcularse a partir de otro campo debe capturarse en el registro, por lo tanto es en consultas donde podemos obtener este tipo de campos que en ocasiones son necesarios para presentarle información al usuario. La sintaxis de un campo calculado es la siguiente: Nombre del campo que se va a calcular: Cálculo que generará el nuevo dato El campo calculado se escribe en una columna vacía de la consulta en el renglón de campo Nuevo campo con el nombre día que muestra el día de la semana a partir de la fecha de nacimiento Curso de Bases de datos de la Facultad de Zootecnia, UACH 36 Ejemplos: fecha_prox_parto: [Fpreñez]+210 Edad: (fecha()-[FechaNacimiento])/365 Incremento_diario: ([pesofinal]-[pesoinicial])/([fechafinal]-[Fechainicial]) Trabajando con grupos de Registros Se pueden clasificar o agrupar los registros respecto a uno o varios campos con valores comunes, para posteriormente realizar algunos cálculos con campos tipo número donde solo intervengan los registros del grupo. Por ejemplo si tuviera una tabla los artículos que ha vendido, es necesario saber cuantas unidades ha vendido por cada artículo diferente, o cuales artículos son los más solicitados aun cuando el volumen de la venta no sea muy alto, en cual mes es cuando mas vende, etc. Para accesar todas las opciones de totales o grupos es necesario que presione el icono se muestra en la barra de herramientas del diseño de la consulta. que Los cálculos que puede realizar con los registros del grupo son: suma, promedio, desviación estandar y varianza (solo trabajan para campos tipo número); y cuenta, mínimo, máximo, primero, último (para campos tipo número, texto y fecha), en realidad el cálculo de cuenta no considera el campo señalado sino los registros del grupo. La opción de agrupar por se aplican en los campos respecto a los cuales se formarán los grupos, si son varios campos se agrupa considerando los campos de izquierda a derecha La opción de dónde es para cuando se va a condicionar con cuales registros se quiere trabajar, pero no afecta las operaciones de los grupos ni se muestra el campo en el resultado de la tabla. La opción expresión, es para campos calculados que impliquen una función de cálculo de grupo como Suma(), Promedio(), Var(), etc. Curso de Bases de datos de la Facultad de Zootecnia, UACH 37 Botón de grupos Renglón Nuevo La combinación de todos los elementos anteriormente expuestos hacen de Consultas una potente herramienta para obtener información a partir de las tablas, dichos elementos funcionan en su totalidad en las consultas de selección, para los otros tipos de consultas existen limitaciones considerando el tipo de tarea para la que fueron creadas. Cuando se hace una consulta con campos calculados no se pueden poner criterios en el campo que se esta calculando, es necesario crear otra consulta basada en la consulta donde se hicieron los campos calculados. Podemos mezclar varias consultas para obtener resultados complejos. Normalmente a partir de las consultas se realizan gráficas, formularios e informes impresos. Consultas de creación de tablas Se utilizan para crear nuevas tablas a partir de los resultados de la consulta. Se utilizan comúnmente cuando se requiere pasar solo ciertos datos a una persona extraña y no queremos que tenga acceso a todos los datos almacenados, así se crean sus propias tablas que se pueden guardar en una base de datos diferente. Curso de Bases de datos de la Facultad de Zootecnia, UACH 38 Consulta de datos anexados Se utilizan cuando el resultado de la consulta se requiere añadir a los registros ya existentes en otra tabla Curso de Bases de datos de la Facultad de Zootecnia, UACH 39 En el renglón de Anexar a se debe indicar el campo común o el campo que corresponda en la tabla de destino con el campo de origen en la consulta. Es decir, en cual campo se van a guardar los datos de esa columna de la consulta. Consulta de actualización Se utiliza para reemplazar un dato de la tabla por uno nuevo, a partir de una serie de condiciones que se indiquen en la consulta. Nuevo valor que será guardado Consulta de Eliminación Para borrar definitivamente un grupo de registros de una tabla a partir de una serie de condiciones que se deben cumplir previamente, cuando se ejecuta la consulta el programa Curso de Bases de datos de la Facultad de Zootecnia, UACH 40 brinda la opción al usuario de cancelar la operación, pero si se acepta los datos ya no se pueden recuperar. Consulta de tablas de referencias cruzadas Cuando se necesita que los diferentes valores que guarde un campo formen las columnas de del resultado de la consulta y otro campo se considere para indicar los grupos de registros con los que se efectuarán los cálculos que se permiten con la opción de totales, se requiere una consulta de referencia cruzada. Comúnmente se utiliza cuando durante el diseño de la base de datos se aplicó la primera forma normal inciso b, la cual menciona que no deben de existir 2 o mas campos que describan el mismo atributo (Examen1, examen2, examen 3, etc), mejor se crea una tabla que maneje un registro para cada examen, cuando se requiere ver los datos con una presentación de una tabla con una columna por examen se crea una consulta de referencia cruzada. Tabla con error en el diseño, pero que se muestra de forma sencilla para el usuario: Matrícula Calificación Ex1 Calificación Ex2 Calificación Ex3 145678 65 75 84 345236 72 83 98 Manera correcta de organizar los datos aplicando la 1ª. Forma normal Matrícula Calificación Examen 145678 65 1 145678 75 2 145678 84 3 345236 72 1 345236 83 2 345236 98 3 Curso de Bases de datos de la Facultad de Zootecnia, UACH 41 Tabla creada de la manera correcta, aun cuando para el usuario no sea tan sencillo interpretar la información Si se utiliza una consulta de Con el siguiente diseño Curso de Bases de datos de la Facultad de Zootecnia, UACH 42 Se obtiene un resultado similar al primer planteamiento de la tabla, donde el usuario puede distinguir fácilmente los datos En este tipo de consultas puede trabajar con varios encabezados de fila, pero solo un encabezado de columna. Curso de Bases de datos de la Facultad de Zootecnia, UACH