Diseño de una base de datos ¿?

03/11/2004 - 19:54 por Javier P | Informe spam
Hola buenas. (Antes he publicado lo mismo pero debido al formato no se veia
nada).



Deseo realizar un programa en el que se guardan los resultados de unos
cuestionarios realizados a unos pacientes drogodependientes en una consulta
psiquiatra.



Me gustaría saber como puedo diseñar la base de datos.



Os explico, el cuestionario contiene lo siguiente (estas son solo algunas de
las preguntas):



-



1- Nombre y apellidos



2- Drogas por las que se le trata



3- Datos del entrevistador



4- Uso de sustancias: Esto es una tabla a rellenar donde vienen una lista de
drogas y ha de decir si se ha drogado o no con esa sustancia en el último
mes.



5- ¿Ha tenido una sobredosis en el último mes? Si es que si, numero de
veces.



6- En un día habitual de los que se inyectaba ¿Cuántas veces se inyectaba
ese día? Veces al día:



7- Salud: Tabla donde vienen una lista de problemas de salud y ha de decir
con qué frecuencia los ha sufrido (Nunca, Raras veces, A veces, A menudo,
Siempre)



8- ¿Durante cuánto tiempo ha vivido Ud. en la dirección actual? (Meses)



9- A lo largo del último mes ¿Ha tenido Ud. trabajo remunerado o pagado
(incluyendo trabajos ocasionales cobrando? Numero de dias.






Con estos datos creo que la base de datos ha de tener las siguientes tablas:



- Pacientes

- Drogas

- Entrevistadores

- ¿? Aquí es donde tengo la duda. No se si el resto de los datos del
formulario han de estar cada uno en un campo. Por ejemplo, creo que la
pregunta 7 (Salud), deberia de hacer una tabla con un campo llamado
IdProblema y otro Problema y ahí poner en registros todos los problemas, y
cada vez que se realiza un cuestionario se guardan los resultados en una
tabla intermedia (Pacientes-Problemas). ¿no?.

Pero, el resto de resultados los guardo en campos separados (como el numero
de veces que ha tenido una sobredosis)?



Les agradeceria mucho que me ayudaran. Muchas Gracias de antemano. Espero
que este lo suficientemente claro.

Preguntas similare

Leer las respuestas

#1 Paulino Padial
03/11/2004 - 21:00 | Informe spam
SI, los datos, que se vayan a repetir mucho, los metes en una tabla aparte y
lo que pones en las tablas es la PK de esa tabla.
Los datos como numero de meses, o numero de veces que se ha... o si se ha
mudado, esos peudes ponerlos tranquilamente.

Piensa que por ejemplo, en tu caso de los problemas, tienes un par, De
corazon, y de Pulmon, si se perdieran los registros de tus pacientes,
perderias los problemas, o si se cambiaran los registros. (ademas, al estar
todo en una tabla puedes hacer join con ella, entre clientes y problemas
alomejor, y sql server utilizaria indices para la busqueda , en vez de
buscar por un campo de tipo texto, en la tabla clientes, que tendria que
recorrerla entera para mostrar todos los problemas. De la otra forma la pk
qeu seria por ejemplo indice clustered) ( Aparte, el tema del espacio, no es
lo mismo guardar una cadena que okupa mas bytes, que guardar un int al
final te sale mas rentable tener muchos ints, que tener muchas cadenas,
nvarchar o como las definas :) )

Por todo esto, es mejor creo yo ;)



Ahora, yo pensaria si alomejor, por ejemplo segun has dicho estan

1) Los clientes
2) Drogas --> esta tabla suponiendo que quieras tener guardados muchos datos
referentes a las drogras, o que quieres guardar un listado de drogas...
3) Entrevistadores--> supongo que sera el medico
4)Problema -->diferentes tipos de problemas
Bien podias plantearte meter esto a ver que te parece

