begin process at 2012 05 26 18:39:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Autre

 > 

Functions

 > 

Gestion de championnat et coupe de football PL/SQL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Gestion de championnat et coupe de football PL/SQL

jeudi 13 mai 2010 à 21:47:04 | Gestion de championnat et coupe de football PL/SQL

isettt

Enoncé
Considérer les schémas de relations suivants :
Nous proposons d’étudier l’informatisation d’un système de gestion de la FFF (Fédération Française de Foot Ball) pour les matches du Championnat et de la Coupe de France.
Soit le modèle physique suivant :



Exercice 1
Ecrire une fonction en PL/SQL qui calcule le nombre total de buts marqués par un joueur
donné par son code, une saison de code donné et une compétition donnée.
Exercice 2
Ecrire une fonction en PL/SQL qui calcule le total des points gagnés par une équipe donnée
par son code et une saison de code donné pour la compétition de ‘Championnat’.
Pour le résultat d’un matche, une équipe aura : pour le gain (3points), pour la perte (0 points)
et pour le nulle (1 point).
Exercice 3
Ecrire une procédure en PL/SQL qui permet de faire les statistiques des équipes pour une
saison donnée et pour la compétition de ‘Championnat’ en insérant dans la table :
Stat_Equipe (Code_Equipe, Nom_Equipe, Code_Saison, Nb_But_Pour, Nb_But_Contre,
Tot_Point, Nb_Match_Jou, Nb_Match_Gain, Nb_Match_Perd, Nb_Match_Nul, Rang)
Nb_But_Pour : le nombre de buts marqués par l’équipe.
Nb_But_Contre : le nombre de buts marqués contre l’équipe.
Tot_Points : le nombre total de points gagnés par l’équipe.
Nb_Match_Joués : le nombre total de matches joués par l’équipe.
Nb_Match_Gain : le nombre total de matches gagnés par l’équipe.
Nb_Match_Perd : le nombre total de matches perdus par l’équipe.
Nb_Match_Nul : le nombre total de matches nulles par l’équipe.
Rang : le rang de l’équipe dans le classement du championnat.
Exercice 4
· Ecrire un Trigger en PL/SQL qui met à jour les champs Nb_But_Eq1 et Nb_But_Eq2
de la table Matches après chaque insertion, modification ou suppression dans la table
Buteurs.
· Ecrire un Trigger en PL/SQL qui vérifie avant chaque insertion ou modification dans la
table Buteurs que le joueur qui a marqué est titulaire (Titulaire=1) et que la minute de but
est entre 1 et 90 si la compétition est ‘Championnat’ ou entre 1 et 120 si la compétition est
‘Coupe’.


Solutions

exercice 1

CREATE FUNCTION total_buts (cj joueur.code_joueur%type, cs saison.code_saison%type, cp match.competition%type)

RETURN NUMBER IS
V NUMBER;

BEGIN
SELECT COUNT(NB_but_EQ1) into V
FROM match M, buteurs B, JOUEURS j
WHERE M.code_match= B.code_ match
AND B.code_joueurs=cj
AND M.competition= 'cp' and M.code_saison= 'cs';
RETURN V;
END;


Exercice 2

CREATE FUNCTION calcul_points (ce equipe.code_equipe%type, s saison.code_saison%type)

RETURN NUMBER IS
V1 NUMBER;
V2 NUMBER;

BEGIN
SELECT (nb_buts_eq1) INTO V1
FROM match
WHERE codeEq1=CE AND code_saison=S AND competition='championnat';
SELECT (nb_buts_eq2) INTO V2
FROM match
WHERE codeEq1=CE AND code_saison=S AND competition='championnat';
IF V1>V2 THEN
RETURN 3;
ELSEIF V1=V2 THEN
RETURN 1;
ELSE
RETURN 0;
END;


Exercice 4

CREATE TRIGGER mise_a_jour

after INSERT OR UPDATE OR DELETE ON buteurs

IF INSERT or UPDATE
IF (codeE=codeEq1)
UPDATE match SET nb_but_eq1 = nb_but_eq1 +1;
ELSE
UPDATE match SET nb_but_eq2 = nb_but_eq2 +1;
END IF;
ELSE IF DELETE OR UPDATE
IF (codeE=codeEq1)
UPDATE match SET nb_but_eq1 = nb_but_eq1 -1;
ELSE
UPDATE match SET nb_but_eq2 = nb_but_eq2 -1;
END IF;

END IF;


J'arrive pas a comprendre l'exercice 3, Quelqu'un peut-il m'aider s'il vous plaît?

Merci d'avance
jeudi 13 mai 2010 à 21:58:27 | Re : Gestion de championnat et coupe de football PL/SQL

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Qu'est-ce que tu as déjà fait ? Qu'est-ce que tu ne comprends pas ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
lundi 19 décembre 2011 à 17:35:27 | Re : Gestion de championnat et coupe de football PL/SQL

MOSIAB

pourrais-je s'ils vous plaît avoir le code de l'EXERCICE 3? s'il vous plaît?
mercredi 21 décembre 2011 à 18:05:56 | Re : Gestion de championnat et coupe de football PL/SQL

MOSIAB

bonsoir DARSIDIOUS, pourrais-je avoir s'il te plaît le script entier de l'exercice d'isettt?
mercredi 21 décembre 2011 à 18:07:17 | Re : Gestion de championnat et coupe de football PL/SQL

MOSIAB

bonsoir isettt,
peux-tu continuer avec l'exercice 3 s'il te plaît?


Cette discussion est classée dans : code, nb, match, but, saison


Répondre à ce message

Sujets en rapport avec ce message

comment compter le nb de réponse à une requete? [ par sisi35 ] Bonjour,Je code en vb.net et je voudrais récupérer le nb de ligne d'une requete, voici le début de mon code: connexion = New SqlCeConnection("Data sou Récupérer le code d'une procédure stockée [ par yoannd ] Bonjour les gens, Alors voila, je souhaite récupérer, au moyen d'une requete SQL, le code d'une procédure stockée (n'importe laquelle). Je sais que c Update sur Oracle [ par the_smurf ] Bonjour!Je cherche à mettre à jour une colonne d'une table oracle à partir d'une autre.Voici ma requête. Elle est syntaxiquement correct mais mouline doublons avec distinct [ par deubal ] bonjour, voila j'ai une table contenant des fournisseurs avec un code unique, un libellé, un code postal, et une ville.je voudrais creer une requete q le code sql [ par qerty21 ] je veux exporter les enregistrements d'une table dans un fichier .txt avec le code sql. Merci d'avence SQL* ou PL/SQL PB DE SPOOL [ par neena ] Salut, Je ne sais pas si vous pouvez aider mais je vous explique mon petit pb : Je dois ecrire via une requete dans un fichier txt mais je dois faire pb requete [ par skiso ] j'ai deux tables annonces(bien,lieu,code_ag) et agences(code_ag,tel_ag) je veux  affichier les informarions:bien lieutel_ag Deux requêtes qui ne feraient plus qu'une ? [ par AlexN ] Bonjour à vous, J'ai construit deux requêtes sur le meme groupe de table mais une avec une clause group by et l'autre sans. Je voudrais maintenant le mise a jour dans une base de donnée [ par goueg83460 ] bonjour je voudrais faire une requete UPDATE sachant qu'elle va enregistrer un code d'accés dans une table reservation. Sachant que pour trouver ce co Lot DTS [ par io_ost ] http://www.sqldts.com Bonjour, Je met à jour une base SQL depuis une page aspx J'arrive bien à executer mon Lot DTS local depuis mo


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales