MYSQL. Accorpare relazioni 1:1

giovedì 09 ottobre 2008 - 19.59

iako17 Profilo | Newbie

Ciao a tutti.

Sto creando una applicazione che, tra le varie funzionalità, dovrebbe gestire l'anagrafica di alcuni docenti. Dunque ho creato una tabella docente contenente nome,cognome,email,etc....

Alla applicazione, pero' si accede attraverso nome utente e password, dunque ho creato una nuova tabella contenente gli utenti dell'applicazione, e quindi dati del tipo: user name, pwd, data ultimo accesso al sistema, etc....

Gli utenti dell'applicazione sono pero' gli stessi docenti, quindi essendoci una relazione 1:1 dovrei accorpare le due tabelle. Pero' mi piacerebbe tenere distinti i due concetti e quindi conservare le 2 tabelle divise. E' un errore?

Per di più vorrei anche escogitare un metodo per creare un utente admin che non abbia una corrispondenza nella tabella docente. Come posso fare dato che dovrei necessariamente rispettare il vincolo di chiave esterna?

Ciao e grazie

alx_81 Profilo | Guru

>Ciao a tutti.
Ciao!

>Gli utenti dell'applicazione sono pero' gli stessi docenti, quindi
>essendoci una relazione 1:1 dovrei accorpare le due tabelle.
>Pero' mi piacerebbe tenere distinti i due concetti e quindi conservare
>le 2 tabelle divise. E' un errore?
No, io metterei Un campo IDUtente nella tabella dei Docenti. In questo modo hai integrità e sai che ad un docente corrisponde sempre un utente.

>Per di più vorrei anche escogitare un metodo per creare un utente
>admin che non abbia una corrispondenza nella tabella docente.
>Come posso fare dato che dovrei necessariamente rispettare il
>vincolo di chiave esterna?
Direi che basta che il padre sia l'utente. In questo modo se un padre esiste ma non ha figli, non succede nulla. Magari prevedi un TipoUtente che definisce la natura dell'utente.

>Ciao e grazie
di nulla!
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

iako17 Profilo | Newbie

Grazie per i consigli.

Ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5