5)Entrevista --> aqui apuntaras las entrevistas que tiene un paciente, aqui
es donde pondras los datos de si se ha mudado etc.. y que un paciente podria
tener X entrevistas, y pongamos que ademas, una entrevista la tiene el 1994
y otra el 2000 han pasado muchos años, y para entonces, ya los datos de si
se a mudado en los ultimos meses, etc, serian edistintos.

Todo depende de como quieras hacerlo, piensa que la estructura y tu esquema
de BBDD es como reflejar la realidad ;) asi que lo adaptas, y si concretas
mas ,te puedo ayudar mas :)

Saludos Cordiales

Paulino Padial Lopez
Microsoft MCSD
Database Administrator
"Javier P" escribió en el mensaje
news:
Hola buenas. (Antes he publicado lo mismo pero debido al formato no se


veia
nada).



Deseo realizar un programa en el que se guardan los resultados de unos
cuestionarios realizados a unos pacientes drogodependientes en una


consulta
psiquiatra.



Me gustaría saber como puedo diseñar la base de datos.



Os explico, el cuestionario contiene lo siguiente (estas son solo algunas


de
las preguntas):



-



1- Nombre y apellidos



2- Drogas por las que se le trata



3- Datos del entrevistador



4- Uso de sustancias: Esto es una tabla a rellenar donde vienen una lista


de
drogas y ha de decir si se ha drogado o no con esa sustancia en el último
mes.



5- ¿Ha tenido una sobredosis en el último mes? Si es que si, numero de
veces.



6- En un día habitual de los que se inyectaba ¿Cuántas veces se inyectaba
ese día? Veces al día:



7- Salud: Tabla donde vienen una lista de problemas de salud y ha de decir
con qué frecuencia los ha sufrido (Nunca, Raras veces, A veces, A menudo,
Siempre)



8- ¿Durante cuánto tiempo ha vivido Ud. en la dirección actual? (Meses)



9- A lo largo del último mes ¿Ha tenido Ud. trabajo remunerado o pagado
(incluyendo trabajos ocasionales cobrando? Numero de dias.






Con estos datos creo que la base de datos ha de tener las siguientes


tablas:



- Pacientes

- Drogas

- Entrevistadores

- ¿? Aquí es donde tengo la duda. No se si el resto de los datos del
formulario han de estar cada uno en un campo. Por ejemplo, creo que la
pregunta 7 (Salud), deberia de hacer una tabla con un campo llamado
IdProblema y otro Problema y ahí poner en registros todos los problemas, y
cada vez que se realiza un cuestionario se guardan los resultados en una
tabla intermedia (Pacientes-Problemas). ¿no?.

Pero, el resto de resultados los guardo en campos separados (como el


numero
de veces que ha tenido una sobredosis)?



Les agradeceria mucho que me ayudaran. Muchas Gracias de antemano. Espero
que este lo suficientemente claro.


Respuesta Responder a este mensaje
#2 Juan Pedro Gonzalez
04/11/2004 - 00:22 | Informe spam
Ademas de todo lo que te han dicho, solo quiero desearte suerte con el
diseño de la base de datos... yo me estoy volviendo loco.

Supongo que ya sabes que estas tratando datos de caracter personal de nivel
alto (Segun la Ley Organica de Proteccion de Datos)... Asi que vas a tener
que vigilar mucho las tablas que contengan datos de caracter personal, y
crear los documjentos de seguridad pertinentes. Asi que asegurate muy bien
de los permisos que tiene/tienen la/as tabla/s... y prepara bien los
triggers, y las funciones de auditoria necesarias para tu nivel de
seguridad.

Planifica bien el tipo de autenticacion (Windows o SQL Server)... y un
larguisimo etc... Si el diseño comienza bien los requisitos de la LOPD
deberian ir cumpliendose practicamente solos, sin embargo, si empiezan mal
estas en un pequeño lio, y todo parece complicarse.

Por el momento te aconsejo que cojas un par de manuales de la LOPD y
mientras le das vueltas al diseño dale vueltas a como solucionar lo que
exige la LOPD.

Saludos



"Javier P" escribió en el mensaje
news:
Hola buenas. (Antes he publicado lo mismo pero debido al formato no se


veia
nada).



Deseo realizar un programa en el que se guardan los resultados de unos
cuestionarios realizados a unos pacientes drogodependientes en una


consulta
psiquiatra.



Me gustaría saber como puedo diseñar la base de datos.



Os explico, el cuestionario contiene lo siguiente (estas son solo algunas


de
las preguntas):



-



1- Nombre y apellidos



2- Drogas por las que se le trata



3- Datos del entrevistador



4- Uso de sustancias: Esto es una tabla a rellenar donde vienen una lista


de
drogas y ha de decir si se ha drogado o no con esa sustancia en el último
mes.



5- ¿Ha tenido una sobredosis en el último mes? Si es que si, numero de
veces.



6- En un día habitual de los que se inyectaba ¿Cuántas veces se inyectaba
ese día? Veces al día:



7- Salud: Tabla donde vienen una lista de problemas de salud y ha de decir
con qué frecuencia los ha sufrido (Nunca, Raras veces, A veces, A menudo,
Siempre)



8- ¿Durante cuánto tiempo ha vivido Ud. en la dirección actual? (Meses)



9- A lo largo del último mes ¿Ha tenido Ud. trabajo remunerado o pagado
(incluyendo trabajos ocasionales cobrando? Numero de dias.






Con estos datos creo que la base de datos ha de tener las siguientes


tablas:



- Pacientes

- Drogas

- Entrevistadores

- ¿? Aquí es donde tengo la duda. No se si el resto de los datos del
formulario han de estar cada uno en un campo. Por ejemplo, creo que la
pregunta 7 (Salud), deberia de hacer una tabla con un campo llamado
IdProblema y otro Problema y ahí poner en registros todos los problemas, y
cada vez que se realiza un cuestionario se guardan los resultados en una
tabla intermedia (Pacientes-Problemas). ¿no?.

Pero, el resto de resultados los guardo en campos separados (como el


numero
de veces que ha tenido una sobredosis)?



Les agradeceria mucho que me ayudaran. Muchas Gracias de antemano. Espero
que este lo suficientemente claro.


Respuesta Responder a este mensaje
#3 Gustavo Larriera [MVP]
04/11/2004 - 01:35 | Informe spam
<broma>

Ademas de todo lo que te han dicho, solo quiero desearte suerte con el
diseño de la base de datos... yo me estoy volviendo loco.



Justamente la base de datos almacena información de pacientes psiquiatricos.

</broma>

saludos
gux
Respuesta Responder a este mensaje
#4 Javier P
04/11/2004 - 17:13 | Informe spam
Muchas Gracias. Me ha servido de mucho.

Creo que lo haré como dices tu.

Si quieres te puedo pasar el cuestionario que lo tengo en formato word y me
dices si tu lo harias definitivamente o asi o no.

Muchas gracias, de verdad.


"Paulino Padial" escribió en el mensaje
news:%23kYZY$
SI, los datos, que se vayan a repetir mucho, los metes en una tabla aparte


y
lo que pones en las tablas es la PK de esa tabla.
Los datos como numero de meses, o numero de veces que se ha... o si se ha
mudado, esos peudes ponerlos tranquilamente.

Piensa que por ejemplo, en tu caso de los problemas, tienes un par, De
corazon, y de Pulmon, si se perdieran los registros de tus pacientes,
perderias los problemas, o si se cambiaran los registros. (ademas, al


estar
todo en una tabla puedes hacer join con ella, entre clientes y problemas
alomejor, y sql server utilizaria indices para la busqueda , en vez de
buscar por un campo de tipo texto, en la tabla clientes, que tendria que
recorrerla entera para mostrar todos los problemas. De la otra forma la pk
qeu seria por ejemplo indice clustered) ( Aparte, el tema del espacio, no


es
lo mismo guardar una cadena que okupa mas bytes, que guardar un int al
final te sale mas rentable tener muchos ints, que tener muchas cadenas,
nvarchar o como las definas :) )

Por todo esto, es mejor creo yo ;)



