Pascal LAFOURCADE 4 years ago
parent 1e40e59d85
commit a9fb38cee2

@ -137,102 +137,102 @@ MCD de lapplication :
\includegraphics{MCD.png} \includegraphics{MCD.png}
\end{center} \end{center}
\begin{center} %% \begin{center}
\begin{tikzpicture}[every node/.style={inner sep=0,outer sep=0}] %% \begin{tikzpicture}[every node/.style={inner sep=0,outer sep=0}]
\node (i) at (6,0) {\begin{varwidth}{1.5in} %% \node (i) at (6,0) {\begin{varwidth}{1.5in}
\begin{tabular}{|l|} %% \begin{tabular}{|l|}
\hline %% \hline
\rowcolor{Gray}CONTRAT\\ %% \rowcolor{Gray}CONTRAT\\
\hline %% \hline
\underline{id\_contrat}\\ %% \underline{id\_contrat}\\
\#id\_joueur\\ %% \#id\_joueur\\
\#id\_equipe\\ %% \#id\_equipe\\
Date\_debut\\ %% Date\_debut\\
Date\_fin\\ %% Date\_fin\\
Salaire\_jour\\ \hline %% Salaire\_jour\\ \hline
\end{tabular} %% \end{tabular}
\end{varwidth} %% \end{varwidth}
}; %% };
\node (a) at (0,0) {\begin{varwidth}{2.5in} %% \node (a) at (0,0) {\begin{varwidth}{2.5in}
\begin{tabular}{|l|} %% \begin{tabular}{|l|}
\hline %% \hline
\rowcolor{Gray}JOUEUR\\ %% \rowcolor{Gray}JOUEUR\\
\hline %% \hline
\underline{id\_joueur}\\ %% \underline{id\_joueur}\\
Nom\\ %% Nom\\
Pénom\\ %% Pénom\\
Date\_de\_naissance\\ %% Date\_de\_naissance\\
Taille\\ %% Taille\\
Poste('PG','SG','SF','PF','C')\\ %% Poste('PG','SG','SF','PF','C')\\
\hline %% \hline
\end{tabular} %% \end{tabular}
\end{varwidth} %% \end{varwidth}
}; %% };
\node (f) at (8,-5) {\begin{varwidth}{2.5in} %% \node (f) at (8,-5) {\begin{varwidth}{2.5in}
\begin{tabular}{|l|} %% \begin{tabular}{|l|}
\hline %% \hline
\rowcolor{Gray}Match\\ %% \rowcolor{Gray}Match\\
\hline %% \hline
\underline{id\_match}\\ %% \underline{id\_match}\\
Date\_match\\ %% Date\_match\\
\#id\_equipe\_domicile\\ %% \#id\_equipe\_domicile\\
\#id\_equipe\_exterieur\\ %% \#id\_equipe\_exterieur\\
Ville\\ %% Ville\\
Categorie(Amical,Saison,Playoff,Allstar)\\ %% Categorie(Amical,Saison,Playoff,Allstar)\\
Score\_domicile\\ %% Score\_domicile\\
Score\_exterieur\\ %% Score\_exterieur\\
Prolongation\\ %% Prolongation\\
\hline %% \hline
\end{tabular} %% \end{tabular}
\end{varwidth} %% \end{varwidth}
}; %% };
\node[draw,rectangle] (g) at (0,-5) {\begin{varwidth}{2in} %% \node[draw,rectangle] (g) at (0,-5) {\begin{varwidth}{2in}
\begin{tabular}{l} %% \begin{tabular}{l}
\rowcolor{Gray}JOUE\\ %% \rowcolor{Gray}JOUE\\
\hline %% \hline
\underline{\#id\_joueur}\\ %% \underline{\#id\_joueur}\\
\underline{\#id\_match}\\ %% \underline{\#id\_match}\\
Points\\ %% Points\\
Rebonds\\ %% Rebonds\\
Interceptions\\ %% Interceptions\\
Contres\\ %% Contres\\
Passes\\ %% Passes\\
Balles\_perdues\\ %% Balles\_perdues\\
Fautes\\ %% Fautes\\
\end{tabular} %% \end{tabular}
\end{varwidth}}; %% \end{varwidth}};
\node[draw,rectangle] (c) at (11,0) { %% \node[draw,rectangle] (c) at (11,0) {
\begin{tabular}{|l|} %% \begin{tabular}{|l|}
\hline %% \hline
\rowcolor{Gray}EQUIPE\\ %% \rowcolor{Gray}EQUIPE\\
\hline %% \hline
\underline{id\_equipe}\\ %% \underline{id\_equipe}\\
Nom\\ %% Nom\\
Ville\\ %% Ville\\
Conference('Est','Ouest')\\ %% Conference('Est','Ouest')\\
Date\_creation\\ %% Date\_creation\\
\hline %% \hline
\end{tabular} %% \end{tabular}
}; %% };
\draw[-latex] (i) -- (a); %% \draw[-latex] (i) -- (a);
\draw[-latex] (i) -- (c); %% \draw[-latex] (i) -- (c);
\draw[-latex] (10,-2.6) -- (10.65,-1.5); %% \draw[-latex] (10,-2.6) -- (10.65,-1.5);
\draw[latex-] (c) -- (f); %% \draw[latex-] (c) -- (f);
\draw[latex-] (f) -- (g); %% \draw[latex-] (f) -- (g);
\draw[latex-] (a) -- (g); %% \draw[latex-] (a) -- (g);
\end{tikzpicture} %% \end{tikzpicture}
\end{center} %% \end{center}
% \newpage % \newpage
@ -305,20 +305,23 @@ idEquipement char(3),
nombre number); nombre number);
\end{verbatim} \end{verbatim}
\begin{exercice}[NBA, PLSQL] (30 points)
Le MLD ci-dessus stocke les donn\'ees des matchs NBA.
\begin{enumerate} Consignes :
\item (15 points) \'Ecrire un code PL/SQL qui, pour un
\code{id\_joueur} saisi par l'utilisateur, liste dans une table
\code{TLIGNES} son maximum de points lors d'un match de sa
carri\`ere. La solution propos\'ee doit mettre en place deux
m\'ecanismes un avec et un sans \code{EXCEPTION} pour traiter les
cas d'erreurs suivants :
\begin{itemize} \begin{itemize}
\item \code{'joueur inconnu'}, il n'y a pas le joueur dans la table \code{JOUEUR}, \item Les résultats seront affichés avec une table Tresultat (ligne varchar2 (200))
\item \code{'joueur n a pas fait de match'}, il n'apparait pas \item La partie SQL+ nest pas demandée pour les exercices 2 et 3
dans la table \code{JOUE}. \end{itemize}
\begin{exercice}[PLSQL] (30 points)
Donner le programme (partie SQL + et PL/SQL) permettant denregistrer un sport.
Messages à prévoir :
\begin{itemize}
\item Le nom du sport est déjà attribué
\item Le nombre maximum de joueurs ne peut être inférieur au nombre minimum
\item La durée est de 1h ou 2h
\item Le sport a été enregistré : nom du sport
\end{itemize} \end{itemize}
\begin{SaveVerbatim}{Maxpoints} \begin{SaveVerbatim}{Maxpoints}
@ -368,20 +371,15 @@ set verify on; set feedback on; set echo on;
%% % \end{small} %% % \end{small}
%} %}
%% \begin{center}
\item (15 points) \'Ecrire un code PL/SQL qui liste dans une table %% \begin{verbatim}
\code{TLIGNES} les joueurs en activit\'e (ayant une date de fin de %% Nom Prenom Date de naissance Nom Equipe Actuelle
contrat non nulle) du plus vieux au plus jeune. %% XXXXXX XXXXXXX XX/XX/XXXX XXXXXXXX
%% XXXXXX XXXXXXX XX/XX/XXXX XXXXXXXX
\begin{center} %% XXXXXX XXXXXXX XX/XX/XXXX XXXXXXXX
\begin{verbatim} %% ...
Nom Prenom Date de naissance Nom Equipe Actuelle %% \end{verbatim}
XXXXXX XXXXXXX XX/XX/XXXX XXXXXXXX %% \end{center}
XXXXXX XXXXXXX XX/XX/XXXX XXXXXXXX
XXXXXX XXXXXXX XX/XX/XXXX XXXXXXXX
...
\end{verbatim}
\end{center}
\begin{SaveVerbatim}{Joueur} \begin{SaveVerbatim}{Joueur}
DROP TABLE tligne ; DROP TABLE tligne ;
@ -496,118 +494,118 @@ SELECT * FROM tligne ;
%% \BUseVerbatim{Allstar} %% \BUseVerbatim{Allstar}
%% \end{footnotesize} %% \end{footnotesize}
%% } %% }
\end{enumerate}
\end{exercice}
\begin{center}
\begin{tikzpicture}[every node/.style={inner sep=0,outer sep=0}]
\node (a) at (5,-4) {\begin{varwidth}{1.5in}
\begin{tabular}{|l|}
\hline
\rowcolor{Gray}AFFECTATION\\
\hline
\underline{id\_contrat}\\
\#id\_personnel\\
\#id\_patient\\
Date\_debut\\
Date\_fin\\ \hline
\end{tabular}
\end{varwidth}
};
\node (f) at (0,0) {\begin{varwidth}{2.5in}
\begin{tabular}{|l|}
\hline
\rowcolor{Gray}FONCTION\\
\hline
\underline{id\_fonction}\\
Designation\\
Salaire\\
\hline
\end{tabular}
\end{varwidth}
};
\end{exercice}
\node (p) at (5,0) {\begin{varwidth}{2.5in}
\begin{tabular}{|l|}
\hline
\rowcolor{Gray}PERSONNEL\\
\hline
\underline{id\_personnel}\\
\#id\_fonction\\
\#id\_hopital\\
Nom\\
Prenom\\
\hline
\end{tabular}
\end{varwidth}
};
\node[draw,rectangle] (pa) at (0,-4) {\begin{varwidth}{2in}
\begin{tabular}{l}
\rowcolor{Gray}PATIENT\\
\hline
\underline{id\_patient}\\
Nom\\
Prenom\\
Date\_naissance\\
\end{tabular}
\end{varwidth}};
%% \begin{center}
%% \begin{tikzpicture}[every node/.style={inner sep=0,outer sep=0}]
%% \node (a) at (5,-4) {\begin{varwidth}{1.5in}
%% \begin{tabular}{|l|}
%% \hline
%% \rowcolor{Gray}AFFECTATION\\
%% \hline
%% \underline{id\_contrat}\\
%% \#id\_personnel\\
%% \#id\_patient\\
%% Date\_debut\\
%% Date\_fin\\ \hline
%% \end{tabular}
%% \end{varwidth}
%% };
%% \node (f) at (0,0) {\begin{varwidth}{2.5in}
%% \begin{tabular}{|l|}
%% \hline
%% \rowcolor{Gray}FONCTION\\
%% \hline
%% \underline{id\_fonction}\\
%% Designation\\
%% Salaire\\
%% \hline
%% \end{tabular}
%% \end{varwidth}
%% };
%% \node (p) at (5,0) {\begin{varwidth}{2.5in}
%% \begin{tabular}{|l|}
%% \hline
%% \rowcolor{Gray}PERSONNEL\\
%% \hline
%% \underline{id\_personnel}\\
%% \#id\_fonction\\
%% \#id\_hopital\\
%% Nom\\
%% Prenom\\
%% \hline
%% \end{tabular}
%% \end{varwidth}
%% };
%% \node[draw,rectangle] (pa) at (0,-4) {\begin{varwidth}{2in}
%% \begin{tabular}{l}
%% \rowcolor{Gray}PATIENT\\
%% \hline
%% \underline{id\_patient}\\
%% Nom\\
%% Prenom\\
%% Date\_naissance\\
%% \end{tabular}
%% \end{varwidth}};
%% \node[draw,rectangle] (h) at (9,0) {
%% \begin{tabular}{|l|}
%% \hline
%% \rowcolor{Gray}HOPITAL\\
%% \hline
%% \underline{id\_hopital}\\
%% Nom\\
%% Ville\\
%% Date\_creation\\
%% \hline
%% \end{tabular}
%% };
%% \draw[-latex] (p) -- (f);
%% \draw[-latex] (p) -- (h);
%% \draw[latex-] (p) -- (a);
%% \draw[latex-] (pa) -- (a);
%% \end{tikzpicture}
%% \end{center}
\node[draw,rectangle] (h) at (9,0) { \begin{exercice}[PLSQL] (45 points)
\begin{tabular}{|l|}
\hline
\rowcolor{Gray}HOPITAL\\
\hline
\underline{id\_hopital}\\
Nom\\
Ville\\
Date\_creation\\
\hline
\end{tabular}
};
\draw[-latex] (p) -- (f); \end{exercice}
\draw[-latex] (p) -- (h);
\draw[latex-] (p) -- (a);
\draw[latex-] (pa) -- (a);
\end{tikzpicture}
\end{center}
\begin{exercice}[Pro C] (45 points) \begin{exercice}[PLSQL] (45 points)
\begin{enumerate} Donner le programme permettant dafficher les réservations actuelles
\item (30 points) En utilisant les curseurs, \'ecrire un programme ou futures par créneau horaire pour un sport donné. On utilisera le
Pro C qui permet d'afficher le nom et pr\'enom des membres du nom du sport contenu dans la variable vnomSport. On affichera les
personnel par hopital en indiquant pour chacun le nombre de résultats dans lordre croissant de lheure de début, puis de la
patients suivis et par ordre alphab\'etique des pr\'enoms ayant la date de réservation.
forme suivante : \\
\begin{SaveVerbatim}{Affichage} \begin{SaveVerbatim}{Affichage}
Personnels de lhopital XXXXX : Heure de début : XX
1) Nom : XXXXXX Prenom : XXXXX Salaire: XXXXX Nombre de patients : ZZ Id réservation date : XX/XX/XX
2) Nom : XXXXXX Prenom : XXXXX Salaire: XXXXX Nombre de patients : ZZ Id réservation date : XX/XX/XX
3) Nom : XXXXXX Prenom : XXXXX Salaire: XXXXX Nombre de patients : ZZ Id réservation date : XX/XX/XX
... ...
Nombre de patients total sur l'hopital : ZZ1
Nombre de personnels total sur l'hopital : ZZ2
Personnels de lhopital XXXXX : Heure de début : XX
1) Nom : XXXXXX Prenom : XXXXX Salaire: XXXXX Nombre de patients : ZZ Id réservation date : XX/XX/XX
2) Nom : XXXXXX Prenom : XXXXX Salaire: XXXXX Nombre de patients : ZZ Id réservation date : XX/XX/XX
3) Nom : XXXXXX Prenom : XXXXX Salaire: XXXXX Nombre de patients : ZZ
...
Nombre de patients total sur l'hopital : ZZ1
Nombre de personnels total sur l'hopital : ZZ2
... ...
Nombre de réservations total pour ce sport : nb
\end{SaveVerbatim} \end{SaveVerbatim}
% \cache{%\begin{small} % \cache{%\begin{small}
@ -615,20 +613,6 @@ Nombre de personnels total sur l'hopital : ZZ2
%\end{small} %\end{small}
% } % }
Sachant que la valeur de \code{salaire} peut ne pas \^etre
renseignée, il faudra donc g\'erer ce cas.
\item (15 points) \'Ecrire un programme Pro C qui permet d'ins\'erer un nouveau
membre du personnel. Les valeurs saisies par l'utilisateurs seront
ins\'er\'ees dans la table \code{PERSONNEL}.
\begin{itemize}
\item V\'erifier que la fonction existe d\'ej\`a ainsi que l'hopital.
\item
V\'erifier aussi que l'\code{id\_personnel} n'existe pas d\'ej\`a, s'il
existe alors afficher les caract\'eristiques du personnel existant.
\end{itemize}
%% \item 'Ecrire un programme Pro C qui permet de renter une nouvelle
%% affectation entre un patient et un membre du pesonnel. V\'erifier
%% que le patient et le personel existent d\'ej\`a.
\begin{SaveVerbatim}{Insertion} \begin{SaveVerbatim}{Insertion}
TODO TODO
@ -639,7 +623,6 @@ TODO
%% % \end{small} %% % \end{small}
%% } %% }
\end{enumerate}
\end{exercice} \end{exercice}

Loading…
Cancel
Save