Access Conceptos Basicos

download Access Conceptos Basicos

of 147

Transcript of Access Conceptos Basicos

  • AccessTema 6: Relaciones Laborales

  • Bases de datosLas bases de datos, son sistemas que permiten almacenar un gran conjunto de datos de forma relacionada.Lo interesante es que permiten recuperar la informacin en un tiempo record y que si la informacin esta lo suficientemente bien catalogada, se le puede interrogar como si fuese un ser humano.

  • RelacionesEs importante destacar que Access es un Gestor de Bases de Datos relacionales, es decir que utiliza la relacin existente entre los datos para llevar a cabo las consultas. Existen otros modelos tales como los orientados a objeto y los basados en inteligencia artificial, pero son ms complejos de utilizar y probablemente para aplicaciones sencillas slo se complicara la programacin

  • CamposPara disear una base de datos lo primero es saber qu datos vamos a guardar:

    NombreApellidosDNITelefonoetc

  • CamposA cada uno de estos datos le damos el nombre de campo. Por eso diremos algo as como haz una bsqueda por el campo nombre.Hay que preguntarse si definimos un solo campo Nombre o si bien queremos dos Nombre y Apellidos

  • CamposLo ms sencillo es uno solo: NombreSin embargo Apellidos + Nombre nos permite ordenar la base de datos por apellidos que es ms til que por nombre.Hay que tener claro que uso se le dar a la base de datos y sopesar el uso de complejidad adicional que puede ser fundamental o engorrosa.

  • Tipos de datos?NombreApellidosDNIFecha de nacimientoEdad

    Nombre = Fecha de nacimiento = Edad?

  • Tipos de datos?Nombre: Texto (mximo 255 caracteres)Apellidos : Texto (mximo 255 caracteres)DNI : Texto (mximo 9 caracteres)Fecha de nacimiento: FechaEdad: Nmero (entre 1 y 120)

    Nombre Fecha de nacimiento Edad

  • Tipos de datos?Para que complicarnos, todo tipo Texto :DIntenta ordenar entonces:

    Culpable: Se ordena primero por el primer carcter entonces 5 es mayor que 20

    1101520255

    1020151525

    010510152025

    102015010525

  • Tipos de datos: Numrico

  • Tipos de datos: Numrico

    ValorDescripcin (Description)Precisin decimalByteAlmacena nmeros entre 0 y 255 (no admite fracciones).NingunaDecimalAlmacena nmeros entre -10^38-1 y 10^38-1 (.ADP) Almacena nmeros entre -10^28-1 y 10^28-1 (.MDB)28EnteroAlmacena nmeros entre -32.768 y 32.767 (no admite fracciones).NingunaEntero largo(Predeterminado) Almacena nmeros entre -2.147.483.648 y 2.147.483.647 (no admite fracciones).NingunaSingleAlmacena nmeros entre -3,402823E38 y -1,401298E-45 para valores negativos, y entre 1,401298E-45 y 3,402823E38 para valores positivos.7DoubleAlmacena nmeros entre -1,79769313486231E308 y -4,94065645841247E-324 para valores negativos, y entre 4,94065645841247E-324 y 1,79769313486231E308 para valores positivos.15

  • Otros datosTexto (hasta 255 caracteres)Fecha / HoraMemo (Texto infinito)Moneda (, $)Si / NoObjeto OLEHipervnculoDatos adjuntos (fichero)

  • Ficha completa

  • Clave principal?Si te fijas Access ha creado por defecto un campo llamado ID y le ha puesto el icono de una llaveAdemas el campo es auto numrico, de decir que en cada registro pone un valor diferente de cada vezEste campo nos ayuda a diferenciar un registro de otro (pueden existir dos registros con los mismos datos por error).

  • Clave principal: Autonumrico

  • Clave principalLa clave principal permite referenciar a uno de los registros de manera univoca.Dentro de esta clase, si hicisemos una base de datos, podramos referenciar a una persona en concreto con su nombre y sus dos apellidos.Pero en Espaa hay mas de un Fco Javier Martnez Garca

  • Clave principalDe hecho hay un F.J.M.G. que ha escrito un libro sobre economa del trabajo y evidentemente no soy yo.Cmo arregla este problema el Gobierno de Espaa y no se equivoca al hacernos la declaracin de Hacienda?El DNI identifica de manera unvoca a cada espaol. No solo no se repite sino que adems una persona solo puede tener un DNI (en teora).Por lo tanto nuestro DNI es Clave Principal o Primaria

  • ClavesLa Clave Principal o Primaria no puede repetirse.Se especifica Clave Principal porque existe tambin el concepto de Clave Secundaria.La Clave Secundaria si puede repetirse (podra ser los Apellidos) pero es til para crear ndices

  • AutonumricoSirve para numerar cada registro.Registro?: Cada una de las fichas que tenemos. Si tenemos 50 personas en nuestra base de datos con nombre, apellidos, etc, tenemos 50 registros.Con el autonumrico conseguimos asignar un numero diferente a cada persona.Es como se asigna el nmero de expediente a cada alumno (te dan el autonumrico de la base de datos).Si te sabes tu numero de expediente, buscar tu ficha en el ordenador es muy fcil

  • Autonumrico como ClaveQu sucede si metemos dos veces a la misma persona en la B.D.?Si hicisemos una lista de las personas que tenemos, nos saldra mal la cuenta.Podramos decirle a la B.D. que eliminase a la persona que tiene esos datos.Entonces eliminara los dos registros.Con una clave autonumrica cada registro tendra un numero diferente.

  • Concepto de ndiceLos sistemas Gestores de Bases de Datos se diferencian unos de otros por la tecnologa de ndices.El ndice en una base de datos es anlogo al ndice de un libro o a la tabla de contenido que creamos en WordAsocia un campo con la posicin en el disco duro donde se encuentra ese registro.

  • Concepto de ndice

    ApellidoPosicin en el discoMartianez5.300Martn1.350Martnez410Martinn2.523

  • Concepto de ndiceEl ndice se guarda ordenado por el campo (en este caso el apellido) y al lado la ubicacin donde se encuentra el registro con ese apellido.Este ndice es un ejemplo que podra usarse, pero en la prctica se utilizan rboles MulticaminoAlgunos sistemas de ndices son secretos.

  • Lista vs rboles

    ValorPosicin en el disco05.30031.3505410102.523155442023486786

  • Arbol Binario

  • rboles vs ListasEn el ejemplo anterior localizar cualquier dato, de media nos da la mitad de movimientos que con cualquier lista ordenada.Encontrar el 10, requiere slo 1 paso en rboles y 4 en listas ordenadas.En el ejemplo hemos visto rboles binarios, pero pueden ser multicamino (logaritmo en base n)

  • CategorasEl campo Si / No est bien pero a veces necesitamos ms valores.Pensemos en nuestro ejemplo anterior.Para integrar a Alumnos, Profesores y P.A.S. se podra poner un campo denominado Grupo.Este campo Grupo, podra ser un campo de Texto

  • CategorasGrupoPASAlumnadoProfesor DoctorProfesor AsociadoEs difcil que todas las veces que introduzcamos estas categoras, las tecleemos exactamente igual.A veces teclearemos PAS y otras P.A.S.

  • CategorasLo ideal sera poder elegir estas categoras de una lista.Access da la opcin de elegir de una lista de valores.

  • Asistente

  • Asistente

  • Asistente

  • Bsqueda

  • Creando un formularioPara ver bien los resultados que hemos obtenido, crearemos una formulario.Existe un asistente que nos guiar paso a paso.

  • Creando un formulario

  • Creando un formulario

  • Creando un formulario

  • Creando un formulario

  • Creando un formulario

  • Creando un formulario

  • Adaptando un formulario

  • Viendo un formulario

  • Utilizando un formulario

  • Bsquedas en otra tablaHemos visto una forma sencilla de crear una lista de valores que nos ayuda a rellenar los datos.Pero cuando se crea la necesidad de distinguir la categora de una persona es porque tiene un trato diferente para cada categora.Por ejemplo con el Estado Civil

  • Bsquedas en otra tablaCrearemos una tabla Estado Civil que contendr la denominacin y el descuento de IRPF que se le hace en nmina segn ese estado.Es muy importante comprender que lo de menos es si esta Casado o No (bueno para Ana Rosa es fundamental).Lo realmente importante es la retencin sobre el IRPF que se le hace en nmina a esa persona, pero esta retencin est en base a su estado.

  • Tabla Estado Civil

  • Tabla Estado CivilImportante: Hemos dejado que Access introduzca la Clave como Autonumrico, veremos en breve porqu esto es fundamental.Como los datos que vamos a introducir son sencillos (solo tenemos dos campos), podemos abrir la tabla e introducirlos directamente, sin necesidad de crear un formulario

  • Tabla Estado Civil

  • Vinculando las tablasCreemos el campo Estado Civil en la tabla Datos Personales y como tipo de dato seleccionemos Asistente para bsquedas

  • Vinculando tablasEsta vez cuando nos pregunte el asistente, le diremos que queremos seleccionar los valores desde otra tabla

  • Recoger valoresLos valores que asignaremos al campo Estado Civil de la tabla Datos Personales los sacaremos de la nueva tabla que hemos creado Estado Civil

  • Seleccionar Campo

  • Ordenar (opcional)

  • Ancho de la lista

  • Relaciones?

  • Estado Civil -> Nmero?

  • Formulario para ver resultados

  • Todo esta correctoComo vemos en el formulario todo est correcto. Sin embargo porqu Estado Civil es tipo nmero?.Qu son las relaciones de las que hablaba el cuadro de dialogo que deban realizarse?Vamos a buscar Relaciones en el men (lo encontramos en Herramientas de base de datos)

  • Relaciones

  • ExplicacinEfectivamente en el campo Estado Civill de la tabla Datos Personales, se almacena un nmero.Si seleccionamos Soltero, en ese campo no se almacena Soltero (porque es un Texto y recordemos que ese campo es numrico).Entonces?

  • Tabla Estado Civil

  • Cdigo de SolteroSi quisieramos asociar un cdigo numrico con Soltero, qu codigo podramos asociar?

  • Cdigo de SolteroHay dos nmeros:IDRetencin IRPFRetencin IRPF se repite para ms de un Estado Civil

  • Cdigo de SolteroSin embargo ID al ser campo Clave no puede repetirse.El valor 1 de ID no puede repetirse para ningun otro valor de Estado Civil.ID = 1 implica Estado Civil = Soltero

  • Cdigo de SolteroPodramos entonces guardar el valor 1 en vez de Soltero?Para qu?De momento para ahorrar espacio, pero en la prctica para algo ms importate.

  • Estado CivilEchemos un vistazo a los valores de la tabla Estado CivilSon polticamente correctos?

  • Polticamente correcto?

  • VentajaAl hacer los cambios, ya no tengo que modificar a cada Casado para poner Casado/a, sino que al modificarlo en la tabla de Estado Civil, queda modificado en el resultado final de Datos personales.

  • Relaciones

  • Telfonos infinitosCuando se crea una ficha, se puede poner un telfono de contacto.Cuntos telfonos?CasaPersonal (Mvil)Trabajo (Oficina)Fax....

  • Telfonos infinitosPodemos querer poner todos los telfonos de contacto que queramos, incluyendo el telfono de sus padres, amigos, esposa, hijos.Incluso correos electrnicos.Cuntos campos dejamos para ello?10 ser suficiente?

  • Tablas maestro - esclavoQu tal si creamos una tabla solo para los contactos?

  • Tablas maestro - esclavoCreamos un campo contacto de tipo texto, donde introducir nmeros de telfono, direcciones de correo electrnico, de correo postal, direcciones de pginas Web, nmeros de busca, direcciones ICQ, Messenger, Google Talk, Skype, etc.Ademas aadimos un campo (alumno), para saber a que persona corresponde cada contacto.

  • Tablas maestro - esclavoParece claro (importante) que el campo Alumno, debe ser igual al campo ID de datos personales.Si Alumno (tabla Contactos) tiene el valor 1, significa que el valor Contacto corresponde a alumno con el valor ID = 1Es decir relacionamos la tabla Contacto con la tabla DatosPersonales

  • Tablas maestro - esclavo

  • Uno a varios?En la tabla contactos, el campo Alumnos puede contener el valor 2 (que hace referencia al alumno 2) muchsimas veces, tantas como contactos para este alumno tengamos.Sin embargo slo hay un alumno 2

    Uno (Alumno) a Varios (Contactos)

  • Viendo resultadosLos resultados pueden verse al crear un formulario (con el asistente):

  • Aadiendo campos de otras tablas

  • Formulario y Subformulario

  • Resultado Maestro - Esclavo

  • Aumentando la complejidadCon el ejemplo anterior, ya tenemos la ficha de los datos personales de unos alumnos.Qu falta para crear un expediente acadmico?La relacin de asignaturas que ha cursado con el numero de convocatorias y la nota final.

  • Expediente acadmicoCon lo que sabemos hasta ahora habra que ver las 50 posibles asignaturas que pueden cursar y crear un campo para cada una de ellas. Tres campos por cada una:Nota FinalNumero de convocatorias gastadasMatriculado Si / No

  • Expediente acadmicoCrearemos tres campos por asignatura.Cada uno con el nombre de la asignatura abreviado un subguin y a continuacin si est matriculado, su nota final y las convocatorias que le quedan disponibles.ECOTRABAJO_Nota FinalECOTRABAJO_convocatoriasECOTRABAJO_Matriculado

  • Expediente acadmico

  • Expediente AcadmicoSolo quedara crear los restantes 3 * 49 asignaturas (147 campos mas) para completar nuestra base de datos.No les parece raro?Seguro que as se hace?Es mucho lo, no?Existen maneras mucho mejores de hacer esto.De hecho una tabla hecha as no est en forma normal.

  • Tabla de asignaturasDe momento vamos a crear una tabla con la relacin de las asignaturas.

  • Tabla de asignaturas (Planes)

  • Un vistazo a las relaciones

  • Tabla de asignaturas

  • Tabla puenteUna vez tenemos las asignaturas en una tabla necesitamos crear una tabla que relacione un alumno con una asignatura.Crearemos una tabla donde est reflejada la asignatura, si est matriculado, el nmero de convocatorias que ha gastado y la nota final que tiene actualmente.

  • Tabla puente

  • Relaciones

  • RelacionesEn las relaciones es muy importante saber en qu tabla debemos crear el campo que va a conectar dos de ellas.De momento aqu hemos conectado siempre un numrico con un autonumrico.Como el autonumrico es siempre nico, tenemos relaciones Uno a Varios.

  • Relaciones

  • Formulario Expediente

  • Segunda tabla

  • Formulario y subformulario

  • Distribucin Subformulario

  • Estilo

  • Dos formularios conectados

  • Formulario final

  • ConsultasEl diseo y la introduccin de datos, debe ser la primera fase de la vida de una aplicacin de base de datos.A lo largo de la vida de la aplicacin, deben completarse datos, pero sobre todo deben consultarse esos datos.Si no se crean consultas e informes, el contenido de la base de datos no servira para nada.

  • ConsultaLas consultas sacan ciertos datos de las tablas.Muchas veces se sacan varios datos de varias tablas simultaneamente.Con las relaciones no hay peligro de que esos datos queden desvinculados.Con las consultas permiten incluso hacer algunas operaciones sobre los datos.

  • ConsultasLas consultas se crean utilizando un lenguaje muy extendido: SQL.Structured Query LanguajeAccess soporta este lenguaje, pero pone a disposicin de los usuarios una interfaz que permite crear consultas sin saber ni siquiera que SQL existe.Access traducir lo que le digamos a SQL

  • Creando una consultaIr a Crear, apartado Otros, Diseo de Consultas.MostrarTabla

  • Mostrar tabla

  • Creando una consulta

  • Resultados de la consulta

  • Vistas

  • Cdigo SQL

  • ConsultasUna consulta es un subconjunto del total de registros que contiene una tabla.Una consulta puede tener todos los campos de una tabla o pueden visualizarse solamente los que necesitemosAdems se les puede cambiar de orden para apreciarlos mejor

  • ConsultasUna sola consulta puede extraer datos de ms de una tabla. Lo ideal es que estas tablas tengan alguna relacin ya definida.

  • Restringiendo resultados

  • Restringiendo resultados

  • Parmetros de restriccinSi tuviese que hacer una consulta por cada valor que necesitase recoger, tendra que duplicar mi trabajo.Lo normal es hacer una sola consulta por ejemplo para saber quien supera un lmite determinado de salario y poder cambiar ese lmite cada vez que ejecuto la consulta.Es decir pasamos el salario por parmetro

  • Parametrizando consultas

  • Pidiendo valores para parmetros

  • Resultados

  • Ocultando campos restrictivos

  • Ocultando campos restrictivos

  • Datos de varias tablas

  • Resultado varias tablas

  • Totalizando

  • Haciendo cuentas

  • Asignaturas x alumno

  • Planes de estudio

  • Orden

  • Orden: Resultados

  • Agrupando

  • Agrupando: Resultados

  • InformesUn informe es la mejor manera de imprimir los resultados de una tabla o de una consulta.Permite aadir cabecera, nmero de pgina, logotipo de la empresa, etc.Para crear los informes lo ms sencillo es utilizar el asistente.Los informes los encontraremos en la pestaa izquierda de Access.

  • Informes

  • Asistente para informes

  • Agrupando en informes

  • Mas agrupacin

  • Orden de los resultados

  • Opciones de resumen

  • Distribucin

  • Estilo

  • Fin del informe

  • Resultados: Planes?

  • Diseo y propiedades del informe

  • Consulta del informe