it-swarm-fr.com

Base de données pour suivre la performance des employés

Cela va être très basique car je suis un débutant complet en matière de conception de la base de données.

J'ai été chargé de mettre en place un moyen de suivre les données des employés sur plusieurs mois et potentiellement des années. Je dois garder une trace de leur performance, de leur qualité et de leur présence quotidiennement, mais je ne suis pas sûr de la configuration de mes tables afin que je ne rencontre pas de problèmes dans la ligne.

Pour le moment, j'ai fait une base de données très basique dans Access 2010. J'ai 2 tables, une détention de détails sur les employés (FirstName, Nom, Email, Manager) et un Détails du gestionnaire Holding (FirstName, Nom, email). J'ai créé avec succès une relation entre le champ Manager dans la table des employés et la table des gestionnaires, mais je suis une perte sur la manière de mettre en œuvre le suivi des statistiques réelles.

Comment devrais-je continuer à créer des table (s) à partir de maintenant? Devrais-je faire une table chacune des performances, de la qualité et de la fréquentation avec la clé primaire comme date? Ou devrait-il y avoir une table pour chaque employé? Comment dois-je relier les données à chaque employé et chaque jour pour qu'il ne soit pas compliqué?

L'objectif final est d'utiliser vb.net pour créer une demande de génération de rapports s'il importe. Je n'ai pas de problème avec cette étape mais je veux m'assurer que j'ai une base solide d'abord.

Toute aide appréciée, merci.

3
ChrisO

Suite à la question et à votre commentaire - je ne suis pas sûr que je me souvienne de correctement, mais je pense que l'accès MS n'autorise pas une clé primaire avec plusieurs colonnes, vous feriez donc mieux d'ajouter une auto-incrément (AutoNumber d'accès) Colonne entière en tant que PK et ajoutez les autres colonnes nécessaires: EmployéID, date, performance, qualité, fréquentation. Je suis sûr que la table des employés pourrait bénéficier d'une colonne EmployéeID (utilisez simplement un intégrateur automatique ou utilisez le SSN de cette personne..or tout ce que vous pensez avoir et c'est unique). Cette colonne Employée serait ensuite utilisée comme référence dans d'autres tables (comme celle avec des valeurs recueillies pour P, Q et A).

En outre, je ne ferais pas une table de manager distincte, mais ajoutez une colonne appelée gestionnaireId à la table des employés et la fait référence à l'employéAd (par exemple: pour EmployéID = 5, la gestion = 1 et sur la base des identifiants que vous obtiendrez leur noms).

ltérieur édition : Découvrez que je suis un utilisateur d'accès muet, MS Access permet à Multi colonne PKS :-). Quoi qu'il en soit, il est toujours beaucoup plus simple de gérer les utilisateurs et de les référencez par un identifiant et non par un composé pk.

Dans votre situation actuelle, je ferais 2 tables:

  • Employé - employé, prénom, nom, email, managérieur; et une seconde avec
  • Histoire: ID, Employé, date, performance, qualité, présence.

Devrait suffire à quelles données vous voulez rassembler maintenant.

2
Marian

Je vous suggère de lire la normalisation de la base de données. Voici un bon point de départ: troisième forme normale

Certainement ne créez pas une table par employé car la gestion de cette structure de base de données deviendra bientôt trop encombrante et que votre demande devra être modifiée à chaque fois qu'un nouvel employé est embauché.

Je ne sais pas quelles sont les règles de votre entreprise, mais en supposant que les performances, la qualité et la présence sont toutes des types de données différents (c'est-à-dire différents types de colonnes), alors ils doivent être dans des tableaux séparés. Je ne pouvais pas deviner à quelle clé primaire à utiliser sans savoir quels types de données sont stockés dans ces tables.

Pouvez-vous fournir plus d'informations?

3
Josh Bond