0% ont trouvé ce document utile (0 vote)
62 vues6 pages

Base de données Manga et Animés

Le document présente un projet de base de données dédié aux mangas et animés, incluant des entités telles que les œuvres, les utilisateurs, et leurs interactions. Il détaille les rôles des utilisateurs, les fonctions, procédures et triggers développés pour gérer les données, ainsi que les contraintes imposées sur celles-ci. La répartition du travail entre les membres de l'équipe est également décrite, soulignant les contributions de chacun.

Transféré par

xanxuss83
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
62 vues6 pages

Base de données Manga et Animés

Le document présente un projet de base de données dédié aux mangas et animés, incluant des entités telles que les œuvres, les utilisateurs, et leurs interactions. Il détaille les rôles des utilisateurs, les fonctions, procédures et triggers développés pour gérer les données, ainsi que les contraintes imposées sur celles-ci. La répartition du travail entre les membres de l'équipe est également décrite, soulignant les contributions de chacun.

Transféré par

xanxuss83
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Projet Base de donné : Manga et Animés

Contant Thibault, Oge Richard, Benkacem Mohamed-Amine

29/12/2024

1
Table des matières
1 Introduction 3

2 Définition des Données 3


2.1 Présentation du Sujet et de la base . . . . . . . . . . . . . . . . . . . 3
2.2 Contraintes sur les Données . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Schéma de la base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 Rôles et utilisateurs 5

4 Fonctions Développées 5

5 Procédures Développées 5

6 Triggers Développées 6

7 Répartition du Travail 6

2
1 Introduction
Nous avons décidé de choisir le sujet des mangas et animés puisque nous sommes
tous les trois sensible à la culture japonaise et que nous consommons régulièrement
ces contenus. Nous avons alors imaginer la base de donné d’un site qui regrouperait
l’ensemble des chapitres, épisodes, wallpapers liés aux différentes oeuvres existantes
sur le marché.

2 Définition des Données


2.1 Présentation du Sujet et de la base
La base de données que nous avons imaginé permet de gérer ces types de données :
les oeuvres (mangas/animes), découpés en chapitre ou episode, les utilisateurs, leur
historique, leur watchlist et leurs favoris. Ce qui nous donne ces entités :
— Oeuvres : id, genres, titre, langues, type contenu, synopsis, status
— Utilisateurs : id, pseudo
— L’historique : id oeuvre, id utilisateur, date, type contenue, numero
— Watchlist : id, id oeuvre, id utilisateur, type contenu
— Chapitre : id, id oeuvre, numero, date
— Episode : id, id oeuvre, numero, date
— Favoris : id, id oeuvre, id utilisateur, type contenu
— Planning sortie : id, id oeuvre, date, lien

2.2 Contraintes sur les Données


Les principales contraintes définies sur les données sont :
— Les genres des œuvres doivent être spécifiés.
— Le champ status dans la table oeuvres doit avoir une valeur parmi "On-
going", "Ended", ou "Suspended".
— Les utilisateurs ne peuvent pas ajouter un titre à leur watchlist plusieurs
fois.
— L’historique de visionnage/lecture ne peut contenir d’entrées avant la date de
mise en service d’une œuvre.

3
2.3 Schéma de la base
Voici un schéma représentant les différentes relations entre les tables de la base
de données.

Figure 1 – Schéma de la base de données

4
3 Rôles et utilisateurs
Pour les rôles et utilisateurs nous avons décidé de les répartir en 3 catégories. Les
administrateur, les modérateurs et les utilisateurs. Les administrateurs seraient les
personnnes ayant accès à l’ensemble des droits nécessaires pour manipuler chaque
élément de la base. Les modérateurs quand à eux, auraient seulement accès à la table
chapitre, episode et planning de sortie afin de mettre à jour au fur et à mesure du
temps les données contenus dans celles-ci.
— Administrateur : Responsable de la gestion globale de la base de donné
— Modérateur : Responsable de la mise à jour des oeuvres dans l
a base et de la gestion des comptes utilisateurs en cas de problème
— Utilisateur classique : Accès aux différentes informations concernant les
oeuvres et leurs planning de sortie, son historique, ses favoris et sa watchlist

4 Fonctions Développées
Voici une liste exhaustive des fonctions développées dans notre projet.
— f_utilisateur_genre_favoris (facile) : Renvoie le genre favori d’un utili-
sateur.
— f_utilisateur_progression_oeuvre (moyen) : Permet de connaître la pro-
gression d’un utilisateur dans une œuvre donnée.
— f_oeuvres_plus_populaire (facile) : Identifie les œuvres les plus populaires
en fonction des interactions des utilisateurs.
— f_utilisateur_moyenne_progression (moyen) : Calcule la progression moyenne
d’un utilisateur sur toutes ses œuvres.
— f_utilisateur_oeuvre_abandonnee (moyen) : Détecte les œuvres que l’uti-
lisateur a abandonnées.
— f_recommandation_utilisateur (difficile) : Recommande une à plusieurs
oeuvres à l’utilisateur

5 Procédures Développées
Voici une liste exhaustive des procédures développées dans notre projet.
— p_ajouter_oeuvres (facile)(facile) : Ajoute une œuvre à la base de données.
— p_ajouter_planning (facile) : Ajoute une entrée dans le planning.
— p_ajouter_utilisateur (facile) : Ajoute un utilisateur à la base de données.
— p_ajouter_historique (facile) : Ajoute une entrée dans l’historique d’un
utilisateur.
— p_update_profile (moyen) : Modifie le profil d’un utilisateur en fonction de
l’historique et indique les changements effectués.
— p_update_favoris (moyen) : Met à jour les favoris d’un utilisateur.
— p_fusionner_comptes (difficile) : Permet de fusionner deux comptes d’utili-
sateur.

5
6 Triggers Développées
Voici une liste exhaustive des triggers développées dans notre projet.
— t_before_insert_historique : Empêche l’insertion dans l’historique si la
date est dans le futur.
— t_before_update_historique : Empêche la mise à jour de l’historique si la
date est dans le futur.
— t_before_insert_planning_sortie : Empêche l’insertion dans le planning
si la date est dans le passé.
— t_before_update_planning_sortie : Empêche la mise à jour du planning
si la date est dans le passé.
— t_before_insert_oeuvres : Vérifie qu’une œuvre avec le statut "Ended" a
des chapitres ou épisodes associés avant insertion.
— t_before_update_oeuvres : Vérifie qu’une œuvre avec le statut "Ended" a
des chapitres ou épisodes associés avant mise à jour.
— t_before_insert_historique_progression : Valide que la progression dans
une œuvre ne dépasse pas le dernier chapitre ou épisode disponible.
— t_before_insert_favoris : Empêche d’ajouter plusieurs fois la même œuvre
aux favoris d’un utilisateur.
— t_before_insert_watchlist : Empêche d’ajouter plusieurs fois la même
œuvre à la watchlist d’un utilisateur.

7 Répartition du Travail
Voici comment est-ce que nous avonns décidé de repartir équitablemennt notre
travail en fonction de nos compétences. Nous avons chacun peuplé les tables en
fonction de nos besoins pour "tester" les objets que nous avons développés :
— Thibault : Développement de 5 fonctions, Rédaction du rapport
— Amine : Développement d’une fonction difficile et d’une procédure difficile,
Contraintes sur les tables
— Richard : Création des tables, Développement de 6 procédures

Vous aimerez peut-être aussi