AccessAccess
Tema 6: Relaciones LaboralesTema 6: Relaciones Laborales
Bases de datosBases de datos
Las bases de datos, son sistemas que Las bases de datos, son sistemas que permiten almacenar un gran conjunto de permiten almacenar un gran conjunto de datos de forma relacionada.datos de forma relacionada.
Lo interesante es que permiten recuperar Lo interesante es que permiten recuperar la información en un tiempo record y que la información en un tiempo record y que si la información esta lo suficientemente si la información esta lo suficientemente bien catalogada, se le puede interrogar bien catalogada, se le puede interrogar como si fuese un ser humano.como si fuese un ser humano.
RelacionesRelaciones
Es importante destacar que Access es un Es importante destacar que Access es un Gestor de Bases de Datos relacionales, es decir Gestor de Bases de Datos relacionales, es decir que utiliza la relación existente entre los datos que utiliza la relación existente entre los datos para llevar a cabo las consultas.para llevar a cabo las consultas.
Existen otros modelos tales como los Existen otros modelos tales como los orientados a objeto y los basados en inteligencia orientados a objeto y los basados en inteligencia artificial, pero son más complejos de utilizar y artificial, pero son más complejos de utilizar y probablemente para aplicaciones sencillas sólo probablemente para aplicaciones sencillas sólo se complicaría la programaciónse complicaría la programación
CamposCampos
Para diseñar una base de datos lo primero Para diseñar una base de datos lo primero es saber qué datos vamos a guardar:es saber qué datos vamos a guardar:
NombreNombre ApellidosApellidos DNIDNI TelefonoTelefono etcetc
CamposCampos
A cada uno de estos datos le damos el A cada uno de estos datos le damos el nombre de campo. Por eso diremos algo nombre de campo. Por eso diremos algo así como “haz una búsqueda por el campo así como “haz una búsqueda por el campo nombre”.nombre”.
Hay que preguntarse si definimos un solo Hay que preguntarse si definimos un solo campo “Nombre” o si bien queremos dos campo “Nombre” o si bien queremos dos “Nombre” y “Apellidos”“Nombre” y “Apellidos”
CamposCampos
Lo más sencillo es uno solo: NombreLo más sencillo es uno solo: Nombre Sin embargo Apellidos + Nombre nos Sin embargo Apellidos + Nombre nos
permite ordenar la base de datos por permite ordenar la base de datos por apellidos que es más útil que por nombre.apellidos que es más útil que por nombre.
Hay que tener claro que uso se le dará a Hay que tener claro que uso se le dará a la base de datos y sopesar el uso de la base de datos y sopesar el uso de complejidad adicional que puede ser complejidad adicional que puede ser fundamental o engorrosa.fundamental o engorrosa.
¿Tipos de datos?¿Tipos de datos?
NombreNombre ApellidosApellidos DNIDNI Fecha de nacimientoFecha de nacimiento EdadEdad
¿Nombre = Fecha de nacimiento = Edad?¿Nombre = Fecha de nacimiento = Edad?
¿Tipos de datos?¿Tipos de datos?
Nombre: Texto (máximo 255 caracteres)Nombre: Texto (máximo 255 caracteres) Apellidos : Texto (máximo 255 caracteres)Apellidos : Texto (máximo 255 caracteres) DNI : Texto (máximo 9 caracteres)DNI : Texto (máximo 9 caracteres) Fecha de nacimiento: FechaFecha de nacimiento: Fecha Edad: Número (entre 1 y 120) Edad: Número (entre 1 y 120)
Nombre <> Fecha de nacimiento <> EdadNombre <> Fecha de nacimiento <> Edad
¿Tipos de datos?¿Tipos de datos?
Para que complicarnos, todo tipo Texto :DPara que complicarnos, todo tipo Texto :D Intenta ordenar entonces:Intenta ordenar entonces:
11
1010
1515
2020
2525
55
1010
2020
1515
11
55
2525
0101
0505
1010
1515
2020
2525
1010
2020
1515
0101
0505
2525
Culpable: Se ordena primero por el primer carácter entonces 5 es mayor que 20
Tipos de datos: NuméricoTipos de datos: Numérico
Tipos de datos: NuméricoTipos de datos: NuméricoValorValor Descripción (Description)Descripción (Description) Precisión decimalPrecisión decimal
ByteByte Almacena números entreAlmacena números entre0 y 255 (no admite fracciones).0 y 255 (no admite fracciones). NingunaNinguna
DecimalDecimal Almacena números entre -10^38-1 y 10^38-1 (.ADP)Almacena números entre -10^38-1 y 10^38-1 (.ADP)Almacena números entre -10^28-1 y 10^28-1 (.MDB)Almacena números entre -10^28-1 y 10^28-1 (.MDB) 2828
EnteroEntero Almacena números entreAlmacena números entre-32.768 y 32.767 (no admite fracciones).-32.768 y 32.767 (no admite fracciones). NingunaNinguna
Entero largoEntero largo (Predeterminado) Almacena números entre(Predeterminado) Almacena números entre-2.147.483.648 y 2.147.483.647 (no admite fracciones).-2.147.483.648 y 2.147.483.647 (no admite fracciones). NingunaNinguna
SingleSingle
Almacena números entreAlmacena números entre-3,402823E38 y-3,402823E38 y-1,401298E-45-1,401298E-45para valores negativos, y entrepara valores negativos, y entre1,401298E-45 y 3,402823E38 para valores positivos.1,401298E-45 y 3,402823E38 para valores positivos.
77
DoubleDouble
Almacena números entreAlmacena números entre-1,79769313486231E308 y-1,79769313486231E308 y-4,94065645841247E-324 -4,94065645841247E-324 para valores negativos, y entre para valores negativos, y entre 4,94065645841247E-324 y 4,94065645841247E-324 y 1,79769313486231E308 para valores positivos.1,79769313486231E308 para valores positivos.
1515
Otros datosOtros datos
Texto (hasta 255 caracteres)Texto (hasta 255 caracteres) Fecha / HoraFecha / Hora Memo (Texto infinito)Memo (Texto infinito) Moneda (€, $)Moneda (€, $) Si / NoSi / No Objeto OLEObjeto OLE HipervínculoHipervínculo Datos adjuntos (fichero)Datos adjuntos (fichero)
Ficha completaFicha completa
¿Clave principal?¿Clave principal?
Si te fijas Access ha creado por defecto un Si te fijas Access ha creado por defecto un campo llamado ID y le ha puesto el icono campo llamado ID y le ha puesto el icono de una llavede una llave
Ademas el campo es auto numérico, de Ademas el campo es auto numérico, de decir que en cada registro pone un valor decir que en cada registro pone un valor diferente de cada vezdiferente de cada vez
Este campo nos ayuda a diferenciar un Este campo nos ayuda a diferenciar un registro de otro (pueden existir dos registro de otro (pueden existir dos registros con los mismos datos por error).registros con los mismos datos por error).
Clave principal: AutonuméricoClave principal: Autonumérico
Clave principalClave principal
La clave principal permite referenciar a La clave principal permite referenciar a uno de los registros de manera univoca.uno de los registros de manera univoca.
Dentro de esta clase, si hiciésemos una Dentro de esta clase, si hiciésemos una base de datos, podríamos referenciar a base de datos, podríamos referenciar a una persona en concreto con su nombre y una persona en concreto con su nombre y sus dos apellidos.sus dos apellidos.
Pero en España hay mas de un Fco Javier Pero en España hay mas de un Fco Javier Martínez GarcíaMartínez García
Clave principalClave principal De hecho hay un F.J.M.G. que ha escrito un De hecho hay un F.J.M.G. que ha escrito un
libro sobre economía del trabajo y libro sobre economía del trabajo y evidentemente no soy yo.evidentemente no soy yo.
¿Cómo arregla este problema el Gobierno de ¿Cómo arregla este problema el Gobierno de España y no se equivoca al hacernos la España y no se equivoca al hacernos la declaración de Hacienda?declaración de Hacienda?
El DNI identifica de manera unívoca a cada El DNI identifica de manera unívoca a cada español. No solo no se repite sino que además español. No solo no se repite sino que además una persona solo puede tener un DNI (en una persona solo puede tener un DNI (en teoría).teoría).
Por lo tanto nuestro DNI es Clave Principal o Por lo tanto nuestro DNI es Clave Principal o PrimariaPrimaria
ClavesClaves
La Clave Principal o Primaria no puede La Clave Principal o Primaria no puede repetirse.repetirse.
Se especifica Clave Principal porque Se especifica Clave Principal porque existe también el concepto de Clave existe también el concepto de Clave Secundaria.Secundaria.
La Clave Secundaria si puede repetirse La Clave Secundaria si puede repetirse (podría ser los Apellidos) pero es útil para (podría ser los Apellidos) pero es útil para crear índicescrear índices
AutonuméricoAutonumérico Sirve para numerar cada registro.Sirve para numerar cada registro. ¿Registro?: Cada una de las fichas que tenemos. Si ¿Registro?: Cada una de las fichas que tenemos. Si
tenemos 50 personas en nuestra base de datos con tenemos 50 personas en nuestra base de datos con nombre, apellidos, etc, tenemos 50 registros.nombre, apellidos, etc, tenemos 50 registros.
Con el autonumérico conseguimos asignar un numero Con el autonumérico conseguimos asignar un numero diferente a cada persona.diferente a cada persona.
Es como se asigna el número de expediente a cada Es como se asigna el número de expediente a cada alumno (te dan el autonumérico de la base de datos).alumno (te dan el autonumérico de la base de datos).
Si te sabes tu numero de expediente, buscar tu ficha en Si te sabes tu numero de expediente, buscar tu ficha en el ordenador es muy fácilel ordenador es muy fácil
Autonumérico como ClaveAutonumérico como Clave
¿Qué sucede si metemos dos veces a la ¿Qué sucede si metemos dos veces a la misma persona en la B.D.?misma persona en la B.D.?
Si hiciésemos una lista de las personas Si hiciésemos una lista de las personas que tenemos, nos saldría mal la cuenta.que tenemos, nos saldría mal la cuenta.
Podríamos decirle a la B.D. que eliminase Podríamos decirle a la B.D. que eliminase a la persona que tiene esos datos.a la persona que tiene esos datos.
Entonces eliminaría los dos registros.Entonces eliminaría los dos registros. Con una clave autonumérica cada Con una clave autonumérica cada
registro tendría un numero diferente.registro tendría un numero diferente.
Concepto de índiceConcepto de índice
Los sistemas Gestores de Bases de Datos Los sistemas Gestores de Bases de Datos se diferencian unos de otros por la se diferencian unos de otros por la tecnología de índices.tecnología de índices.
El índice en una base de datos es análogo El índice en una base de datos es análogo al índice de un libro o a la tabla de al índice de un libro o a la tabla de contenido que creamos en Wordcontenido que creamos en Word
Asocia un campo con la posición en el Asocia un campo con la posición en el disco duro donde se encuentra ese disco duro donde se encuentra ese registro.registro.
Concepto de índiceConcepto de índice
ApellidoApellido Posición en el discoPosición en el disco
MartianezMartianez 5.3005.300
MartínMartín 1.3501.350
MartínezMartínez 410410
MartinónMartinón 2.5232.523
Concepto de índiceConcepto de índice
El índice se guarda ordenado por el El índice se guarda ordenado por el campo (en este caso el apellido) y al lado campo (en este caso el apellido) y al lado la ubicación donde se encuentra el la ubicación donde se encuentra el registro con ese apellido.registro con ese apellido.
Este índice es un ejemplo que podría Este índice es un ejemplo que podría usarse, pero en la práctica se utilizan usarse, pero en la práctica se utilizan Árboles MulticaminoÁrboles Multicamino
Algunos sistemas de índices son secretos.Algunos sistemas de índices son secretos.
Lista vs ÁrbolesLista vs Árboles
ValorValor Posición en el discoPosición en el disco
00 5.3005.300
33 1.3501.350
55 410410
1010 2.5232.523
1515 544544
2020 234234
8686 786786
Arbol BinarioArbol Binario
Árboles vs ListasÁrboles vs Listas
En el ejemplo anterior localizar cualquier En el ejemplo anterior localizar cualquier dato, de media nos da la mitad de dato, de media nos da la mitad de movimientos que con cualquier lista movimientos que con cualquier lista ordenada.ordenada.
Encontrar el 10, requiere sólo 1 paso en Encontrar el 10, requiere sólo 1 paso en árboles y 4 en listas ordenadas.árboles y 4 en listas ordenadas.
En el ejemplo hemos visto árboles En el ejemplo hemos visto árboles binarios, pero pueden ser multicamino binarios, pero pueden ser multicamino (logaritmo en base n)(logaritmo en base n)
CategoríasCategorías
El campo Si / No está bien pero a veces El campo Si / No está bien pero a veces necesitamos más valores.necesitamos más valores.
Pensemos en nuestro ejemplo anterior.Pensemos en nuestro ejemplo anterior. Para integrar a Alumnos, Profesores y Para integrar a Alumnos, Profesores y
P.A.S. se podría poner un campo P.A.S. se podría poner un campo denominado Grupo.denominado Grupo.
Este campo Grupo, podría ser un campo Este campo Grupo, podría ser un campo de Textode Texto
CategoríasCategorías
GrupoGrupo PASPAS AlumnadoAlumnado Profesor DoctorProfesor Doctor Profesor AsociadoProfesor Asociado
Es difícil que todas las veces que Es difícil que todas las veces que introduzcamos estas categorías, las introduzcamos estas categorías, las tecleemos exactamente igual.tecleemos exactamente igual.
A veces teclearemos PAS y otras P.A.S.A veces teclearemos PAS y otras P.A.S.
CategoríasCategorías
Lo ideal sería poder elegir estas Lo ideal sería poder elegir estas categorías de una lista.categorías de una lista.
Access da la opción de elegir de una lista Access da la opción de elegir de una lista de valores.de valores.
AsistenteAsistente
AsistenteAsistente
AsistenteAsistente
BúsquedaBúsqueda
Creando un formularioCreando un formulario
Para ver bien los resultados que hemos Para ver bien los resultados que hemos obtenido, crearemos una formulario.obtenido, crearemos una formulario.
Existe un asistente que nos guiará paso a Existe un asistente que nos guiará paso a paso.paso.
Creando un formularioCreando un formulario
Creando un formularioCreando un formulario
Creando un formularioCreando un formulario
Creando un formularioCreando un formulario
Creando un formularioCreando un formulario
Creando un formularioCreando un formulario
Adaptando un formularioAdaptando un formulario
Viendo un formularioViendo un formulario
Utilizando un formularioUtilizando un formulario
Búsquedas en otra tablaBúsquedas en otra tabla
Hemos visto una forma sencilla de crear Hemos visto una forma sencilla de crear una lista de valores que nos ayuda a una lista de valores que nos ayuda a rellenar los datos.rellenar los datos.
Pero cuando se crea la necesidad de Pero cuando se crea la necesidad de distinguir la categoría de una persona es distinguir la categoría de una persona es porque tiene un trato diferente para cada porque tiene un trato diferente para cada categoría.categoría.
Por ejemplo con el Estado CivilPor ejemplo con el Estado Civil
Búsquedas en otra tablaBúsquedas en otra tabla
Crearemos una tabla Estado Civil que contendrá Crearemos una tabla Estado Civil que contendrá la denominación y el descuento de IRPF que se le la denominación y el descuento de IRPF que se le hace en nómina según ese estado.hace en nómina según ese estado.
Es muy importante comprender que lo de menos Es muy importante comprender que lo de menos es si esta Casado o No (bueno para “Ana Rosa” es si esta Casado o No (bueno para “Ana Rosa” es fundamental).es fundamental).
Lo realmente importante es la retención sobre el Lo realmente importante es la retención sobre el IRPF que se le hace en nómina a esa persona, IRPF que se le hace en nómina a esa persona, pero esta retención está en base a su estado.pero esta retención está en base a su estado.
Tabla Estado CivilTabla Estado Civil
Tabla Estado CivilTabla Estado Civil
Importante:Importante: Hemos dejado que Access Hemos dejado que Access introduzca la Clave como Autonumérico, introduzca la Clave como Autonumérico, veremos en breve porqué esto es veremos en breve porqué esto es fundamental.fundamental.
Como los datos que vamos a introducir Como los datos que vamos a introducir son sencillos (solo tenemos dos campos), son sencillos (solo tenemos dos campos), podemos abrir la tabla e introducirlos podemos abrir la tabla e introducirlos directamente, sin necesidad de crear un directamente, sin necesidad de crear un formularioformulario
Tabla Estado CivilTabla Estado Civil
Vinculando las tablasVinculando las tablas
Creemos el campo Creemos el campo Estado Civil en la Estado Civil en la tabla Datos tabla Datos Personales y como Personales y como tipo de dato tipo de dato seleccionemos seleccionemos “Asistente para “Asistente para búsquedas”búsquedas”
Vinculando tablasVinculando tablas
Esta vez cuando nos pregunte el Esta vez cuando nos pregunte el asistente, le diremos que queremos asistente, le diremos que queremos seleccionar los valores desde otra tablaseleccionar los valores desde otra tabla
Recoger valoresRecoger valores
Los valores Los valores que que asignaremos al asignaremos al campo “Estado campo “Estado Civil” de la Civil” de la tabla “Datos tabla “Datos Personales” Personales” los sacaremos los sacaremos de la nueva de la nueva tabla que tabla que hemos creado hemos creado “Estado Civil”“Estado Civil”
Seleccionar CampoSeleccionar Campo
Ordenar (opcional)Ordenar (opcional)
Ancho de la listaAncho de la lista
¿Relaciones?¿Relaciones?
¿Estado Civil -> Número?¿Estado Civil -> Número?
Formulario para ver resultadosFormulario para ver resultados
Todo esta correctoTodo esta correcto
Como vemos en el formulario todo está Como vemos en el formulario todo está correcto. Sin embargo ¿porqué Estado correcto. Sin embargo ¿porqué Estado Civil es tipo número?.Civil es tipo número?.
¿Qué son las relaciones de las que ¿Qué son las relaciones de las que hablaba el cuadro de dialogo que debían hablaba el cuadro de dialogo que debían realizarse?realizarse?
Vamos a buscar Relaciones en el menú Vamos a buscar Relaciones en el menú (lo encontramos en Herramientas de base (lo encontramos en Herramientas de base de datos)de datos)
RelacionesRelaciones
ExplicaciónExplicación
Efectivamente en el campo Estado Civill Efectivamente en el campo Estado Civill de la tabla Datos Personales, se de la tabla Datos Personales, se almacena un número.almacena un número.
Si seleccionamos “Soltero”, en ese campo Si seleccionamos “Soltero”, en ese campo no se almacena “Soltero” (porque es un no se almacena “Soltero” (porque es un Texto y recordemos que ese campo es Texto y recordemos que ese campo es numérico).numérico).
¿Entonces?¿Entonces?
Tabla Estado CivilTabla Estado Civil
Código de SolteroCódigo de Soltero
Si Si quisieramos quisieramos asociar un asociar un código código numérico con numérico con Soltero, ¿qué Soltero, ¿qué codigo codigo podríamos podríamos asociar?asociar?
Código de SolteroCódigo de Soltero
Hay dos Hay dos números:números: IDID Retención Retención
IRPFIRPF Retención Retención
IRPF se IRPF se repite para repite para más de un más de un Estado CivilEstado Civil
Código de SolteroCódigo de Soltero Sin embargo ID Sin embargo ID
al ser campo al ser campo Clave no puede Clave no puede repetirse.repetirse.
El valor 1 de ID El valor 1 de ID no puede no puede repetirse para repetirse para ningun otro ningun otro valor de Estado valor de Estado Civil.Civil.
ID = 1 implica ID = 1 implica Estado Civil = Estado Civil = SolteroSoltero
Código de SolteroCódigo de Soltero ¿Podríamos ¿Podríamos
entonces entonces guardar el valor guardar el valor 1 en vez de 1 en vez de Soltero?Soltero?
¿Para qué?¿Para qué? De momento De momento
para ahorrar para ahorrar espacio, pero espacio, pero en la práctica en la práctica para algo más para algo más importate.importate.
Estado CivilEstado Civil Echemos un Echemos un
vistazo a los vistazo a los valores de la valores de la tabla Estado tabla Estado CivilCivil
¿Son ¿Son políticamente políticamente correctos?correctos?
¿Políticamente correcto?¿Políticamente correcto?
VentajaVentaja
Al hacer los cambios, ya no tengo que Al hacer los cambios, ya no tengo que modificar a cada Casado para poner modificar a cada Casado para poner Casado/a, sino que al modificarlo en la Casado/a, sino que al modificarlo en la tabla de Estado Civil, queda modificado en tabla de Estado Civil, queda modificado en el resultado final de Datos personales.el resultado final de Datos personales.
RelacionesRelaciones
Teléfonos infinitosTeléfonos infinitos
Cuando se crea una ficha, se puede poner Cuando se crea una ficha, se puede poner un teléfono de contacto.un teléfono de contacto.
¿Cuántos teléfonos?¿Cuántos teléfonos? CasaCasa Personal (Móvil)Personal (Móvil) Trabajo (Oficina)Trabajo (Oficina) FaxFax ........
Teléfonos infinitosTeléfonos infinitos
Podemos querer poner todos los teléfonos Podemos querer poner todos los teléfonos de contacto que queramos, incluyendo el de contacto que queramos, incluyendo el teléfono de sus padres, amigos, esposa, teléfono de sus padres, amigos, esposa, hijos.hijos.
Incluso correos electrónicos.Incluso correos electrónicos. ¿Cuántos campos dejamos para ello?¿Cuántos campos dejamos para ello? ¿10 será suficiente?¿10 será suficiente?
Tablas maestro - esclavoTablas maestro - esclavo
¿Qué tal si creamos una tabla solo para ¿Qué tal si creamos una tabla solo para los contactos?los contactos?
Tablas maestro - esclavoTablas maestro - esclavo
Creamos un campo contacto de tipo texto, Creamos un campo contacto de tipo texto, donde introducir números de teléfono, donde introducir números de teléfono, direcciones de correo electrónico, de direcciones de correo electrónico, de correo postal, direcciones de páginas correo postal, direcciones de páginas Web, números de busca, direcciones ICQ, Web, números de busca, direcciones ICQ, Messenger, Google Talk, Skype, etc.Messenger, Google Talk, Skype, etc.
Ademas añadimos un campo (alumno), Ademas añadimos un campo (alumno), para saber a que persona corresponde para saber a que persona corresponde cada contacto.cada contacto.
Tablas maestro - esclavoTablas maestro - esclavo
Parece claro (importante) que el campo Parece claro (importante) que el campo Alumno, debe ser igual al campo ID de Alumno, debe ser igual al campo ID de datos personales.datos personales.
Si Alumno (tabla Contactos) tiene el valor Si Alumno (tabla Contactos) tiene el valor 1, significa que el valor Contacto 1, significa que el valor Contacto corresponde a alumno con el valor ID = 1corresponde a alumno con el valor ID = 1
Es decir relacionamos la tabla Contacto Es decir relacionamos la tabla Contacto con la tabla DatosPersonalescon la tabla DatosPersonales
Tablas maestro - esclavoTablas maestro - esclavo
¿Uno a varios?¿Uno a varios?
En la tabla contactos, el campo Alumnos En la tabla contactos, el campo Alumnos puede contener el valor 2 (que hace puede contener el valor 2 (que hace referencia al alumno 2) muchísimas referencia al alumno 2) muchísimas veces, tantas como contactos para este veces, tantas como contactos para este alumno tengamos.alumno tengamos.
Sin embargo sólo hay un alumno 2Sin embargo sólo hay un alumno 2
Uno (Alumno) a Varios (Contactos)Uno (Alumno) a Varios (Contactos)
Viendo resultadosViendo resultados
Los resultados pueden verse al crear un Los resultados pueden verse al crear un formulario (con el asistente):formulario (con el asistente):
Añadiendo campos de otras tablasAñadiendo campos de otras tablas
Formulario y SubformularioFormulario y Subformulario
Resultado Maestro - EsclavoResultado Maestro - Esclavo
Aumentando la complejidadAumentando la complejidad
Con el ejemplo anterior, ya tenemos la Con el ejemplo anterior, ya tenemos la ficha de los datos personales de unos ficha de los datos personales de unos alumnos.alumnos.
¿Qué falta para crear un expediente ¿Qué falta para crear un expediente académico?académico?
La relación de asignaturas que ha cursado La relación de asignaturas que ha cursado con el numero de convocatorias y la nota con el numero de convocatorias y la nota final.final.
Expediente académicoExpediente académico
Con lo que sabemos hasta ahora habría Con lo que sabemos hasta ahora habría que ver las 50 posibles asignaturas que que ver las 50 posibles asignaturas que pueden cursar y crear un campo para pueden cursar y crear un campo para cada una de ellas. cada una de ellas.
Tres campos por cada una:Tres campos por cada una: Nota FinalNota Final Numero de convocatorias gastadasNumero de convocatorias gastadas Matriculado Si / NoMatriculado Si / No
Expediente académicoExpediente académico
Crearemos tres campos por asignatura.Crearemos tres campos por asignatura. Cada uno con el nombre de la asignatura Cada uno con el nombre de la asignatura
abreviado un subguión y a continuación si abreviado un subguión y a continuación si está matriculado, su nota final y las está matriculado, su nota final y las convocatorias que le quedan disponibles.convocatorias que le quedan disponibles. ECOTRABAJO_Nota FinalECOTRABAJO_Nota Final ECOTRABAJO_convocatoriasECOTRABAJO_convocatorias ECOTRABAJO_MatriculadoECOTRABAJO_Matriculado
Expediente académicoExpediente académico
Expediente AcadémicoExpediente Académico
Solo quedaría crear los restantes 3 * 49 Solo quedaría crear los restantes 3 * 49 asignaturas (147 campos mas) para asignaturas (147 campos mas) para completar nuestra base de datos.completar nuestra base de datos.
¿No les parece raro?¿Seguro que así se ¿No les parece raro?¿Seguro que así se hace?¿Es mucho lío, no?hace?¿Es mucho lío, no?
Existen maneras mucho mejores de hacer Existen maneras mucho mejores de hacer esto.esto.
De hecho una tabla hecha así no está en De hecho una tabla hecha así no está en forma normal.forma normal.
Tabla de asignaturasTabla de asignaturas
De momento vamos a crear una tabla con De momento vamos a crear una tabla con la relación de las asignaturas.la relación de las asignaturas.
Tabla de asignaturas (Planes)Tabla de asignaturas (Planes)
Un vistazo a las relacionesUn vistazo a las relaciones
Tabla de asignaturasTabla de asignaturas
Tabla puenteTabla puente
Una vez tenemos las asignaturas en una Una vez tenemos las asignaturas en una tabla necesitamos crear una tabla que tabla necesitamos crear una tabla que relacione un alumno con una asignatura.relacione un alumno con una asignatura.
Crearemos una tabla donde esté reflejada Crearemos una tabla donde esté reflejada la asignatura, si está matriculado, el la asignatura, si está matriculado, el número de convocatorias que ha gastado número de convocatorias que ha gastado y la nota final que tiene actualmente.y la nota final que tiene actualmente.
Tabla puenteTabla puente
RelacionesRelaciones
RelacionesRelaciones
En las relaciones es muy importante saber En las relaciones es muy importante saber en qué tabla debemos crear el campo que en qué tabla debemos crear el campo que va a conectar dos de ellas.va a conectar dos de ellas.
De momento aquí hemos conectado De momento aquí hemos conectado siempre un numérico con un siempre un numérico con un autonumérico.autonumérico.
Como el autonumérico es siempre único, Como el autonumérico es siempre único, tenemos relaciones Uno a Varios.tenemos relaciones Uno a Varios.
RelacionesRelaciones
Formulario ExpedienteFormulario Expediente
Segunda tablaSegunda tabla
Formulario y subformularioFormulario y subformulario
Distribución SubformularioDistribución Subformulario
EstiloEstilo
Dos formularios conectadosDos formularios conectados
Formulario finalFormulario final
ConsultasConsultas
El diseño y la introducción de datos, debe El diseño y la introducción de datos, debe ser la primera fase de la vida de una ser la primera fase de la vida de una aplicación de base de datos.aplicación de base de datos.
A lo largo de la vida de la aplicación, A lo largo de la vida de la aplicación, deben completarse datos, pero sobre todo deben completarse datos, pero sobre todo deben consultarse esos datos.deben consultarse esos datos.
Si no se crean consultas e informes, el Si no se crean consultas e informes, el contenido de la base de datos no serviría contenido de la base de datos no serviría para nada.para nada.
ConsultaConsulta
Las consultas sacan ciertos datos de las Las consultas sacan ciertos datos de las tablas.tablas.
Muchas veces se sacan varios datos de Muchas veces se sacan varios datos de varias tablas simultaneamente.varias tablas simultaneamente.
Con las relaciones no hay peligro de que Con las relaciones no hay peligro de que esos datos queden desvinculados.esos datos queden desvinculados.
Con las consultas permiten incluso hacer Con las consultas permiten incluso hacer algunas operaciones sobre los datos.algunas operaciones sobre los datos.
ConsultasConsultas
Las consultas se crean utilizando un Las consultas se crean utilizando un lenguaje muy extendido: SQL.lenguaje muy extendido: SQL.
Structured Query LanguajeStructured Query Languaje Access soporta este lenguaje, pero pone a Access soporta este lenguaje, pero pone a
disposición de los usuarios una interfaz disposición de los usuarios una interfaz que permite crear consultas sin saber ni que permite crear consultas sin saber ni siquiera que SQL existe.siquiera que SQL existe.
Access traducirá lo que le digamos a SQLAccess traducirá lo que le digamos a SQL
Creando una consultaCreando una consulta
Ir a Crear, apartado Otros, Diseño de Ir a Crear, apartado Otros, Diseño de Consultas.Consultas.
MostrarTabla
Mostrar tablaMostrar tabla
Creando una consultaCreando una consulta
Resultados de la consultaResultados de la consulta
VistasVistas
Código SQLCódigo SQL
ConsultasConsultas
Una consulta es un subconjunto del total Una consulta es un subconjunto del total de registros que contiene una tabla.de registros que contiene una tabla.
Una consulta puede tener todos los Una consulta puede tener todos los campos de una tabla o pueden campos de una tabla o pueden visualizarse solamente los que visualizarse solamente los que necesitemosnecesitemos
Además se les puede cambiar de orden Además se les puede cambiar de orden para apreciarlos mejorpara apreciarlos mejor
ConsultasConsultas
Una sola consulta puede extraer datos de Una sola consulta puede extraer datos de más de una tabla. más de una tabla.
Lo ideal es que estas tablas tengan Lo ideal es que estas tablas tengan alguna relación ya definida.alguna relación ya definida.
Restringiendo resultadosRestringiendo resultados
Restringiendo resultadosRestringiendo resultados
Parámetros de restricciónParámetros de restricción
Si tuviese que hacer una consulta por Si tuviese que hacer una consulta por cada valor que necesitase recoger, tendría cada valor que necesitase recoger, tendría que duplicar mi trabajo.que duplicar mi trabajo.
Lo normal es hacer una sola consulta por Lo normal es hacer una sola consulta por ejemplo para saber quien supera un límite ejemplo para saber quien supera un límite determinado de salario y poder cambiar determinado de salario y poder cambiar ese límite cada vez que ejecuto la ese límite cada vez que ejecuto la consulta.consulta.
Es decir pasamos el salario por parámetroEs decir pasamos el salario por parámetro
Parametrizando consultasParametrizando consultas
Pidiendo valores para parámetrosPidiendo valores para parámetros
ResultadosResultados
Ocultando campos restrictivosOcultando campos restrictivos
Ocultando campos restrictivosOcultando campos restrictivos
Datos de varias tablasDatos de varias tablas
Resultado – varias tablasResultado – varias tablas
TotalizandoTotalizando
Haciendo cuentasHaciendo cuentas
Asignaturas x alumnoAsignaturas x alumno
Planes de estudioPlanes de estudio
OrdenOrden
Orden: ResultadosOrden: Resultados
AgrupandoAgrupando
Agrupando: ResultadosAgrupando: Resultados
InformesInformes
Un informe es la mejor manera de imprimir Un informe es la mejor manera de imprimir los resultados de una tabla o de una los resultados de una tabla o de una consulta.consulta.
Permite añadir cabecera, número de Permite añadir cabecera, número de página, logotipo de la empresa, etc.página, logotipo de la empresa, etc.
Para crear los informes lo más sencillo es Para crear los informes lo más sencillo es utilizar el asistente.utilizar el asistente.
Los informes los encontraremos en la Los informes los encontraremos en la pestaña izquierda de Access.pestaña izquierda de Access.
InformesInformes
Asistente para informesAsistente para informes
Agrupando en informesAgrupando en informes
Mas agrupaciónMas agrupación
Orden de los resultadosOrden de los resultados
Opciones de resumenOpciones de resumen
DistribuciónDistribución
EstiloEstilo
Fin del informeFin del informe
Resultados: ¿Planes?Resultados: ¿Planes?
Diseño y propiedades del informeDiseño y propiedades del informe
Consulta del informeConsulta del informe
Top Related