Bases De Datos Con MS Access - Unican.es

Transcription

Bases de Datoscon MS AccessCreación de BD UniversidadPedro CorcueraDpto. Matemática Aplicada yCiencias de la ComputaciónUniversidad de Cantabriacorcuerp@unican.es

Objetivos Desarrollar bases de datos con MS Access Diseñar y desarrollar una base de datosBases de Datos2

Indice Concepto de Base de DatosBase de Datos es de Datos3

Concepto de Base de Datos Una base de datos es un conjunto (colección) dedatos (información) organizado (estructurado) deforma adecuada para facilitar la gestión de losmismos Se aplican en cualquier sistema de gestión personal,comercial y empresarial Habitualmente los datos se organizan en tablas. Lasfilas (registros) contienen los datos de un elemento,las columnas (campos) los de una clase de datos.Bases de Datos4

Concepto de Base de fonoManuelFernandez DiazC/ Requena, 10Barcelona(942)796-45-12NicolásCarpio BatalerC/ Vazquez, 57Hospitalet(942)788-12-45LuisaDarocas AndrésC/ Tarragona, 23San Feliu(088)795-45-45AntoniaPerez LopézPl. San Miguel, 85Madrid(091)789-23-12FelisaGrau SánchezC/ Felipe III, 167Alcovendas(091)455-23-15ArmandoTarancón ArgenteC/ Huelva, s/nHospitalet(942)788-45-45CampoBases de DatosRegistro5

Tablas y Bases de Datos Las Bases de Datos Planas (tabla única) contienentoda la información necesaria en una sola tabla Problemas de las Bases de Datos Planas:––––Redundancia de informaciónGran volumen de almacenamientoDificultad para actualizar un datoConsistencia de la informaciónBases de Datos6

Bases de Datos relacionales Para resolver los problemas de redundancia einconsistencia se divide la información de la BD envarias tablas relacionados a través de camposcomunes Las Bases de Datos Relacionales contienen lainformación separada en distintas tablas de formaordenada y eficiente Cada tabla se refiere a los elementos de otra tablamediante relaciones en ciertos campos en ambastablasBases de Datos7

Gestor de Bases de Datos Un Gestor de Bases de Datos es un programa quepermite: Introducir, Almacenar y Recuperar datospara trabajar con ellos. Ejemplos de sistemas de gestión de bases de datoscomunes: Oracle, SQL Server, MySQL, MS Access. Para el diseño de las tablas que conforman una basede datos relacional se utiliza la técnica denormalizaciónBases de Datos8

MS Access 2007 Gestor de Bases de Datos relacional que permite diseñar ydesarrollar fácilmente los siguientes elementos de una asFormulariosInformesPáginas WebMacrosMódulosBases de Datos9

MS Access 2007: InicioBases de Datos10

MS Access 2007: Pantalla de entradaPulsar sobre el icono “Base de datos en blanco”para crear una base de datos partiendo de cero.Bases de Datos11

MS Access 2007: Crear BDSeleccionar el directorio donde se quiere ubicarel archivo que contendrá la base de datos y elnombre que se le desea dar. Una vezseleccionados los valores se presionará el botón“Crear”.Bases de Datos12

MS Access 2007: Crear BDPulsar sobre el icono “BotónOffice” y la opción NuevoSeleccionar el directorio donde se quiere ubicarel archivo que contendrá la base de datos y elnombre que se le desea dar. Una vezseleccionados los valores se presionará el botón“Crear”. Extensión .accdbBases de Datos13

MS Access 2007: Pantalla inicialPanel deExploración, desdedonde podemosseleccionar todos losobjetos que soncreados dentro de labase de datos.Access crea pordefecto Tabla1Una tabla es el elemento principal decualquier base de datos ya que todos losdemás objetos se crean a partir de éstasBases de Datos14

Ejemplo de Base de Datos: Universidad Se requiere el desarrollo de una BD para gestionar lascalificaciones de alumnos en una Universidad. Se supone que cada año hay una única convocatoria y portanto una única calificación. Tablas para almacenar la rasMatrícula CalificacionesBases de Datos15

BD Universidad: Atributos de las tablas Tablas:– Alumnos DNI, Nombre, Apellidos, Fecha de Nacimiento, Sexo, Dirección, Ciudad,Provincia, Código Postal, Teléfono, e-mail– Profesores DNI, Nombre, Apellidos, Teléfono, e-mail– Asignaturas Código, Nombre, Descripción, Tipo, Créditos, DNI del profesor– Matrícula Calificaciones DNI del alumno,, Código de la asignatura Curso, Calificación.Bases de Datos16

Campos Clave de una Tabla La clave principal o campo clave es un campo o conjunto decampos que identifican los registros de la tabla de modoúnico. El contenido de la clave principal es diferenet para cadaregistro de la tabla y no puede ser nulo Los campos que forman la clave principal se llaman camposclave En la vista diseño se identifican porBases de Datos17

Creación de Tablas Tablas:Bases de Datos18

Tablas en Vista Diseño En el Modo de Diseño se crean los campos que va acontener la tabla, el nombre del campo, el tipo de datos(Texto, Numérico, Autonumérico, Fecha/Hora, Si/No, etc.), yuna descripción del campo. Cada tabla debe tener una Clave Principal o Clave Primaria,que es uno o más campos que identifican cada registro demanera única (p.e. DNI A).Bases de Datos19

Tablas en Vista DiseñoBases de Datos20

Tablas en Vista DiseñoBases de Datos21

Tipos de datosTipoDatosadjuntosDescripcióncomo fotos digitales. En cada registro es posible adjuntar variosarchivos. No disponible en versiones anteriores a 2007 de Access.Autonumérico Números que se generan automáticamente para cada registroMonedaValores monetarios.Fecha/HoraFechas y horas.HipervínculoHipervínculos, como direcciones de correo electrónico.MemoBloques de texto largos y texto que emplean formato de texto. Ejemplo:descripción de producto detallada.NúmeroValores numéricos. Hay un tipo de datos independiente para la moneda.Objeto OLEObjetos OLE (para la vinculación e incrustación de objetos).TextoValores alfanuméricos cortos, como un apellido o una dirección.Sí/NoValores booleanos.Bases de Datos22

Propiedades habituales de los camposPropiedadDescripciónTamañoIndica el máximo de caracteres/espacio.FormatoFormato que se aplica al campo, no al almacenamientoMáscara de entradaEstablece cómo debe ser el dato: número y clase de caracteresque debe tener. Manual o mediante asistenteLugares decimalesNúmero de cifras decimales que se mostrarán en los campostipo número y monedaValor predeterminado Valor automático en nuevos registros. Tiene gen. expresionesRegla de ValidaciónCondición que deben cumplir los datos. Tiene gen.expresionesTexto de ValidaciónMensaje que aparece cuando el valor no cumple la regla devalidaciónRequeridoSi es SI el campo no podrá estar vacíoIndexadoCrea índices, con o sin duplicados (campos clave son índices)Bases de Datos23

Tabla AlumnoNombre del CampoTipos de datos y Propiedades del campoDNI ACampo clave; Texto (9); Máscara de entrada (NIF)Nombre ATexto (25); Requerido (Sí)Apellidos ATexto (50); Requerido (Sí)FNacimientoFecha/Hora; Formato (Fecha corta); Requerido (Sí)SexoTexto (1); Regla validación (“M”, “F”); Texto de validación (EntrarM para Masculino y F para Femenino)DireccionTexto (50)CiudadTexto (50) ; Valor predeterminado (Santander)ProvinciaTexto (25); Valor predeterminado (Cantabria)CdPostalTexto (5); Máscara de entrada (Código Postal)Telefono ATexto (12); Máscara de entrada (núm. de teléfono)Email ATexto (50)Bases de Datos24

Tabla Alumno en AccessBases de Datos25

Tabla ProfesoresNombre del CampoTipos de datos y Propiedades del campoDNI PCampo clave; Texto (9); Máscara de entrada (NIF)Nombre PTexto (25); Requerido (Sí)Apellidos PTexto (50); Requerido (Sí)Telefono PTexto (12); Máscara de entrada (núm. de teléfono)Email ATexto (50)Bases de Datos26

Tabla AsignaturasNombre del CampoTipos de datos y Propiedades del campoCOD AsigCampo clave; Texto (9)Nombre AsigTexto (25); Requerido (Sí)DescripciónMemoTipoTexto (1); Regla validación (“T” o “B” o “O”, “L”); Asistente parabúsquedaCréditosNúmero (simple); Formato (Estándar); Lugares decimales (1);Valor predeterminado (4.5); Regla de validación ( 4.5); Texto devalidación (No se permiten asignaturas con menos de 4.5créditos); Requerido (Sí)DNI PTexto (9); Máscara de entrada (NIF); Asistente para búsquedaBases de Datos27

Tabla Matrícula CalificacionesNombre del CampoTipos de datos y Propiedades del campoDNI ACampo clave; Texto (9); Máscara de entrada (NIF); Asistente parabúsquedaCOD AsigCampo clave; Texto (9); Asistente para búsquedaCursoCampo clave; Número (Entero Largo); Valor predeterminado(Año(Fecha()))CalificaciónNúmero (simple); Formato (Estándar); Lugares decimales (1);Valor predeterminado (quitar el cero que pone por defecto); Reglade validación ( 0 y 10)Bases de Datos28

Introducción de datos Introducción directa: Abrir la tabla en modo vistaHoja de datos. Para ello seleccionar la tabla y pulsarel botón Abrir o hacer doble clic sobre la tabla.– También es posible ordenar los datos de acuerdo al valorde cierto campo, filtrarlos en base a ciertos criterios. Mediante Formularios de entrada de datos. Permiteingresar, modificar y ver los registros de una tabla.Bases de Datos29

Introducción de datos: Formularios La introducción de los datos directamente en lastablas puede ser incómoda y provocar errores. LosFormularios permiten la entrada de los datos en lastablas de una forma más intuitiva y elegante. Crear un formulario usando el Asistente:––––Ingresar la tabla y los camposIngresar el tipo de formularioElegir el formatoPoner el nombreBases de Datos30

Relaciones e Integridad Referencial Las relaciones entre tablas impiden realizar accionesque dejen la información inconsistente y permitenvincular las tablas para ir desde una tabla a otrautilizadas en consultas, formularios e informes. Una relación se crea vinculando los campos queconstituyen la clave principal de una tabla con loscampos que tiene la misma información, clave ajena,en otra tabla.Bases de Datos31

Establecimiento de relaciones Normalmente se usa el mismo nombre de campo en lastablas que se desean relacionar (clave principal, clave ajena). En la BD Universidad:– La tabla Profesores se relaciona con la tabla Asignaturasmediante el campo DNI D.– La tabla Alumnos se relaciona con la tablaMatricula Calificaciones a través del campo DNI A.– La tabla Asignaturas se relaciona con la tablaMatricula Calificaciones a través del campo COD ASIG.– Las tablas Alumnos y Profesores, así como Profesores yMatricula calificaciones no tienen relación.Bases de Datos32

Tipos de relaciones Teniendo en cuenta el número de ocurrencias entre los elementos(registros) que se relacionan se definen tres tipos de relaciones:– Relaciones uno a uno: Un registro de la tabla principal sólo está relacionado conun registro de la tabla subordinada y viceversa. Este tipo de relación es pocofrecuente.– Relaciones uno a varios: Un registro de la tabla principal se relaciona con variosregistros de la tabla subordinada y uno de la tabla subordinada sólo se relacionacon uno de la tabla principal. Este tipo de relación es el más frecuente.– Relaciones varios a varios: Un registro de la tabla principal puede estarrelacionado con varios de la tabla subordinada y, a su vez, un registro de la tablasubordinada puede estar relacionado con varios de la tabla principal. Este tipo derelación no puede darse en Access.Bases de Datos33

Integridad referencial Conjunto de reglas que emplean todos los gestoresde bases de datos relacionales para garantizar que laBD mantiene en todo momento la información deforma consistente. Si se selecciona la opción de Exigir integridadreferencial se activan las opciones:– Actualizar en cascada los campos relacionados.– Eliminar en cascada los registros relacionados.Bases de Datos34

Creación de relaciones En el menú Herramientas de bases de datos Relaciones es posible relacionar las tablas paraformar una base de datos relacional. Primero se deben agregar las tablas a relacionar paraque aparezcan en el diagrama. Para crear una relación entre dos tablas se debeseleccionar el campo que se repite en ambas tablas.Bases de Datos35

Creación de relacionesBases de Datos36

Modificación de relaciones En la ventana Relaciones situar el puntero sobre lalínea que representa una relación y hacer clic paraseleccionarla. Si se hace doble clic se obtiene laventana Modificar relaciones. Marcar la opción Exigir integridad referencial y elresto de opciones que se activan. Para crear una relación entre dos tablas se debeseleccionar el campo que se repite en ambas tablas.Bases de Datos37

Modificación de relacionesBases de Datos38

Consultas Una Consulta es una solicitud de información a laBase de Datos. Los datos mostrados puedenproceder de una tabla o de un conjunto de ellas. Hay dos tipos de consulta:– Consultas de selección, seleccionan en una o mástablas y/o consultas previas la información de interés y lamuestran en el orden fijado por el usuario.– Consultas de acción, permiten crear tablas con datosexistentes y datos calculados, reemplazar unos valorespor otros y añadir y eliminar registros en las tablas.Bases de Datos39

Consultas de selección Pueden ser:– Consultas de selección de parámetros, el usuariointroduce por teclado en el momento de su ejecución partedel criterio de selección.– Consultas de selección de cálculo de totales, permitenrealizar cálculos con la información obtenida en laselección (p.e. totales, promedios,etc.). Para crear una consulta, hacer clic en el botónDiseño de Consulta en la pestaña Crear:Bases de Datos40

Creación de consultas En la ventana de la BD (Universidad) seleccionarHerramientas de tabla Otros Nuevo Objeto Consultas Procedimiento:– Identificar objetivo de la consulta.– Elegir la o las tablas y/o consultas previas que almacenan lainformación necesaria.– Seleccionar los campos necesarios.– Establecer el orden de visualización.– Indicar los campos a mostrar.– Establecer criterios de los registros a visualizar.– Ejecutar la consulta.– Si los resultados no son los deseados, pasar a modo diseño ymodificar hasta conseguir objetivo.– Guardar y cerrar la consultaBases de Datos41

Creación de consultasBases de Datos42

Consultas Con una tabla:– Dirección de correo postal de los alumnos domiciliados enla ciudad de Santander por orden alfabética de apellidos.– Nombre completo y fecha de nacimiento de los alumnosnacidos en el año 1988 y domiciliados en la provincia deSantander, ordenado por fecha de nacimiento.– Nombre completo y DNI de los alumnos cuyo nombrecomienza con la letra L, ordenado por nombre.Bases de Datos43

Consultas Con más de una tabla:– Apellidos, nombre y curso de los alumnos matriculados enla asignatura Sistemas de Potencia, ordenado porapellidos.– Apellidos, nombre, curso y calificación de los alumnosaprobados en la asignatura Ingeniería Térmica, ordenadopor apellidos.– Curso, apellidos, nombre y asignatura de los alumnos delprofesor Oria, ordenado por curso y apellidos.Bases de Datos44

Consultas en Vista SQL Las consultas poseen un lenguaje propio, llamado LenguajeSQL, que es un estándar usado por todos los sistemasgestores de bases de datos. Es posible ver la consulta en lenguaje SQL creada por laconsulta que hicimos en vista de diseño seleccionando VistaSQL. Algunos Comandos del lenguaje SQL:––––SELECT: Seleccionar tales Campos.FROM: De tales Tablas (INNER JOIN sirve para unir tablas relacionadas).WHERE: Cuando se quiere cumplir algún criterio en los datos.ORDER BY: Ordena un campo en orden ascendente (ASC) odescendiente (DESC). Para aprender más del lenguaje SQL , su sintaxis y otroscomandos ir a http://www.w3schools.com/sql/default.aspBases de Datos45

Informes Sirven para presentar los datos de una tabla oconsulta generalmente para imprimirlos. A diferencia de los formularios los datos queaparecen en in informe sólo se pueden visualizar oimprimir (no se pueden modificar). Muestran los datos almacenados en una o más tablasy/o consultas que estén relacionados entre sí,permiten agrupar la información a mostrar en variosniveles, así como calcular totales y promedios desubgrupo y de grupo.Bases de Datos46

Creación de un Informe Es parecido a crear un formulario. Procedimiento utilizando el Asistente para informes:– Elegir la tabla o consulta– Pasar los campos a mostrar en el informe del cuadroCampos disponibles: al cuadro Camposseleccionados:– Fijar los niveles de agrupamiento– Establecer la ordenación de los registros– Seleccionar el tipo de distribución– Seleccionar el estilo– Dar un título, nombre, al informeBases de Datos47

Creación de Informes Informe basado en una tabla– Se desea una lista con los nombres y direcciones de losalumnos agrupada por provincia, ciudad y código postal. Informe basado en varias tablas y/o consultas– Lista de alumnos matriculados en el curso 2011 en cadaasignaturaBases de Datos48

Diseño de Informes En la ventana de diseño de informes se puedeseleccionar Vista diseño y se puede configurar todo lorelativo al formato del informe.Bases de Datos49

Herramientas de bases de datos: Analizar Access 2007 dispone de varias herramientas deanálisis:– Documentador de base de datos– Análizar rendimiento– Analizar tabla Analizar Tabla permite detectar errores en el diseñolas tablas. Por ejemplo, si encuentra redundancia,repartirá los datos en varias tablas y relacionándolas Es mejor utilizarla una vez se tenga datosintroducidos en la base de datosBases de Datos50

Tipos de relaciones Teniendo en cuenta el número de ocurrencias entre los elementos (registros) que se relacionan se definen tres tipos de relaciones: - Relaciones uno a uno : Un registro de la tabla principal sólo está relacionado con un registro de la tabla subordinada y viceversa. Este tipo de relación es poco frecuente .