Ahora, yo pensaria si alomejor, por ejemplo segun has dicho estan

1) Los clientes
2) Drogas --> esta tabla suponiendo que quieras tener guardados muchos


datos
referentes a las drogras, o que quieres guardar un listado de drogas...
3) Entrevistadores--> supongo que sera el medico
4)Problema -->diferentes tipos de problemas
Bien podias plantearte meter esto a ver que te parece

5)Entrevista --> aqui apuntaras las entrevistas que tiene un paciente,


aqui
es donde pondras los datos de si se ha mudado etc.. y que un paciente


podria
tener X entrevistas, y pongamos que ademas, una entrevista la tiene el


1994
y otra el 2000 han pasado muchos años, y para entonces, ya los datos de si
se a mudado en los ultimos meses, etc, serian edistintos.

Todo depende de como quieras hacerlo, piensa que la estructura y tu


esquema
de BBDD es como reflejar la realidad ;) asi que lo adaptas, y si concretas
mas ,te puedo ayudar mas :)

Saludos Cordiales

Paulino Padial Lopez
Microsoft MCSD
Database Administrator
"Javier P" escribió en el mensaje
news:
> Hola buenas. (Antes he publicado lo mismo pero debido al formato no se
veia
> nada).
>
>
>
> Deseo realizar un programa en el que se guardan los resultados de unos
> cuestionarios realizados a unos pacientes drogodependientes en una
consulta
> psiquiatra.
>
>
>
> Me gustaría saber como puedo diseñar la base de datos.
>
>
>
> Os explico, el cuestionario contiene lo siguiente (estas son solo


algunas
de
> las preguntas):
>
>
>
> -
>
>
>
> 1- Nombre y apellidos
>
>
>
> 2- Drogas por las que se le trata
>
>
>
> 3- Datos del entrevistador
>
>
>
> 4- Uso de sustancias: Esto es una tabla a rellenar donde vienen una


lista
de
> drogas y ha de decir si se ha drogado o no con esa sustancia en el


último
> mes.
>
>
>
> 5- ¿Ha tenido una sobredosis en el último mes? Si es que si, numero de
> veces.
>
>
>
> 6- En un día habitual de los que se inyectaba ¿Cuántas veces se


inyectaba
> ese día? Veces al día:
>
>
>
> 7- Salud: Tabla donde vienen una lista de problemas de salud y ha de


