Conception de la base de données du système d’enregistrement des temps quotidiens


Conception de la base de données du système d’enregistrement des temps quotidiens

Le projet de synthèse intitulé «Daily Time Record System» est une plate-forme multi-entreprises qui leur permettra de surveiller les temps d’entrée et de sortie de leurs employés.

Cet article vous fournira la liste des tables et des champs / colonnes pour chaque table dans la conception de la structure de base de données / schéma du système d’enregistrement de temps quotidien. L’équipe fournira plus tard un didacticiel vidéo sur la création de la base de données dans PHPMyAdmin.

Cette conception de base de données comporte 8 tables avec leurs champs et colonnes respectifs ainsi que leurs relations les unes avec les autres.

Conception de la base de données du système d'enregistrement des temps quotidiens - Liste des tableaux
Conception de la base de données du système d’enregistrement des temps quotidiens – Liste des tableaux

tbl_employee – c’est le tableau qui stocke les informations des employés. La table des employés comporte 9 colonnes.

  • employee_id – clé primaire de la table. Il est généralement défini sur auto_increment (la base de données donnera automatiquement à cette colonne une valeur commençant à 1).
  • company_id – il s’agit d’une clé étrangère qui renvoie au profil d’entreprise de l’employé.
  • employee_barcode – une combinaison de codes unique donnée à l’employé. Dans la plupart des cas, il s’agit également du numéro d’employé.
  • nom_dernier_employé – nom de famille de l’employé.
  • nom_employé – prénom de l’employé.
  • employee_middle_name – deuxième prénom de l’employé.
  • department_id – il s’agit d’une clé étrangère qui renvoie à la table department. C’est là que l’employé est affecté.
  • désignation_id – il s’agit d’une clé étrangère qui renvoie à la table de désignation. C’est la position de l’employé dans son organisation.
  • user_id – l’utilisateur qui accepte / approuve / désactive le profil d’employé. Il s’agit d’une clé étrangère qui se connecte à la table utilisateur.

Créer une instruction SQL – l’instruction ci-dessous est utilisée pour créer le tbl_employee, copiez l’instruction sql et collez-la dans le gestionnaire / onglet sql de votre phpmyadmin.

