Pour les mots de passe, on ne sais pas te voler quelque chose que tu n'as pas, donc si tu ne les stocke pas... On ne sais pas les voler.
Mais pour pouvoir confirmer que l'utilisateur a bien entré le bon mot de passe il faut utiliser un hash (du quel, normalement, on ne sais pas déduire le mot de passe, si c'est utilisé correctement).
Et sinon oui, meme encrypté c'est trivial de retrouver les mot de passe (il suffit de regarder dans ton code comment tu fais pour les decrytper).
Il n'y a pas d'héritage dans les schema DB, juste des tables et des relations. Donc si il te manque des infos pour les utilisateurs tu les ajoutes au bon endroit, vu le type d'info ici tu peux les ajouters directement dans la table personne (c'est des infos qui peuvent aussi etre utile pour un admin).
Pour les roles, quesque tu veux faire avec?