Gioce90
Newbie
Karma: +0/-0
Scollegato
Messaggi: 8
|
 |
« inserita:: Luglio 29, 2012, 11:52:23 am » |
|
sto costruendo un programma java che si servirà di un database mySql per registrare pazienti e infermieri. Non ho il tempo di approfondire lo studio dei db quindi mi chiedevo se le seguenti tabelle andavano bene
Infermiere: ID | CF | Cognome | Nome | AutoMunito | GiornoLibero1 | GiornoLibero2 | Username | Password
Paziente: ID | CF | Cognome | Nome | DataNascita | Città | Domicilio | NumeroCivico | Telefono(0...n) | CartellaClinica.
Le domande sono 4: 1. i giorni liberi (che contengono lunedì, martedì...) stanno bene così, o dovrei metterli in un'altra tabella? Ad esempio può capitare che un infermiere abbia solo un gg libero a settimana, un altro 2... Cosa mi consigliate? 2. c'è un modo specifico per proteggere le password? 3. Il numero di telefono del paziente può non esserci come possono essercene anche 10 diversi. Dovrei probabilmente metterli in un'altra tabella, mi dite come sistemare Paziente e l'eventuale tabella? 4. La cartella clinica dovrebbe essere un'altra diversa tabella contenente di volta in volta i vari Interventi subiti dal paziente, con attributi del tipo ID_Infermiere (che ha effettuato l'intervento), DataIntervento, TipoIntervento, MisuraRilevata, Note (opzionale). Come mi consigliate di farla?
Grazie a chi mi risponderà!
|
|
|
|
|
Registrato
|
|
|
|
|
|
Gioce90
Newbie
Karma: +0/-0
Scollegato
Messaggi: 8
|
 |
« Risposta #2 inserita:: Luglio 29, 2012, 12:30:30 pm » |
|
grazie per le guide... mmm se ho ben capito diventerebbe:
Tabella Infermiere: ID | CF | Cognome | Nome | AutoMunito | Username | Password
Tabella GiorniLiberiInfermiere: ID | GiornoLibero
ad esempio
Tab Infermiere: X1 | DRN... | Doronzo | Francesco | Si | drn1 | psw1 X2 | PZZ... | Piazzolla | Maria | No | pzz2 | psw2 ...
Tab GiorniLiberiInfermiere: X1 | Lunedì X1 | Venerdì X2 | Martedì
Penso sia corretto... o sbaglio?
|
|
|
|
|
Registrato
|
|
|
|
|
DEV-01
|
 |
« Risposta #3 inserita:: Luglio 29, 2012, 08:44:00 pm » |
|
La gestione della turnistica "fissa" la devi elaborare tramite algoritmo a runtime indicando semplicemente la "squadra" alla quale l' operatore appartiene. Questo snellisce il database e ti consente di tenere traccia delle eventuali modifiche tramite le timbrature.
Altre modifiche (malattie, R.O.L., ferie, e congedi vari) vengono gestiti "manualmente" tramite client.
Il nome del giorno puoi ottenerlo tramite apposite funzioni da programma (ma mi pare che sia di scarsissima, se non nulla, rilevanza).
Consiglio: cerca di esemplificare la struttura del database e del programma: diverrà più performante e più facilmente manutenibile/scalabile/aggiornabile (le quattro proprietà più giustamente sbandierate ed efficaci di sempre).
Per quanto riguarda le altre tabelle il mio consiglio è quello seguire la logica almeno dei primi 3 predicati di normalizzazione (praticamente i più diffusi).
Ad esempio (tipico e funzionale): tblPhoneType : | idPhoneType | Description| 1 casa 2 cellulare 3 ufficio 4 cell codificato 5 etc...
tblPhoneNumber: | idNumber | idPhoneType | IdContact | PhoneNumber |
1 2 50 3334582xxx 2 3 126 04425931xxx 3 1 1012 0625963xxx 4 1 50 0256214xxx etc.
Puoi inoltre aggiungere una tabella tblNote:
| idNote | idNumber | Note | 1 3 Chiamare dalle 09:00 alle 12:30 il lunedì ed il giovedì 2 4 Non reperibile prima del 27/09/2012
Come vedi alcuni contatti mancano o le informazioni contenute nel campo "Note" non sono legate a tutti i numeri di un solo contatto ma possono essere diversificate: questo ti consente di eliminare la possibilità di avere campi vuoti nella tabella tblPhoneNumber tenendo il database più compatto ed aumentando le prestazioni delle query.
e così via per patologie, cartelle ed elementi di varia natura...
|
|
|
|
|
Registrato
|
01000100 01100101 01110110 00101101 00110000 00110001
|
|
|
Gioce90
Newbie
Karma: +0/-0
Scollegato
Messaggi: 8
|
 |
« Risposta #4 inserita:: Luglio 30, 2012, 05:42:08 pm » |
|
Mi sei stato di grande aiuto, soprattutto per la gestione dei numeri di telefono.
La turnistica però non mi è ancora chiara, non saprei da dove cominciare xD
|
|
|
|
|
Registrato
|
|
|
|
|
DEV-01
|
 |
« Risposta #5 inserita:: Luglio 31, 2012, 06:42:47 pm » |
|
Che linguaggio prevedi di utilizzare?
|
|
|
|
|
Registrato
|
01000100 01100101 01110110 00101101 00110000 00110001
|
|
|
Gioce90
Newbie
Karma: +0/-0
Scollegato
Messaggi: 8
|
 |
« Risposta #6 inserita:: Agosto 01, 2012, 02:40:07 pm » |
|
java e mysql. Sarà un progetto three-tier con tanto di DAO.
|
|
|
|
|
Registrato
|
|
|
|
|
DEV-01
|
 |
« Risposta #7 inserita:: Agosto 01, 2012, 09:49:44 pm » |
|
Ok, allora per la parte di progettazione del database attieniti agli esempi fatti e ai link riportati, per la parte relativa la programmazione purtroppo non posso aiutarti in relazione a java poiché non lo conosco quindi passo a chi ne sa più di me... sorry!! 
|
|
|
|
|
Registrato
|
01000100 01100101 01110110 00101101 00110000 00110001
|
|
|
Gioce90
Newbie
Karma: +0/-0
Scollegato
Messaggi: 8
|
 |
« Risposta #8 inserita:: Agosto 22, 2012, 11:31:46 am » |
|
okay grazie 
|
|
|
|
|
Registrato
|
|
|
|
gibra
Newbie
Karma: +0/-0
Scollegato
Messaggi: 21
|
 |
« Risposta #9 inserita:: Agosto 22, 2012, 04:59:15 pm » |
|
java e mysql. Sarà un progetto three-tier con tanto di DAO.
Immagino volessi scrivere ADO, non DAO! Non userei DAO nemmeno se mi legassero 
|
|
|
|
|
Registrato
|
|
|
|
|
bertolottipf
|
 |
« Risposta #10 inserita:: Agosto 23, 2012, 09:36:24 am » |
|
Data Access Object
|
|
|
|
|
Registrato
|
|
|
|
Gioce90
Newbie
Karma: +0/-0
Scollegato
Messaggi: 8
|
 |
« Risposta #11 inserita:: Agosto 24, 2012, 11:54:21 am » |
|
java e mysql. Sarà un progetto three-tier con tanto di DAO.
Immagino volessi scrivere ADO, non DAO! Non userei DAO nemmeno se mi legassero  Non ho capito 
|
|
|
|
|
Registrato
|
|
|
|
|
DEV-01
|
 |
« Risposta #12 inserita:: Agosto 24, 2012, 06:56:50 pm » |
|
DAO è una tecnologia di acceso ai dati obsoleta (almeno da 8 anni) e sofferente di molteplici problemi e privazioni. Cosa che ADO non è...
|
|
|
|
|
Registrato
|
01000100 01100101 01110110 00101101 00110000 00110001
|
|
|
|