decir
> con qué frecuencia los ha sufrido (Nunca, Raras veces, A veces, A


menudo,
> Siempre)
>
>
>
> 8- ¿Durante cuánto tiempo ha vivido Ud. en la dirección actual? (Meses)
>
>
>
> 9- A lo largo del último mes ¿Ha tenido Ud. trabajo remunerado o pagado
> (incluyendo trabajos ocasionales cobrando? Numero de dias.
>
>
>
>
>
>
> Con estos datos creo que la base de datos ha de tener las siguientes
tablas:
>
>
>
> - Pacientes
>
> - Drogas
>
> - Entrevistadores
>
> - ¿? Aquí es donde tengo la duda. No se si el resto de los datos del
> formulario han de estar cada uno en un campo. Por ejemplo, creo que la
> pregunta 7 (Salud), deberia de hacer una tabla con un campo llamado
> IdProblema y otro Problema y ahí poner en registros todos los problemas,


y
> cada vez que se realiza un cuestionario se guardan los resultados en una
> tabla intermedia (Pacientes-Problemas). ¿no?.
>
> Pero, el resto de resultados los guardo en campos separados (como el
numero
> de veces que ha tenido una sobredosis)?
>
>
>
> Les agradeceria mucho que me ayudaran. Muchas Gracias de antemano.


Espero
> que este lo suficientemente claro.
>
>


Respuesta Responder a este mensaje
#5 Javier P
04/11/2004 - 17:21 | Informe spam
Muchas Gracias por el aviso/consejo.

"Juan Pedro Gonzalez" escribió en el mensaje
news:
Ademas de todo lo que te han dicho, solo quiero desearte suerte con el
diseño de la base de datos... yo me estoy volviendo loco.

Supongo que ya sabes que estas tratando datos de caracter personal de


nivel
alto (Segun la Ley Organica de Proteccion de Datos)... Asi que vas a tener
que vigilar mucho las tablas que contengan datos de caracter personal, y
crear los documjentos de seguridad pertinentes. Asi que asegurate muy bien
de los permisos que tiene/tienen la/as tabla/s... y prepara bien los
triggers, y las funciones de auditoria necesarias para tu nivel de
seguridad.

Planifica bien el tipo de autenticacion (Windows o SQL Server)... y un
larguisimo etc... Si el diseño comienza bien los requisitos de la LOPD
deberian ir cumpliendose practicamente solos, sin embargo, si empiezan mal
estas en un pequeño lio, y todo parece complicarse.

Por el momento te aconsejo que cojas un par de manuales de la LOPD y
mientras le das vueltas al diseño dale vueltas a como solucionar lo que
exige la LOPD.

Saludos



"Javier P" escribió en el mensaje
news:
> Hola buenas. (Antes he publicado lo mismo pero debido al formato no se
veia
> nada).
>
>
>
> Deseo realizar un programa en el que se guardan los resultados de unos
> cuestionarios realizados a unos pacientes drogodependientes en una
consulta
> psiquiatra.
>
>
>
> Me gustaría saber como puedo diseñar la base de datos.
>
>
>
> Os explico, el cuestionario contiene lo siguiente (estas son solo


algunas
de
> las preguntas):
>
>
>
> -
>
>
>
> 1- Nombre y apellidos
>
>
>
> 2- Drogas por las que se le trata
>
>
>
> 3- Datos del entrevistador
>
>
>
> 4- Uso de sustancias: Esto es una tabla a rellenar donde vienen una


lista
de
> drogas y ha de decir si se ha drogado o no con esa sustancia en el


último
> mes.
>
>
>
> 5- ¿Ha tenido una sobredosis en el último mes? Si es que si, numero de
> veces.
>
>
>
> 6- En un día habitual de los que se inyectaba ¿Cuántas veces se


inyectaba
> ese día? Veces al día:
>
>
>
> 7- Salud: Tabla donde vienen una lista de problemas de salud y ha de


decir
> con qué frecuencia los ha sufrido (Nunca, Raras veces, A veces, A


menudo,
> Siempre)
>
>
>
> 8- ¿Durante cuánto tiempo ha vivido Ud. en la dirección actual? (Meses)
>
>
>
> 9- A lo largo del último mes ¿Ha tenido Ud. trabajo remunerado o pagado
> (incluyendo trabajos ocasionales cobrando? Numero de dias.
>
>
>
>
>
>
> Con estos datos creo que la base de datos ha de tener las siguientes
tablas:
>
>
>
> - Pacientes
>
> - Drogas
>
> - Entrevistadores
>
> - ¿? Aquí es donde tengo la duda. No se si el resto de los datos del
> formulario han de estar cada uno en un campo. Por ejemplo, creo que la
> pregunta 7 (Salud), deberia de hacer una tabla con un campo llamado
> IdProblema y otro Problema y ahí poner en registros todos los problemas,


y
> cada vez que se realiza un cuestionario se guardan los resultados en una
> tabla intermedia (Pacientes-Problemas). ¿no?.
>
> Pero, el resto de resultados los guardo en campos separados (como el
numero
> de veces que ha tenido una sobredosis)?
>
>
>
> Les agradeceria mucho que me ayudaran. Muchas Gracias de antemano.


Espero
> que este lo suficientemente claro.
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida