{"id":20236536,"url":"https://github.com/mohammedmehdio/biblio-sql","last_synced_at":"2025-10-18T09:46:58.924Z","repository":{"id":246502082,"uuid":"821318385","full_name":"mohammedmehdio/biblio-sql","owner":"mohammedmehdio","description":"Ce projet est une base de données relationnelle pour gérer les opérations d'une bibliothèque : auteurs, livres, membres et emprunts. Il inclut des fonctionnalités avancées comme procédures stockées, triggers et index pour une gestion optimisée.","archived":false,"fork":false,"pushed_at":"2025-01-02T02:57:11.000Z","size":5,"stargazers_count":17,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-02T03:34:08.976Z","etag":null,"topics":["bibliotheque","database","index","microsoft-sql-server","mssql","mssql-database","procedure","sql","trigger","view"],"latest_commit_sha":null,"homepage":"","language":"TSQL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mohammedmehdio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-28T09:19:00.000Z","updated_at":"2025-01-02T02:57:15.000Z","dependencies_parsed_at":"2024-07-16T05:16:23.549Z","dependency_job_id":null,"html_url":"https://github.com/mohammedmehdio/biblio-sql","commit_stats":null,"previous_names":["mohammed-mehdi-boudir/biblio-sql","mohammedmehdil/biblio-sql","mohammedmehdio/biblio-sql"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammedmehdio%2Fbiblio-sql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammedmehdio%2Fbiblio-sql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammedmehdio%2Fbiblio-sql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammedmehdio%2Fbiblio-sql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mohammedmehdio","download_url":"https://codeload.github.com/mohammedmehdio/biblio-sql/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233828150,"owners_count":18736578,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bibliotheque","database","index","microsoft-sql-server","mssql","mssql-database","procedure","sql","trigger","view"],"created_at":"2024-11-14T08:21:33.858Z","updated_at":"2025-09-22T05:32:37.773Z","avatar_url":"https://github.com/mohammedmehdio.png","language":"TSQL","readme":"\n\n```markdown\n# Gestion de Bibliothèque\n\nCe projet propose un système de gestion de bibliothèque utilisant SQL Server. Il couvre la création et la gestion d'une base de données pour les auteurs, livres, membres, et emprunts, avec des fonctionnalités avancées comme les procédures stockées, les triggers, et l'indexation.\n\n---\n\n## 🛠 Fonctionnalités\n\n- **Gestion des auteurs, livres, membres et emprunts** :\n  - Ajout, modification et suppression des enregistrements.\n- **Procédures stockées** :\n  - Ajout de membres.\n  - Ajout d'emprunts.\n  - Mise à jour de la date de retour des emprunts.\n- **Création de vues** :\n  - Vue des emprunts en cours avec les informations détaillées des livres et des membres.\n- **Triggers SQL** :\n  - Vérification des règles métier lors de l'ajout ou de la mise à jour des emprunts.\n- **Indexation** :\n  - Accélération des recherches sur les noms d'auteurs et les titres des livres.\n\n---\n\n## 🚀 Instructions d'Utilisation\n\n### Étape 1 : Création de la Base de Données\n```sql\nCREATE DATABASE Bibliothèque;\n```\n\n### Étape 2 : Création des Tables\nLes tables suivantes sont créées pour gérer les données :\n- **Auteurs**\n- **Livres**\n- **Membres**\n- **Emprunts**\n\nVoir le code SQL dans ce dépôt pour plus de détails.\n\n### Étape 3 : Insertion des Données\nAjoutez des auteurs, livres, membres et emprunts à l'aide des scripts d'insertion fournis.\n\n### Étape 4 : Requêtes SQL\nExécutez des requêtes pour récupérer des informations sur les livres, les membres, et les emprunts.\n\n---\n\n## 💡 Fonctionnalités Avancées\n\n1. **Vues** :\n   - `VueEmpruntsActuels` : Affiche les emprunts en cours avec les informations associées.\n   \n2. **Triggers** :\n   - `Trg_AfterInsert_Emprunts` : Vérifie si un livre est déjà emprunté avant d'ajouter un nouvel emprunt.\n   - `Trg_BeforeUpdate_Emprunts` : Vérifie que la date de retour est supérieure à la date d'emprunt.\n\n3. **Procédures Stockées** :\n   - `AjouterMembre` : Ajoute un nouveau membre.\n   - `AjouterEmprunt` : Ajoute un nouvel emprunt.\n   - `RetournerLivre` : Met à jour la date de retour d'un emprunt.\n\n4. **Indexation** :\n   - Accélération des recherches par nom d'auteur et titre de livre.\n\n---\n\n## 📄 Requêtes Importantes\n\n- **Liste des livres et leurs auteurs** :\n  ```sql\n  SELECT Livres.Titre, Auteurs.Nom, Auteurs.Prenom \n  FROM Livres \n  INNER JOIN Auteurs ON Livres.AuteurID = Auteurs.AuteurID;\n  ```\n\n- **Membres ayant emprunté un livre** :\n  ```sql\n  SELECT DISTINCT Nom, Prenom \n  FROM Membres \n  INNER JOIN Emprunts ON Membres.MembreID = Emprunts.MembreID;\n  ```\n\n- **Livres actuellement empruntés** :\n  ```sql\n  SELECT Titre, DateRetour \n  FROM Livres L\n  JOIN Emprunts E ON L.LivreID = E.LivreID\n  WHERE E.DateRetour IS NULL;\n  ```\n\n---\n\n## 📌 À Propos\nCe projet met en œuvre des concepts avancés de SQL Server pour gérer efficacement une bibliothèque. Il est conçu pour les étudiants et développeurs souhaitant apprendre et expérimenter les bases de données relationnelles.\n\n---\n\n### 📝 Licence\nCe projet est sous licence MIT. Consultez le fichier [LICENSE](LICENSE) pour plus de détails.\n```\n\nAjoutez ce fichier README à votre dépôt pour donner une description claire et détaillée de votre projet. Si vous souhaitez des modifications supplémentaires, n'hésitez pas à demander ! 😊\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammedmehdio%2Fbiblio-sql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohammedmehdio%2Fbiblio-sql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammedmehdio%2Fbiblio-sql/lists"}