• Aucun résultat trouvé

Petit Guide pour le partiel Document 11 (.pdf)

N/A
N/A
Protected

Academic year: 2022

Partager "Petit Guide pour le partiel Document 11 (.pdf)"

Copied!
3
0
0

Texte intégral

(1)

Petit guide de préparation du partiel de SGBD 2005.(P. Ferré)

Petit guide de préparation du partiel

Notez bien: Ce petit guide est a utiliser en complément des précédents. Alors qu’il a pour objet de préparer le partiel, il doit vous permettre de « pointer » les aspects à étudier et les connaissances sur lesquelles il convient de focaliser votre attention :

1) les règles de modélisation MERISE, 2) Les requêtes que nous avons étudiées en TP.

I) Soit un modèle (assez classique) de gestion d’un système de prêts / locations de films).

Nous gardons au départ de notre démarche l’idée « pratique » consistant à affirmer que les modélisations de type Modèle Entité Associations, de la méthode merise traduisent graphiquement un énoncé (une demande d’un client par exemple) formulée en langage naturel. Au départ c’est le langage le plus partagé qu’il soit. Que l’on soit programmeur où pas.

Il exite donc une relation logique entre la formulation en langage naturel et les modélisations MERISE.

Nous pouvons donc dire une chose que nous avons déjà développée:

Ex :

Les étudiants réalisent (obligatoirement) un ou plusieurs stages. Ces stages (ou Ptut) sont accueillis par des entreprises, et sont encadré au sein de l’entreprise par des tuteurs. Les enseignants pour le compte de l’IUT assurent le suivi des stages.

La règle admise (parce qu’elle est judicieuse) est simple tous les noms communs du discours ont de fortes chances d’êtres

des entités, et les verbes de traduire la relation entre ces entités.

Le modèle de représentation des données est le suivant.

Dans ce modèle, peu de choses sont sources de difficultés.

Notons cependant les remarques ci-dessous.

1) Les étudiants réalisent 1 ou plusieurs stages et projets tutorés… Et obligatoirement 1. Sans quoi le diplôme ne peut être délivré. C’est là une contrainte du modèle. Notez que les contraintes sont toujours indiquées clairement dans un sujet de partiel. On traite donc des cardinalité minimum et maximum des relations 1 (valeur ou cardinalité minimum), n (valeur maximum).

Une astuce peut aider : A savoir le fait de se poser la question

« Combien un étudiant peut avoir de stages / projet à minima, et à maxima ». Réponse 1, n.

1

(2)

Petit guide de préparation du partiel de SGBD 2005.(P. Ferré)

L’on doit alors se poser la question en sens inverse à savoir

« Combien un stage peut avoir d’étudiants » Réponse, parce que nous devons gérer chaque stagiaire à part (note personnelle etc) la réponse est 1 (minima) et 1 (maxima)… Certains soulèveront l’idée qu’il peut y avoir des stages réalisés par plusieurs étudiants… C’est vrai, mais l’on traitera ce cas plus loin…

Donc règle à retenir « Combien une fiche de la table pointée du doigt peut engendrer de relation avec une ou plusieurs fiches de la table 2 en relation »

2) Par contre, les enseignants ne sont pas obligés d’encadrer des stages… aussi notez l’erreur ! Ou une subtilité que nous examinerons en TD.

Dans le doute, il est acceptable de noter O,n (une enseignant peut encadrer plusieurs stages ou aucun) ou 1,n (au moins un et une infinités). La notation 1 pour valeur minimale est donc synonyme d’obligation (c’est un contrainte et ou un sécurité du modèle).

3) Une société n’est pas obligée d’accueillir des stages…

Mais en ce cas, elle ne nous intéresse pas. Aussi l’on note 1,n. Et l’on ne crée jamais une fiche pour une société qui n’accueille pas de stages. J’avoue que cela devient subtil…

Le modèle ne pose pas de véritable problème à ce stade de notre travail. Le sujet de partiel n’en posera pas plus Réfléchissez donc aux cas possibles autour du thème les étudiants et leurs cours, et les notes…. Et vous serez sur le terrain du sujet.

II) Autre modélisation « relationnelle »

L’on peut aussi noter les relations qui sont étudiée ici de la manière suivante :

R1 professeurs ( CdeProf, Genre, Prenom, Nom , Adresse, etc)

R2 societes (CdeSoc, RaisonSociale, Adresse, CplAdresse, CodePostal,

R3 stages (CodeStage, Type, Theme', DateDebut, DateFin date ,

#CdeEtud, #CdeProf, #CdeSoc, ConventionSignee, etc) R etc ()

Avec cette formalisation, nous avons un résultat identique au Modèle de données Merise vu en début de ce petit guide.

Chaque relation, appelée entité dans le modèle Entité Associations (Merise) énumère les propriétés des relations ou des entités (ce sont des termes synonymes ici).

Le clés primaire sont soulignées. Elle assure l’unicité des fiches qui seront crées. Les clés étrangères sont précédées du signe #.

Ce qui est important réside dans le rôle des clés. Où, c’est pas égalité de valeur des clés que sont retrouvés lors d’une requêtes les stages qui sont en relation avec un étudiants donné… Idem pour les sociétés, les professeurs etc. Voir sur ce point le précédent petit guide.

II) Requêtes à étudier (à réviser):

A minima, l’on doit pouvoir réaliser des requêtes vers chaque table : Ainsi

SELECT * FROM etudiants; retourne tous les étudiants. C’est donc une requête simple pour lister la table etudiants. Mais aucun critère n’est posé. Cas très simple…

SELECT * FROM etudiants WHERE Ville = ‘Tarbes’ ; L’on introduit ici un critère, tous les étudiants qui habitent Tarbes.

Soit, un sous ensemble des étudiants.

De même :

SELECT * FROM etudiants WHERE CdePostal LIKE ‘65%’; ou

% est un « joker » qui étend les valeurs testées à celles

comprises entre 65000 et 65999. La requête retournera, tous les étudiants dont le code postal commence par 65. Donc au-delà de l’agglomération englobant Tarbes. Cette requête inclus la précédente, vous l'aurez déduit s'en doute?

2

(3)

Petit guide de préparation du partiel de SGBD 2005.(P. Ferré)

Avec plusieurs critères :

SELECT * FROM etudiants WHERE Ville = ‘Tarbes’ AND Groupe =’SRC1’; Tous les étudiants habitant Tarbes et en première années SeRéCom.

Ce sont ce type de questions qui seront posées en langage naturel dans le sujet.

Et parce que sinon nous n’aurions pas la cerise sur le gâteau, un select de jointure

.

SELECT * FROM etudiants, stages, societes, tuteurs, WHERE etudiants.Ville = ‘Tarbes’ AND Groupe =’SRC1’ AND

stages.CdeProf = professeurs.CdeProf AND stages.CdeSoc = societes.CdeSoc AND stages.CdeTuteur = tuteurs.CdeTuteurs ; Ici, la requête retourne (fournit en résultat, tous les étudiants SRC1, qui habitent Tarbes, et leur professeur / tuteur et la société d’accueil, et le tuteur. C’est donc un requêtes qui extrait les données des 4 tables principales.

IV) Autres requêtes à étudier (au-delà de la sélection).

A) Les mises à jour de table(s)

UPDATE etudiants SET Groupe = 'SRC2' WHERE Groupe = 'SRC1’ ;

Soit dans un traitement de l’ensemble de la table pour faire passer en 2er année, les étudiants qui étaient, avant la requête de mise à jour en 1er année.

B) Les modifications de la structure des bases de données.

Il s’agit ici, d’aller beaucoup plus loin qu’une simple mise à jour des valeurs d’une ou plusieurs colonnes. On agit ici sur la structure des tables en rajoutant des champs qui au moment de la création de la base n’avait pas été jugé nécessaires.

Ex : Nous avons oublié les numéro de portable… lors de la création de la table. Nous pouvons écrire.

ALTER etudiants ADD NumeroPortable AFTER Telephone;

Le champ existe maintenant dans la table, positionné après le numéro de téléphone fixe. On peut coupler cette dernière requête en réalisant ensuite une mise à jour!

UPDATE etudiants SET NumeroPortable = ’06 00 00 00 00’

WHERE etudiants.NumeroPortable = ‘ ‘; (soit si il n’y a pas déjà un numéro de portable.

C) La saisie en lot, En début d’année, il est nécessaire de charger dans les bases les fiches des étudiants. Nous pourrions les saisir une à une… Mais cela a déjà été réalisé sur la chaîne d’inscription. Nous pouvons donc alimenter notre base en empruntant le fichier d’inscription.

LOAD DATA LOCAL INFILE 'C:\\etudiants.dbf' INTO TABLE etudiants FIELDS TERMINATED BY '\t' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r'

Ou l’on charge un fichier local ou distant (source), dans une table (cible) en indiquant le séparateur de champ (tabulation ici) soit \t, et la fin de ligne \r (le retour chariot ici).

Voila, voila ! Le partiel de SGBD reprendra sans autres difficultés ni ‘piége(s)’ les points traiter ci-dessus et étudiés en TD TP… Donc sans difficultés autres que celles traitées ici. Ni plus ni moins… sauf que le prof m’a dit qu’il serait question de transports, de camions, de dépôts et de chauffeurs…

Bon courage à tous pour vos travaux de fin d’années.

En espérant que :

SELECT * FROM etudiants.DiplomeObtenue = ‘Non’ retourne une page vide.

3

Références

Documents relatifs

Nous sommes ici pour construire un pont entre la réalité dans laquelle nous vivons maintenant et la réalité que nous percevons en nous connectant avec les Andromédiens..

Des cellules qui n’ont jamais été exposées aux UV, sont prélevées chez un individu sain et chez un individu atteint de Xeroderma pigmentosum.. Ces cellules sont mises en

Spécialement conçues pour le kit, totalement autoportantes, d'une installation simple, rapide, et véritablement à la portée de tous, les piscines Waterair ne nécessitent ni

Tout ce qui peut faire obstacle sur les voies biliaires tels que des obstacles au niveau du pancréas ou des ganglions au niveau du hile hépatique, peut se traduire par un

La contrainte du cours traditionnel est similaire. Il faut au moins un enseignant pour assurer un cours, sans quoi le cours ne peut avoir lieu. Nous venons donc de gérer des

Le rendement du produit dépend du rendement du support en euros (voir Document d’Informations Clés du support en euros) et du rendement du ou des supports en unités de compte (voir

ﺩﻋ لﻘﻨ ﺩﻗ ﻲﺴﻝﺩﻨﻷﺍ ﻥﺎﻴﺤ ﺎﺒﺃ ﺩﺠﻨ لﺎﺜﻤﻝﺍ ﺭﻴﺴﻔﺘﻝﺍ ﻲﻓ ﻁﻴﺤﻤﻝﺍ ﺭﺤﺒﻝﺍ ﻪﺒﺎﺘﻜ ﻲﻓ ﻪﻴﻭﻝﺎﺨ ﻥﺒﺍ ﻥﻋ ﺀﺍﺭﺁ ﺓ.

Comme dans la logique de l’effort, votre cobaye va mobiliser les muscles suivant (entre autres), pour avoir un tronc plus fort : transverse de l’abdomen, obliques, droit de