CREATE TABLE `tbl_employee` (
`employee_id` int(11) NOT NULL,
`company_id` int(11) NOT NULL,
`employee_barcode` varchar(30) NOT NULL,
`employee_last_name` varchar(30) NOT NULL,
`employee_first_name` varchar(30) NOT NULL,
`employee_middle_name` varchar(30) NOT NULL,
`department_id` int(11) NOT NULL,
`designation_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

tbl_department – La table des départements stocke les informations des différents départements ou sections de l’organisation ou de l’entreprise. Le tableau comporte 4 colonnes.

  • department_id – clé primaire de la table. Il est généralement défini sur auto_increment (la base de données donnera automatiquement à cette colonne une valeur commençant à 1).
  • department_initial – nom initial du département.
  • department_complete_name – nom complet du département.
  • user_id – l’utilisateur qui accepte / approuve / désactive le profil du service. Il s’agit d’une clé étrangère qui se connecte à la table utilisateur.

Créer une instruction SQL – l’instruction ci-dessous est utilisée pour créer le tbl_department, copiez l’instruction sql et collez-la dans le gestionnaire / onglet sql de votre phpmyadmin.

CREATE TABLE `tbl_department` (
`department_id` int(11) NOT NULL,
`department_initial` varchar(15) NOT NULL,
`department_complete_name` varchar(50) NOT NULL,
`user_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

tbl_designation – le poste ou l’affectation du salarié est stocké dans ce tableau. Le tableau de désignation comporte 5 colonnes.

  • désignation_id – clé primaire de la table. Il est généralement défini sur auto_increment (la base de données donnera automatiquement à cette colonne une valeur commençant à 1).
  • nom_désignation – nom du poste, de l’affectation ou de la désignation.
  • job_description – rôles de travail spécifiques d’un certain poste.
  • salaire – salaire de base du poste.
  • user_id – l’utilisateur qui accepte / approuve / désactive le profil du service. Il s’agit d’une clé étrangère qui se connecte à la table utilisateur.
lire plus  Clonage d'Instagram à l'aide de Django Framework

Créer une instruction SQL – l’instruction ci-dessous est utilisée pour créer le tbl_designation, copiez l’instruction sql et collez-la dans le gestionnaire / onglet sql de votre phpmyadmin.

CREATE TABLE `tbl_designation` (
`designation_id` int(11) NOT NULL,
`designation_name` varchar(30) NOT NULL,
`job_description` varchar(200) NOT NULL,
`salary` float NOT NULL,
`user_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

tbl_time_sheet – cette table stockera l’heure et l’heure de notre enregistrement de chaque employé. Le tableau de la feuille de temps comporte 7 colonnes.

  • time_sheet_id – clé primaire de la table. Il est généralement défini sur auto_increment (la base de données donnera automatiquement à cette colonne une valeur commençant à 1).
  • employee_id – cette colonne fait référence aux informations sur les employés, il s’agit en fait d’une clé étrangère qui renvoie à la table des employés.
  • date_recorded – date de l’enregistrement de présence.
  • time_in_am – heure enregistrée de l’employé le matin.
  • time_out_am – enregistrement du temps mort de l’employé le matin.
  • time_in_pm – heure enregistrée de l’employé dans l’après-midi.
  • time_out_pm – chronométrer notre enregistrement de l’employé dans l’après-midi.

Créer une instruction SQL – l’instruction ci-dessous est utilisée pour créer la tbl_time_sheet, copiez l’instruction sql et collez-la dans le gestionnaire / onglet sql de votre phpmyadmin.

CREATE TABLE `tbl_time_sheet` (
`time_sheet_id` int(11) NOT NULL,
`employee_id` int(11) NOT NULL,
`date_recorded` date NOT NULL,
`time_in_am` time NOT NULL,
`time_out_am` time NOT NULL,
`time_in_pm` time NOT NULL,
`time_out_pm` time NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

tbl_backup – la base de données entière doit être copiée dans un stockage externe à des fins de sauvegarde et cette table stocke ces informations.

  • backup_id – clé primaire de la table. Il est généralement défini sur auto_increment (la base de données donnera automatiquement à cette colonne une valeur commençant à 1).
  • backup_date_time – date et heure du processus de sauvegarde.
  • user_id – l’utilisateur qui effectue le processus de sauvegarde. Il s’agit d’une clé étrangère qui se connecte à la table utilisateur.
  • backup_file – le fichier de sauvegarde.
  • remarques – note ou information importante sur le processus de sauvegarde.

Créer une instruction SQL – l’instruction ci-dessous est utilisée pour créer le tbl_backup, copiez l’instruction sql et collez-la dans le gestionnaire / onglet sql de votre phpmyadmin.

CREATE TABLE `tbl_backup` (
`backup_id` int(11) NOT NULL,
`backup_date_time` datetime NOT NULL,
`user_id` int(11) NOT NULL,
`backup_file` blob NOT NULL,
`remarks` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

tbl_company_profile – ce tableau stockera les informations de l’entreprise. Le tableau comporte 8 colonnes.

  • company_id – clé primaire de la table. Il est généralement défini sur auto_increment (la base de données donnera automatiquement à cette colonne une valeur commençant à 1).
  • nom_entreprise – le nom complet de l’entreprise.
  • company_contact_person – personne de contact de l’entreprise
  • company_email – adresse e-mail officielle de l’entreprise
  • company_contact_number – coordonnées de l’entreprise (ligne fixe, mobile, etc.)
  • company_website – site officiel de l’entreprise (le cas échéant)
  • company_profile – cette colonne est ouverte pour tout contenu tel que l’historique de l’entreprise, les services proposés et toute autre information sur l’entreprise ou la boutique
  • user_id – l’utilisateur qui accepte / approuve / désactive le profil de l’entreprise. Il s’agit d’une clé étrangère qui se connecte à la table utilisateur.
lire plus  Comment restaurer les icônes du bureau sous Windows 10 et 11

Créer une instruction SQL – l’instruction ci-dessous est utilisée pour créer le tbl_company_profile, copiez l’instruction sql et collez-la dans le gestionnaire / onglet sql de votre phpmyadmin.

CREATE TABLE `tbl_company_profile` (
`company_id` int(11) NOT NULL,
`company_name` varchar(50) NOT NULL,
`company_contact_person` varchar(30) NOT NULL,
`company_email` varchar(30) NOT NULL,
`company_contact_number` varchar(15) NOT NULL,
`company_website` varchar(30) NOT NULL,
`company_profile` varchar(250) NOT NULL,
`user_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

tbl_user – cette table stockera les informations du personnel qui peut accéder aux enregistrements du système.

  • user_id – clé primaire de la table. Il est généralement défini sur auto_increment (la base de données donnera automatiquement à cette colonne une valeur commençant à 1).
  • nom d’utilisateur – nom d’utilisateur du personnel utilisé pour se connecter avec le mot de passe.
  • mot de passe – mot de passe du personnel utilisé pour se connecter avec le nom d’utilisateur.
  • avatar – cela contiendra l’image de profil de l’utilisateur.
  • fullname – le nom complet du personnel ou de l’utilisateur.
  • contact – numéro de contact du personnel (numéro de portable / téléphone portable).
  • email – adresse email du personnel / utilisateur.
  • user_category_id – le groupe d’utilisateurs ou la catégorie de l’utilisateur.
  • état – la valeur de cette colonne est 0 ou 1, 0 signifie désactivé ou inactif, 1 est activé ou actif.

Créer une instruction SQL – l’instruction ci-dessous est utilisée pour créer le tbl_user, copiez l’instruction sql et collez-la dans le gestionnaire / onglet sql de votre phpmyadmin.

CREATE TABLE `tbl_user` (
`user_id` int(11) NOT NULL,
`username` varchar(30) NOT NULL,
`password` varchar(30) NOT NULL,
`avatar` blob NOT NULL,
`fullname` varchar(50) NOT NULL,
`contact` varchar(15) NOT NULL,
`email` varchar(30) NOT NULL,
`user_category_id` int(1) NOT NULL,
`status` int(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

tbl_usergroup – ce tableau stocke les informations du groupe d’utilisateurs qui incluent les fonctions auxquelles ils peuvent et ne peuvent pas accéder dans le système.

  • user_group_id – clé primaire de la table. Il est généralement défini sur auto_increment (la base de données donnera automatiquement à cette colonne une valeur commençant à 1).
  • nom_groupe – nom de la catégorie ou du groupe d’utilisateurs.
  • description – informations sur ce qu’est le groupe d’utilisateurs.
  • allow_add – cette colonne permet d’autoriser ou d’empêcher l’utilisateur d’ajouter un enregistrement.
  • allow_edit – cette colonne permet d’autoriser ou d’empêcher l’utilisateur de modifier ou de mettre à jour un enregistrement.
  • allow_delete – cette colonne permet d’autoriser ou d’empêcher l’utilisateur de supprimer ou de supprimer un enregistrement.
  • allow_print – cette colonne permet d’autoriser ou d’empêcher l’utilisateur d’imprimer un rapport.
  • allow_import – cette colonne permet d’autoriser ou d’empêcher l’utilisateur d’importer des enregistrements dans le système.
  • allow_export – cette colonne permet d’autoriser ou d’empêcher l’utilisateur d’exporter des enregistrements du système.

Créer une instruction SQL – l’instruction ci-dessous est utilisée pour créer le tbl_usergroup, copiez l’instruction sql et collez-la dans le gestionnaire / onglet sql de votre phpmyadmin.

CREATE TABLE `tbl_user_group` (
`user_group_id` int(11) NOT NULL,
`group_name` varchar(30) NOT NULL,
`description` varchar(50) NOT NULL,
`allow_add` int(1) NOT NULL,
`allow_edit` int(1) NOT NULL,
`allow_delete` int(1) NOT NULL,
`allow_print` int(1) NOT NULL,
`allow_import` int(1) NOT NULL,
`allow_export` int(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Index des tables vidées

--
-- Indexes for table `tbl_backup`
--
ALTER TABLE `tbl_backup`
ADD PRIMARY KEY (`backup_id`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `tbl_company_profile`
--
ALTER TABLE `tbl_company_profile`
ADD PRIMARY KEY (`company_id`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `tbl_department`
--
ALTER TABLE `tbl_department`
ADD PRIMARY KEY (`department_id`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `tbl_designation`
--
ALTER TABLE `tbl_designation`
ADD PRIMARY KEY (`designation_id`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `tbl_employee`
--
ALTER TABLE `tbl_employee`
ADD PRIMARY KEY (`employee_id`),
ADD KEY `company_id` (`company_id`),
ADD KEY `department_id` (`department_id`),
ADD KEY `designation_id` (`designation_id`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `tbl_time_sheet`
--
ALTER TABLE `tbl_time_sheet`
ADD PRIMARY KEY (`time_sheet_id`),
ADD KEY `employee_id` (`employee_id`);

--
-- Indexes for table `tbl_user`
--
ALTER TABLE `tbl_user`
ADD PRIMARY KEY (`user_id`),
ADD KEY `user_category_id` (`user_category_id`);

--
-- Indexes for table `tbl_user_group`
--
ALTER TABLE `tbl_user_group`
ADD PRIMARY KEY (`user_group_id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `tbl_backup`
--
ALTER TABLE `tbl_backup`
MODIFY `backup_id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `tbl_company_profile`
--
ALTER TABLE `tbl_company_profile`
MODIFY `company_id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `tbl_department`
--
ALTER TABLE `tbl_department`
MODIFY `department_id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `tbl_designation`
--
ALTER TABLE `tbl_designation`
MODIFY `designation_id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `tbl_employee`
--
ALTER TABLE `tbl_employee`
MODIFY `employee_id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `tbl_time_sheet`
--
ALTER TABLE `tbl_time_sheet`
MODIFY `time_sheet_id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `tbl_user`
--
ALTER TABLE `tbl_user`
MODIFY `user_id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `tbl_user_group`
--
ALTER TABLE `tbl_user_group`
MODIFY `user_group_id` int(11) NOT NULL AUTO_INCREMENT;

Contraintes pour les tables vidées

--
-- Constraints for table `tbl_backup`
--
ALTER TABLE `tbl_backup`
ADD CONSTRAINT `tbl_backup_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `tbl_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `tbl_company_profile`
--
ALTER TABLE `tbl_company_profile`
ADD CONSTRAINT `tbl_company_profile_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `tbl_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `tbl_department`
--
ALTER TABLE `tbl_department`
ADD CONSTRAINT `tbl_department_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `tbl_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `tbl_designation`
--
ALTER TABLE `tbl_designation`
ADD CONSTRAINT `tbl_designation_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `tbl_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `tbl_employee`
--
ALTER TABLE `tbl_employee`
ADD CONSTRAINT `tbl_employee_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `tbl_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `tbl_employee_ibfk_2` FOREIGN KEY (`company_id`) REFERENCES `tbl_company_profile` (`company_id`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `tbl_employee_ibfk_3` FOREIGN KEY (`designation_id`) REFERENCES `tbl_designation` (`designation_id`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `tbl_employee_ibfk_4` FOREIGN KEY (`department_id`) REFERENCES `tbl_department` (`department_id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `tbl_time_sheet`
--
ALTER TABLE `tbl_time_sheet`
ADD CONSTRAINT `tbl_time_sheet_ibfk_1` FOREIGN KEY (`employee_id`) REFERENCES `tbl_employee` (`employee_id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `tbl_user`
--
ALTER TABLE `tbl_user`
ADD CONSTRAINT `tbl_user_ibfk_1` FOREIGN KEY (`user_category_id`) REFERENCES `tbl_user_group` (`user_group_id`) ON DELETE CASCADE ON UPDATE CASCADE;
COMMIT;
Conception de la base de données du système d'enregistrement des temps quotidiens
Conception de la base de données du système d’enregistrement des temps quotidiens

Téléchargement gratuit du fichier .sql

lire plus  Créer un formulaire de limite de tentative de connexion dans C # et base de données MySQL

Notre équipe peut modifier le projet en fonction de vos besoins commerciaux spécifiques.

Vous pouvez visiter notre Facebook page pour plus d’informations, demandes de renseignements et commentaires.

Louer notre équipe pour faire le projet.

commentaires

commentaires





Telecharger ici

Laisser un commentaire

Aller au contenu principal