García - Diseño e Implementación de Una Base de Datos para El Estudio Descriptivo de Patologías O...
García - Diseño e Implementación de Una Base de Datos para El Estudio Descriptivo de Patologías O...
Curso 2019-2020
Resumen
The design of the application will be done from scratch in both static and
dynamic aspects. In the static part, all its phases will be developed, from the
specification of data requirements, through the creation of the class diagram from
the previous phase, to the implementation of the final database. In the dynamic
part, in addition to the processes related to the database itself, the necessary
forms and reports will also be designed to satisfy the process requirements
specification, as well as the queries to the database necessary for the exploitation
of said processes forms and reports.
Due to the fact that in the present study, personal data of sensitive patients
will be handled, an analysis of the legal framework will be carried out to take into
account the current regulations regarding the treatment of such data at all stages
of development.
Índice
1 Introducción .............................................................................................. 1
5 Implementación ...................................................................................... 36
5.1 Tablas.............................................................................................. 36
5.2 Relaciones ....................................................................................... 40
5.3 Consultas ........................................................................................ 42
5.4 Formularios ..................................................................................... 48
6 Implantación ........................................................................................... 60
7 Pruebas .................................................................................................. 64
8 Conclusiones .......................................................................................... 68
9 Referencias ............................................................................................ 72
10 Glosario: ............................................................................................... 73
Índice de figuras
1.1 Motivación
1.2 Objetivos
1
La principal meta es unificar sistemas de información en lo relativo a
estudios de patologías oftalmológicas en el Servicio de Oftalmología, así como
simplificar su uso y aprovechar al máximo las posibilidades que ofrecen las bases
de datos.
A pesar de que, una vez creada la base de datos, se pueda utilizar para
realizar estudios sobre diversas enfermedades, uno de los propósitos es que no
requiera ni mucho tiempo ni mucho esfuerzo para su manejo, es decir que tenga
un aprendizaje lo más rápido y sencillo posible. Ya que el mismo proyecto se
podrá utilizar para llevar a cabo estudios sobre diferentes enfermedades
oculares, se podría optar por un proceso de aprendizaje de su manejo algo más
complicado y que requiriera de más tiempo, pero uno de los objetivos es que se
pueda comenzar a utilizar prácticamente al inicio de su utilización.
1.3 Metodología
2
En el segundo capítulo se plasman los fundamentos teóricos necesarios
para realizar este proyecto, tanto generales de las bases de datos relacionales,
como más específicos de la herramienta que se va a utilizar para su desarrollo,
Microsoft Access.
3
2 Contexto Tecnológico
4
las necesidades de la organización en la que esté implantada. El hecho de que
estas relaciones se puedan ver en forma de tabla organizadas en filas (tuplas) y
columnas (atributos) hace que este modelo sea sencillo, de forma que las filas
de una tabla determinada tienen una estructura similar y guardan datos
semejantes de objetos del mundo real. Asimismo, cada columna de estas tablas
almacena una propiedad de estos objetos. Cabe añadir también que los posibles
valores de un atributo en cada tupla de una relación ha de ser del mismo tipo de
datos.
- Una base de datos puede integrar toda la información de una empresa y dada
esta circunstancia, es necesario que los distintos usuarios que accedan a ella
lo puedan hacer de forma simultánea.
- Se debe garantizar que la información de una base de datos no se perderá
una vez guardada en ella.
- La información debe ser accesible por parte de diferentes usuarios de manera
simultánea.
- Existe una independencia entre la base de datos y la implementación de los
programas que acceden a ella.
- Cada usuario tendrá una vista parcial definida de la base de datos, es decir,
solamente verá la información a la que se le haya permitido acceder.
- Dispone de mecanismos que garantizan la integridad y la seguridad de la
información
5
En los sistemas relacionales, el lenguaje de manipulación y definición es
el SQL (Structured Query Language), el cual se verá con algo más de detalle en
otro apartado.
- Restricción de valor no nulo: Indica que, dada esa restricción sobre uno o
varios atributos, no debe haber ninguna tupla que tenga el valor nulo en esos
atributos.
- Restricción de unicidad: Indica que, dada esa restricción sobre uno o varios
atributos, no debe haber dos tuplas que tengan el mismo valor en esos
atributos.
- Restricción de clave primaria: Esta restricción definida sobre un conjunto de
atributos, sirve para identificar unívocamente cada una de sus tuplas. Implica
la restricción de unicidad y a la de valor no nulo.
- Restricción de integridad referencial: También conocida como Clave Ajena,
son el mecanismo que proporciona el modelo referencial para expresar
asociaciones entre diferentes relaciones.
6
- El nivel externo define las vistas que va a tener cada usuario de la base de
datos, es decir, los datos a los que va a tener acceso y de qué manera.
- El nivel interno define la representación física de la base de datos, es decir,
de qué manera se va a almacenar en el hardware del equipo.
Esta división en niveles hace que cada uno de ellos sea independiente del
resto, por ejemplo, el esquema lógico no depende de cómo se estén
almacenados los datos en el disco duro del sistema. Aunque esta independencia
de niveles desaparece en el momento en el que es necesario hacer una
transformación de un nivel a otro para, por ejemplo, que un usuario haga una
operación sobre la base de datos. En la actualidad esta ruptura de la
independencia se realiza en cada acceso a la base de datos con lo que, por
ejemplo, se pueden realizar cambios a nivel físico/interno sin repercutir en las
aplicaciones que acceden a la base de datos, ya que éstas dependen de las
vistas externas.
7
Otro hecho por el que se puede ver afectada la integridad es por la pérdida
de información debido a un fallo en el sistema. Para poner solución a este
aspecto, existen las copias de seguridad y el fichero diario en el que se guarda
un registro de todas las operaciones iniciadas sobre la base de datos.
Una vez vistos los conceptos teóricos comunes a toda base de datos, se
va a exponer las características propias de los ficheros del sistema Microsoft
Access, indicando los valores máximos para cada uno de los atributos:
2.1.1 Tablas
Cada una de estas características puede ser de distinto tipo, como, por
ejemplo: de tipo texto, tipo numérico, tipo fecha…
8
A continuación, se puede ver una tabla con los tipos de datos que ofrece
Microsoft Access, indicando para cada uno de ellos su uso y el tamaño máximo
que admite.2
Una vez definido el tipo de dato de los mostrados en la Tabla 1, hay que
especificar una serie de propiedades en cada uno de ellos:
9
- Formato: Define el formato en el que se verán las fechas, horas y textos.
Estos formatos difieren para cada tipo de datos.
- Máscara de entrada: Sirve para ayudar al usuario a la introducción de datos
controlando la información que éstos pueden introducir. Por ejemplo, se
puede establecer una máscara para que el usuario introduzca una fecha de
esta manera: __/__/____.
- Título: Etiqueta que se muestra para el campo sobre el que se establece
cuando se usa en una vista.
- Valor predeterminado: Valor que se introducirá en ese campo para los nuevos
registros en el caso de que el usuario no lo introduzca.
- Regla de validación: Permite introducir una expresión que limita los posibles
valores que se escriben en ese campo.
- Texto de validación: Permite definir el texto de error que aparece cuando no
se satisface la regla de validación.
- Requerido: Indica si es obligatorio introducir algún valor para ese campo.
- Permitir longitud cero: Indica si se permite una cadena de texto con cero
caracteres como valor para ese campo. Esta opción aparece en los campos
de tipo texto, texto largo e hipervínculo.
Permitir
Requerido Acción del usuario Valor guardado
longitud cero
Pulsa ENTER
Nulo
Pulsa Barra Espaciadora
No No Nulo
Introduce cadena de longitud
(No se permite)
cero
Pulsa ENTER
Nulo
Pulsa Barra Espaciadora
No Sí Nulo
Introduce cadena de longitud
Cadena de longitud cero
cero
Pulsa ENTER
(No se permite)
Pulsa Barra Espaciadora
Sí No (No se permite)
Introduce cadena de longitud
(No se permite)
cero
Pulsa ENTER
(No se permite)
Pulsa Barra Espaciadora
Sí Sí Cadena de longitud cero
Introduce cadena de longitud
Cadena de longitud cero
cero
Tabla 2. Combinaciones de “Requerido” y “Permitir longitud cero”
10
- Indexado: Permite establece un índice sobre ese campo para realizar
búsquedas con mayor rapidez. Permite valores No, Sin duplicados y Con
duplicados. En el caso de Sin duplicados se prohíbe que existan diferentes
registros con el mismo valor en ese campo.
- Compresión Unicode: Indica si permite o no la compresión del texto para
ocupar menos espacio en la base de datos.
- Modo IME: Establece el tipo de conversión de caracteres en las versiones
asiáticas de Windows.
- Modo de oraciones IME: Establece la conversión de oraciones en las
versiones asiáticas de Windows.
- Alineación del texto: Sirve para definir el tipo de alineación del texto para ese
campo.
11
2.1.2 Relaciones
Una vez se han creado las tablas con sus atributos, es necesario indicar
de qué manera se relacionan entre sí. Para ello, Microsoft Access proporciona
tres maneras de relacionarlas:
Relaciones uno a uno: Este tipo de relaciones indica que cada registro de
la TABLA 1 se relaciona únicamente con un registro de la TABLA 2 y viceversa.
No es muy común su uso ya que esta situación se podría representar con una
única tabla.
12
Figura 3. Ejemplo de relación uno a muchos.
2.1.3 Consultas
13
• SELECT. Permite realizar consultas para recuperar datos de una o más
relaciones de la base de datos.
• INSERT. Permite insertar una o más tuplas en una relación de la base de
datos.
• UPDATE. Permite modificar los valores de uno o más atributos de una o
más tuplas de una relación de la base de datos
• DELETE. Permite borrar una o más tuplas de una relación de la base de
datos.
- Lenguaje de control
- ALL. Sirve para permitir que aparezcan filas idénticas (Es el valor por
defecto).
- DISTINCT. Al contrario que “All”, no permite la aparición de filas idénticas en
el resultado de la consulta.
- WHERE (expresión_condicional). Indica la condición que deben cumplir las
filas resultado de la ejecución de la consulta. La expresión condicional puede
estar formada por una serie de predicados:
14
cláusula GROUP BY, la cual hace que se agrupen los resultados por el atributo
deseado antes de realizar la función agregada, proporcionando un resultado de
la función por cada agrupación. Adicionalmente, si se desea que esas
agrupaciones cumplan una condición, se tiene que usar la palabra reservada
HAVING, que tiene un funcionamiento similar al de WHERE.
15
2.1.4 Formularios
16
2.2 UML
A finales de los años 80 y durante todos los años 90, se desarrolló gran
número de métodos y lenguajes de programación orientada a objetos, la cual
estuvo en auge antes de la introducción del lenguaje UML en este tipo de
software. Esta gran variedad de métodos y lenguajes raramente eran
compatibles entre sí, lo que hizo que James Rumbaugh, Grady Booch e Ivar
Jacobson combinaran distintos lenguajes que ya existían y crear un estándar.
Cada uno de estos programadores ya había creado un método de desarrollo de
software orientado a objetos, James Rumbaugh creó la técnica de modelado de
objetos (OMT), Grady Booch creo el método Booch e Ivar Jacobson creo el
método de Ingeniería de Software Orientado a Objetos (OOSE). El estándar UML
que iban a crear en 1996 (actualmente la versión 2.5.1 desde diciembre de 2017)
debía definir un modelado visual y una semántica común para representar los
métodos creados por estos tres desarrolladores. Este modelado visual permite
ver los estados e interacciones entre diferentes objetos de un sistema como
pueden ser:
17
se definen los atributos propios de la clase y la última zona es en la que se
pueden ver los métodos u operaciones que se pueden llevar a cabo en esa clase.
18
- Cero o uno: 0..1
- Cero o muchos: 0..*
- Uno o muchos: 1..*
- Desde N hasta M: N..M (N y M indican un número)
19
3 Análisis del problema
20
Las copias de seguridad también están cifradas de la misma manera por
lo que se mantiene la misma seguridad que en el fichero principal.
21
El derecho fundamental de las personas físicas a la protección de datos
personales, amparado por el artículo 18.4 de la Constitución, se ejercerá con
arreglo a lo establecido en el Reglamento (UE) 2016/679 y en esta ley orgánica.
4. El tratamiento de datos llevado a cabo con ocasión de la tramitación por los órganos
judiciales de los procesos de los que sean competentes, así como el realizado
dentro de la gestión de la Oficina Judicial, se regirán por lo dispuesto en el
Reglamento (UE) 2016/679 y la presente ley orgánica, sin perjuicio de las
disposiciones de la Ley Orgánica 6/1985, de 1 julio, del Poder Judicial, que le sean
aplicables.
22
3.3 Análisis de riesgos
- Para evitar una planificación incorrecta hay que establecer desde un principio
las tareas a realizar y los recursos de los que se va a disponer durante la
ejecución del proyecto. En un principio puede resultar complicado estimar el
tiempo necesario para completar cada una de las tareas de las que se va a
componer el proyecto, por lo que se puede recurrir a una técnica que consiste
en dividir cada una de ellas en tareas más sencillas, haciendo mucho más
sencilla esta estimación.
23
- Los efectos de la no disponibilidad de recursos en el momento en el que es
necesario disponer de ellos se pueden contrarrestar de dos maneras, la
primera de ellas es aumentar el presupuesto inicial contemplando la
posibilidad de necesitar contratar o adquirir cierto recurso en un momento
puntual. La segunda de ellas es la realización de una planificación en la que
ya se plantee este retraso, haciendo que este nuevo plazo sea el establecido
para la entrega al cliente. En este caso, se ha de optar por la segunda opción
ya que no se puede plantear la opción de contratar a alguien para suplir al
encargado de la realización del proyecto.
24
- Análisis del problema, obteniendo información sobre los requisitos del cliente
y las restricciones que se presentan.
- Selección y justificación del proyecto. A partir de la primera fase se escoge la
opción más adecuada que dé solución al problema presentado.
- Análisis de riesgos. En todo proyecto se ha de tener en cuenta posibles
problemas que pueden surgir a lo largo del mismo. En esta etapa se
analizarán los que puedan aparecer y se plantearán las soluciones posibles
para cada uno de ellos.
- Diseño del proyecto. Para todos los apartados del mismo se usarán técnicas
de diseño. Por ejemplo, UML en el caso de la base de datos o la aplicación
de las leyes de Gestalt para la interfaz gráfica de usuario.
- Implementación de cada una de las partes del proyecto con la herramienta
elegida.
- Realización de pruebas para la comprobación de que satisface las
necesidades iniciales.
- Implantación del proyecto finalizado en el sistema final.
- Redacción de la memoria.
25
Como se puede observar, excepto la tarea “Redacción de la memoria”
todas comienzan cuando finaliza la anterior, esto es porque es necesario que se
finalicen para poder comenzar con la siguiente, por ejemplo, es necesario tener
el diseño de la solución para poder pasar a la implementación de ésta. En el caso
de la redacción de la memoria, ninguna otra tarea depende de su consecución
por lo que se ha podido retrasar su inicio a pesar de poder haberse iniciado una
vez se ha finalizado la tarea de “Selección y justificación del proyecto”.
26
4 Diseño de la solución
27
Figura 7. Diagrama de clases UML del proyecto
• Coherencia de fechas:
La fecha de un objeto de la clase Sufre debe ser posterior a la f_nac
del objeto de la clase Paciente con el que se relaciona.
La fecha de un objeto de la clase Sufre debe ser anterior a las fechas
(f_prueba y f_intervención) de las clases P_Realizadas e Intervención
de los objetos con los que se relaciona.
El valor de f_ini de un objeto de la clase Seguimiento debe ser
posterior al valor de f_nac del objeto de la clase Paciente con el que
se relaciona.
28
En un objeto de la clase Seguimiento, f_ini debe ser anterior f_fin.
El valor de f_intervención de un objeto de la clase Intervención debe
de ser anterior al valor de los atributos f_fin de los objetos de las clases
Observación y Tto.Médico en los que se especializa.
29
CP: {c_pac, c_enf, fecha}
CAj: {c_pac} -> Paciente(C_pac)
CAj: {c_enf} -> Enfermedad(c_enf)
VNN: {ojo, loc_interna, tipo, recidiva}
• Coherencia de fechas:
La fecha de una tupa de la tabla Sufre debe ser posterior a la f_nac de
la tupla de la tabla Paciente con la que se relaciona.
30
La fecha de un tupla de la tabla Sufre debe ser anterior a las fechas
(f_prueba y f_intervención) de las tablas P_Realizadas e Intervención
de las tuplas con las que se relaciona.
El valor de f_ini de una tupla de la tabla Seguimiento debe ser
posteriores al valor de f_nac de la tupla de la tabla Paciente con la que
se relaciona.
En una tupla de la tabla Seguimiento, f_ini debe ser anterior f_fin.
El valor de f_intervención de una tupla de la tabla Intervención debe
de ser anterior al valor de f_fin de las tuplas de las tablas Observación
y Tto.Médico en las que se especializa.
• Toda tupla de la tabla Intervención se relaciona con una tupla y nada más
que una de las tablas Observación, Tto. Médico o Quirúrgico.
31
Figura 8. Esquema de tablas y relaciones del proyecto.
32
4.3 Diseño de consultas
Las consultas creadas para mostrar información en los informes han sido
las siguientes:
33
4.4 Diseño de la interfaz gráfica de usuario
34
• “Subformulario P_Realizadas”: Muestra y permite editar la información
referente a las pruebas que se realizan para diagnosticar una enfermedad
al paciente actual.
• “Subformulario Intervención”: En este último subformulario del “Formulario
Paciente” se pueden modificar los datos de las diferentes intervenciones
realizadas para tratar las distintas enfermedades que haya podido sufrir
un paciente. Dentro de este subformulario se han creado tres
subformularios más para mostrar los diferentes datos de las
intervenciones, dependiendo de su tipo:
“Subformulario Observación”
“Subformulario Quirúrgico”
“Subformulario Tto_Médico”
35
5 Implementación
5.1 Tablas
36
Figura 10. Creación de una tabla. Menú Diseño de tabla
A medida que se van añadiendo atributos a una tabla, hay que indicar una
serie de propiedades los mismos, y para ello hay que tener activa la Vista Diseño.
En la parte inferior de la ventana, en la sección Propiedades del campo se puede
configurar las mismas para cada atributo. Dependiendo del tipo de dato, las
propiedades que se pueden configurar en cada uno cambian.
37
A continuación, se pueden ver los diferentes tipos de datos utilizados en
este proyecto junto a las propiedades de cada uno de ellos:
- Número: Este tipo de dato sirve para almacenar datos de tipo numérico y se
ha utilizado principalmente para los atributos de las clases asociación que
sirven para relacionar dos clases distintas, por ejemplo, para relacionar los
registros de la tabla Pacientes y los registros de la tabla Enfermedades, surge
la clase asociación, que tiene entre otros, los atributos “c_pac” y “c_enf” que
son el código de paciente y el código de enfermedad respectivamente, los
cuales sirven para establecer la relación antes mencionada (actúan como
clave ajena). Cabe destacar que el tipo de datos del conjunto de atributos que
actúan como clave ajena de una tabla deben de ser el mismo que la clave
principal de la tabla con la que se relaciona. Únicamente se ha establecido la
propiedad Indexado como Sí (Con duplicados) dejando el resto de las
propiedades con el valor por defecto, excepto en los atributos “Clave Ajena”,
en los que la propiedad Requerido se establece como Sí.
38
Figura 13. Propiedades de tipo Número
- Texto corto: Este tipo de dato es útil para almacenar información con
caracteres alfanuméricos, tales como una palabra o una descripción. Las
propiedades destacables son Tamaño del campo y Permitir longitud cero. La
primera de ellas sirve para establecer el número de caracteres máximo que
puede tener el dato almacenado en ese atributo para un registro de la tabla y
el segundo permite introducir una cadena de texto con longitud cero cuando
se establece esta propiedad como Sí. En nuestro caso, dependiendo de cada
atributo se configuran sus propiedades en función de las necesidades. Más
adelante se detalla.
39
Figura 15. Propiedades de tipo Sí/No
- Fecha/Hora: Este tipo de dato permite guardar fechas y horas. Como aspecto
destacable, existe una propiedad que permite mostrar un selector de fecha
permitiendo elegir un día concreto de una pequeña vista de calendario. Su
formato se establece como Fecha corta.
5.2 Relaciones
Los objetos que nos proporciona MS Access para establecer las claves
ajenas son las relaciones, un término que puede llevar a confusión ya que, en el
modelo relacional de bases de datos, una relación es lo que en MS Access se
conoce como tabla.
40
Figura 17. Agregar tablas
41
Figura 18. Configuración de la relación.
5.3 Consultas
42
Figura 19. Consulta buscar pruebas
Para añadir estos criterios de forma más sencilla, hay que acceder a la
opción “Generador” del menú, apareciendo una ventana en la que hay que
explorar entre los formularios para seleccionar el campo que contiene el valor
que debe de coincidir con el de los registros devueltos por la consulta, como se
puede observar en la Figura 20.
43
Figura 20. Generador de expresiones
44
Figura 22. Diseño Consulta enfermedades 1
45
En esta consulta también se añaden dos criterios, el primero que coincida
c_pac con el código del paciente del “Formulario Paciente” y el segundo que
hace de filtro para que solamente se vean las intervenciones relativas a una
enfermedad en concreto seleccionada. El diseño resultante se puede observar
en la Figura 25.
46
Figura 26. Diseño consulta seguimientos
Las consultas creadas para poder generar los informes han sido
principalmente centradas en las enfermedades que ha sufrido un paciente.
47
tiene que coincidir con el código de la enfermedad correspondiente seleccionada
del cuadro combinado que está ubicado en el formulario desde el que se genera
el informe que utiliza esta consulta. Asimismo, el atributo recidiva también tiene
que coincidir con el campo correspondiente del formulario anterior. Es aspecto
de esta consulta es muy similar a las vistas anteriormente por lo que a
continuación únicamente se muestran los criterios de selección de ésta.
5.4 Formularios
48
permitiéndole introducir, consultar y modificar la información almacenada en la
base de datos de una forma más cómoda y comprensible.
49
Por último, se ha de introducir el nombre del formulario y seleccionar si
queremos que abra el formulario para comenzar a introducir información o, por
el contrario, se quiere modificar el diseño.
50
ofrece una lista de enfermedades y una casilla de verificación con el texto
“Recidiva”. Estos dos objetos sirven para establecer los criterios sobre los que
se va a generar el informe deseado pulsando el botón correspondiente (Figura
33).
51
Figura 35. Opción botón
52
Figura 37. Formulario Especialidad
53
En el subformulario para introducir fotografías, igualmente existen botones
para añadir, borrar y guardar registros, pero también se han añadido dos botones
para explorar entre las diferentes fotografías que pueda tener asociadas un
paciente. La manera de agregar una fotografía es hacer doble click sobre el
recuadro grande que posteriormente mostrará la imagen, viendo una ventana
como la de la Figura 40.
54
Figura 41. Subformulario Seguimientos
55
Figura 43. Subformulario P_Realizadas
56
Figura 45. Sub-subformulario observación
57
Figura 48. Formulario Paciente
58
código creado para el Subformulario Sufre en el que también se modifica el texto
del interior del botón en función de si está habilitada o no la edición.
59
6 Implantación
60
que tendrá la aplicación, el formulario que se abrirá al iniciar la misma (en el caso
del presente proyecto es el formulario Principal) así como una serie de opciones
que eviten que el usuario pueda variar el diseño o configuración como hemos
citado anteriormente. El aspecto de esta ventana debe ser similar al de la Figura
53.
61
Hay que acceder a la opción de Copia de Seguridad que ofrece Microsoft
Windows 10 y activar la realización de las copias de seguridad automática (cabe
destacar que es necesario que haya un dispositivo de almacenamiento además
del que contiene la aplicación que se desea respaldar) tal y como se indica en la
Figura 54.
62
Figura 55. Opciones copia de seguridad
De esta manera, la aplicación queda lista para su utilización por parte del
usuario final y quedando cubierta por cualquier incidencia que pueda ocasionar
pérdida de información.
63
7 Pruebas
64
Figura 58. Datos de seguimientos
65
Figura 60. Datos de pruebas médicas
Una vez introducido todos los datos se comprueba que se han guardado
correctamente, para ello se cierra la aplicación volviéndola a abrir y buscando el
66
paciente por número de historia y, una vez encontrado, se revisa que toda la
información guardada anteriormente aparece en cada uno de los subformularios.
67
8 Conclusiones
Para poder realizarlo ha sido necesario pasar por una serie de procesos,
empezando por la especificación de requisitos, pasando por las distintas fases
del diseño de la base de datos y de la aplicación, la posterior implementación de
ambas y terminando en la implantación del sistema en el equipo final. Después
de todo el proceso, considero que las fases más importantes son las dos
primeras. Una buena especificación de requisitos es fundamental, ya que, si no
se recogen todos los requisitos o se hacen de manera incorrecta, hará que se
realice un mal diseño y posterior implementación, lo cual llevará a tener que
realizar cambios tanto en el diseño como en la implementación con el
consiguiente sobrecoste. Una vez se tiene la base de una buena especificación
de requisitos, es crucial realizar un buen diseño ya que es sobre lo que se va a
basar la posterior implementación. Un mal diseño puede llevar a una
implementación que no satisfaga los requisitos del cliente
68
asistentes que facilitan en gran medida la creación de, por ejemplo, formularios,
expresiones, consultas o macros. A pesar de estos asistentes, ha sido necesario
modificar el diseño de algunas soluciones proporcionadas por éstos, por lo que
se ha tenido que aprender ciertos aspectos que se desconocían de Microsoft
Access, como pueden ser el lenguaje de programación Visual Basic para
Aplicaciones o la sintaxis de las expresiones que puede resultar un tanto
compleja en un principio. Sobre estos aspectos como también, algún otro como
puede ser lo que MS Access llama Relaciones, no se tenía ningún conocimiento
previo, ya que nunca se había trabajado con este software ni con ninguna de las
tecnologías que utiliza por lo que ha sido necesario un proceso de aprendizaje
de todas ellas, profundizando en algunas funciones a medida que era necesaria
su utilización.
69
información” y “Tecnologías de bases de datos”, las cuales me han servido para
poder realizar un diseño correcto de la base de datos pudiendo identificas las
relaciones entre los distintos objetos, determinar el tipo de datos necesario para
cada atributo o establecer restricciones para algún atributo en concreto.
70
8.3 Desarrollos futuros
71
9 Referencias
72
10 Glosario:
73