Home
par Pierre Stockreiser
Contents
1. H pital Municipal de Heinerscheid Gestion des s jours et interventions INTERVENTION S Code Description Date Code M decin Pr nom intervention e Nous supposons qu un patient occupe la m me chambre pendant toute la dur e de son s jour e A part des informations concernant les m decins qui se trouvent d j sur les fiches on d sire stocker dans le syst me d information le num ro de t l phone et la sp cialit de chaque m decin e Les interventions sont identifi es par un code et caract ris es en plus par une description L h pital dispose d une liste d interventions pr d finies p ex 0236 Tomographie du cr ne e Les donn es actuelles sont migr es dans la nouvelle application informatique Pierre Stockreiser 54 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Pierre Stockreiser 55 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 4 10 Cas particuliers du MCD 3 4 10 1 Plusieurs associations diff rentes entre deux classes Exemple oSs der Personne H Maison NoPersonne id Adresse id Hom CodePostal Pr nom Localit habiter Une personne qui habite dans une maison n est pas toujours propri taire de cette maison tandis que le propri taire d une maison ne doit pas n cessairement habiter dans celle c1 Il incombe donc de repr senter le fait de poss der une maison par une association s par e et le
2. e Section D tail Cette section est la plus importante Elle contient la plupart des zones de texte et affiche les donn es et les calculs pour chaque enregistrement Il existe toujours une seule zone d tail ind pendant du fait qu il y a des groupes ou non Pierre Stockreiser 223 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 9 3 Cr ation d un rapport Voici quelques points de r flexion avant la cr ation d un rapport e Quelles donn es est ce qu on veut repr senter Dressez la liste des champs e Quelles informations suppl mentaires sont utiles p ex groupements sous totaux moyennes pourcentages e Quel est le format appropri en terme de disposition des informations Pierre Stockreiser 224 Lyc e du Nord Wiltz Informatique 13CG Protection des donn es Partie 3 Protection des donn es Pierre Stockreiser 225 Lyc e du Nord Wiltz Informatique 13CG Protection des donn es 10 S curit des donn es D Remarque p dagogique Ce chapitre ne s occupe pas trop des concepts avanc s de la gestion des BD multi utilisateurs sur un serveur BD tels que les transactions l interblocage etc Ces probl mes font typiquement partie du domaine de l administration d une BD sur un serveur t che absolument r serv e l administrateur de la BD qui est g n ralement un informaticien Toutefois l enseignant pourra encore une fois r p ter les concepts l mentaires de
3. Discutez les avantages et d savantages des deux concepts d impl mentation possibles pour les composants d une BD 1 Chaque composant est repr sent par un fichier s par Avantages e En cas de besoin on peut copier une partie de la BD gt Sauvegarde Backup partielle e _ L endommagement d un fichier ne provoque pas n cessairement un crash de toute la BD D savantages Lors des op rations de sauvegarde et de copie on doit bien faire attention ne pas oublier un fichier L utilisateur avanc est cens conna tre les extensions de fichiers diff rentes pour tous les types de composants dBASE IV p ex conna t quelque 25 extensions diff rentes Tous les composants sont int gr s dans un seul fichier Avantages Copie et sauvegarde facile gt Un seul fichier normalement une seule extension pour les fichiers BD D savantages Les fichiers deviennent tr s vite assez grands Un fichier qui correspond une BD MS Access d passe tr s vite les 1 44 Mbyte ce qui veut dire qu il ne peut plus tre stock sur disquette sans un outil de compression Pierre Stockreiser 89 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 5 6 Les r seaux informatiques l Remarque p dagogique Comme le pr sent document ne constitue pas un cours sur les r seaux informatiques ce chapitre se limite clarifier le sens de quelques termes sp cifiques et fournir aux l ves une vue coh
4. Suppl ments Code suppl ment aoo Bee O OI 03 Livraison domicile du quotidien Une facture vous sera envoy e environ 2 semaines avant votre arriv e au parc Cette facture est r gler avant l arriv e au parc Nous vous souhaitons un beau s jour au parc Wonderland Si vous avez encore des questions n h sitez pas nous contacter Ars ne Lupin RESERVATION MANAGER Pierre Stockreiser 62 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information e Une facture reprend exactement les m mes informations avec en plus la date d envoi de la facture et le prix total payer e Un client est uniquement consid r comme tel partir de la premi re fois qu il effectue une r servation Cr ez le mod le conceptuel Solution Pierre Stockreiser 63 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 5 Le mod le logique des donn es MLD 3 5 1 D finition Jusqu pr sent nous avons tabli des MCD bas s sur une analyse d un domaine bien d fini p ex Gestion des s ances d un cin ma Gestion des s jours des patients d un h pital etc La finalit d un MCD est de nous faciliter la cr ation d une base de donn es pour g rer un tel domaine Nous savons galement qu une base de donn es est constitu e par un ensemble de tables dont chacune est compos e de champs de donn es Or le MCD ne conna t pas la notion de table tandis qu une base de don
5. Travail r aliser Cr ez le mod le conceptuel des donn es PARTIE 2 Le commandant vous demande de repr senter galement l utilisation des v hicules de la brigade Lors d une intervention les sapeurs pompiers sont affect s aux diff rents v hicules selon les circonstances Jusqu pr sent le commandant a rempli une fiche pour chaque intervention Exemple voir page suivante e Un v hicule est identifi par son num ro d immatriculation e Un v hicule est en plus caract ris par un type de v hicule p ex Echelle Transport une marque et le nombre de places disponibles Travail r aliser Cr ez le mod le conceptuel des donn es Pierre Stockreiser 51 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Service Incendie Esch sur Alzette Fiche d intervention No Intervention Date Type Incendie Adresse TT TS CT TT RS Cf E E A Signature responsable Pierre Stockreiser 52 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Solution PARTIE 1 Solution PARTIE 2 Pierre Stockreiser 53 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Exercice 6 Il s agit d informatiser la gestion des s jours des patients d un h pital ainsi que la gestion des interventions effectu es par les m decins Jusqu pr sent cette gestion s est effectu e l aide des fiches suivantes
6. 7 4 4 Exercices SQL Exercice 4 Assurance bagages Les jointures Une soci t d assurances offre une formule Assurance Bagages Cette formule garantit pendant une dur e limit e un remboursement int gral de la valeur des bagages avec contenu en cas de vol ou de perte Voici la BD utilis e pour g rer ce type d assurances th gents tblContrats AGEN RE Table 1 Pezzotto Alfredo 23 rue de Marmer 6555 Capellen 230907 z2 kremer Fierre z2 byd de la libert s900 Luxembourg 220090 0 fiClient 1000 22 07 2005 03 08 2005 2300 France 2 10 1001 12 07 2005 22 07 2005 1750 Italie 11 1002 19 07 2005 19 09 2005 4500 Belgique 11 0 0 0 0 fld oTel 10 Weber Jos 23 rue Principale 2204 Luxembourg 102957 11 Muller ketty 2 av O Diederich og0s Luxembourg S508077 12 Meier Raymond 106 bwd Hubert Clement Bero Esch s Alzette 5069977 13 Da Costa Antonio 34 rue du Cur 7099 Warmer T0099 0 Remarques Comme certains noms de champs sont identiques pour les tables tblAgents et tblClients vous devez veiller employer les noms des tables resp des alias aux bons endroits dans les requ tes Le champ fldAgentg n ral est du type bool en valeurs VRAT FAUX resp YES NO Pierre Stockreiser 177 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Utilisez le m canisme des jointures afin de r pondre aux questions suivantes 1 Affichez pour les
7. F Paul Wilson Thomas Harris Bram Stoker Record 14 4 1 r r of On peut aussi trier sur plusieurs champs Pour afficher tous les livres tri s d abord sur leur genre en ordre ascendant et pour chaque genre sur le prix en ordre descendant on utilise la requ te suivante Exemple 3 SELECT idLivre fldTitre fldAuteur fldGenre fldPrix FROM tblLivres ORDER BY fldGenre ASC fldPrix DESC Pierre Stockreiser 128 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 96222 Der Zerfall des Sowjetimperium Alexeji Kolimov Histoire 0999 Der letzte Zar klaus Werheim Histoire 30366 Die Pr fung F Paul Wilson Foman orri Roter Drache Thomas Harris Roman 99032 Dracula Bram Stoker Foman 34000 MS Access 2 0 ken Getz Technigue oret Novell Metware 4 1 Pierre Godefroid Technique 33344 Teach yourself Java in 21 days Charles Perkins Technigue 57296 Le micro comment a marche Ron White Technique Record 14 4 rjr o 9 A Nous remarquons que l ordre de tri est bas sur l ordre alphab tique pour les champs de type TEXTE et sur l ordre num rique pour les champs de type NUMERIQUE La plupart des SGBD sont galement capable de trier des valeurs de type DATE Exemple 4 Afficher le num ro du livre le titre l auteur et la langue de tous les romans Triez la liste en ordre descendant sur la langue SELECT idLivre fldTitre fldAuteur fldLangue FROM tblLivres WHERE
8. Informatique 13CG Mod lisation d un syst me d information A On dit qu une classe est ind pendante par rapport une association lorsque sa multiplicit minimale vaut 0 et d pendante par rapport une association lorsque sa multiplicit minimale vaut 1 Exemple 5 NoClient id Hom NoCarte id Pr nom Type bonnement Adresse poss der DateCr ation CodePostal Localit Interpr tez cette mod lisation Que peut on dire de cette mod lisation A Si les multiplicit s de deux classes li es l aide d une association ont la valeur 1 1 1 des deux c t s on transforme les deux classes en une seule et on omet ainsi l association Pierre Stockreiser 32 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 4 5 3 Classe association Exemple Un objet resp une instanciation de la classe TypeDipl me serait p ex le type de dipl me Ma trise en Informatique du niveau Bac 4 TypeDipl me Titre id Hiveau NoMatricule id Hom Pr nom poss der Interpr tez cette mod lisation Il s agit maintenant d tendre le mod le ci dessus de fa on repr senter galement l ann e depuis laquelle un tudiant poss de un type de dipl me Proposez une solution Pierre Stockreiser 33 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Voici la solution propos e pour repr senter l ann e depuis laquelle
9. Pour cela la plupart des SGBD utilisent un proc d d encryptage afin de rendre les mots de passe illisibles avant de les stocker dans un fichier 10 4 2 2 Droits d acc s aux objets d une BD Au niveau des BD qui se trouvent localement sur un PC un mot de passe est g n ralement suffisant pour garantir une certaine s curit Par contre pour les BD qui se trouvent sur un serveur g r par un administrateur et qui sont acc d es par une multitude d utilisateurs d autres m canismes plus vari s s imposent personne informaticien responsable de la gestion du serveur du SGBD sur le serveur et des BD Pierre Stockreiser 229 Lyc e du Nord Wiltz Informatique 13CG Protection des donn es A Certains utilisateurs autoris s de la base peuvent tre limit s dans leur acc s quelques tables de celle ci Exemple Soit une BD pour la gestion des comptes d une banque impl ment e sur un serveur BD auquel tous les employ s m me ceux des agences ont un acc s via un r seau informatique tblgences digeme fld dresse tblComptes FdCF fldLocalit ik bent fldMorn fldPr nonn fld dresse fIdF fldLocalit Un stagiaire aupr s de la banque aura un login afin d acc der la base de donn es mais l administrateur de la base lui accorde uniquement un acc s en lecture aux tables fblAgences et tblClients En plus l administrateur cr e une vue qui contient tous les enregistrements de la table
10. e Modification de donn es Exemple Le propri taire d une vid oth que re oit une livraison avec des nouvelles cassettes vid o Pour chaque cassette vid o il lit le titre la langue ainsi que la dur e et sauvegarde ces informations dans la base de donn es de la vid oth que Il a donc utilis un traitement d ajout de donn es afin de transformer les informations entrantes titre langue dur e en donn es 1 s A Deux mots sont synonymes quand ils d signent une m me chose Pierre Stockreiser 11 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 1 5 La repr sentation informatique des donn es Les donn es d un syst me d information peuvent tre stock es et manipul es l aide d un outil informatique sp cialis dans ce domaine Actuellement les Syst mes de Gestion de Bases de Donn es SGBD constituent le type de logiciel le mieux adapt pour impl menter la plupart des syst mes d information Sachant que les tables forment la base de stockage d une base de donn es on peut repr senter n importe quel syst me d information par un ensemble de tables dont chacune contient un certain nombre de champs de donn es Nous allons voir qu on peut m me d finir des liens entre ces tables via des champs communs Exemples deSGBD ORACLE S T D E UNBREAKABLE RT E EE m ss 4 et Fa Mtcraselt Access jx ES 5 ke t yev puert Pyme peds Loc iow tei
11. fait d habiter dans une maison par une association s par e 3 4 10 2 Association r flexive et r le Exemple 1 HoEmployelid Hom Pr nom remplacer Fonction A Une association r flexive est une association dont les deux extr mit s sont li es une m me classe La signification des extr mit s d une association r flexive doit tre clarifi e par l indication d un r le Nous avons donc HoEmploye id Nom Pr nom Fonction tre le rempla ant de Interpr tation des r les Un employ est le rempla ant d au minimum 0 et d au maximum plusieurs autres employ s Un employ est remplac par au minimum 0 et au maximum par plusieurs autres employ s Pierre Stockreiser 56 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Une association r flexive peut galement avoir une classe association HoEmploy tid Nom Pr nom Fonction tre remplac par remplacer remplacer TauxDeConcordance tre le rempla ant de Cette mod lisation permet de repr senter le taux de concordance entre les employ s Exemple 2 Il en va de m me pour l association reliant un employ son directeur en supposant qu un directeur dirige des employ s et qu un employ est subordonn un directeur Le directeur g n ral est galement consid r comme un employ mais n est pas subordonn un directeur 0 1 Patron HoEmployelid Nom P
12. lection et affichage insertion modification ou suppression Bien que les requ tes de s lection soient impl ment es d une mani re plus ou moins coh rente travers les SGBD actuels 1l existe des diff rences subtiles en ce qui concerne les requ tes d insertion de modification ainsi que de suppression En plus l insertion et la suppression se font souvent de mani re plus facile directement dans la table A Il existe 4 types de requ tes 1 Requ tes de s lection 2 Requ tes d insertion 3 Requ tes de modification 4 Requ tes de suppression Pierre Stockreiser 110 Lyc e du Nord Wiltz Informatique 13CG Pour chaque requ te nous retrouvons le cycle suivant Formuler la Ex cuter la r equ te r equ te Exploitation des bases de donn es relationnelles Resultat de la r qu te Exercice Quel est en g n ral le r sultat d une requ te e de s lection e d insertion e de modification e de suppression Pierre Stockreiser 111 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 3 Introduction au langage SQL 7 3 1 G n ralit s Nous avons vu au chapitre pr c dent qu il faut d abord formuler une requ te et puis l ex cuter afin d avoir des r sultats Vous pouvez probablement bien vous imaginer que les SGBD actuels ne comprennent pas le langage naturel Aucun SGBD n offre une possibilit d crire p ex Je veux voir tous les taxis
13. me Prenons l exemple des cours du soir qui se d roulent dans plusieurs coles Nous supposons qu un cours est repr sent par une classe Est ce qu on repr sente la salle dans laquelle se tient un cours ainsi que l cole qui contient la salle par un simple attribut l int rieur de la classe cours ou est ce qu il vaut mieux cr er une classe s par e pour les cours les salles et les coles et les lier par des associations La r ponse cette question n est pas tr s vidente mais en g n ral on peut admettre la convention suivante e Une information qui participe la description d un objet concret ou abstrait mais qui n est pas g r e de fa on ind pendante est g n ralement repr sent e sous forme d attribut l int rieur de la classe qui correspond l objet NoCours id Jour Heure HbreParticipants Salle Ecole Pierre Stockreiser 25 Exemple La salle et l cole sont repr sent es par un simple attribut l int rieur de la classe Cours Dans le syst me d information on ne fait donc pas vraiment une gestion des salles et des coles mais on les indique uniquement pour chaque cours Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information e Une information qui participe la description d un objet concret ou abstrait et qui est g r e de fa on ind pendante dans le syst me d information est g n ralement repr sent e par une classe Exemple NoCours
14. on peut galement identifier l instanciation de l association par le seul NoLivre L003 Pierre Stockreiser 28 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 4 5 2 Les multiplicit s d une association A Sur les extr mit s d une association on indique les multiplicit s Les multiplicit s expriment le nombre minimum et maximum d objets d une classe qui peuvent tre associ s des objets de l autre classe Exemple 1 Se lit Un client passe au minimum l et au maximum plusieurs commandes NoClient id Hom d d Pr nom NoCommande id Adresse Date CodePostal nn Quantit Localit HoT l Se lit Une commande est pass e au minimum par un et au maximum par un client A Les multiplicit s concernant une classe sont inscrites l extr mit oppos e de l association Exemple 2 NoEmploy id NoOrdinateur id Hom Type Pr nom utiliser Processeur SeErTUIcE Interpr tez les multiplicit s concernant la classe Employ Interpr tez les multiplicit s concernant la classe Ordinateur Y a t il des employ s qui n utilisent pas d ordinateurs Y a t il des ordinateurs qui ne sont pas du tout utilis s Y a t il des employ s qui utilisent plusieurs ordinateurs Pierre Stockreiser 29 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Y a t il des ordinateurs utilis s par plusieurs employ s A De fa
15. rapports se trouvent sur les PC client dans un environnement ergonomique Sur le poste client se trouve donc en principe un SGBD client offrant toutes les fonctionnalit s requises qui met des requ tes formul es dans un langage d interrogation de donn es au serveur BD via le r seau Le serveur ex cute les requ tes qui lui ont t transmises et renvoie le r sultat au client Le client repr sente alors le r sultat en se servant par exemple d un formulaire ou d un rapport qui a t d fini ant rieurement par plate forme on entend l ordinateur sur lequel est ex cut le SGBD plus facile utiliser par exemple SQL voir chapitre 7 2 Pierre Stockreiser 96 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Architecture Client Serveur PC Client intelligent Requ tes formulaires ete SGBD Application Clienti Envoi de requ tes F sultat des requ tes dans un langage sous forme de tables d interrogation de BO r sultat p ex SQL SGBD Application Serveur Serveur BD Avantages de l architecture Client Serveur Les utilisateurs deviennent des clients avec des postes de travail intelligents PC l aide desquels ils peuvent connecter les applications bureautiques directement aux serveurs BD afin de g rer dans un environnement convivial les donn es de l entreprise sans tre d pendant des services d un informaticien pour r soudre le m
16. rations C et D il existe des alternatives I Interdiction des op rations C et D II Cascade des op rations du type C et D vers les cl s trang res correspondantes Une modification d une cl primaire aurait comme cons quence la modification de toutes les cl s trang res correspondantes Une suppression d une cl primaire aurait comme cons quence la suppression automatique de tous les enregistrements dont la cl trang re a la m me valeur Cette option est utiliser avec pr caution IT Affectation d une valeur par d faut aux cl s trang res concern es par une op ration du type C ou D IV Affectation d une valeur ind termin e NULL aux cl s trang res concern es par une op ration du type C ou D En pratique les m thodes 1 et 2 sont utilis es dans la majorit des cas Pour cette raison nous allons ignorer les m thodes 3 et 4 dans les exercices en classe de 13CG 7 6 2 3 La contrainte d int grit g n rale angl General Integrity Constraint Une contrainte d int grit g n rale est utilis e pour limiter les valeurs possibles d un champ quelconque d une table en fonction de la nature de celui ci et de son r le dans le syst me d information Exemples de violation de cette contrainte Il existe plusieurs variantes de cette contrainte 1 A chaque champ correspond un type de donn es une longueur et un format bien d finis Exemples Le num ro client doit tre une valeur num rique Le
17. rente en tant qu utilisateur d un environnement r seau n cessaire afin de comprendre les m canismes et fonctionnalit s des serveurs BD L enseignant est videmment libre dans son choix d tendre l une ou l autre des notions pr sent es A A son niveau le plus l mentaire un r seau se compose de plusieurs ordinateurs reli s entre eux par des c bles afin de pouvoir changer des donn es et partager des ressources tels que des imprimantes de l espace disque etc Dans le contexte d un r seau ces ordinateurs sont appel s postes de travail angl workstation Les postes de travail peuvent tre r partis sur plusieurs tages d un b timent ou m me sur plusieurs b timents voisins Un tel r seau est appel r seau local d entreprise RLE angl LAN Local Area Network Poste de travail Pierre Stockreiser 90 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Afin de pouvoir tre connect un r seau un ordinateur doit disposer d une carte r seau CARTE D INTERFACE R SEAU Bm n La carte d interface r seau Pee cEi EBen on dit aussi simplement HEI carte r seau est la A E liaison physique entre ee anaE TT l ordinateur et le r seau 2 a I es Elle r unit les dorri es M TT RER envoyer sous s forme de paquets et contr le les flux d informations de et vers le r seau A La plupart des r seaux locaux contiennent
18. res sp ciaux En plus chaque nom d un objet est pr c d par un pr fixe bien d termin pour chaque type d objet Cette convention fait partie d une convention des noms g n rale pour les programmes tournant sous une interface graphique du type Windows Les noms de tables sont pr c d s du pr fixe tbl angl table Par exemple tbiLivres tblEmploy s A Le nom d une table doit tre unique l int rieur d une BD Une BD peut contenir une ou plusieurs tables mais les tables sont g n ralement la condition n cessaire pour la cr ation d autres objets tels que les requ tes formulaires et rapports j amp Exercice D terminez les champs n cessaires pour une table qui contiendra des donn es concernant e Jes l ves d une cole nous ne consid rons pas la gestion des classes e Jes livres d une biblioth que nous supposons qu un livre est r dig par un seul auteur e les produits d un supermarch Correspond aux termes instanciation et objet utilis s dans le chapitre 3 Mod lisation de donn es Pierre Stockreiser 99 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Pierre Stockreiser 100 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 6 3 Les champs d une table Une table reprenant les donn es concernant les voitures d une soci t de taxis contient par exemple pour chaque enregistrement chaque taxi les inf
19. un MCD qui repr sente l nonc de l exemple pr c dent en utilisant uniquement des associations binaires Solution de l exemple pr c dent Voici une solution avec une association ternaire Professeur CodeMati re id Libell enseigner Une association ternaire est repr sent e par un losange Classe Nom id Cycle Pierre Stockreiser 42 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information On peut lire interpr ter ce mod le de trois fa ons diff rentes e Chaque couple d instanciations Professeur Mati re est associ au minimum O et au maximum plusieurs Classes gt Multiplicit s 0 du c t Classe Chaque couple d instanciations Mati re Classe est associ au minimum 0 et au maximum plusieurs Professeurs gt Multiplicit s 0 du c t Professeur Chaque couple d instanciations Classe Professeur est associ au minimum 0 et au maximum plusieurs Mati res gt Multiplicit s 0 du c t Mati re Attention Selon ce mod le plusieurs professeurs peuvent enseigner la m me mati re dans une m me classe pendant une ann e scolaire Si on veut repr senter le fait qu une mati re est enseign e dans une classe par au maximum un seul professeur 1l suffit de changer les multiplicit s du c t Professeur en 0 1 Solution qui permet la gestion sur plusieurs ann es scolaires CodeProf
20. v rifiez les enregistrements et retenez la valeur de la cl primaire idEmploy pour l employ que vous d sirez modifier Ensuite utilisez la valeur de idEmploy dans la partie WHERE de la commande UPDATE WHERE idEmploy lt valeur gt 4 Effacez tous les employ s du service Informatique DELETE FROM tblEmploy s WHERE fldService Informatique 5 Afficher le nom le pr nom et l ge de tous les employ s entr s en service partir du 1 1 1995 SELECT fldNom fldPr nom fldAge FROM tblEmploy s WHERE fldEntr eService gt 1 1 95 A Les requ tes param tr es Imaginez que de temps en temps on voudrait r ex cuter cette requ te avec une date d entr e en service diff rente Au lieu de modifier chaque fois le crit re de s lection on peut dans la plupart des SGBD d finir une requ te param tr e c d une requ te qui ne contient pas directement une valeur ici date d entr e en service comme crit re de s lection mais un param tre Ce param tre est repr sent par un texte entour de crochets Ainsi la requ te suivante provoque d abord l affichage d une bo te de dialogue SELECT fldNom fldPr nom fldAge FROM tblEmploy s WHERE fldEntr eService gt Indiquez une date d entr e au service Enter Parameter Value EX Indiquez une date d entr e au service a Une requ te peut contenir plusieurs param tres L utilisateur de la requ te indique ensuite une date dans
21. 12 2021 5 29 09 1994 04 10 1994 19 10 1994 2028 17 48 2025 3 17 07 1995 16 07 1995 28 07 1995 2028 49 79 2027 6 02 06 1995 09 06 1995 02 07 1995 2929 7 B4 2026 4 17 12 1994 21 12 1994 05 01 1995 2929 9 84 2029 7 19 05 1994 19 08 1994 21 09 1994 2029 44 49 2158 7 20 07 1995 28 07 1995 15 09 1995 2029 48 47 2165 9 12 01 1995 21 01 1995 22 01 1995 24168 g a4 2158 19 B4 2165 2 162 Pierre Stockreiser Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Vins Table 7 Nom 7 Descrip Annee Prix Stock 1 1 Chateau Belgrave A good 1983 895 5000 2 1 Chateau La Laqune Deep ci 1983 45 8540 31 Chateau La Cardonne Attractn 1982 12 80 3200 4 1 Chateau Lestage Darquier Grand Poueaux Denseh 1962 16 00 1690 2 5 2 Chateau Calon Sequr This full 1960 17 50 3100 EE 6 2 Chateau Montrose long 1992 1495 450 a t T2 Chateau Meyney Thesev 1900 15 00 900 E de 8 3 Chateau La te Rothschild A magn 1960 12 00 3210 B 2 g3 Chateau Latour lts mky 1983 19 00 5600 Extrait de la table Vins Actuellement 1l y a 30 diff rents vins dans la table 1 30 Regions Table Pour chaque relation la v rification de la contrainte CofeRegion a d int grit r f rentielle est activ e en mode Interdiction 2 StEstephe l exception de la relation entre les tables Clients 3 Pauillac Commandes et Commandes Deta
22. 2 tables Lorsque l association contient elle m me des attributs classe association ceux ci deviennent attributs de la table suppl mentaire Un attribut d une classe association qui fat parti de l identifiant devra appartenir la cl primaire compos e de la table suppl mentaire Exemple 1 Employ Ordinat NoEmploy id ENPLUS ORDINATEUR d s 2 PES NOEMPLOY ID UTILISER E a om Nom Type Pr nom NOEMPLOY ID ss utiliser Processeur NOORDINATEUR ID On cr e une table UTILISER qui contient comme cl primaire une cl compos e de NOEMPLOYE ID et NOORDINATEUR ID Exemple 2 COHCERHER HOCOMMAHDE ID ARTICLE CODEARTICLE ID concerner Quantit COMMAHDE HOCOMMAHDE ID i DAE CODEARTICLE ID LIBELL NoCommande fid 7 i CodeArticle id CODEARTICLE ID Date tia concerner Libell QUAHTITE PRIXUHIT AIRE On cr e une table CONCERNER qui contient comme cl primaire une cl compos e de NOCOMMANDE_ ID et CODEARTICLE ID Elle contient galement l attribut QUANTIT issu de l association concerner Exemple 3 CLASSE enseigner Ann e id HOMATRICULE ID HOMATRICULE ID CODECLASSE ID NoMatricule id ja HOM CODECLASSE ID CYCLE s PR HOM CodeClasse id Cycle AHH E ID enseigner Pierre Stockreiser 68 Lyc e du Nord Wiltz NOORDINATEUR ID Informatique 13CG M
23. 3 125 30 5000 1 101 12 20000 3 101 12 20000 3 106 24 48000 2 106 24 48000 2 106 24 48000 2 112 12 9000 3 106 24 48000 2 125 30 5000 1 106 24 48000 2 101 12 20000 3 112 12 9000 3 106 24 48000 2 112 12 9000 3 112 12 9000 3 112 12 9000 3 125 30 5000 1 112 12 9000 3 101 12 20000 3 125 30 5000 1 106 24 48000 2 125 30 5000 1 112 12 9000 3 125 30 5000 1 125 30 5000 1 125 30 5000 1 Ce tableau associe tous les comptes 1 1 Pierre Stockreiser 165 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 2 S lection des enregistrements Il s agit ici de la partie la plus d licate puisque nous ne retrouvons plus une condition de jointure classique du type galit cl primaire cl trang re La s lection se fait en deux tapes Comme nous voulons afficher tous les comptes ayant une valeur sup rieure celle du compte 112 nous allons uniquement garder les enregistrements pour lesquels un compte est associ au compte 112 c d les enregistrements pour lesquels le crit re de s lection Co2 idCompte 112 s applique Col idCompte Col use Col fldValeur Cot fiClient Co2 SRE Co2 SEE Co2 fldValeur Co2 fiClient 101 20000 20000 3 106 24 48000 2 101 12 20000 3 112 12 9000 3 101 12 20000 3 125 30 5000 1 101 12 20000 3 101 12 20000 3 106 24 48000 2 106 24 48000 2 106 24 48000 2 112 12 9000 3 106 24 48000 2 125 30 5000 1 106 24 48000 2 101 12 20000 3 112 12 9000 3 106 24 48000 2 112 12 90
24. 4 PARTIE 2 Exploitation des bases de donn es relationnelles chapitres 5 9 PARTIE 3 Protection des donn es chapitre 10 Ce cours n est pas du tout un manuel d utilisation de MS Access de Win Design respectivement d un autre logiciel Le cours se limite aux concepts importants en relation avec le sujet Symboles utilis s l int rieur de cet ouvrage Paragraphe important Exercice a Remarque p dagogique Table des mati res L 1 1 1 2 1 3 1 4 1 5 i 2 1 2 2 2 3 2 4 3 1 3 2 3 5 3 4 Analyse des syst mes d information Table des mati res Introduction D finition de l information et des syst mes d information Les donn es les traitements et les informations La repr sentation informatique des donn es D marche de mod lisation des donn es Table des mati res Le groupe d tude angl Project group Les tapes Sources d information M thode de mod lisation des donn es Table des mati res D finition Pourquoi mod liser Le mod le conceptuel des donn es MCD 3 4 1 D finition 3 4 2 La notion de classe 3 4 3 La notion d attribut 3 4 4 La notion d identifiant 3 4 5 La notion d association 3 4 6 Exemple KaafKaa 3 4 7 Exemple Gestion d cole 3 4 8 L utilisation d une association ternaire 3 4 9 Exercices 3 4 10 Cas particuliers du MCD 3 4 11 Exercices 3 5 Le mod le logique des donn es MLD 3 5 1 D finition 3 5 2 R gles de tran
25. Cit Perroquet Luxembourg 22 05 1970 15 06 1992 00 000 Luf Service du personnel 3 Rue de la Gare Luxembourg 17 06 1969 23 06 1972 49 000 Luf Comptabilit 1 Cit Gudj r Colmar Berg 23 09 1966 01 01 1990 56 500 Luf Service du personnel x Record 1 4 311 CZ of 10 A e 2 7 2 Les requ tes constituent dans un certain sens des questions qu on pose au SGBD Le r sultat d une requ te est toujours un sous ensemble d une ou de plusieurs tables Exemple Le chef du personnel de l entreprise SCHAFFGAER S r l d sire conna tre les noms pr noms adresses et localit s des employ s recrut s en 1996 II doit formuler une requ te qui sera ex cut e par le SGBD et qui donnera comme r sultat une liste semblable la table des employ s mais contenant uniquement les employ s qui v rifient le crit re de s lection de la requ te et pour chacun de ces employ s seulement les informations demand es Voici le r sultat de cette requ te gi Employ s embauch s en 1996 Select Query OI x Nom Pr nom Adresse Localit Evelyne 24 Rue Gr hl Grevenmacher Jhemp 10 Rue Foznen Luxembourg Emil 23 Am Hinterwald larmer WIC 1 Op der Areler Knippchen Arlon Record 4 j ai rjr of 5 3 Les formulaires sont utilis s pour ajouter modifier ou supprimer des donn es dans les tables Bien que la plupart des SGBD nous permettent d acc der aux donn es directement dans les tables les formulaires
26. DELUXE contient Garanties AUTO SPECIAL D g ts mat riels e Un contrat couvre un seul risque Ce risque peut tre une voiture ou une habitation Pierre Stockreiser 74 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 6 Le mod le physique des donn es MPD 3 6 1 D finition Le mod le physique des donn es MPD est la traduction du mod le logique des donn es MLD dans une structure de donn es sp cifique au syst me de gestion de bases de donn es SGBD utilis Le MPD est donc repr sent par des tables d finies au niveau du syst me de gestion de bases de donn es C est donc au niveau du MPD que nous quittons la m thode g n rale de cr ation d un MCD et de sa transformation en MLD pour nous tourner vers la manipulation d un SGBD sp cifique 3 6 2 Passage du MLD au MPD A Le passage MLD gt MPD se fait par les tapes suivantes Impl mentation physique de chaque table du MLD dans le SGBD utilis Pour chaque table indiquer au SGBD quel s champ s constitue nt la cl primaire Pour chaque table indiquer au SGBD la les cl s trang re s et la les cl s primaire s correspondante s Pour ce faire la plupart des SGBD actuellement sur le march nous offrent 2 possibilit s Prenons titre d exemple l impl mentation du mod le logique suivant EHTREPRISE EMPLOY HOEHTREPRISE I0 HOEMPLOY ID HOM NOEN TAEPRIGE TU ADRESSE CODEPOSTAL L
27. Luf Informatique 49 000 Luf 78 000 Luf Summary for Dipartemert Sum 127 000 Luf Marketing Scan Suzatte 54 000 Luf Wita Evelyne 65 000 Luf Summary fr D patement Marketing 2 detail records fum 119 000 Luf service du personnel Michel Lyre 56 500 Luf Vogel Matti 80 000 Luf Summary or D patement Service du persormel d tail records i fum 136 500 Luf Grand 631 000 Luf Pierre Stockreiser 87 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 5 5 Structures physiques et logiques Un SGBD utilise les ressources de l ordinateur sur lequel il est ex cut Les donn es des SGBD sont ainsi stock es par exemple sur un disque dur ou sur un autre support de stockage de la m me fa on que les autres fichiers g n r s par les autres programmes p ex Traitement de texte Tableur qui tournent sur l ordinateur Qu est ce qu on entend par structure physique Le syst me d exploitation p ex Linux Windows2000 WindowsXP qui conna t seulement la notion de fichier en ce qui concerne le stockage des donn es ignore en principe le contenu de ces fichiers Les fichiers constituent dans un certain sens la structure physique des donn es Chaque programme cr e des fichiers ayant un format sp cifique ce programme L utilisateur peut reconna tre le format par l extension derri re le nom du fichier Par exemple doc gt fichier MS Word XIS gt fichier MS Excel
28. N ANG ew Technique l 1065 33344 Teach yourself Java in 21 days Charles Perkins Technique 34000 MS Access 2 0 Ken Getz Technique 38366 Die Pr fung F Paul Wilson Roman 57296 Le micro comment a marche Ron White Technique 70654 L homme juste Raymond Peron Roman 70999 Der letzte Zar Klaus Werheim Histoire 87644 Novell Netware 4 1 Pierre Godefroid Technique 87777 Roter Drache Thomas Harris Roman 98222 Der Zerfall des Sowetimperiums Alexeji Kolimov Histoire 99832 Dracula Bram Stoker Roman Record a 4J T dr o1 LC OET TTT Pierre Stockreiser 14 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 2 4 Sources d information La premi re tape de chaque projet est donc l analyse de l existant et des besoins Afin de pouvoir r aliser une analyse correcte sur laquelle on peut baser la suite du projet 1l faut d abord identifier les sources d information et puis collectionner exactement les informations importantes pour le projet Sources d information primaires e L interview avec les utilisateurs e L tude de documents provenant du syst me d information actuel Rapports Bons de commandes Factures Pour les projets d une certaine envergure s ajoutent e L interview avec les responsables des services impliqu s e Pourvu que la t che d analyse soit partag e entre plusieurs membres du groupe d tudes 1l faut coordonner les actions et comparer les r sultats avec les autres mem
29. Qu est ce qu on entend par structure logique Chaque programme offre galement l utilisateur la possibilit de manipuler des composants qui existent seulement dans le contexte de ce programme Par exemple Document gt Composant logique de MS Word Feuille de calcul gt Composant logique de MS Excel Classeur gt Composant logique de MS Excel Ces composants ou structures logiques sont uniquement visibles par le biais du programme correspondant On vient de d finir les composants standard d un SGBD dans le chapitre pr c dent e Les tables e Les requ tes e Les formulaires e Les rapports Pierre Stockreiser 88 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Quelle est la relation entre une structure logique et sa structure physique correspondante Cette relation d pend du programme MS Word Chaque document composant logique correspond en principe un fichier doc structure physique MS Excel Chaque classeur composant logique correspond un fichier xls composant physique Attention Un classeur peut contenir plusieurs feuilles de calcul En ce qui concerne les SGBD 1il existe deux variantes 1 Chaque composant table formulaire d une BD est stock dans un fichier s par Une base de donn es constitue donc un ensemble de fichiers Exemple dBASE 2 Tous les composants d une BD sont int gr s dans un seul fichier Exemple MS Access Exercice
30. Requ te 12 correspond l exemple 3 chap 7 2 5 Affichez toutes les informations pour les chocolats dont la quantit disponible est sup rieure ou gale 10 Requ te 13 correspond l exemple 4 chap 7 2 5 Affichez le libell et le prix des produits plus chers que 25 qui ne sont pas des caf s Requ te 14 correspond l exemple 5 chap 7 2 5 Affichez le num ro de produit le libell et la cat gorie pour les fromages et les boissons sans alcool Requ te 15 correspond l exemple 7 chap 7 2 5 Affichez le libell la cat gorie et le prix pour les produits moins chers que 25 qui appartiennent aux cat gories Chocolat ou Fromage Requ te 16 correspond l exemple 1 chap 7 2 6 Ins rez le produit suivant 17 Sm rebr d Pain 0 Cr ez une requ te qui v rifie la pr sence d une valeur NULL pour le prix Pierre Stockreiser 141 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Requ te 17 correspond l exemple 1 chap 7 2 7 Affichez le num ro le libell et le prix pour tous les produits dont le prix varie entre 12 et 25 Requ te 18 correspond l exemple 1 chap 7 2 8 Affichez toutes les informations pour les produits des cat gories Caf Boisson sans alcool Fromage et Chocolat Requ te 19 correspond l exemple 1 chap 7 2 9 Affichez le num ro le libell et la quantit disponible de tous les
31. ayant d j effectu au moins 2 pr ts Triez la liste par ordre alphab tique sur le nom 11 Affichez le num ro le nom et le pr nom des membres dont le pr t avec la plus grande dur e a dur moins longtemps que la dur e moyenne d un pr t Ignorez les pr ts pour lesquels l exemplaire emprunt n a pas encore t retourn la biblioth que Pierre Stockreiser 190 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 12 Cr ez une liste qui affiche pour chaque exemplaire actuellement emprunt pas encore retourn le num ro du pr t le num ro le nom et le pr nom du membre ayant emprunt le livre ainsi que le titre et le genre du livre en question Triez la liste par ordre alphab tique sur le nom et le pr nom du membre 13 Quels sont les auteurs Nom et pr nom ayant d j crit un livre ensemble avec l auteur Margaret Gibson 14 Quels sont les auteurs Nom et pr nom n ayant pas encore crit un livre ensemble avec l auteur Margaret Gibson Pierre Stockreiser 191 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Exercice 7 Gestion d une cole Voici une BD qui repr sente une gestion simplifi e des cours d un lyc e technique CR TE i idProf Fldforn fldPr nom fld dresse fldF fldLocalit fidOateMaiss tlFr quenter HE ngeigner El ve fiClasse Adanr e lasse fdMomClasse fdfiyeau flde cle F
32. blComptes toutefois sans afficher le champ fld Valeur Le stagiaire avec les connaissances acquises pendant le cours d informatique en classe de 13CG peut cr er sur son PC des requ tes formulaires et rapports mais 1l sera limit l utilisation des donn es pour lesquelles 1l est en possession des droits n cessaires A En ce qui concerne les tables et vues d une BD sur un serveur l administrateur n a pas uniquement la possibilit de limiter les objets qu un utilisateur peut acc der mais il peut galement d finir pour chaque objet le type d acc s auquel un utilisateur a le droit Parmi les types d acc s nous distinguons Autorisation de lecture angl select L utilisateur peut uniquement lire des donn es Autorisation d insertion angl insert L utilisateur peut lire et ins rer des donn es Il ne peut cependant pas modifier ou effacer des donn es existantes nom utilisateur amp mot de passe l aide duquel un utilisateur peut s identifier au syst me terme g n ralis pour une requ te de s lection stock e et r affichable Pierre Stockreiser 230 Lyc e du Nord Wiltz Informatique 13CG Protection des donn es Autorisation de mise jour angl update L utilisateur peut lire et modifier des donn es Il ne peut cependant pas ins rer ou effacer des donn es Autorisation d effacement angl delete L utilisateur peut lire et effacer des donn es Il ne peut cependant pas ins rer ou modifier des
33. combinaison des champs dans l index corresponde exactement au crit re de recherche Un index sur nom amp pr nom n acc l re pas une recherche du type pr nom Jos amp nom Weber Un index sans doublons sur un champ emp che l utilisateur d entrer la m me valeur dans ce champ dans deux enregistrements diff rents D finir trop d index sur une table ralentit en g n ral les op rations d ajout de modification et de suppression parce que le SGBD doit mettre jour la table et l index Pour la plupart des SGBD ceci est fait de fa on automatique lors de la d finition d un ou de plusieurs champs comme cl primaire Pierre Stockreiser 108 Lyc e du Nord Wiltz Informatique 13CG 7 Les requ tes angl queries 7 1 Table des mati res 7 Les requ tes angl queries 7 1 Table des mati res 7 2 D finition 7 3 Introduction au langage SQL 7 3 1 13 2 7 3 3 7 3 4 13 3 7 3 6 TO 7 3 8 7 3 9 7 3 10 7 3 11 19 42 FI 7 4 Les 7 4 1 7 4 2 7 4 3 7 4 4 G n ralit s Syntaxe SQL de base Les crit res de s lection Comparaison un filtre Les op rateurs logiques Valeur z ro cha ne vide et valeur ind termin e NULL Comparaison une fourchette de valeurs Comparaison une liste de valeurs D finir l ordre d une requ te de s lection Les valeurs calcul es Les fonctions d agr gation Requ tes sur les groupes Exercices requ tes SQL multitable La jointure Auto jointure Les re
34. contrats qui ne couvrent pas l Italie comme pays de destination le num ro du contrat et le nom de l agent En vous basant sur les donn es des tables indiquez le r sultat de la requ te dans la grille 1idContrat 2 Affichez le num ro de contrat les dates de d but et de fin du contrat ainsi que le nom pr nom adresse code postal et localit du client pour tous les contrats qui couvrent au moins une partie de la p riode entre le 14 juillet et le 20 juillet 2005 et dont le pays de destination tait l Italie Utilisez des alias partout dans la requ te 3 D terminez la plus grande prime parmi celles o le pays de destination est la Belgique et l agent n est pas un agent g n ral 4 Affichez le num ro de contrat la prime le nom et pr nom du client ainsi que le nom et pr nom de l agent pour tous les contrats o l agent a le m me nom que le client Pierre Stockreiser 178 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 5 Affichez toutes les informations concernant les clients ayant un agent qui habite Capellen Eliminez un effet ind sirable qui peut se produire cause du fait qu un client peut avoir conclu plusieurs contrats avec le m me agent 6 Affichez pour chaque client le num ro de client son nom le nom de son agent et la somme des primes de tous les contrats qu il a conclu avec cet agent Au cas o un client a conclu des contrats avec plusieurs agents diff re
35. dans le syst me Une commande est identifi e par un num ro de commande et caract ris e en plus par une date de commande Les livres disponibles de la commande sont envoy s tout de suite au membre e Pour devenir membre du club il suffit d effectuer une fois une commande via des bons de commandes l g rement modifi s p ex pas de num ro de membre et d indiquer les coordonn es personnelles e Tous les livres pr sents dans le catalogue sont galement stock s dans le syst me Un livre est identifi par son num ro ISBN et caract ris en plus par un titre un genre p ex ROMAN HISTOIRE BIOGRAPHIE TECHNIQUE une langue p ex ALL Pierre Stockreiser 49 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information FRA le nom de l auteur le prix de vente et le nombre d exemplaires disponibles en stock e Une facture est identifi e par un num ro de facture et caract ris e en plus par une date de facture e Afin de garantir qu une facture n est cr e et envoy e au membre qui a effectu la commande correspondante qu au moment o tous les livres de la commande ont t livr s le syst me doit tre capable de vous informer quels livres de la commande ont d j t envoy s au membre et quels livres n ont pas encore t envoy s au membre p ex livre non disponible en stock au moment de la r ception de la commande e A chaque commande est affect e un seul employ Un employ
36. donn es On pourrait comparer une table une liste en MS Excel Les tables sont tudi es en d tail dans le chapitre 6 Voici un exemple d une table Un champ de donn es Cylindr e Poids 2500 1360 1800 1080 2000 1200 Un enregistrement A l aide d un exemple pr cis nous allons voir pourquoi il est important de bien r fl chir sur le nombre de tables d une base de donn es et sur la structure de chaque table Il s agit de cr er une base de donn es pour une caisse de maladie On veut stocker tous les employ s membres de la caisse avec leur soci t employeur Afin de faciliter l exercice nous allons uniquement stocker les informations suivantes pour chaque employ le num ro de l employ le nom de l employ le pr nom de l employ le num ro de son entreprise le nom de son entreprise la localit o se trouve l entreprise A premi re vue la solution suivante s impose Schaffgaer S r 1 Differdange l voir cours de la classe 12CG Pierre Stockreiser 19 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Nous voyons ici uniquement quelques enregistrements Une caisse de maladie ayant des miliers de membres et cette table poss dant un enregistrement par membre on peut bien s imaginer la taille r elle de la table Or bien que cette solution soit correcte dans le sens le plus large du terme elle nous impose un certa
37. dont la marque est Ford Pour formuler une requ te l utilisateur doit donc utiliser un langage sp cialis pour ce domaine Le langage SQL Structured Query Language est un standard international en ce qui concerne les langages de manipulation des BD SQL est connu par tous les SGBDR II faut cependant mentionner que malgr la pr sence de standards internationaux tels que SQL 86 SQL 89 SQL 92 SQL2 ou SQL3 chaque SGBD sur le march utilise un peu son propre dialecte du langage SQL SQL2 Mar e Ledant Edition A Colin 2 200 2144 1 Pierre Stockreiser 112 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 3 2 Syntaxe SQL de base Nous distinguons les 4 types de requ tes suivants 1 Requ tes de s lection SELECT lt Nom d un champ gt lt Nom d un champ FROM lt Nom de la table gt WHERE lt Crit res de s lection gt veut dire que la liste des champs est optionnelle INSERT INTO lt Nom de la table gt lt Liste des champs gt Attention Lorsque vous n indiquez pas la liste des champs derri re INSERT INTO vous devez sp cifier une valeur pour chaque champ de la table derri re VALUES Les parenth ses derri re VALUES sont obligatoires La liste des champs lorsqu elle est indiqu e contient les noms des champs s par s par une virgule et doit galement tre entour e de parenth ses 2 Requ tes d insertion 3 Requ tes de modificatio
38. e partir d une table ou d une requ te e Les donn es affich es dans un formulaire proviennent donc de tables ou de requ tes tandis que certaines informations sp cifiques l apparence du formulaire p ex couleur de l arri re plan sont stock es dans la d finition du formulaire Pierre Stockreiser 213 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 8 3 Types de formulaires En g n ral nous distinguons 3 types de formulaires 1 Formulaire Colonne Simple angl Single Column Form 6 Livres d une bibhoth que OI x Mo Livre 33344 Titre Teach yourself Java im 21 days Auteur Charles Perkins Langue ANG Genre T echnigue Prix 1065 EnStack 0 Record 14 1 r of 11 A Dans un formulaire Colonne Simple les valeurs des enregistrements sont affich es dans une seule colonne Chaque valeur d un enregistrement se trouve dans un champ de formulaire d di Un seul enregistrement est donc repr sent chaque fois 2 Formulaire Tabulaire angl Tabular Form E tblLivres Of X No Livre Titre Auteur Langue Genre Prix EnStock gt 33344 Teach yoursel Java in 21 day Charles Parking ANG Technique 1065 0 l 34000 M5 Access 2 0 Ken Getz ENG Technique 1377 2 Bi 38366 Die Pr fung F Paul Wilson ALL roman eco 3 87777 Roter Drache Thomas Harris ALL Roman 489 1 Record 14 t r of 11 a 2 Dans un fo
39. e scolaire 97 98 le nom de chaque classe ainsi que le nombre d l ves 2 Affichez par ann e scolaire et par niveau le nombre d l ves Triez la liste par ordre ascendant sur l ann e scolaire et par ordre ascendant sur le niveau 3 Affichez le nom et le pr nom de tous les profs ayant enseign une mati re dans une classe de 13 pendant les 5 derni res ann es scolaires partir de l ann e scolaire 97 98 Triez la liste par ordre alphab tique sur le nom du prof 4 Dressez une liste avec le nom le pr nom l adresse le code postal et la localit pour tous les l ves qui ont fr quent la classe O8TH 1 pendant l ann e scolaire 96 97 La liste doit tre tri e par ordre alphab tique sur le nom des l ves Utilisez au maximum possible le m canisme des requ tes imbriqu es Pierre Stockreiser 193 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 5 Cr ez une liste qui montre pour l ann e scolaire 97 98 pour chaque classe les mati res enseign es avec les noms et pr noms des profs correspondants Triez la liste par ordre alphab tique sur les noms des classes et l int rieur d une classe par ordre alphab tique sur les mati res Utilisez uniquement des jointures en d finissant des alias pour toutes les tables impliqu es 6 Cr ez une liste des profs nom amp pr nom qui est tri e par ordre descendant sur le nombre de cours enseign s pendant les
40. etc Effectuer les n gations NOT Effectuer les AND Effectuer les OR Pour modifier cet ordre d ex cution nous pouvons utiliser des parenth ses afin de grouper les diff rentes conditions logiques Exemples 1 Afficher le pr nom et le nom de tous les employ s qui ne travaillent pas dans le service Marketing SELECT fldPr nom fldNom FROM tblEmploy s WHERE NOT fldService Marketing Formulez une requ te qui affiche exactement le m me r sultat sans utiliser l op rateur NOT SELECT fldPr nom fldNom FROM tblEmploy s WHERE fldService lt gt Marketing Pierre Stockreiser 119 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 2 Afficher le num ro d employ le pr nom et le nom de tous les employ s dont le nom ne commence pas par la lettre W SELECT idEmploy fldPr nom fldNom FROM tblEmploy s WHERE NOT fldNom LIKE W 3 Afficher le num ro de l employ le pr nom et le nom pour les employ s du service Informatique qui ont moins de 30 ans SELECT idEmploy fldPr nom fldNom FROM tblEmploy s WHERE fldService Informatique AND fldAge lt 30 4 Afficher le pr nom et le nom des employ s f minins code F qui ne travaillent pas au service marketing SELECT fldPr nom fldNom FROM tblEmploy s WHERE fldSexe F AND NOT fldService Marketing ou SELECT fldPr nom fldNom FROM tblEmploy s WHERE fldSexe F AND fldService lt gt Mar
41. fld uteur Auteur du livre Cane du re Soit la requ te suivante SELECT fldTitre fldGenre fldEnStock FROM tblLivres Voici titre d exemple le r sultat de cette requ te i Query35 Select Query Mel Ei ae fGome fdEnStock Teach yourself Java in 21 days Technique E MS Access 20 Technique Ms Access 97 Technique 0 E Mew Windows 98 Technique 23 D Die Pr fung Foman J o Le micro comment a marche Technique z p L homme juste Roman 3 Der letzte far Histoire z m Novell Netware 4 1 Technique J E Foter Drache Foman 3 Der Zerfall des Sowetimperiums Histoire z o Dracula Roman J Record 14 4 1 r r of 12 Si on voulait conna tre la quantit en stock par genre de livre on aurait le r sultat suivant a Query35 Select Query MB E3 RES ER SEE Histoirel Record 14 4 CRE Pierre Stockreiser 133 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles SQL nous offre une extension la requ te de s lection qui nous permet de formuler exactement ce type de questions La clause GROUP BY lt Liste des champs de groupe gt r partit le r sultat d une requ te de s lection en groupes G n ralement on applique une fonction d agr gation aux membres de chaque groupe Voici la requ te qui nous donne le tableau pr c dent SELECT fldGenre SUM fldEnStock As En Stock FROM tbllivres GROUP BY fldGenre La clause GROUP BY fldGenre cr e d
42. id Hom Pr nom Mati re enseigner D On peut dire que chaque instanciation de l association enseigner associe un professeur une mati re et une classe pour une ann e donn e Ou encore ce mod le nous permet de montrer pour chaque ann e scolaire quelle mati re est enseign e dans quelle classe par quel professeur L identifiant de l association enseigner est le quadruple CodeProf_ id CodeMati re_ id Nom_ id Ann e_ id Il n est pas toujours facile de d terminer quand il faut utiliser une association ternaire G n ralement on peut affirmer que si plusieurs des classes li es une association ternaire poss dent une multiplicit maximale de 1 la mod lisation n est pas optimis e dans le sens De UML SQL Christian Soutou Eyrolles Pierre Stockreiser 43 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information qu il faudrait mieux d composer l association ternaire c d la repr senter par 2 associations binaires Exemple La direction d une cha ne d h tels d sire g rer les s jours des clients dans les diff rents h tels Comme on peut effectivement dire Un client effectue un s jour dans un h tel on est amen proposer la mod lisation suivante effectuer Client HoClient id Hom HNo jour id Date rriv e DateD part CodeH tel id Hom Adresse On peut lire interpr ter ce mod
43. id Nom EMPLOY NOEMPLOY ID NOM PR NOM FONCTION REMPLACER NOEMPLOY ID TRE REMPLAC PAR NOEMPLOY ID TRE LE REMPLA ANT DE TAUXDECONCORDANCE tre remplac par 0 remplacer tre remplac par TauxDeConcordance a remplacer Pr nom Fonction tre le rempla ant de tre le rempla ant de Comme 1il s agit d une association x x une table suppl mentaire REMPLACER est cr e Cette table contient comme cl primaire compos e la cl des deux classes reli es Comme la m me classe est li e 2 fois l association on ne peut pas utiliser 2 fois le m me nom pour les cl s migr es Ainsi il convient d int grer les r les du MCD dans le nom des cl s migr es Remarque pour les paresseux On peut laisser de c t le r le dans le nom d une des deux cl s migr es Pierre Stockreiser 70 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Exemple 2 EMPLOY g1 Paion NOEMPLOY ID nai NOEMPLOY ID _ PATRON Nom diriger NOM PR NOM FONCTION Comme il s agit d une association x x 1 nous devons dupliquer la cl primaire tout en veillant ce que le m me nom ne soit pas utilis pour la cl primaire et la cl trang re 3 5 2 8 Transformation de l agr gation de composition A Sachant que la classe d pendante est toujours li e l association par les multiplici
44. idAgence FROM tblAgences WHERE fldlocalit IN Luxembourg Esch s Alzette 3 Affichez le nom et le pr nom de tous les clients n ayant pas de compte SELECT fldNom fldPr nom FROM tblClients WHERE idClient NOT IN SELECT DISTINCT fiClient FROM tblComptes Remarque A l int rieur d une requ te imbriqu e on peut faire r f rence un champ d une table d finie dans la requ te de niveau sup rieur Dans ce cas on parle d une requ te imbriqu e corr l e Une valeur retourn e par ce type de requ te d pend donc d un champ qui re oit ses valeurs partir d une requ te de niveau sup rieur Les requ tes imbriqu es corr l es ne figurent actuellement pas au programme de la classe 13CG Exemple Affichez le nom et le pr nom des clients ayant au moins un compte avec une valeur de 9000 SELECT fldNom fldPr nom FROM tblClients C WHERE 9000 IN SELECT fldValeur FROM tblComptes WHERE fiClient C idClient L ensemble de valeurs retourn du SELECT imbriqu d pend de la valeur de C idClient SQL ex cute cette requ te de la fa on suivante Pierre Stockreiser 175 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles C idClient est substitu par sa valeur pour le premier enregistrement de la table blClients C idClient prend donc la valeur 1 La requ te imbriqu e SELECT fldValeur FROM tblComptes WHERE fiClient l1 est ex cut e avec comme
45. l architecture Client Serveur qui sont pr sent s dans cet ouvrage 10 1 Table des mati res 10 S curit des donn es 226 10 1 Table des mati res 226 10 2 D finition 226 10 3 Les manipulations malveillantes 227 10 3 1 D finition 221 10 3 2 La protection contre les manipulations malveillantes 227 10 4 Les acc s non autoris s 229 10 4 1 D finition 229 10 4 2 La protection contre les acc s non autoris s 229 10 5 Les incoh rences et pertes de donn es accidentelles 233 10 5 1 D finition 233 10 5 2 La protection contre les incoh rences et pertes de donn es accidentelles 234 10 5 3 Les mesures de pr vention contre la perte de donn es 236 10 2 D finition A Par s curit des donn es on entend toutes les mesures prises pour que les donn es d une BD soient prot g es contre e es manipulations malveillantes e les acc s non autoris s e les incoh rences et pertes de donn es accidentelles Pierre Stockreiser 226 Lyc e du Nord Wiltz Informatique 13CG Protection des donn es 10 3 Les manipulations malveillantes 10 3 1 D finition A Par manipulation malveillante on entend la lecture la modification ou la destruction non autoris e de donn es Exemple Sachant qu une BD est impl ment e par un ou plusieurs fichiers au niveau du syst me d exploitation une personne peut effacer une BD compl te au niveau de la gestion des fichiers p ex Explorer sans m me avoir besoin de d marrer l
46. la table suivante pour g rer ses clients tblClients Sexe du client Valeurs possibles F et M l idCient fidNom fdPr nom fdSexe fidAdresse fdCP fidLocalit fidNoTel fdNoFax fdDateNaiss fidBonClient OD 1 Weber Jos M 23 rue Principale 1233 Grevenmacher 123455 123566 13 09 1967 Yes 2 Muller Katia F 2 am Boesch 7072 Walferdange 676655 27 04 1970 No 3 Ferreira Silvia F 12 Cit Patton 2021 Ettelbruck 007 90 30 05 1959 Yes 4 Kremer Jean Pierre M 34 Um Ronnebierg 6677 Luxembourg 905666 905867 02 05 1979 Yes 5 Wagner Jean Jacques M 2 rue de Beggen 7072 Walferdange 680077 000076 05 12 1974 No 6 Heinen Edmond M 12 Am Gaard 2021 Ettelbruck 217070 217071 12 01 1954 No 7 Schmit Paul M 5 rue de Mersch 7071 Walferdange 927255 25 03 1970 Yes Trouvez le code SQL pour les requ tes suivantes 1 Affichez le nom pr nom adresse code postal et localit pour tous les clients habitant Walferdange 2 Ins rez le client suivant dans la table 6 Heinen Edmond M 12 Am Gaard 2021 Ettelbruck 217070 217071 12 01 1954 Indiquez la requ te correcte pour ajouter ce client lorsque vous ignorez le num ro de fax Lorsque nous ignorons le num ro de fax nous ins rons la valeur NULL puisque le num ro est en fait ind termin Pierre Stockreiser 148 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles ou Indiquez la requ te correcte pour ajouter ce client lo
47. le de trois fa ons diff rentes Chaque couple d instanciations Client H tel est associ au minimum 0 et au maximum plusieurs S jours gt Multiplicit 0 du c t S jour On consid re techniquement chaque combinaison Client H tel possible Chaque couple d instanciations Client S jour est associ au minimum 0 et au maximum un H tel gt Multiplicit 0 1 du c t H tel Chaque couple d instanciations S jour H tel est associ au minimum 0 et au maximum un Client gt Multiplicit 0 1 du c t Client Chaque instanciation de l association effectuer associe donc un s jour un client et un h tel Or cette mod lisation porte une contrainte suppl mentaire puisque les multiplicit s 0 1 nous indiquent que pour chaque instanciation de S jour il ne peut exister qu une et une seule instanciation de l association Donc chaque s jour est associ une et une seule fois une combinaison client h tel Dans ce cas il vaut mieux d composer l association ternaire en deux associations binaires Client NoClient id Hom No jour id effectuer DateArriv e DateD part avoir lieu CodeH tel id Hom Adresse Pierre Stockreiser 44 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Pierre Stockreiser 45 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 4 9 Exercices Exercice 1 Voici le
48. le nom du client correspondant SELECT idCompte fldValeur fldNom FROM tblComptes tblClients WHERE fiClient idClient AND fldValeur gt 10000 Apr s avoir cr le produit cart sien SQL limine les enregistrements qui ne v rifient pas la condition de jointure fiClient idClient et ceux qui ne v rifient pas le crit re de s lection f dValeur gt 10000 Pour les enregistrements qui restent SQL effectue l affichage des champs demand s Pierre Stockreiser 162 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Remarque Une jointure peut mettre en relation plus que 2 tables Exemples Soient les 3 tables suivantes tblamptes tblClents x bent Fldforn fldPr nann fld dresse FldP fldLocalit tblComptes tblClients tblAgences fldAdresse fldCP fldLocalit 15 bvd Royal P 67 rue de l Alzette 8765 Esch s Alzette 2 Grand Rue 6678 Ettelbruck Pierre Stockreiser 163 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 1 Affichez pour tous les comptes le num ro de compte la valeur actuelle le nom du client ainsi que sa localit et la localit de l agence Renommez les en t tes de fa on ce qu il n y ait pas de confusion entre les donn es du client et celles de l agence SELECT idCompte fldValeur fldNom Cl fldLocalit AS Localit Client A fldLocalit AS Localit Agence FROM tblAgences A
49. lection gt GROUP BY lt Liste de champs de groupe gt HAVING lt Crit res de s lection des groupes gt ORDER BY lt Nom d un champ gt ASC DESC lt Nom d un champ gt ASC DESC Exemples 1 Affichez pour chaque langue le nombre de titres disponibles ainsi que la quantit d exemplaires en stock en tenant uniquement compte des langues pour lesquelles la quantit d exemplaires est sup rieure 0 SELECT fldLangue COUNT AS Titres SUM fldEnStock AS Quantit FROM tbllLivres GROUP BY fldLangue HAVING SUM fldEnStock gt 0 2 M me question mais en liminant d s le d but les livres anglais SELECT fldLangue COUNT AS Titres SUM fldEnStock AS Quantit FROM tbllLivres WHERE fldLangue lt gt ANG GROUP BY fldlLangue HAVING SUM fldEnStock gt 0 3 Classez les auteurs par ordre descendant en fonction du nombre de titres Tenez uniquement compte des titres fran ais et allemands et des auteurs ayant au moins 3 titres disponibles SELECT fldAuteur COUNT AS Titres FROM tbllLivres WHERE fldLangue IN FRA ALL GROUP BY fldAuteur HAVING COUNT gt 3 ORDER BY COUNT DESC A faire Exercice 2 et Exercice 3 Pierre Stockreiser 137 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 3 13 Exercices Exercice pratique Introduction SQL Pr paration 1 Cr ez en Access une base de donn es Supermarch mdb qui contiendra uniquem
50. on g n rale on peut dire La multiplicit minimale indique si un objet d une classe peut exister sans participer l association Cette multiplicit est 0 ou 1 Multiphicit minimale 0 Un objet de la classe concern e peut exister sans participer l association e Multiplicit minimale 1 Un objet de la classe participe au moins une fois l association La multiplicit maximale indique si un objet d une classe peut participer plusieurs fois l association Cette multiplicit est 1 ou avec repr sentant une valeur gt 1 mais non connue priori e Multiplicit maximale 1 Un objet de la classe participe au maximum une seule fois l association Multiplicit maximale Un objet de la classe peut participer plusieurs fois l association Comme nous indiquons pour chaque classe reli e une association les multiplicit s sous la forme lt Multiplicit minimale gt lt Multiplicit maximale nous avons les possibilit s suivantes En pratique afin de d terminer les bonnes multiplicit s le concepteur doit se r f rer aux r sultats de l analyse Exemple 3 Pour les deux cas suivants on peut affirmer qu une commande est toujours pass e par au minimum un client Une commande est galement pass e au maximum par un client Une commande est donc toujours pass e par un et un seul client Un client passe au moins une commande et au maximum plusieurs commandes a Hom
51. on peut avoir plusieurs requ tes imbriqu es dans une seule clause WHERE Pierre Stockreiser 171 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 5 Affichez le num ro le nom et l avoir total en banque des clients dont l avoir total est inf rieur l avoir moyen de tous les comptes SELECT idClient fldNom SUM fldValeur AS Avoir total FROM tblComptes tblClients WHERE fiClient i1dClient GROUP BY 1idClient fldNom HAVING SUM fldValeur lt SELECT AVG fldValeur FROM tblComptes 7 4 3 2 La requ te imbriqu e renvoie un ensemble de valeurs Exemple Reprenons les trois tables suivantes fld dresse tblComptes FdiCP fldLocalit tblChents tblComptes tblClients idClient fldA dresse fldCP fldLocalit 25 rue de la Gare 2278 66a Cit Paerchen 1234 Schifflange 102 av G Diederich _ 6690 Pierre Stockreiser 172 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles tblAgences fldAdresse fldCP fldLocalit 15 bvd Royal 5377 67 rue de l Alzette 8765 Esch s Alzette 2 Grand Rue 6678 Ettelbruck La requ te SELECT idCompte fldValeur FROM tblComptes WHERE fiClient IN SELECT idClient FROM tblClients WHERE fldLocalit Luxembourg OR fldLocalit Diekirch retourne le num ro de compte et la valeur actuelle pour les comptes dont le client habite Luxembourg ou Diekirch Analysons le fonc
52. plusieurs champs valeur logique Assurance D fense amp Recours 1 m L utilisateur qui est dans ce cas un employ d une soci t d assurances peut indiquer si un client inclus dans son contrat une assurance auto suppl mentaire du type D fense amp Recours Exemple e Pour repr senter un champ qui ne peut contenir qu un nombre tr s limit max 5 de valeurs pr d finies du type num rique texte ou date qui sont en plus mutuellement exclusives utilisez un groupe de boutons d options Destinataire Carte Verte L employ choisit si la carte verte est envoy e l agent ou directement au client e Un champ qui peut contenir un nombre limit gt 5 de valeurs pr d finies du type num rique texte ou date qui sont en plus mutuellement exclusives devra tre repr sent par une zone de liste Couverture tendue Allemagne Belgique Espagne Exemple L employ peut tendre la couverture de l assurance auto sur un pays suppl mentaire e Lorsque pour un champ repr sent normalement par une zone de liste vous voulez donner l utilisateur la possibilit d entrer des valeurs outres que celles pr d finies utilisez une liste modifiable Pierre Stockreiser 216 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Audi Exemple L employ peut soit s lectionner une des marques pr d finies soit entrer lui m me un nom de
53. produits Triez la liste par ordre ascendant sur la quantit disponible Requ te 20 correspond l exemple 2 chap 7 2 9 Affichez le libell et le prix des produits qui sont disponibles au moins 100 fois Triez la liste par ordre descendant sur le prix Requ te 21 correspond l exemple 3 chap 7 2 9 Affichez une liste avec le libell la cat gorie et le prix de tous les produits l exception des fromages Triez la liste par ordre alphab tique sur la cat gorie et pour chaque cat gorie par ordre d croissant descendant sur le prix Pierre Stockreiser 142 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Requ te 22 correspond au chap 7 2 10 Affichez le num ro le libell et la valeur en stock de tous les caf s et boissons sans alcool La valeur en stock d un produit s obtient par la multiplication de la quantit disponible avec le prix Requ te 23 correspond l exemple 1 chap 7 2 11 Affichez la moyenne des prix pour les produits moins chers que 25 Requ te 24 correspond l exemple 2 chap 7 2 11 Affichez la quantit totale des fromages en stock Requ te 25 correspond l exemple 3 chap 7 2 11 Combien de produits existent qui co tent plus chers que 30 Requ te 26 correspond au chap 7 2 11 Calculez la valeur actuelle en stock pour tous les produits l exception des chocolats Pierre Stockreiser 143 Lyc e du Nord Wiltz Informa
54. r sultat l ensemble 5000 La requ te de niveau sup rieur ne retourne donc aucun r sultat C idClient est maintenant substitu par sa valeur pour le deuxi me enregistrement de la table tblClients C idClient prend donc la valeur 2 La requ te imbriqu e SELECT fldValeur FROM tblComptes WHERE fiClient 2 retourne l ensemble 48000 La requ te de niveau sup rieur ne retourne donc aucun r sultat C idClient est ensuite substitu par sa valeur pour le troisi me enregistrement de la table tblClients C idClient prend donc la valeur 3 La requ te imbriqu e SELECT fldValeur FROM tblComptes WHERE fiClient 3 retourne l ensemble 20000 9000 La requ te de niveau sup rieur retourne le r sultat Muller Ketty puisque effectivement le troisi me enregistrement de la table blClients contient une valeur de idClient 3 qui produit dans la requ te imbriqu e un ensemble contenant la valeur 9000 Formulez cette requ te sans utiliser le principe de la requ te corr l e SELECT fldNom fldPr nom FROM tblClients WHERE idClient IN SELECT DISTINCT fiClient FROM tblComptes WHERE fldValeur 9000 ou SELECT DISTINCT fldNom fldPr nom FROM tblClients tblComptes WHERE fiClient idClient AND fldValeur 9000 A faire Exercice 5 R p tition g n rale en SQL_ Exercice 6 et Exercice 7 Pierre Stockreiser 176 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles
55. rieur d un type par ordre descendant sur le prix Pierre Stockreiser 153 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 6 Quel est le prix moyen pour un concert au mois X de l ann e Y On ne tiendra pas compte des f tes sous tente Cr ez une requ te param tr e 7 Classez les localit s par ordre descendant sur le montant des recettes des concerts pour l ann e 2005 Recette d un concert Tickets vendus Prix d un ticket Ignorez les localit s pour lesquelles 1l n y a pas encore de recettes 8 Comptez le nombre de localit s dans lesquelles a eu lieu un concert pendant les mois de juillet et ao t 2005 9 Effacez tous les concerts qui ont eu lieu avant le 1 8 2005 10 Affichez le nom de l artiste la date la localit ainsi que le nombre de places encore disponibles pour les concerts qui auront lieu au mois de juillet 2005 ou 11 Un client ach te 2 tickets pour le prochain concert de la Kelly Family Affichez d abord une liste avec tous les concerts pr vus pour cet artiste Pierre Stockreiser 154 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Nous supposons que cette requ te donne comme r sultat un seul concert avec le num ro 103 comme valeur de la cl primaire Vous allez utiliser ce num ro pour modifier ensuite la table de fa on ce qu elle refl te la vente des 2 tickets pour le concert correspondant Quel probl me co
56. tblClients Cl tblComptes WHERE idAgence fiAgence AND idClient fiClient Comme la jointure contient 3 tables nous avons 2 conditions de jointure A En g n ral on a Nombre de conditions de jointure Nombre de tables dans la jointure 1 2 Affichez le num ro de compte le nom et pr nom du client ainsi que le num ro d agence pour les comptes dont l agence se trouve dans la m me localit o habite le chent correspondant SELECT idCompte fldNom fldPr nom idAgence FROM tblAgences A tblClients Cl tblComptes WHERE idAgence fiAgence AND idClient fiClient AND A fldLocalit C1 fldLocalit Pierre Stockreiser 164 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 4 2 Auto jointure A Il est possible de d finir une jointure d une table avec elle m me Dans ce cas il faut obligatoirement utiliser des alias Exemple Soit la table tblComptes fld Valeur 20000 48000 9000 5000 e Afficher le num ro de compte et la valeur pour les comptes ayant une valeur sup rieure celle du compte 112 SELECT Col idCompte Col fldValeur FROM tblComptes Col tblComptes Co2 WHERE Co2 idCompte 112 AND Col fldValeur gt Co2 fldValeur Cette requ te nous semble trange premi re vue Nous allons analyser les tapes d ex cution de la requ te 1 Produit cart sien 101 12 20000 3 101 12 20000 3 106 24 48000 2 101 12 20000 3 112 12 9000 3 101 12 20000
57. un tudiant poss de un type de dipl me TypeDipl me NoMatricule id poss der 4 Titre id Hom Hiveau Prenom poss der Ann e lt Classe association A Une association avec un ou plusieurs attributs est repr sent e l aide d une classe qu on appelle classe association Cette classe association contient le ou les attributs correspondants et elle est connect e au lien de l association par une ligne en pointill Par convention la classe association porte le m me nom que l association concern e Rappel Une association peut implicitement tre identifi e par les identifiants des classes auxquelles elle est li e A Attention Un ou plusieurs des attributs d une classe association peuvent m me devenir une partie de l identifiant de l association Les attributs concern s sont not s de la m me fa on que les identifiants des autres classes Exemple Pierre Stockreiser 34 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Professeur Classe HoMatricule id CodeClasse id enseigner Hom Cycle Pr nom enseigner Ann e id Comme un professeur peut avoir la m me classe pendant plusieurs ann es p ex Jos Weber gt 12CG2 l identifiant implicite de l association enseigner NoMatricule_ id CodeClasse_ id n est pas suffisant puisqu il ne garantit pas l unicit On y ajoute Ann e_ id L association enseig
58. un formulaire qui affiche toutes les donn es d une table qui contient des livres E Livres d une biblioth que No Livre 33344 Titre Teach vourself Java in 21 days Auteur Charles Perkins Langue ANG Genre Technique Pris 1065 EnStock 0 Record 14 4 1 r of 11 2 Vous remarquez que ce formulaire affiche un enregistrement la fois Un formulaire est toujours li une table ou bien une requ te Il ne repr sente donc qu une interface entre l utilisateur et les tables Toutes les donn es saisies sur un formulaire sont donc inscrites dans la les table s correspondante s Pierre Stockreiser 210 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Chaque formulaire est compos de contr les Voici une liste non exhaustive des contr les les plus r pandus dans les SGBD actuels Nom du contr le Utilisation Etiquette Affiche du texte fixe Ce type de contr le n est angl Label pas li un champ d une BD Il sert uniquement Exemple fournir des informations l utilisateur d tenu Zone de texte Contient des donn es de la BD Ce Peut repr senter des angl Text Box contr le affiche par exemple la valeur champs de tout type d un champ pour l enregistrement actuel Exemple Eram Stoker Bouton d options Utilis s en groupe ces boutons Ce contr le repr sente angl Option Button ou permettent de choisir une seule valeur de pr
59. 00 3 112 12 9000 3 112 12 9000 3 125 30 9000 1 112 12 9000 3 101 12 20000 3 125 30 5000 1 106 24 48000 2 125 30 5000 1 112 12 9000 3 125 30 5000 1 125 30 5000 1 125 30 5000 1 B Co1 idCompte Co1 SASRA Co1 fIidValeur Co1 fiClient Co2 idCompte Co2 ER Co2 fldValeur Co2 fiClient 101 20000 112 9000 106 24 48000 2 112 12 9000 3 112 12 9000 3 112 12 9000 3 125 30 5000 1 112 12 9000 3 Ce tableau associe donc chaque compte inclus le compte 112 m me au compte 112 Il suffit maintenant de s lectionner les comptes qui ont une valeur sup rieure celle du compte 112 Ceci est fait l aide de la condition de jointure Col fldValeur gt Co2 fld Valeur Pour cet exemple la condition de jointure ne se d finit donc pas sur la cl trang re cl primaire Pierre Stockreiser 166 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Col idCompte Col ee Colt fldValeur Co1 fiClient Co2 idCompte Co2 Se Co2 fldValeur Co2 fiClient 101 20000 112 9000 106 24 48000 2 112 12 9000 3 112 12 9000 3 112 12 9000 3 125 30 5000 1 112 12 9000 3 Col idCompte Col ET Colt fldValeur Co1 fiClient Co2 idCompte Co2 es Co2 fldValeur Co2 fiClient 101 20000 112 9000 106 24 48000 2 112 12 9000 3 3 Affichage des champs sp cifi s La derni re tape consiste dans l affichage des champs indiqu s dans la clause SELECT Col idCompte Col fldValeur 101 20000 106 48000 SELECT
60. 13CG Mod lisation d un syst me d information Exercice 3 Un nouveau parc de vacances va prochainement ouvrir ses portes au Luxembourg Dans ce parc les visiteurs sont log s dans des bungalows Vous tes charg de l impl mentation d un syst me informatis pour g rer les r servations des bungalows Apr s plusieurs r unions avec les responsables de la gestion du parc vous avez collectionn les informations suivantes Le parc est subdivis en plusieurs zones dont chacune contient environ 40 50 bungalows Chaque zone dispose de ses propres magasins restaurants piscines etc Pour l ouverture du parc les zones suivantes sont pr tes accueillir des visiteurs Zone Situation Description _ _ Imitation Kloondike City avec Saloon Sheriff Office Chine Es Chine traditionnelle avec temple palais Atmosph re tropicale avec palmiers mer artificielle Ambiance m di vale autour d un magnifique ch teau Liliput Zone comportant plein d l ments des contes bien connus Les bungalows sont parfaitement int gr s dans l atmosph re correspondante de leur zone Chaque bungalow du parc appartient une des cat gories suivantes de fa on ind pendante sa situation zone B Ban etdouche WG s p 11V Terasse 8 ae D Bain et douche WC s p 11V Terasse 8 e Afin de faciliter la gestion des bungalows le responsable du service Comptabilit vous demande de pr voir un
61. 3 derni res ann es scolaires partir de l ann e scolaire 97 98 La notion de cours est d finie par le fait d enseigner une mati re dans une classe 7 Affichez le nom et le pr nom des profs qui enseignent au moins une mati re dans une classe pendant l ann e scolaire 97 98 ou Formulez la m me requ te en utilisant le m canisme de la requ te imbriqu e corr l e Pierre Stockreiser 194 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 8 Affichez le nom le pr nom l adresse le code postal et la localit de tous les l ves ayant fr quent pendant l ann e scolaire 96 97 une classe du cycle inf rieur Utilisez au maximum les requ tes imbriqu es 9 Affichez le nom le pr nom et la d nomination de la classe actuelle des l ves qui sont actuellement Ann e 97 08 des redoublants Attention Un l ve est actuellement un redoublant s il a fr quent l ann e scolaire pass e une classe de m me niveau mais pas n cessairement la m me classe 10 Sachant qu une classe ne devrait avoir un effectif sup rieur 21 l ves le directeur vous demande d tablir une liste avec les noms des classes du cycle inf rieur qui pourraient encore accepter des nouveaux l ves pendant l ann e scolaire 97 08 Utilisez uniquement des requ tes imbriqu es Formulez la m me requ te en utilisant uniquement des jointures Pierre Stockreiser 195 Lyc e du Nord Wiltz Inform
62. 300 France 2 Kremer Pierre 2 bvd de la libert 9980 Luxembourg 228890 1001 12 07 2005 22 07 2005 1750 Italie 1 11 1 Pezzotto Alfredo 23 rue de Mamer 6555 Capellen 238987 No 1002 19 07 2005 18 08 2005 4500 Belgique 1 11 1 Pezzotto Alfredo 23 rue de Mamer 6555 Capellen 238987 No idContrat fldD but fidFin fldPrime fldPays pagen fiClient a E fldPr nom fldAdresse fldCP fldLocalit fldNoTel PEASE 1001 12 07 2005 22 07 2005 1750 Italie 1 Pezzotto Alfredo 23 rue de Mamer 6555 Capellen 238987 1002 19 07 2005 18 08 2005 4500 Belgique 1 11 1 Pezzotto Alfredo 23 rue de Mamer 6555 Capellen 238987 No Etape 4 Affichage des champs sp cifi s projection SELECT IdContrat fldPrime fldNom FConrar naPrime anom 1001 1750 Pezzotto 1002 4500 Pezzotto Pierre Stockreiser 181 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 8 Elaborez une liste qui affiche pour chaque agent son nom ainsi que le nombre de contrats par pays de destination En vous basant sur les donn es des tables indiquez le r sultat de la requ te dans la grille 9 Indiquez le nom le pr nom l adresse le code postal et la localit des clients ayant conclu un contrat qui a une prime strictement inf rieure celle du contrat num ro 1003 10 Classez les agents par ordre descendant sur le nombre de contrats qu ils ont conclus En tenant uniquement compte des agents qui ont conclu au moins 2 contrats aff
63. 3CG Exploitation des bases de donn es relationnelles A Structure d un rapport Chaque rapport est subdivis en diff rentes parties appel s sections Un rapport peut contenir les sections suivantes e En t te Pied de rapport L en t te de rapport appara t une seule fois au d but de la premi re page et le pied de rapport appara t une seule fois la fin de la derni re page L en t te de rapport est souvent utilis pour afficher des logos ou la date actuelle Le pied de rapport contient souvent des grand totaux e En t te Pied de page Contient du texte qui sera affich imprim chaque nouvelle page du rapport L en t te de page contient g n ralement les noms des champs affich s dans la section d tail Le pied de page est souvent utilis pour afficher le num ro de page e En t te Pied de groupe Dans un rapport on peut faire un regroupement d enregistrements selon les valeurs d un ou de plusieurs champs sp cifi s p ex Regrouper une liste de voitures par marque Chaque groupe d fini peut disposer d un en t te et d un pied de groupe L en t te de groupe affiche par exemple une ou plusieurs zones de texte indiquant le contenu du groupe p ex Nom de la marque ou les tiquettes de la section d tail Le pied de groupe contient des calculs p ex sous totaux moyennes pour ce groupe Entre l en t te de groupe et le pied de groupe se trouve la section d tail avec tous les enregistrements faisant partie du groupe
64. 654 Localit Grevenmacher Dane Ne 566 Tournevis 6 3 18 Montant total de la facture 50 Proposez un nouveau MCD qui refl te ces modifications en respectant que tous les articles disponibles sont stock s p ex No 234 Libell Marteau PU 12 M me si un article n est pas encore consid r par une facture 1l existe dans le syst me d information Pierre Stockreiser 38 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Pierre Stockreiser 39 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 4 7 Exemple Gestion d cole PARTIE 1 Dans une cole on veut informatiser le syst me d information qui g re les classes Elaborez un MCD sachant que e Un l ve est caract ris par son no matricule son nom et pr nom ainsi que sa date de naissance e Une classe est caract ris e par le code de la classe p ex 13CG2 et par une indication du cycle valeurs possibles inf rieur moyen sup rieur e Il faudra pr voir de conna tre la fr quentation des classes des l ves sur plusieurs ann es cons cutives e Un l ve enregistr dans le syst me fr quente au moins une classe au cours des ann es PARTIE 2 Il s agit maintenant de concevoir une extension au MOD pr c dent qui permet de repr senter la situation suivante e La direction de l cole d sire galement saisir tous les professeurs dans le syst me d inf
65. 654 L homme juste 70999 Der letzte Zar 0 644 Novell Netware 4 1 97 777 Roter Drache 98222 Der Zerfall des Sowetimperiums 99532 Dracula E E E E E E l E E E m 0 Record 14 4 1 gt ri of 10 Remarque Un champ valeur calcul e n est pas confondre avec des calculs qui peuvent intervenir l int rieur d un crit re de s lection Comme un crit re de s lection n est rien d autre qu une expression qui peut tre valu e soit la valeur logique VRAI soit la valeur logique FAUX la requ te suivante est absolument correcte mais ne d finit pas de champ valeur calcul e SELECT idLivre fldTitre FROM tbllLivres WHERE fldPrix fldEnStock lt 5000 Pierre Stockreiser 130 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 3 11 Les fonctions d agr gation Derri re ce mot compliqu se cachent quelques fonctions qui peuvent tre utilis es l int rieur des requ tes de s lection pour faire des calculs sur le r sultat de la requ te Imaginons la requ te suivante SELECT FROM tbllLivres WHERE fldEnStock 0 Cette requ te nous retourne tous les livres dont il n y a plus d exemplaire en stock Il se peut tr s bien que l utilisateur ne soit pas int ress dans le d tail mais veuille uniquement conna tre le nombre de livres dont il n y a plus d exemplaires en stock La requ te correspondante est SELECT COUNT FROM t
66. 749 928 928 37 965 678 678 27 705 90 90 94 226 226 279 24286 24286 25260 VOL D EAUX R CIVILE ATTENTATS DEF REC ASSISTANCE TOTAL S oO COOL OS DOSOSOOOCC Pierre Stockreiser 94 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Architecture mainframe Terminal Envoi de commandes Tables fommlaures en mode caract re R seau rappoits etc en mode caract re Requ tes formulaires etc Avantages de l architecture mainframe e Les mainframe tant de grands ordinateurs tr s puissants les syst mes atteignent de tr s belles performances d autant plus qu il n y a pas de repr sentation graphique sur les terminaux D savantages de l architecture mainframe e Aucune capacit de calcul sur le terminal donc impossible d ex cuter des programmes sur le terminal e Le mainframe tant sous la seule gestion du service informatique les utilisateurs peuvent uniquement acc der aux BD via des formulaires etc cr s par les informaticiens Cette mesure s av re parfois avantageuse e Le r seau est assez charg surtout lorsque le nombre de terminaux accro t e Les requ tes formulaires etc sont fortement coupl s au SGBD ce qui les rend pratiquement inutilisable lorsqu une soci t veut migrer vers un autre SGBD Exemples de SGBD pour Mainframe e DB2 de IBM e RDB de DEC En fait les informaticiens taient depuis longtemps la rec
67. CD 2 Le niveau logique qui se base sur le mod le conceptuel des donn es prend en consid ration l impl mentation du syst me d information par un SGBD Ce niveau introduit la notion des tables logiques et constitue donc le premier pas vers les tables des SGBD Ce niveau est repr sent par le A Mod le logique des donn es MLD 3 Le niveau physique qui se base sur le mod le logique des donn es contient finalement les tables d finies l aide d un SGBD sp cifique p ex MS Access MySQL Oracle Ce niveau est repr sent par le A Mod le physique des donn es MPD Voici donc les 4 tapes n cessaires pour traduire un syst me d information naturel en une base de donn es Pierre Stockreiser 17 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Analyse 3 MCD MLD en Pierre Stockreiser 18 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 3 Pourquoi mod liser Nous avons vu qu une base de donn es est constitu e par un ensemble de tables qui contiennent toutes les donn es de la base Une m thode de mod lisation nous permet de trouver le bon nombre de tables pour une base de donn es et de d terminer quelles donn es sont repr sent es l int rieur de quelle table Pour l instant il nous suffit de savoir qu une table est un ensemble d enregistrements dont chacun est compos par les m mes champs de
68. Co2 idCompte Co2 fldValeur FROM tblComptes Col tblComptes Co2 WHERE Col idCompte 112 AND Co2 fldValeur gt Col fldValeur A Avec l auto jointure nous avons tudi un cas qui nous a montr que nous n avons pas toujours une condition de jointure classique avec une galit entre cl trang re et cl primaire d une table associ e Une condition de jointure ne doit pas n cessairement impliquer une cl trang re cl primaire Bien qu une condition de jointure soit g n ralement d finie l aide de l op rateur d galit elle peut galement tre sp cifi e l aide des op rateurs suivants BETWEEN AND IN LIKE Dans ce cas on parle d une jointure par non galit Ces conditions de jointure sont surtout employ es en relation avec une auto jointure Pierre Stockreiser 167 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Voici un autre exemple d une auto jointure e Affichez les num ros des comptes ayant une agence diff rente de celle du compte num ro 101 SELECT CO1l 1idCompte FROM tblComptes CO1 tblComptes CO2 WHERE CO2 1idCompte 101 AND CO1L fiAgence lt gt CO2 fiAgence A faire Exercice 4 Pierre Stockreiser 168 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 4 3 Les requ tes imbriqu es Nous savons qu une requ te de s lection se base sur une ou plusieurs tables pour afficher un r sultat En
69. ECT lt Liste des champs de groupe gt COUNT SUM FROM lt Nom de la table gt WHERE lt Crit res de s lection gt GROUP BY lt Liste de champs de groupe gt ORDER BY lt Nom d un champ gt ASC DESC lt Nom d un champ gt ASC DESC Pierre Stockreiser 134 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Exemples 1 Classez les genres de livres par ordre descendant et affichez pour chaque genre la moyenne du prix SELECT fldGenre AVG fldPrix AS Moyenne du prix FROM tbllLivres GROUP BY fldGenre ORDER BY fldGenre DESC 2 M me question mais en tenant uniquement compte des livres anglais SELECT fldGenre AVG fldPrix AS Moyenne du prix FROM tblLivres WHERE fldLangue ANG GROUP BY fldGenre ORDER BY fldGenre DESC 3 Affichez pour chaque genre le nombre de livres ainsi que la quantit d exemplaires en stock SELECT fldGenre COUNT AS Titres SUM fldEnStock AS Quantit FROM tbllLivres GROUP BY fldGenre 4 Regroupez les livres par genre et par langue et affichez pour chaque groupe la valeur en stock des livres Triez le r sultat par ordre ascendant sur les langues et l int rieur d une langue par ordre ascendant sur le genre SELECT fldGenre fldlangue SUM fldPrix fldEnStock AS Valeur en stock FROM tbllLivres GROUP BY fldGenre fldLangue ORDER BY fldlangue fldGenre Exercice Comparez les deux requ tes suivantes SELECT fld
70. FACTURE ID NOCOMMANDE iD COMMAHDE HOCOMMAHDE_ ID DATE concerner nn Le NOCOMMANDE_ ID qui est cl primaire de la table COMMANDE devient cl trang re dans la table FACTURE Association binaire 0 1 0 1 Ne figure actuellement pas au programme de la classe 13CG A On duplique la cl primaire d une des tables dans l autre Lorsque l association contient elle m me des attributs classe association ceux ci deviennent galement attributs de la table dans laquelle a t ajout e la cl trang re Exemple z SALARIE HOSALARI ID NOENTREPRISE i0 OM EHTREPRISE HOEHTREPRISE ID DEHOMIHATIONH ADRESSE tre directeur technique PR HOM DATED BUT ou tre directeur technique DateD but 0 1 NoSalari id Hom Pr nom EHTREPRISE HOEHTREPRISE ID NOSALARI 10 D HOMINATIOH ADRESSE DATED BUT SALARI HOSALARI ID HOM PR HOM tre directeur technique Soit on migre la cl primaire de la table ENTREPRISE dans la table SALARIE soit on fait l inverse Pierre Stockreiser 67 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 5 2 4 Transformation des associations binaires du type x x A On cr e une table suppl mentaire portant le nom de l association et ayant comme cl primaire une cl compos e des cl s primaires des
71. HERE fldNom LIKE W R Remarque Pour les manipulations pratiques il faut se rendre compte que certains SGBD utilisent des caract res sp ciaux diff rents pour repr senter une s quence de caract res respectivement un caract re quelconque MS Access par exemple utilise les caract res suivants SQL MS Access S quence de 0 ou plusieurs caract res Pierre Stockreiser 118 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 3 5 Les op rateurs logiques A Il existe 3 op rateurs logiques 1 NOT N gation logique L op rateur NOT inverse le r sultat d une expression logique AND Et logique L op rateur AND nous permet de combiner plusieurs conditions dans une expression logique L expression logique retourne uniquement la valeur Vra lorsque toutes les conditions sont remplies OR Ou logique L op rateur OR nous permet de combiner plusieurs conditions dans une expression logique L expression logique retourne la valeur Vra lorsque au moins une des conditions est remplie Priorit des op rateurs logiques Lorsqu on combine plusieurs conditions par des op rateurs logiques le r sultat final de l expression logique d pend de l ordre d ex cution des diff rentes conditions Cet ordre est d termin par la priorit des op rateurs logiques Voici l ordre pr d fini en SQL D terminer le r sultat logique Vra r Faux des comparaisons lt gt
72. LES SYSTEMES DE GESTION DE BASES DE DONNEES VERSION 14 1 MANUEL DE L ELEVE Pierre Stockreiser LYCEE du NORD Septembre 2010 Je tiens remercier M Sylvain PIREN Pro fesseur Ing nieur au Lyc e Technique d Esch s Alzette pour avoir essentiellement contribu la r daction de la version initiale de ce cours Un grand Merci M Jean Marie JANS Professeur Ing nieur au Lyc e Technique Ecole de Commerce et Gestion pour les nombreux conseils en mati re de mod lisation des donn es Je remercie galement les personnes suivantes pour leur support respectivement leur influence pendant le travail de recherche et de r daction M Christian LUCIUS Professeur de Sciences au Lyc e Technique Michel Lucius M Ren WEBER Professeur Ing nieur au Lyc e Technique des Arts et M tiers M Jean Marie OTTELE Professeur Ing nieur au Lyc e Technique Ecole de Commerce et Gestion P Stockreiser Pr face Ce document est un support pour les cours en informatique des classes de 13CG La structure et le contenu des chapitres de ce document ont t synchromis s avec le contenu du programme tabli par la CNPI Le cours met l accent sur les concepts et techniques fondamentaux des bases de donn es relationnelles ainsi que sur la conception et l impl mentation de syst mes informatiques l mentaires de gestion Le cours est subdivis en trois parties PARTIE 1 Mod lisation d un syst me d information chapitres 1
73. LOCALIT FACTURE HOFACTURE ID MOGLEM g0 DATE PORTER H FACTURE ID HOARTICLE ID QUAHTITE ARTICLE HOARTICLE ID LIBELLE PRIZUHIT AIRE Pierre Stockreiser 12 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 5 4 Exercices PA Exercice 1 Transformez les MCD que vous avez r alis s pour les exercices 1 6 du chapitre 3 3 9 et les exercices 1 3 du chapitre 3 3 11 en MLD Exercice 2 Transformez le MCD suivant en MLD en respectant toutes les r gles de passage MCD gt MLD Remarque En ce qui concerne le rapport m dical une conclusion m dicale pourrait par exemple tre Infection ou Cancer de la gorge tandis que la conclusion professionnelle qui s en suit serait par exemple Apte ou Inaptitude temporaire lt x gt jours Les instanciations de cette classe repr sentent plut t des types de rapports m dicaux standardis s et non pas des rapports m dicaux pr cis Pierre Stockreiser 73 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Exercice 3 Voici un MCD qui repr sente de fa on simplifi e la gestion d une compagnie d assurances Transformez le MCD en MLD en respectant toutes les r gles de passage MCD MLD Remarques e Le type de contrat indique les garanties pr vues Exemple Type AUTO SIMPLE contient RC AUTO et Protection juridique Type AUTO SPECIAL contient Garanties AUTO SIMPLE FEU VOL Type AUTO
74. Langue SELECT DISTINCT fldLangue FROM tbllLivres FROM tbllivres GROUP BY fldLlangue Les deux requ tes fournissent en principe le m me r sultat ordre ascendant pour GROUP BY Remarque Si pour un champ de groupe les valeurs d un ou de plusieurs enregistrements sont ind termin es NULL alors ces enregistrements sont regroup es dans un groupe s par Groupe NULL Pierre Stockreiser 135 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 3 12 2 La clause HAVING Sachant que les crit res de s lection WHERE nous permettent d liminer un certain nombre d enregistrements avant la cr ation des groupes 1l serait int ressant de disposer d une deuxi me possibilit de filtrage qui s applique aux groupes eux m mes La clause HAVING lt Crit res de s lection des groupes gt nous offre la possibilit d liminer du r sultat les groupes qui ne donnent pas satisfaction aux crit res de s lection des groupes Reprenons l exemple SELECT fldGenre SUM fldEnStock AS En Stock FROM tbllivres GROUP BY fldGenre qui nous donne le r sultat suivant EE Query35 Select Query Miel EX fidGenre En Stock Histoirel i Record 14 4 1 F Lorsqu on veut par exemple uniquement afficher les groupes pour lesquelles la quantit en stock est sup rieure 10 on utilise la clause HAVING de la fa on suivante SELECT fldGenre SUM fldEnStock AS En Sto
75. Les requ tes SQL multitable 7 4 1 La jointure 7 4 2 Auto jointure 7 4 3 Les requ tes imbriqu es 7 4 4 Exercices SQL 7 5 7 6 La m thode QBE Les contraintes d int grit 7 6 1 D finition 7 6 2 Les types de contraintes d int grit 7 6 3 Exercices 8 1 Les formulaires angl forms Tables des mati res 81 84 86 88 90 94 94 96 98 98 98 101 103 106 107 109 109 109 112 112 113 116 118 119 122 125 126 127 130 131 133 138 157 158 165 169 177 197 199 199 199 201 210 210 8 2 D finition 8 3 Types de formulaires 8 4 Cr ation d un formulaire 9 Les rapports angl reports 9 1 Tables des mati res 9 2 D finition 9 3 Cr ation d un rapport 10 S curit des donn es 10 1 Table des mati res 10 2 D finition 10 3 Les manipulations malveillantes 10 3 1 D finition 10 3 2 La protection contre les manipulations malveillantes 10 4 Les acc s non autoris s 10 4 1 D finition 10 4 2 La protection contre les acc s non autoris s 10 5 Les incoh rences et pertes de donn es accidentelles 10 5 1 D finition 10 5 2 La protection contre les incoh rences et pertes de donn es accidentelles 10 5 3 Les mesures de pr vention contre la perte de donn es 11 Annexes 11 1 Bibliographie 11 2 Sites sur Internet 210 214 216 218 218 218 224 226 226 226 227 221 227 229 229 229 233 233 234 236 239 239 241 Informatique 13CG Mo
76. OCALIT DATEHAISSAMCE employer Pierre Stockreiser 75 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 1 Utilisation d une ou de plusieurs interfaces graphiques qui nous aident dans la cr ation des tables physiques dans la d finition des cl s primaires et dans la d finition des relations Exemple D finition de la table des employ s avec le champ idEmploy tant d fini comme cl primaire E tblEmploy s Table OI E Field Mame EH idEmplos Mumber Mum ro de l employ Cl primaire Mu fiEntreprise Mumber Num ro de l employeur Cl trang re Text Text DateTime Field Properties General Lookup Field Size Long Integer Format Decimal Places Auto Input Mask Field name can be up to 64 characters Caption long including spaces Press F1 For help Default value on Field names validation Rule validation Text Required fo Indexed Yes Ho Duplicates D finition de la relation entre les deux tables gt Relationships OI gt tDIE ntreprizes tBIE mploy s fldCodePostal fldLacalit fldOatetaissance 4 d A Remarquez que les noms des diff rents champs ont t modifi s lors de l impl mentation du mod le logique Cette mesure d pend uniquement de la convention des noms utilis e et n affecte pas du tout le fonctionnement correcte de la BD Pierre Stockreiser 76 Lyc e du Nord Wiltz Informatique 13CG Mod lisatio
77. Prof id N Mati re _ CodeMati re id Libell enseigner 0 Nom id Cycle La table ENSEIGNER contient une cl compos e de CODEPROF ID CODEMAT I RE ID NOM ID ANNEE ID et l attribut HEURE Pierre Stockreiser 69 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 5 2 6 Transformation de plusieurs associations entre 2 classes A Les r gles g n rales s appliquent Exemple poss der i P o 0 Ts 1 habiter POSS DER HOPERSOHHE ID ADRESSE ID habiter Personne NoPersonne id Hom Pr nom Adresse id CodePostal Localit HOPERSOHHE ID ADRESSE iD HOM PR NOM ADRESSE ID CODEPOSTAL LOCALITE L association habiter du type x x 1 est traduite par la migration de l attribut ADRESSE _ I1D dans la table PERSONNE L association poss der du type x x est traduite par la cr ation d une table suppl mentaire du m me nom Cette table contient comme cl primaire compos e les cl s des deux tables reli es PERSONNE et MAISON On a donc simplement appliqu 2 fois de fa on ind pendante les r gles de transfert MCD gt MLD 3 5 2 7 Transformation des associations r flexives A Nous appliquons les r gles g n rales avec la seule diff rence que les deux extr mit s de l association sont reli es la m me classe Exemple 1 Employ NoEmploy
78. RE fldLangue ALL Pierre Stockreiser 131 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 2 Affichez la quantit totale des exemplaires des romans allemands SELECT SUM fldEnStock AS Exemplaires de romans allemands FROM tbllLivres WHERE fldGenre Roman AND fldLangue ALL 3 Combien de livres d histoire existent en langue fran aise SELECT COUNT AS Livres d histoire en langue fran aise FROM tbllLivres WHERE fldGenre Histoire AND fldLangue FRA 4 D terminez le prix du roman anglais le plus cher qui est actuellement disponible SELECT MAX fldPrix AS Prix du roman anglais le plus cher FROM tblLivres WHERE fldGenre Roman AND fldLangue ANG AND fldEnStock gt 0 A Remarque Les fonctions d agr gation admettent comme param tre galement e des expressions contenant plusieurs champs e l option DISTINCT Exemples 1 Calculez la valeur actuelle du stock SELECT SUM fldPrix fldEnStock AS Valeur actuelle du stock FROM tblLivres 2 Combien de langues diff rentes sont repr sent es dans notre stock de livres SELECT COUNT DISTINCT fldLangue AS Langues FROM tblLivres A faire Exercice 1 Pierre Stockreiser 132 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 3 12 Requ tes sur les groupes 7 3 12 1 La clause GROUP BY Reprenons notre table avec les livres d une librairie
79. SQL on peut imbriquer plusieurs requ tes c d le r sultat d une requ te imbriqu e sert comme base pour une deuxi me requ te Une requ te imbriqu e est encore parfois appel e SELECT interne ou sous requ te On distingue g n ralement deux types de requ tes imbriqu es 1 les requ tes imbriqu es qui renvoient comme r sultat une seule valeur 2 les requ tes imbriqu es qui renvoient comme r sultat un ensemble de valeurs 7 4 3 1 La requ te imbriqu e renvoie une seule valeur Exemple Soient les trois tables suivantes tE gences HblCoraptes tblClients tblComptes tblClients idClient fldAdresse fldCP fldLocalit 25 rue de la Gare 2278 66a Cit Paerchen 1234 Schifflange 102 av G Diederich _ 6690 Pierre Stockreiser 169 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles tblAgences fldAdresse fldCP fldLocalit 15 bvd Royal 5377 67 rue de l Alzette 8765 Esch s Alzette 2 Grand Rue 6678 Ettelbruck La requ te SELECT fldNom fldPr nom FROM tblClients WHERE idClient SELECT fiClient FROM tblComptes WHERE idCompte 106 retourne le nom et pr nom du client qui est le propri taire du compte num ro 106 Analysons le fonctionnement de cette requ te Le requ te imbriqu e SELECT fiClient FROM tblComptes WHERE idCompte 106 retourne simplement la valeur 2 On peut donc traduire la requ te de niveau sup rieu
80. T WHERE fldD partement Comptabilit Tous les employ s du service comptabilit n s E avant le 1 1 70 subissent une hausse de salaire de comptabilit 10 Nouvelle codification pour le service de Nous supposons en plus que la requ te de l utilisateur num ro 2 est ex cut e quelques instants avant l autre requ te Cependant la requ te de l utilisateur 1 s ex cute un peu plus vite que l autre puisque pour chaque enregistrement il y a uniquement un seul crit re de s lection v rifier A un certain moment l ex cution de la requ te 1 aura d pass e celle de la requ te 2 donc pour certains enregistrements le code Comptabilit est chang en CPT avant que la Pierre Stockreiser 233 Lyc e du Nord Wiltz Informatique 13CG Protection des donn es requ te 2 ne puisse effectuer la modification du salaire Parmi tous les employ s ayant droit une hausse de salaire certains sont donc ignor s Le probl me des acc s concurrents se pose surtout dans les syst mes avec beaucoup d utilisateurs mettant beaucoup de requ tes tels que par exemple la gestion des d p ts d une banque Ce probl me peut tre r solu par le m canisme de la s rialisation d ex cution des requ tes support automatiquement par tous les SGBD multi utihisateur ex cut s sur un serveur de BD Ce m canisme garantit une ex cution en s rie de plusieurs requ tes m me lorsque celles ci sont envoy es par plusieurs util
81. TRICT ON DELETE RESTRICT REM FIN DE GENERATION Que vous avez utilis l une ou l autre des 2 m thodes le r sultat sera toujours un ensemble de tables physiques reli es entre elles dans lesquelles vous pouvez stocker des donn es Pierre Stockreiser A Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 4 Utilisation d un outil de mod lisation 4 1 Table des mati res 4 Utilisation d un outil de mod lisation 78 4 1 Table des mati res 78 4 2 D finition 78 4 3 Fonctionnalit s 79 4 2 D finition A Un outil de mod lisation est un programme sp cialis dans le support de la conception d un syst me d information Il existe actuellement sur le march une offre tr s diverse d outils de mod lisation Chaque outil de mod lisation impl mente une m thode de mod lisation Comme la m thode UML est tr s r pandue il est vident qu il existe un certain nombre d outils bas s sur UML En principe les outils de mod lisation sont int gr s dans des applications capables de ne supporter pas uniquement la conception d un syst me d information BD mais galement le d veloppement complet de programmes de gestion d une certaine envergure Ces applications appel es Ateliers de g nie logiciel angl CASE Tool Computer Aided Software Engineering Tool sont g n ralement utilis s par les informaticiens afin de r aliser des grands projets Exemples L outil Win Design const
82. actuelles de la BD E thlAuteurs Table o id uteur fidNom fidPr nom fldNationalit E tblAuteurLivre Ta fiAuteur _filive 1 Kreisler Georg ALL 2 Mathieu Marianne FRA 3 Ledant oophie FRA 4 Dumas Alexandre FRA 5 Lef vre Paul FRA 6 Haussmann Josef ALL 0 fldLangue fldOate chat 1000 Der Schattenspringer Ronan ALL 100000 20 05 2006 1001 Loin de l ombre Roman FRA 100001 1000 20 05 2005 1002 Initiation SGL Technique FRA 100002 1001 20 05 2004 1003 Der Graf von Monte Christo Roman ALL 100003 1003 04 07 2005 0 100004 1002 04 07 2004 100005 1002 04 07 2004 100006 1002 04 07 2004 0 0 Pierre Stockreiser 203 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles thlPr ts Table O idPr t Exemplaire fldDatePr t fldbateketour 1 100000 102 02 07 2006 28 07 2006 2 100002 101 25 05 2006 J 100003 100 02 08 2006 04 06 2006 100002 102 23 07 2006 03 06 2006 5 100000 100 03 08 2006 0 0 0 tblMembres Table idMembre fdNom fdPr nom fdAdresse fdCP fdLocalit 100 Weber Jos 25 rue Principale 1190 Grevenmacher 101 Muller Ketty 2 bvd des Avranches 66 6 Luxembourg 102 Pegaso Emilia 45 av G Diederich mime Luxembourg 103 Schmit Fernand 2 bvd H Clement D 24 Esch s Alzette 0 Pr cisez comment le syst me de gestion de bases de donn es r agit aux manipulations suivantes Indiquez pour ch
83. aii _ a m D E m aa E Cl g B m E m LEE LE Tu ki a E D o m e z Le c E T n CR mt R seau public En utilisant de l quipement r seau sp cialis dans ce domaine on peut connecter plusieurs r seaux locaux via un r seau public Ce r seau public peut par exemple tre constitu du r seau t l phonique public d un ensemble de lignes lou es lignes d di es d un r seau de c bles en fibres optiques d un r seau rapide de commutation de paquets ou m me d une liaison par satellite A titre d exemple on peut mentionner l Internet qui n est rien d autre qu un gigantesque r seau tendu Pour un utilisateur le travail dans un r seau local ou tendu est tout fait transparent Il peut par exemple acc der des fichiers distants de la m me mani re qu des fichiers qui se trouvent sur son disque dur local Pierre Stockreiser 93 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 5 7 L approche Client Serveur D Remarque p dagogique La philosophie Client Serveur tant un sujet tr s vaste il est impossible de clarifier toutes les notions importantes Le chapitre qui suit essaie de faire comprendre l l ve la situation o il travaille avec des donn es qui ne se trouvent pas localement sur son PC mais sur un serveur BD distant L enseignant est videmment libre dans son choix d tendre l une ou l autr
84. anipulations malveillantes sous l identit de celle ci e Les performances d une BD peuvent tre d grad es puisque pour chaque manipulation d une table une inscription dans le journal doit tre effectu e e Un journal permet le contr le total du travail des utilisateurs d une BD Pierre Stockreiser 228 Lyc e du Nord Wiltz Informatique 13CG Protection des donn es 10 4 Les acc s non autoris s 10 4 1 D finition A Par acc s non autoris une BD on entend le fait qu une personne lit modifie ins re ou efface des donn es d une BD sans avoir une autorisation pr alable respectivement un acc s lectronique Nom utilisateur amp Mot de passe 10 4 2 La protection contre les acc s non autoris s Il existe un certain nombre de mesures de protection contre les acc s non autoris s 10 4 2 1 Mot de passe A Une BD peut tre prot g e par un mot de passe L utilisateur d sirant travailler avec la BD doit indiquer un mot de passe avant d ouvrir celle ci Une fois la BD ouverte l utilisateur peut acc der tous les objets Avantage Une personne ne disposant pas du mot de passe correspondant ne peut pas du tout acc der une BD D savantage Les mots de passe sont videmment stock s dans un fichier sp cial au niveau du syst me d exploitation Une personne ayant des connaissances approfondies d un syst me d exploitation n a g n ralement aucun probl me d afficher le contenu d un tel fichier
85. aque cas la contrainte concern e a Ajoutez l auteur suivant b Supprimez l auteur num ro 6 c Changez en 1015 le num ro du livre 1001 d Supprimez l exemplaire num ro 100001 Pierre Stockreiser 204 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles e Supprimez l exemplaire num ro 100002 Changez en 3 le num ro du pr t 5 g Changez en 111 le num ro du membre 100 h Supprimez le membre 103 1 Supprimez le membre 102 Pierre Stockreiser 205 Lyc e du Nord Wiltz Informatique 13CG Exercice 3 Une soci t de distribution de vins dispose de la base de donn es suivante Exploitation des bases de donn es relationnelles Commandes DetailCom Table 3 Wimbledon Beer and 23b Wellington London EF 1 g Wine Emporium Road 2019 4 Brighton Wines T The Parks Brighton 2019 18 106 2019 19 106 5 The Paris Global 12 Rue de la Paris 2021 9 90 Concourse 2021 40 60 6 The Hamburg Global 34 Hamburg 2021 11 12 Nuremburgstrasse 2021 16 90 7 The Brussels Global 34 Avenue de la Brussels 2025 3 36 Cassis 2025 11 54 8 The Unknown 15 Park Lane Croydon 2025 15 16 2027 1 18 9 Casa Bianca 17 Via Francescoli Milan a x a i 2027 11 12 2027 18 18 Commandes Table Se h K aeaaaee 0 L EE ARE DEN RRSPE NI CIDRE atePaye 2028 14 72 2019 26 g z 994 27 0 E 1994 22 10 1994 2028 45
86. arcel Schrobiltgen LUX M DATE Attention On ne conna t pas encore l ge de M Schrobiltgen puisqu on a probablement oubli de le lui demander Toutefois on est s r de le conna tre plus tard ce qui veut dire que pour l instant son ge est ind termin valeur NULL pour le champ fldAge En ce qui concerne le service celui ci n est pas vraiment ind termin puisqu on sait tr s bien que M Schrobiltgen n est pas du tout affect un service cha ne vide pour le champ fldService Exercice Dans laquelle des requ tes suivantes va appara tre M Schrobiltgen SELECT FROM tblEmploy s WHERE fldAge 0 SELECT FROM tblEmploy s WHERE fldAge IS NULL Pierre Stockreiser 123 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles SELECT FROM tblEmploy s WHERE fldService SELECT FROM tblEmploy s WHERE fldService IS NULL SELECT FROM tblEmploy s WHERE fldAge IS NOT NULL AND fldService SELECT FROM tblEmploy s WHERE fldAge IS NOT NULL OR fldService Pierre Stockreiser 124 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 3 7 Comparaison une fourchette de valeurs A L op rateur BETWEEN AND permet de d terminer si la valeur d un champ donn appartient un intervalle bien d fini L intervalle est g n ralement un intervalle num rique ou un intervalle du type Date Ex
87. ation des bases de donn es relationnelles 6 6 Index Une des utilisations fr quentes des tables consiste dans la recherche et le tri des enregistrements Lorsque les tables contiennent un grand nombre d enregistrements la recherche de certains enregistrements ainsi que le tri d enregistrements n cessitent de plus en plus de temps Les index sont des structures qui acc l rent les tris et recherches dans les tables ainsi que l ex cution de certaines requ tes voir chapitre 7 Exemple Reprenons notre exemple des employ s d une soci t Une recherche int ressante serait par exemple MONTRE MOI TOUS LES EMPLOYES DU SERVICE INFORMATIQUE Il serait aussi int ressant de trier les employ s sur leur nom de famille Au cas o la table contient beaucoup d enregistrements on devrait d abord cr er un index sur le champ fldNom afin d acc l rer le tri Cr er par exemple un index sur le champ fldNom veut dire que le SGBD copie toutes les valeurs existantes du champ fldNom dans une liste sp ciale 2 colonnes La deuxi me colonne contient les noms tri s en ordre alphab tique et la premi re contient une r f rence vers l enregistrement correspondant de la table s3000 LUE Compiabine A fe Da Cosa 70000 Duf nformatie Sfo Feler 55000 Laf o Wer Il est vident que par la suite de la cr ation de cet index toutes les recherches et les tris concernant le nom de l employ sont acc l r es puisque le SGBD c
88. ations entre tables cl trang re Une base de donn es bien con ue est rarement compos e d une seule table mais d un ensemble de tables entre lesquelles 1l existe certaines relations voir chapitre 3 M thode de mod lisation de donn es Exemple Soit la BD suivante d un organisme de s curit sociale tbl oci t s Employ s Mario fldMorn fidPr namn fHdDateMaissance fidLacalit fiSaci t fldiMaT l La table blEmploy s contient certaines informations concernant les employ s mais pas le nom de la soci t qui emploie un employ en question Les informations des soci t s se trouvent dans la table blSoci t s Cependant dans la table blEmploy s se trouve le champ fiSoci t qui contient pour chaque employ le num ro de la soci t patron On peut retrouver chaque num ro de soci t encore une fois dans le champ idSoci t qui constitue la cl primaire de tblSoci t s Les deux tables sont donc logiquement li es via les champs fiSoci t et idSoci t On dit que fiSoci t est une cl trang re qui fait r f rence la cl primaire idSoci t de la table rblSoci t s A Cl trang re Un champ qui dans une table fait r f rence la cl primaire d une autre table est appel cl trang re angl foreign key foreign identifier Ainsi sont d finies les relations entre les tables Pierre Stockreiser 106 Lyc e du Nord Wiltz Informatique 13CG Exploit
89. atique 13CG Exploitation des bases de donn es relationnelles Formulez la m me requ te en utilisant le m canisme de la requ te corr l e 11 Affichez le nom et le pr nom ainsi que le nom le niveau et le cycle de leur classe actuelle ann e 97 98 de tous les l ves qui n ont jamais redoubl une classe dans notre lyc e 12 Affichez parmi tous les profs qui ont d j enseign la m me mati re que le prof num ro 10001 ceux n ayant pas encore enseign la m me mati re au m me niveau que le prof num ro 10001 pendant les ann es scolaires 96 97 et 97 98 SELECT fldNom fldPr nom FROM tblProfs WHERE idProf lt gt 10001 AND idProf IN SELECT DISTINCT El fiProf FROM tblEnse igner El tblEnse igner E2 WHERE El fiProf lt gt E2 fiProf AND El fiMati re E2 fiMati re AND E2 f1iProf 10001 AND idProf NOT IN SELECT DISTINCT El fiProf FROM tblEnse igner El tblEnseigner E2 tblClasses C1 tblClasses C2 WHERE El fiClasse Cl idClasse AND E2 f1iClasse Cc2 1dClasse AND El fiProf lt gt E2 fiProf AND El fiMati re E2 fiMati re AND Cl fldNiveau C2 fldNiveau AND El fldAnn e IN 97 98 96 97 AND E2 f1Prof 10001 Pierre Stockreiser 196 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 5 La m thode QBE Bien que le langage SQL soit le standard unanime en ce qui concerne l extraction de donn es d une BD ainsi que leur manipulation les informaticiens taient d j p
90. au Lorsque le r seau comporte une multitude d imprimantes diff rentes un utilisateur sur son poste de travail peut s lectionner une imprimante en fonction des caract ristiques p ex impression couleur NB des capacit s p ex nombre de pages imprim es par minute et de l emplacement physique p ex imprimante au m me tage que le poste de travail Lors de l impression angl Print le document imprimer est d abord envoy dans une file d attente angl Print Queue qui se trouve sur le serveur d impression Le serveur d impression contient g n ralement une file d attente par imprimante Les documents d une file d attente sont envoy s un apr s l autre vers l imprimante correspondante Les serveurs d applications angl Application Server contiennent des applications ou programmes destin s l utilisation en r seau Un exemple populaire constituent les applications du type Groupware qui permettent aux utilisateurs du r seau d changer des messages lectroniques angl E Mail d entretenir un agenda lectronique commun et de travailler soi disant en m me temps sur des document partag s Les serveurs de bases de donn es angl Database Server appartenant galement cette cat gorie sont tr s r pandues Avant la p riode o les PC devenaient populaires les bases de donn es ainsi que les programmes pour les manipuler se trouvaient sur des grands ordinateurs puissants du type Mainframe L utilisateur tait conne
91. blLivres WHERE fldEnStock 0 Le r sultat de cette requ te est une valeur unique indiquant combien de livres se trouvent dans la table avec le champ fdEnStock ayant la valeur 0 Voici les fonctions d agr gations les plus r pandues COUNT D termine le nombre d enregistrements du r sultat de la requ te Tient compte de tous les enregistrements y inclus ceux contenant des valeurs NULL COUNT Nom d un champ D termine le nombre des enregistrements pour lesquels le champ indiqu ne contient pas la valeur NULL SUM Nom d un champ Calcule pour tous les enregistrements s lectionn s la somme des valeurs du champ indiqu pourvu que cette valeur soit diff rente de NULL AVG Nom d un champ Calcule pour tous les enregistrements s lectionn s la moyenne des valeurs du champ indiqu pourvu que cette valeur soit diff rente de NULL MAX Nom d un champ D termine pour tous les enregistrements s lectionn s la plus grande des valeurs du champ indiqu pourvu que cette valeur soit diff rente de NULL MIN Nom d un champ D termine pour tous les enregistrements s lectionn s la plus petite des valeurs du champ indiqu pourvu que cette valeur soit diff rente de NULL Remarque Il est conseill de renommer l en t te AS afin d augmenter la lisibilit du r sultat affich Exemples 1 Affichez la moyenne des prix des livres allemands SELECT AVG fldPrix AS Moyenne des prix FROM tbllLivres WHE
92. ble indiquez le r sultat de la requ te dans la grille fldLocalit Nombre de clients D 9 Affichez par sexe le nombre de clients n s apr s le 31 12 1969 En vous basant sur les donn es de la table indiquez le r sultat de la requ te dans la grille Pierre Stockreiser 150 Lyc e du Nord Wiltz Exploitation des bases de donn es relationnelles Informatique 13CG 10 Affichez le num ro client le nom le pr nom le sexe et la date de naissance pour les chents habitant Luxembourg Triez le r sultat par ordre descendant sur le sexe et l int rieur par ordre ascendant sur la date de naissance Le premier enregistrement du r sultat affiche donc les informations de la femme la plus jeune parmi les clients de Luxembourg Est ce que cette affirmation est correcte 11 Affichez le num ro client le nom le pr nom et le code bon client pour tous les clients f minins habitant Diekirch ou Mersch En ce qui concerne le code bon client affichez l en t te Code sp cial au lieu d afficher le nom du champ ou Affichez pour chaque localit le nombre de bons clients ainsi que le nombre des autres 12 clients Triez la liste par ordre ascendant sur les localit s en affichant pour chaque localit d abord le nombre de bons clients D terminez la date de naissance du client le plus vieux habitant dans une ville qui est 13 indiquer par l utilisateur de la requ te 14 Afficher le num ro le no
93. bres Pour les projets qui se basent sur un syst me d j partiellement informatis s ajoute e L tude de l application informatique existante Pierre Stockreiser 15 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 M thode de mod lisation des donn es 3 1 Table des mati res 3 M thode de mod lisation des donn es 16 3 1 Table des mati res 16 3 2 D finition 16 3 3 Pourquoi mod liser 19 3 4 Le mod le conceptuel des donn es MCD 22 3 4 1 D finition 22 3 4 2 La notion de classe 23 3 4 3 La notion d attribut 24 3 4 4 La notion d identifiant 27 3 4 5 La notion d association 28 3 4 6 Exemple KaafKaa 37 3 4 7 Exemple Gestion d cole 40 3 4 8 L utilisation d une association ternaire 42 3 4 9 Exercices 46 3 4 10 Cas particuliers du MCD 56 3 4 11 Exercices 59 3 5 Le mod le logique des donn es MLD 64 3 5 1 D finition 64 3 5 2 R gles de transformation du MCD au MLD 66 3 5 3 Exemple KaafKaa 72 3 5 4 Exercices 73 3 6 Le mod le physique des donn es MPD 75 3 6 1 D finition 75 3 6 2 Passage du MLD au MPD 75 3 2 D finition Nous avons vu que la d marche classique d un projet informatique comprend les tapes suivantes 1 Analyse de la situation existante et des besoins 2 Cr ation d une s rie de mod les qui permettent de repr senter tous les aspects importants 3 A partir des mod les impl mentation d une base de donn es En ce qui concern
94. cice R fl chissez pour chaque champ des 3 tables que vous avez d fini dans l exercice du chapitre 6 1 sur le type de donn es appropri A Lors de la cr ation d une table nous devons indiquer au SGBD pour chaque champ 1 Le nom du champ qui doit tre unique dans la table 2 Le type de donn es du champ Pierre Stockreiser 102 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 6 4 Cl primaire Dans la plupart des cas on d sire pouvoir identifier de mani re unique chaque enregistrement de la table Ceci n est pas possible pour notre table avec les taxis Il se peut tr s bien que le propri taire de la soci t ach te par exemple une deuxi me BMW 3201 qui poss de bien s r galement une cylindr e de 2000 ccm et un poids de 1200 kg Dans ce cas nous avons 2 enregistrements compl tement identiques dans notre BD Cela nous emp che d identifier clairement un des 2 enregistrements Il nous faut donc un moyen qui nous permet d adresser sans ambigu t chaque enregistrement dans la table gt une cl primaire A La cl primaire constitu e d un ou de plusieurs champs nous permet d identifier de mani re unique chaque enregistrement d une table Examinons notre cas de la soci t de taxis Aucun des 4 champs seul et aucune combinaison des 4 champs ne se pr tent comme candidats pour devenir cl primaire car aucun de ces champs ne contient des valeurs uniques un
95. ck FROM tblLivres GROUP BY fldGenre HAVING SUM fldEnStock gt 10 Voici le r sultat correspondant ai Query35 Select Query Miel E _ fidGenre En Stock Record I4 4 1 J Pd Est ce que la requ te suivante donne le m me r sultat Expliquez SELECT fldGenre SUM fldEnStock AS En Stock FROM tblLivres WHERE fldEnStock gt 10 GROUP BY fldGenre Non car la clause WHERE limine directement les enregistrements pour lesquels la quantit en stock est inf rieure ou gale 10 La clause HAVING limine uniquement les groupes dont le total en stock pour tous les livres du groupe est inf rieur ou gal 10 Le groupe ROMAN par exemple contient gt 10 livres en stock bien que tous les enregistrements du groupe aient une valeur lt 10 pour fldEnStock Pierre Stockreiser 136 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles A La clause HAVING La clause HAVING lt Crit res de s lection des groupes gt est uniquement sp cifi e en relation avec un GROUP BY Une fois les groupes cr s cette clause en limine certains bas s sur les crit res de s lection des groupes Les crit res de s lection des groupes portent bien entendu sur la valeur d une ou de plusieurs des fonctions d agr gation calcul es pour chaque groupe Syntaxe SELECT lt Liste des champs de groupe gt COUNT SUM FROM lt Nom de la table gt WHERE lt Crit res de s
96. ct au mainframe l aide d un terminal compos d un clavier et d un cran Contrairement un PC un terminal peut uniquement envoyer des caract res au mainframe et afficher les caract res qui lui sont envoy s par le mainframe Avec l arriv e des PC dont les fonctionnalit s ne se limitent pas l envoi et l affichage de caract res le r le des serveurs a consid rablement chang Actuellement dans les environnements dits Client Serveur les PC constituent des clients intelligents qui sont en parfaite communication avec les serveurs dont le but principal est de r pondre aux questions qui leur sont pos es par les clients L architecture Client Serveur est explicit e plus en d tail dans le chapitre 5 6 Les r seaux informatiques ayant une certaine taille en termes du nombre de postes et de serveurs sont g n ralement g r s par un administrateur r seau personne ou groupe de personnes en charge de la gestion du contr le et de l entretien du r seau Lorsque la distance g ographique couverte par un r seau augmente en connectant des utilisateurs situ s par exemple dans des villes ou m me des pays diff rents plusieurs r seaux locaux sont connect s en un seul r seau tendu angl WAN Wide Area Network qui peut ainsi regrouper plusieurs milliers d utilisateurs Pierre Stockreiser 92 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Z I LEE o c
97. d NoT che_ id Ou pour le dire autrement la num rotation des t ches recommence 1 pour chaque nouveau projet Le m me num ro de t che est donc susceptible d appara tre dans plusieurs projets Toutefois on peut affirmer qu en relation un certain num ro de projet le num ro de t che est unique Exemple P1 T1 Faire une tude Piscine municipale T2 Dessiner les plans 01 03 2010 T3 P2 R novation cole primaire 15 04 2010 T1 Faire une tude eT2 Aviser les enseignants A L agr gation de composition repr sente le fait que les objets d une classe composite sont compos s d objets d une autre classe composant Les objets de la classe composante sont implicitement identifi s par l identifiant de cette m me classe et par l identifiant de la classe composite Pierre Stockreiser 58 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information r c 3 4 11 Exercices Y Exercice 1 O S D Un club de tennis vous demande d informatiser la gestion des r servations des diff rents terrains ces fins vous disposez des informations suivantes e Le club dispose d une liste de membres Quiconque veut jouer sur un des terrains doit devenir membre du club e Un membre est caract ris par un num ro interne au club par son nom pr nom adresse code postal localit num ro de t l phone ainsi qu une indication s il est un joueur licenc
98. d lisation d un syst me d information Partie 1 Mod lisation d un syst me d information Pierre Stockreiser 8 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 1 Analyse des syst mes d information 1 1 Table des mati res 1 Analyse des syst mes d information 9 1 1 Table des mati res 1 2 Introduction 1 3 D finition de l information et des syst mes d information 10 1 4 Les donn es les traitements et les informations 11 15 La repr sentation informatique des donn es 12 1 2 Introduction La comp titivit d une entreprise ainsi que sa valeur sur le march sont d termin es par plusieurs l ments d une importance diff rente selon le secteur d activit On peut g n ralement regrouper ces l ments en deux classes 1 Les l ments mat riels e L infrastructure e Les supports financiers 2 Les l ments intellectuels e La comp tence des employ s e La motivation des employ s e Le recueil et l exploitation optimale des informations utiles Depuis quelques ann es les responsables des entreprises banques assurances industrie etc ont davantage reconnu et admis que la gestion et l exploitation des informations sont un facteur de comp titivit ne pas n gliger Le d veloppement rapide de l informatique a donn aux entreprises la possibilit d utiliser des moyens avanc s et puissants pour g rer et exploiter de tr s grands volumes de donn es Il y a quelque
99. dLibell Remarques e Une classe est repr sent e par un code interne idClasse un nom de classe fIdNomClasse tel que 13CG2 ou 11CM1 un niveau fldNiveau tel que 10 pour la classe TOGE2 ou 13 pour 13CG1 et un champ indiquant le cycle fldCycle avec les valeurs possibles Inf rieur Moyen et Sup rieur e Nous supposons qu un l ve ne change pas de classe pendant l ann e scolaire Les champs fiEl ve et fldAnn e forment donc la cl primaire de la table tblFr quenter Cependant un l ve peut fr quenter la m me classe pendant plusieurs ann es cons cutives redoublants e De m me nous supposons qu une mati re est enseign e pendant une ann e par un seul prof dans une classe Les champs fiMati re fiClasse et fldAnn e forment donc la cl primaire de la table tblEnseigner Toutefois un prof peut enseigner la m me mati re pendant plusieurs ann es dans une m me classe ou la m me mati re pendant une ann e dans plusieurs classes e Les champs f dAnn e des tables tblfr quenter et tblEnseigner font r f rence des ann es scolaires On y retrouve des valeurs telles que 97 98 ou 95 96 La BD ne contient pas uniquement la situation de l ann e scolaire actuelle mais galement celle des ann es pr c dentes Pierre Stockreiser 192 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Formulez en SQL les requ tes suivantes 1 Affichez pour l ann
100. de N exemplaires en stock La valeur N est indiquer par l utilisateur de la requ te 10 Supprimez tous les romans anglais Pierre Stockreiser 145 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 11 12 13 14 Affichez le num ro le titre et l auteur pour tous les livres dont la valeur en stock est sup rieure 10000 La valeur en stock est le prix d un livre multipli par la quantit en stock pour ce livre Ajoutez 15 au prix pour tous les livres techniques dont le titre contient le mot Windows 98 Affichez toutes les informations pour les romans fran ais Code FRA et les romans allemands Code ALL Utilisez uniquement des op rateurs logiques et des op rateurs de comparaison Formulez une requ te alternative qui fournit le m me r sultat Indiquez 2 requ tes diff rentes pour afficher le num ro du livre pour tous les livres anglais Code ANG actuellement en stock dont le prix varie entre 15 et 25 ou Pierre Stockreiser 146 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 15 Affichez une liste qui contient toutes les langues dont il existe au moins un roman plus cher que 8 16 Affichez le prix moyen des romans anglais Pierre Stockreiser 147 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Exercice 2 Gestion des clients Une soci t utilise
101. des ordinateurs tr s puissants en termes de vitesse d ex cution et de capacit de stockage Ces ordinateurs encore appel s serveurs d di s angl Server ne sont g n ralement pas utilis s comme poste de travail mais ils doivent effectuer un certain nombre de t ches vari es Serveur d di On distingue plusieurs types de serveurs Les serveurs de fichiers angl File Server contiennent g n ralement des fichiers appartenant aux diff rents utilisateurs du r seau Par exemple si vous utilisez un programme de traitement de texte sur un poste de travail ce programme se trouve g n ralement localement sur le poste Cependant le document sur lequel vous d sirez effectuer des modifications stock sur le serveur est charg dans la m moire locale de Extrait du livre La Micro c est simple publi par IDG Books Worldwide Inc ISBN 2 87691 321 6 Pierre Stockreiser 91 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles votre poste de travail afin que vous puissiez l utiliser Lors de chaque op ration de sauvegarde angl Save Save As le fichier est effectivement sauvegard sur le serveur Le serveur g re bien s r l acc s des utilisateurs qui doivent g n ralement s identifier par un nom et un mot de passe afin de garantir une certaine s curit des donn es Les serveurs d impression angl Print Server effectuent la gestion des imprimantes connect es au r se
102. donn es Le SGBD sur le serveur garantit que les restrictions d finies pour un utilisateur ne sont pas viol es Exemple L administrateur d une BD g r e par un SGBD serveur Oracle peut par exemple ex cuter des commandes comme GRANT insert update ON tblComptes tblAgences TO JWEBER Cette commande donne l utilisateur identifi au syst me par le nom JWEBER le droit de lire les donn es des tables 1blComptes et tblAgences d ins rer de nouveaux enregistrements dans ces tables et de modifier les enregistrements existants dans les deux tables La commande suivante enl ve le droit d insertion dans la table tblComptes l utilisateur REVOKE insert ON tblComptes FROM JWEBER Exercice En vous r f rant la syntaxe pr sent e dans cet exemple et en supposant que le nom utilisateur du stagiaire de l exemple pr c dent est EMULLER indiquez les commandes n cessaires pour donner les droits d acc s au stagiaire de la banque au d but de la p riode de stage et celles n cessaires pour lui enlever ces droits la fin de la p riode de stage Nous supposons que la vue cr e par l administrateur s appelle vComptesSans Valeurs GRANT select ON tblClients tblAgences vComptesSansValeurs TO EMULLER REVOKE select ON tblClients thblAgences vComptesSansValeurs FROM EMULLER Avantage de la gestion des droits d acc s Les droits d acc s sont un outil parfait pour personnaliser l acc s une BD de fa on c
103. e SGBD Exercice Donnez un exemple suppl mentaire d une manipulation malveillante Insertion d un virus dans un syst me Modifier dans une table uniquement quelques valeurs num riques importantes pour certains calculs Erreur difficile rep rer 10 3 2 La protection contre les manipulations malveillantes Il est difficile d emp cher une personne autoris e dans le syst me effectuer une manipulation malveillante A Toutefois la plupart des SGBD ex cut s sur un serveur offrent l administrateur d une BD la possibilit de stocker toutes les manipulations effectu es dans une BD sp cialis e appel e journal des op rations effectu es angl auditing A l int rieur du journal l administrateur peut chaque moment v rifier quel utilisateur a effectu quelle manipulation sur quelle table quel moment 1 programme de gestion des fichiers sous Windows Pierre Stockreiser 227 Lyc e du Nord Wiltz Informatique 13CG Protection des donn es Avantages e Transparence totale concernant les manipulations effectu es e Identification des coupables en cas de probl mes e Le fait de rendre l existence d un tel journal public poss de un certain effet psychologique sur les malfaiteurs potentiels D savantages e Les conclusions tir es de la consultation d un journal sont consid rer avec pr caution puisqu un utilisateur en possession d un mot de passe d une autre personne peut effectuer des m
104. e compl ter notre connaissance sur une personne un objet un v nement Exemple Le nom d une personne est une information concernant cette personne La couleur d une voiture est une information concernant cette voiture La date de la f te scolaire est une information concernant cet v nement A Un syst me d information est constitu par l ensemble des informations relatives un domaine bien d fini Exemple Toutes les informations relatives la gestion d une librairie constituent le syst me d information de cette librairie Ce syst me peut couvrir le simple stockage des livres mais galement la gestion des commandes des ventes et m me des clients Un syst me d information ne doit pas n cessairement tre informatis Bien que la plupart des syst mes actuels se basent sur la technologie de l informatique 1l existe encore des syst mes d information o l information est stock e manipul e et communiqu e l aide de moyens traditionnels tels que armoires classeurs calculatrices fiches sur papier etc Le syst me d information ne doit pas tre confondu avec le syst me informatique qui est constitu des l ments suivants e Les ordinateurs e Les programmes e Les structures de donn es Fichiers Bases de donn es Dans ce chapitre nous allons d couvrir une d marche d informatisation qui nous permet de mod liser un syst me d information et de le repr senter l aide d un syst
105. e de la requ te SELECT DISTINCT fldNationalit FROM tblEmploy s Expliquez l utilit de l option DISTINCT 4 Afficher tous les champs pour tous les employ s SELECT idEmploy fldPr nom fldNom fldNationalit fldAge fldSexe fldService fldEntr eService FROM tblEmploy s ou SELECT FROM tblEmploy s A Remarque L op rateur permet d afficher tous les champs d finis dans la table Pierre Stockreiser 115 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 3 3 Les crit res de s lection Les crit res de s lection constituent une expression logique qui peut prendre la valeur Vrai ou Faux Les crit res de s lection sont appliqu s chaque enregistrement d une table Lorsque pour un enregistrement donn l expression logique prend la valeur Vrar cet enregistrement gt fait partie du r sultat pour une requ te de s lection gt est modifi pour une requ te de modification gt est effac pour une requ te de suppression Comparaison une valeur donn e Pour chaque enregistrement la valeur d un champ donn est compar e une valeur fixe Cette valeur fixe est g n ralement une valeur num rique une date ou un texte Voici les op rateurs de comparaison est gal strictement sup rieur strictement inf rieur sup rieur ou gal inf rieur ou gal est diff rent Exemples 1 Afficher le pr nom et le
106. e des notions pr sent es 5 7 1 La p riode des ordinateurs du type Mainframe Avant la p riode o les PC devenaient populaires les bases de donn es ainsi que les programmes pour les manipuler se trouvaient sur de grands ordinateurs puissants du type mainframe On parlait d une architecture centralis e puisque les BD le SGBD et les objets tels que requ tes formulaires rapports taient stock s sur le mainframe L utilisateur tait connect au mainframe l aide d un terminal compos d un clavier et d un cran Contrairement un PC un terminal ne poss de aucune intelligence propre c d qu il peut uniquement envoyer des caract res au mainframe et afficher les caract res qui lui sont envoy s par le mainframe Lorsque l utilisateur veut par exemple afficher un formulaire la construction du formulaire se fait compl tement sur le mainframe Ensuite le formulaire o plut t l apparence du formulaire est envoy via le r seau vers le terminal de l utilisateur Exemple d un formulaire en mode caract re CLSCH73 08 44 49 kkk COMPTANT CLIENT x NUMERO POLICE PROJET EFFET 00 00 2000 EXPIRATION 16 03 1995 ECHEANCE 16 03 COR PERIODE DE DECOMPTE A LA BASE DE CE MOUVEMENT DU 16 03 1994 AU 16 03 1995 DERNIERE EMISSION 00 00 2000 JOURS PROD 360 ANNUL 0 5 BRANCHE PRORATA ANC NOUV COMPTANT BONUS IMPOTS TOTAL INCENDIE 11395 11395 458 11853 TEMPETE 3798 3798 T92 3950 682 682 27 709 6489 6489 260 6
107. e donn es pr d fini pour g n rer des valeurs uniques pour de telles cl s primaires Notre table aurait dans ce cas la structure suivante pour une cl primaire compos e de plusieurs champs la combinaison des valeurs doit tre unique Pierre Stockreiser 103 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Cl primaire l fldMarque fld Mod le fldCylindr e fld Poids 2500 1360 1800 1080 2000 1200 Convention des noms Les noms des champs qui forment la cl primaire sont pr c d s du pr fixe id angl identifier Par exemple 1dTax1 idEmploy j amp Exercice D finissez pour chacune des 3 tables que vous avez d fini dans l exercice du chapitre 6 1 une cl primaire parmi les champs existants resp cr ez un nouveau champ qui assumera le r le de cl primaire Indiquez dans la grille suivante pour chaque table toutes les informations n cessaires Nom de la table Membre de la Nom du Type de Description cl primaire champ donn es Cochez la case si OUI Pierre Stockreiser 104 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Nom de la table Membre de la Nom du Type de Description cl primaire champ donn es Cochez la case si OUI Cochez la case si OUI Pierre Stockreiser 105 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 6 5 Rel
108. e du Nord Wiltz Informatique 13CG Protection des donn es 10 5 2 1 Les pertes provoqu es par des erreurs humaines Ce type de pertes est difficilement ma trisable Toutefois une bonne formation des utilisateurs d un syst me aide r duire le nombre de telles pannes Exemple d une perte provoqu e par une erreur humaine Une requ te de suppression mal formul e en SQL efface trop d enregistrements 10 5 2 2 Les pertes des donn es en m moire interne RAM Les BD r sidant normalement sous forme de fichier s sur le disque dur sont partitionn es en blocs de longueur fixe avec chaque bloc contenant un ou plusieurs enregistrements Un SGBD appelle les blocs n cessaires en m moire centrale et les retourne sur le disque suite aux modifications effectu es Les donn es r sidant en m moire interne ne r sistent pas un crash et sont perdues de fa on irr cup rable Comme les blocs avec les enregistrements sont g n ralement retourn s vers le disque dur assez vite apr s une op ration de modification l impact d une perte de donn es en m moire interne n est toutefois pas tr s grand Exemples de causes pour la perte de donn es en m moire interne e un crash syst me provoqu par un d faut mat riel e un crash syst me provoqu par un d faut logiciel e une coupure d alimentation lectrique 10 5 2 3 Les pertes des donn es stock es sur disque dur Les donn es stock es sous forme de fichier s sur di
109. e facture ainsi que le nom et pr nom du client pour toutes les factures ayant un montant total plus grand que le prix de l article le plus cher 6 Affichez le num ro et le libell des articles qui sont plus cher que le prix moyen de tous les articles et pour lesquels il existe une ou plusieurs factures avec une quantit gt 1 ou Pierre Stockreiser 184 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 Affichez le nom le pr nom l adresse le code postal et la localit de tous les clients ayant d j achet un article plus cher que 300 ou Exprimez la m me requ te sans utiliser les requ tes imbriqu es 8 Affichez le nom le pr nom l adresse le code postal et la localit de tous les clients ayant uniquement achet des articles plus chers que 300 ou l aide d une jointure Pierre Stockreiser 185 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Proposez une solution alternative en vous servant du m canisme de la requ te imbriqu e corr l e 9 Affichez le nom le pr nom l adresse le code postal et la localit de tous les clients ayant d j achet pour une somme gt 30 par facture Utilisez au maximum possible les requ tes imbriqu es ou 10 Affichez le nom et le pr nom de tous les clients ayant une facture qui concerne un seul article La facture ne doit donc ni concerner plusieurs articles diff
110. e fdAnteur iente JfidPrix Le micro comment a 5296 Ron White Technique 524 Howell Hetware 41 Sr Pierre Godefroid Technique 1138 Exemplaires en stock Pierre Stockreiser 220 Lyc e du Nord Wiltz Informatique 13CG Exemple 4 Exploitation des bases de donn es relationnelles On pourrait envisager de repr senter le m me groupement genre amp langue d une autre fa on Etat du stock TE Ce re Histoire Milang ALL Titre Der k ae ar Der fe iall det Sordin pe flan ALL FE Titre Die F rulu nm azuia Aaar Dach Hdlange FM TEE L himmequse Technique Milenge ANG fa Titre Hido 2 0 Tach yauma Jawa in 21 dire flute Ta bus Me rheim HS Akagi Halmar Senpi s en soei ivre fun HEG F Pauli kan AF Eam Sater dr cr Thama Harie XERBUEIHES en TC idlivre PEA WENYF raid Rarmond Penn Senpi s en soei dire PILI WENF MOOD ken Ta THa Ceker Fetnr Exepinie s en noc Quelle est la base de cr ation d un rapport e Tout comme les tables les requ tes et les formulaires un rapport est un composant d une BD qui doit tre cr et d fini avant de pouvoir tre utilis pour afficher les donn es et les calculs sur les donn es e Chaque rapport se cr e partir d une table ou d une requ te e Les donn es affich es dans un rapport proviennent donc de tables ou de requ tes tandis que certaines informations sp cifiques l apparence du rapport p ex Titre da
111. e g rer une grande masse de donn es comportant des liens entre elles Classiquement cette masse de donn es tait r partie dans diff rents fichiers L utilisation de ces donn es n tait possible que par le biais de programmes sp cialis s qui ont du tre r alis s par des programmeurs ayant une connaissance technique approfondie de la structure des fichiers Chaque nouvelle interrogation du SGF n cessitait donc l intervention d un programmeur En plus les SGF n ont pas assur la coh rence des donn es Le programmeur tait seul responsable pour garantir l int grit des donn es Prenons l exemple d un SGF qui tait utilis dans une banque pour la gestion des clients et de leurs d p ts Rien n emp chait un programmeur de cr er dans le fichier des d p ts un nouveau d p t pour un client qui n existait pas du tout dans le fichier des clients etc Ceci tant seulement quelques exemples des inconv nients des SGF nous remarquons qu il tait difficile pour un utilisateur d utiliser directement un tel syst me Il fallait souvent l intervention d un programmeur qui devait faire bien attention pr server la structure des donn es dans un rapport coh rent tout en satisfaisant les besoins d informations de l utilisateur D j vers la fin des ann es 60 les premiers syst mes qui taient capables de cacher la repr sentation interne des donn es l utilisateur apparaissaient sur le march Ces syst mes qui offrai
112. e la premi re tape nous n allons pas introduire de vraies r gles mais simplement utiliser nos connaissances de gestion d une entreprise notre esprit ouvert et m me notre fantaisie pour analyser correctement la situation existante et les besoins des utilisateurs Le r sultat de l analyse est g n ralement un ou plusieurs documents qui contiennent les indications principales sur le fonctionnement d sir du syst me informatis Le document d analyse contient souvent d j des prototypes de certains documents importants que le futur syst me devra tre capable de produire Pierre Stockreiser 16 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Une fois que l analyse est termin e 1l s agit d laborer une s rie de mod les bas s sur le document d analyse Ces mod les nous permettront plus tard d impl menter une base de donn es qui contiendra toutes les informations n cessaires au bon fonctionnement du syst me informatis Le d veloppement de ces mod les se fait selon une m thode qui pr voit une conception par niveaux Nous retenons 3 niveaux essentiels 1 Le niveau conceptuel qui se base directement sur l analyse d crit l ensemble des donn es du syst me d information sans tenir compte de l impl mentation informatique de ces donn es Ce niveau qui repr sente donc la signification des donn es se traduit par un formalisme que nous appelons A Mod le conceptuel des donn es M
113. e que chaque utilisateur puisse uniquement effectuer les op rations en relation avec sa fonction et comp tence l int rieur de l entreprise Ceci restreint les possibilit s d effectuer des manipulations malveillantes et limite en plus le nombre des suspects en cas d une telle manipulation Pierre Stockreiser 231 Lyc e du Nord Wiltz Informatique 13CG Protection des donn es D savantage de la gestion des droits d acc s En fait 1l n existe pas vraiment un d savantage mais la gestion des droits d acc s n cessite un effort de gestion suppl mentaire consid rable surtout pour les soci t s o les comp tences des employ s varient beaucoup 10 4 2 3 S curisation du syst me d exploitation Un SGBD tout comme les autres applications informatiques utilise les services d un syst me d exploitation Une BD est toujours impl ment e l aide de un ou de plusieurs fichiers Le contenu de ces fichiers est normalement illisible pour chaque application outre que le SGBD l aide duquel le fichier la BD a t cr Toutefois 1l est possible d endommager et m me d effacer compl tement un tel fichier ce qui aurait comme cons quence la destruction partielle ou totale de la BD de fa on ind pendante des m canismes de s curit impl ment s au niveau du SGBD A Il convient donc de prot ger m me l acc s au syst me d exploitation c d l acc s g n ral au PC par un mot de passe Au niveau d un PC qui co
114. e s lection gt SQL WHERE e D finir un ordre de tri gt SQL ORDER BY e etc Voici titre d exemple un cran QBE de MS Access Ei Queryl0 Select Query tblLivres fldEnstock EEE Field Table a escending Su y o riterla Or La requ te correspondante en SQL serait SELECT idLivre fldTitre fldAuteur fldLangue Pierre Stockreiser 197 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles FROM tbllivres WHERE fldGenre Roman ORDER BY fldLangue DESC Les SGBD actuels offrent de plus en plus des possibilit s QBE avanc es telles que l utilisation des fonctions d agr gation l impl mentation des requ tes d insertion de modification et de suppression etc R f rez vous la documentation de votre SGBD pour voir comment QBE est impl ment et quelles sont les fonctionnalit s et les limites Il est cependant important de savoir que les requ tes QBE sont toujours ex cut es via SQL parce qu un SGBD ne comprend pas vraiment QBE QBE n est qu une interface graphique coupl e un interpr teur qui transforme les indications de l cran QBE en SQL La partie du SGBD qui ex cute la requ te appel e le moteur SQL utilise le code SQL g n r par l interpr teur de la m me fa on que celui entr directement par l utilisateur Nous avons l architecture suivante Utilisateur saisit mdirations QBE Sp cifications QBE Interp
115. ement lancer des pas li un champ d une modules de programmes cr s par BD Exemples l utilisateur Exemplel Visualiser toutes les commandes d un client Qu Exemple2 Arr ter l action en cours Commandes La plupart des SGBD offrent encore des contr les pour am liorer la pr sentation des formulaires contr les graphiques images liens OLE Convention des noms Les noms des formulaires sont pr c d s du pr fixe frm angl Form Quand est ce qu on utilise des formulaires e Lorsqu on ne veut pas que les utilisateurs travaillent directement dans les tables Les formulaires offrent g n ralement des m canismes de s curit plus sophistiqu s tels que les zones de listes qui emp chent les utilisateurs d entrer n importe quelle valeur dans un champ etc e Lorsqu on veut pr senter les donn es sous une forme plus conviviale On peut par exemple utiliser des cases cocher pour les champs valeur Oui Non Yes No e Lorsqu on d sire afficher les enregistrements un la fois gt Formulaires Colonne Simple A Le principe de conception d un bon formulaire est toujours de minimiser le nombre de frappes afin de minimiser les erreurs possibles Quelle est la base de cr ation d un formulaire e Tout comme les tables et les requ tes un formulaire est un composant d une BD qui doit tre cr e et d fini avant de pouvoir tre utilis pour manipuler les donn es e Chaque formulaire se cr
116. emples 1 Afficher le num ro d employ le nom et l ge des employ s g s entre 30 et 50 ans SELECT idEmploy fldNom fldAge FROM tblEmploy s WHERE fldAge BETWEEN 30 AND 50 Formulez une requ te qui affiche exactement le m me r sultat sans utiliser l op rateur BETWEEN AND SELECT idEmploy fldNom fldAge FROM tblEmploy s WHERE fldAge gt 30 AND fldAge lt 50 2 Afficher tous les champs pour les employ s masculins g s entre 20 et 30 ans et les employ s f minins g s entre 40 et 50 ans SELECT FROM tblEmploy s WHERE fldSexe M AND fldAge BETWEEN 20 AND 30 OR fldSexe F AND fldAge BETWEEN 40 AND 50 Pierre Stockreiser 125 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 3 8 Comparaison une liste de valeurs A L op rateur IN lt Liste de valeurs gt permet de d terminer si la valeur d un champ donn appartient une liste de valeurs pr d finies De m me l op rateur NOT IN lt Liste de valeurs gt permet de d terminer si la valeur d un champ donn n appartient pas une liste de valeurs pr d finies Les valeurs dans la liste des valeurs sont g n ralement des valeurs num riques des valeurs du type Texte ou des valeurs du type Date Exemples 1 Afficher le num ro d employ le nom l ge et le service des employ s qui sont affect s aux services Comptabilit Informatique et Vente SELECT idEmploy fldN
117. endant les ann es 70 la recherche d une possibilit de cr er des requ tes sans faire recours un langage d interrogation Etant d accord sur la flexibilit et les nombreuses possibilit s de SQL on voulait quand m me combler au grand d savantage de ce langage savoir une syntaxe assez rigide et surtout pas uniforme travers les diff rents SGBD Les chercheurs voulaient cr er une possibilit de sp cifier graphiquement tous les l ments d une requ te c d la ou les tables cibles les crit res de s lection et les champs concern s Le standard QBE Query By Example tait n Pourtant QBE tout comme SQL n est pas impl ment de fa on uniforme dans les diff rents SGBD Ce n est qu en 1985 que QBE devenait vraiment populaire avec son introduction dans le SGBD PARADOX qui fut commercialis par les soci t BORLAND et ensuite COREL Actuellement tous les SGBD qui tournent sous une interface graphique du type Windows offrent le syst me QBE Citons surtout MS Access qui offre actuellement selon les experts l impl mentation la plus conviviale du standard QBE Prenons comme exemple les requ tes de s lection QBE offre l utilisateur une interface graphique qui lui permet de e S lectionner une table sur laquelle la requ te sera bas e gt SQL FROM e Choisir parmi les champs de cette table ceux qui vont tre affich gt SQL SELECT e D finir pour un ou plusieurs champs des crit res d
118. ent l utilisateur une certaine structure logique pour stocker les donn es taient d j quip s de certains m canismes de base pour assurer la coh rence des donn es via des r gles qui pouvaient tre d finies par l utilisateur Le syst me v rifiait ces r gles lors de chaque modification des donn es Dans un syst me de gestion des d p ts d une banque une telle r gle pouvait par exemple exprimer le lien explicite entre un d p t client et une personne Ces syst mes taient essentiellement bas s sur les deux mod les de donn es suivants e Mod le r seau d velopp initialement par la Conference On Data Systems and Languages CODASYL en 1961 e Mod le hi rarchique d velopp pour la plus grande partie par la soci t IBM pendant les ann es 1965 1970 C tait en 1970 qu un nouveau mod le pour repr senter les donn es le mod le relationnel fut propos par E F CODD Le but de ce mod le tait d accro tre l ind pendance vis vis de l impl mentation interne des donn es Du point de vue de l utilisateur les donn es sont stock es dans un ensemble de tableaux appel es tables relationnelles ou simplement tables Le stockage ainsi que la manipulation des donn es se basent sur le concept math matique de l alg bre relationnelle et du calcul relationnel Ces concepts proviennent de la th orie math matique des ensembles et on y retrouve des notions telles que Union Intersection ou Produit cart s
119. ent la table suivante Nom du champ Type de donn es Number Long Integer fldLibell Text 20 amp idProduit est la cl primaire fldCat gorie Text 20 fldPrix Currency fidQuantit Disponible Number Long Integer 2 Sauvegardez la table sous le nom tblProduits 3 Entrez les donn es suivantes E tblProduits Table 1 Kaffi Haaki Caf 2 La vache triste Fromage 3 Plash D tergent 4 Fanti Boisson sans alcool 5 Toblermit Chocolat 6 Juxlait Lait r 2 KE Lait o Schmiri Fromage g Jack OB s Caf Caf 10 Coli Light Boisson sans alcool 11 Langnase liel 12 K llochs Dr hnis M sli 13 Danke Chocolat 14 Coli Boisson sans alcool 15 Knickers Chocolat i Record 14 4 16 r LEa of 16 4 Cr ez les requ tes suivantes en Access amp Onglet Queries Bouton New Design View amp OK Bouton Close Ic ne IS Sauvegardez les requ tes Requ tel Requ te2 etc Requ te 1 correspond l exemple 1 chap 7 2 2 Affichez le libell et le prix de tous les produits Pierre Stockreiser 138 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Requ te 2 correspond l exemple 2 chap 7 2 2 Ins rez le produit suivant fldLibell fldCat gorie RER DA 13 80 Requ te 3 correspond l exemple 3 chap 7 2 2 Affichez les diff rentes cat gories de produits Veillez ce que chaque cat gorie ne soit affich e qu une seule fois Req
120. er le mot ASC Cependant lorsque vous voulez trier les enregistrements en ordre descendant le mot DESC est indispensable Exemples Soit la table suivante Auteur du Evre Cane du re Exemple 1 SELECT idLivre fldTitre fldAuteur fldPrix FROM tbllLivres ORDER BY fldPrix respectivement SELECT idLivre fldTitre fldAuteur fldPrix FROM tblLivres ORDER BY fldPrix ASC Pierre Stockreiser 127 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles EE Query Select Query OI x __LidLivre fidTitre fidAuteur fidPrix 99832 Dracula orrir Roter Drache 39366 Die Pr fung 57296 Le micro comment a marche 7 33344 Teach yourself Java in 21 days 0999 Der letzte ar Dr Ed4 Movell Metware 4 1 24000 MS Access 20 6222 Der Zerfall des Sowjetimperiurm Record 14 4 1 CL ot 4 Exemple 2 SELECT 1idLivre fldTitre fldAuteur FROM tbllLivres ORDER BY fldPrix DESC ee Query Select Query 96222 Der Zerfall des Sowjetimperium 4000 MS Access 2 0 Dr E44 Movell M tware 4 1 0999 Der letzte far 33344 Teach yourself Java in 21 days 57296 Le micro comment a marche 7 20306 Die Pr fung Orre Roter Drache ggg racula Bram Stoker Thomas Harris F Paul Wilson Ron White Charles Perkins Klaus Werheim Pierre Godefroid ken Getz Alexeji Kolimnov fldPrix Alexeji Kolimov ken Getz Pierre Godefroid klaus W erheim Charles Perkins Fon White
121. eractif avec l utilisateur L important pour l utilisateur d une BD est donc de savoir quand il faut utiliser un formulaire et quand un rapport A En g n ral on utilise un rapport pour e Imprimer des listes et statistiques concernant les donn es e Regrouper les donn es et cr er des calculs sur les donn es e Cr er des factures bons de livraisons et autres pi ces de gestion importantes Reprenons notre table avec les livres d une librairie E tbllivres Table idLivre fidTitre fidAuteur fldLangue fldGenre fldPrix fldEnStock B3344 Teach yourself Java in 21 days Charles Perkins Technique 34000 Mas Access 20 Ken Getz Technique 20306 Die Fr fung F Paul Wilson Roman 5296 Le micro comment a marche Ron White Technique 654 L homme juste Raymond Peron Roman 0999 Der letzte far Klaus Yerheim Histoire oBdA Novell Metware 4 1 Fierre Godefroid Technique Dr Roter Drache Thomas Harris Roman 90222 Der Zerfall des Sowetimperums Alexeji Kolimo Histoire 990832 Dracula Bram Stoker Roman O Bd Ci e Gd ea C0 0 Qi Record 14 4 Jq r e of 10 Pierre Stockreiser 218 Lyc e du Nord Wiltz Informatique 13CG Exemple 1 Exploitation des bases de donn es relationnelles Le rapport suivant affiche simplement une liste avec tous les livres en stock Cette liste est tri e par ordre alphab tique sur le titre Etat du stock flaTitre Der letzte Za idLivre fldutenur 70999 Klaus We
122. es champs fiClient et dClient La clause SELECT contient les noms des champs afficher Voici le r sultat correspondant fldValeur _ fldNom 101 20000 Muller 106 48000 Weber 112 9000 Muller 125 5000 Pegaso Cette requ te repr sente donc une jointure entre les tables blComptes et tblClients Remarquez pour l instant que nous avons pr fix chaque nom d un champ par le nom de la table correspondante Au moment o une requ te porte sur plusieurs tables on doit soit s assurer que le nom de chaque champ est unique pour l ensemble des tables soit adopter la notation lt Nom de la table gt lt Nom du champ gt Puisque les noms des champs impliqu s dans notre exemple sont tous diff rents nous pouvons donc faciliter l criture de la requ te SELECT idCompte fldValeur fldNom FROM tblComptes tblClients WHERE fiClient idClient Afin de comprendre le fonctionnement d une jointure et surtout celui de la condition de jointure il est int ressant d examiner en d tail comment SQL proc de l ex cution d une jointure Pour cela nous allons nous baser sur l exemple pr c dent SQL ex cute la requ te en plusieurs tapes 1 Comme la clause FROM contient 2 tables SQL cr e d abord le produit cart sien des deux tables Pour le produit cart sien SQL associe chaque enregistrement de la premi re table tous les enregistrements de la deuxi me table Les enregistrements du produit cart sien contiennent donc les champ
123. es groupes selon les valeurs du champ fdGenre c d les 3 groupes Histoire Roman et Technique L affichage des groupes se fait par d faut de mani re ascendante utiliser ORDER BY pour changer l ordre La partie SELECT fldGenre SUM fldEnStock affiche pour chaque groupe une seule ligne qui contient la valeur du champ de groupe fldGenre ainsi que la somme des valeurs du champ fldEnStock La partie AS En Stock est uniquement utilis e afin de renommer l en t te du champ calcul via la fonction d agr gation SUM A La clause GROUP BY La clause GROUP BY lt Liste des champs de groupe gt intervient sur le r sultat d un SELECT En fait les enregistrements r sultant d une requ te de s lection sont group s de fa on qu l int rieur de chaque groupe les valeurs pour la liste des champs de groupe soient identiques G n ralement on applique une fonction d agr gation un ou plusieurs champs ne faisant pas partie de la liste des champs de groupe Attention La clause SELECT peut uniquement contenir des champs faisant partie de la liste des champs de groupe et des fonctions d agr gation appliqu es un des autres champs La requ te de s lection peut bien s r contenir des crit res de s lection WHERE qui liminent un certain nombre d enregistrements d j avant la cr ation des groupes On a la possibilit d appliquer la clause ORDER BY au r sultat d un GROUP BY Syntaxe SEL
124. est identifi par un code employ p ex WEBJO Weber Jos Le responsable du club de vente veut galement savoir quel employ Nom amp Pr nom traite quelle commande Nous supposons que chaque employ a d j trait des commandes e De temps en temps le responsable de la facturation d sire avoir un relev des factures non encore pay es Cr ez le mod le conceptuel des donn es Solution Pierre Stockreiser 50 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Exercice 5 Le commandant de la brigade municipale des Sapeurs Pompiers d Esch sur Alzette se propose d informatiser la gestion des diff rentes interventions Etant responsable de l administration de la brigade vous tes en charge de cr er une base de donn es pour stocker les informations relatives aux interventions PARTIE 1 Voici le r sultat de l analyse pr liminaire men e aupr s des responsables de la brigade p ex le commandant le sous commandant e Chaque intervention est identifi e par un num ro unique e Une intervention est en plus caract ris e par une date une adresse et un type d intervention p ex Incendie Accident Inondation e Pour chaque intervention on veut savoir quels sapeurs pompiers y ont particip e Un sapeur pompier est caract ris par un num ro d identification son nom son pr nom sa date de naissance ainsi qu un grade p ex sapeur chef de section sous commandant commandant
125. et un seul taxi Supposons par exemple la marque et le mod le comme cl primaire Au cas o la soci t ach te une deuxi me BMW 3201 on ne pourrait plus distinguer entre les deux voitures Le ou les champs qui forment la cl primaire doivent imp rativement avoir des valeurs qui sont uniques pour toute la table et qui permettent donc d identifier chaque enregistrement Exemples Le num ro de matricule pour les assur s des caisses de maladie Le num ro client pour les clients d une vid oth que En ce qui concerne les taxis nous avons deux possibilit s 1 Analyser s il n existe pas d information concernant les taxis qui ne soit pas encore stock e dans la table et qui ferait une cl primaire valable Une telle information serait par exemple le num ro de chassis unique pour chaque voiture On pourrait donc ajouter un champ fldNochassis et d finir ce champ comme cl primaire Ceci a comme d savantage que le num ro de chassis d une voiture est un num ro assez long et compliqu ce qui d favorise une utilisation conviviale de la table 2 On pourrait inventer un num ro de taxi allant simplement de 1 jusqu au nombre de taxis que la soci t poss de Le premier taxi enregistr serait le num ro TAXI 1 le deuxi me le num ro TAXI 2 etc Bien que ce num ro n ait aucune signification r elle cette m thode de cr ation de cl s primaires artificielles est tr s r pandue et la plupart des SGBD offrent m me un type d
126. etsYendus 9500 6765 1100 1100 450 449 700 700 2200 1290 1900 1900 1800 280 1400 1097 1100 360 2200 2200 1100 470 Affichez toutes les informations pour les concerts qui ne sont pas Luxembourg et dont le nombre de places est au moins 1000 ou 2 Affichez l artiste et la date des concerts qui se sont tenus Luxembourg pendant la deuxi me moiti de l ann e 2005 Pierre Stockreiser 152 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 3 Affichez le nombre de concerts par type de lieu Triez la liste de fa on d croissante sur le nombre de concerts En vous basant sur les donn es de la table indiquez le r sultat de la requ te dans la grille fldTypelieu Nombre de concerts D 4 Ins rez le concert suivant Type Lieu 12 09 2005 20 00 1000 ou Remarque Les informations prix d un ticket et tickets vendus ne sont pas indiqu es En ce qui concerne le nombre de tickets vendus on peut supposer qu il est encore O lors de l insertion de ce nouveau concert dans la BD Le prix d un ticket par contre n est pas encore connu pour l instant mais 1l sera bien d fini un moment ult rieur On peut donc dire que le prix d un ticket est ind termin NULL 5 Affichez l artiste la date la localit et le prix des concerts qui ont lieu dans un hall sportif ou un club partir du 1 8 2005 Triez cette liste par ordre ascendant sur les types des lieux et l int
127. f rence des Radio Button parmi plusieurs possibles Un bouton champs de type s lectionn signifie que la valeur associ e num rique texte ou Exemple ce bouton est s lectionn e comme date valeur pour le champ correspondant au On utilise des groupes groupe de boutons de boutons d options Les options dans un groupe repr sentent pour repr senter des donc les valeurs possibles pour UN champs pouvant champ donn de la table contenir seulement C Masculin quelques valeurs Exemple Le bouton F minin s lectionn pr d finies qui ne veut dire que le sexe de cet employ est changent pas souvent ou f minin pas du tout comme par exemple le sexe masculin f minin le r sultat d un examen Admin Ajourn Ecart etc Sexe de l emplog 7 Pierre Stockreiser 211 Lyc e du Nord Wiltz Informatique 13CG Case cocher angl Check Box Exemple Format du texte Caract res gras MW Italque Zone de liste angl List Box Exemple Genre du livre Technique Histoire Liste modifiable angl Combo Box Exemple Langue Pierre Stockreiser Exploitation des bases de donn es relationnelles Utilis pour afficher le contenu d un champ de type Oui Non Yes No La diff rence par rapport aux boutons d option est qu il est possible de cocher simultan ment plusieurs cases dans un groupe En plus les cases cocher apparaissent souvent seules et ind pendant d un groupe C
128. fldGenre Roman ORDER BY fldLangue DESC Pierre Stockreiser 129 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 3 10 Les valeurs calcul es A Dans une requ te on a la possibilit de d finir des champs valeur calcul e Un tel champ ne fait pas partie d une table mais contient une valeur qui est calcul e sur base d un ou de plusieurs champs existants Exemple SELECT idLivre fldTitre fldPrix 1 15 AS PrixTTC FROM tblLivres Champ a valeur calcul e i Queryl3 Select Query _ idLivre fldTitre PrseA 33344 Teach yourself Java in 21 days 1224 75 34000 MS Access 2 0 1563 55 30366 Die Pr fung p90 Si le nom du champ 57296 Le micro comment a marche 947 6 vlenccalcul e content ro654 L homme juste 261 5 76999 Der letzte Zar 1235 1 des espaces on doit 87644 Novell Netware 4 1 1308 7 l entourer d apostrophes Die Poter Drache 562 35 p ex AS Prix TIC 6222 Der Zerfall des Sowetimperiums 1651 4 99532 Dracula 517 5 fau 14 4 1 m LE of 10 Remarque On peut utiliser un champ valeur calcul e pour renommer l en t te d un champ affich dans une requ te Exemple SELECT 1idLivre AS ISBN fldTitre Champ FROM tbllivres valeur calcul e SE Query13 Select Querv ISBN fire 33344 Teach yourself Java in 21 days 34000 MS Access 2 0 38366 Die Pr fung 57296 Le micro comment a marche ro
129. h rents Au niveau des SGBD pour serveurs 1l existe des syst mes qui permettent la sauvegarde intelligente d une table pendant que celle ci est consult e ou m me modifi e On distingue g n ralement deux types de sauvegardes 1 La sauvegarde compl te angl full backup Toutes les donn es sont sauvegard es 2 La sauvegarde incr mentale angl incremental backup Uniquement les nouvelles donn es ou celles modifi es depuis la derni re sauvegarde sont sauvegard es Il est conseill de g rer plusieurs g n rations de sauvegarde On aura ainsi une version Lundi Mardi Mercredi etc afin de pouvoir acc der un tat de donn es ant rieur si la derni re version sauvegard e est d j corrompue Voici un tableau comparatif des supports de sauvegarde qui sont actuellement assez r pandus Support Caract ristiques Disquette z h Stockage magn tique en train de dispara tre Capacit 720KB 1 4MB tr s faible Lecture amp criture r p titive des donn es Vitesse d acc s assez lente IKB 1Kilobyte 1024 Byte 1MB 1 Megabyte 1024KB 1GB 1Gigabyte 1024MB Pierre Stockreiser 236 Lyc e du Nord Wiltz Informatique 13CG Bande magn tique Pierre Stockreiser Protection des donn es Stockage magn tique Capacit p ex 120 GB lev e Lecture amp criture r p titive des donn es Vitesse d acc s tr s lente Stockage magn tique Capacit p ex 2GB
130. haque case concerne UN champ de la table Exemple La table contient 3 champs valeurs Oui Non fldCaracGras fldltalique fldSoulign Permet d afficher une liste de valeurs parm lesquelles l utilisateur peut en choisir une On utilise des zones de liste pour repr senter des champs qui contiennent plusieurs valeurs possibles Lorsque la nature des donn es fait que des nouvelles options deviennent indispensables il suffit de les ajouter dans la liste et chaque utilisateur pourra les s lectionner Combinaison entre une zone de liste et une zone de texte L utilisateur peut s lectionner une valeur de la liste ou entrer un texte de son choix 212 Repr sente des champs valeurs logiques Oui Non Ce contr le repr sente de pr f rence des champs de type num rique texte ou date On utilise des zones de liste pour repr senter des champs pouvant contenir beaucoup de valeurs qui ne changent pas souvent ou pas du tout comme par exemple les noms des diff rents pays de l Europe Ce contr le repr sente de pr f rence des champs de type num rique texte ou date Utilisation pareille la zone de liste mais avec l option pour l utilisateur d entrer une valeur non pr d finie Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Bouton de commande Ex cuter une ou plusieurs commandes Ce type de contr le n est angl Command Button syst mes respectiv
131. herche de syst mes ouverts La finalit d un syst me ouvert consiste dans le fait que ses composants ordinateurs SGBD etc Pierre Stockreiser 95 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles sont changeables sans que tous les objets en utilisation requ tes formulaires etc doivent tre compl tement red finis resp reprogramm s Tous les l ments d un tel syst me doivent donc supporter un maximum possible de standards Un l ment important de la philosophie des syst mes ouverts est constitu par l approche Client Serveur 5 7 2 L approche Client Serveur L volution historique des architectures informatiques vers les architectures du type Client Serveur angl Client Server dans les ann es 90 peut tre ramen e surtout aux facteurs suivants e L arriv e au march des PC e L apparition de serveurs machines moins ch res et moins spacieuses que les mainframe avec cependant une capacit de calcul et de stockage analogue celle des mainframe e L mergence de syst mes d exploitations standardis s tels que UNIX ou Windows NT e L apparition des SGBD ind pendants de la plate forme et disponible pour tous les syst mes d exploitation standardis s L approche Client Serveur impl mente une d centralisation des applications BD En fait les BD sont g r es sur un serveur BD tandis que les interfaces pour visualiser et manipuler les donn es p ex formulaires
132. i aupr s de la f d ration de tennis ou non e Pour chaque r servation on d sire conna tre l identit des deux joueurs membres Au cas o quatre Joueurs r serveraient un terrain uniquement deux joueurs sont enregistr s dans le syst me e Le club dispose de plusieurs terrains dont certains sont couverts On distingue en plus le type du terrain selon la nature du sol p ex Sable Herbe etc e Une r servation se fait pour une date pr cise par tranches d une heure sx Cr ez le MCD correspondant Solution Pierre Stockreiser 59 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Exercice 2 Une soci t a rienne utilise pr sent les fiches suivantes pour la gestion des ressources Vol No 98 8 798 Date Heure Code A roport Arriv e Avion No Marque Type Port e km Capacit Passagers Boeing 737 400 3810 147 Commandant Nom _ Pr nom_ Date de naissance Brevet 13 06 65 PP IFR EP DA Co pilote No _ Nom_ Pr nom Date de naissance Brevet 23 04 73 PP IER Personnel de cabine 1072 Feller Nathalie 1014 Pinto 1103 Weis a Sachant que la soci t entretient d j une BD avec tous les employ s et avions et qu un pilote peut tre commandant d un vol et co pilote d un autre vol proposez un MCD qui permet l informatisation de la gestion des ressources Solution Pierre Stockreiser 60 Lyc e du Nord Wiltz Informatique
133. ibuts identifiants tables cl s etc dans un dictionnaire Pour des petits projets de conception effectu s par un plusieurs commandes dans un langage support par le SGBD cible une sorte de r cipient logique pour les objets de conception Pierre Stockreiser 79 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information seul concepteur sur un ordinateur le dictionnaire est simplement un fichier stock localement Toutefois pour les grands projets effectu s par plusieurs concepteurs certains outils de mod lisation permettent la gestion d un dictionnaire sur un serveur en r seau voir chapitre 5 5 Dans ce cas plusieurs concepteurs peuvent travailler en m me temps sur un mod le l outil de mod lisation veillant chaque moment que le mod le reste coh rent L int gration de plusieurs mod les en un seul mod le et la gestion des versions d un objet ou d un mod le constituent d autres caract ristiques support es par un tel syst me e La plupart des outils de mod lisation sont capables de cr er un MLD et un MCD partir d une BD existante Ce proc d connu sous le nom de Reversement d une BD angl Database Reverse Engineering est souvent utilis la base d un projet d am lioration ou d extension d un syst me d information existant d j sous forme informatique Partie 2 Exploitation des bases de donn es relationnelles Pierre Stockreiser 80 Lyc e du Nord Wiltz Informa
134. ichez pour chaque agent son num ro son nom et pr nom ainsi que le nombre de contrats qu il a conclu 11 Affichez le nom et pr nom des agents ayant conclu un contrat avec un client qui a encore conclu un contrat avec au moins un autre agent 12 Affichez le nom et pr nom de tous les agents ayant conclu un contrat avec un client habitant dans la m me localit que le client num ro 11 Pierre Stockreiser 182 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Exercice 5 Facturation Les requ tes 1mbriqu es Un magasin sp cialis dans la vente d appareils lectrom nagers entretient la BD suivante afin de g rer la facturation istid fldLibell fidPrixLUnitaire Utilisez le m canisme des requ tes imbriqu es afin de r pondre aux questions suivantes 1 Affichez le libell et le prix unitaire de l article des articles qui est le plus cher 2 Affichez le num ro de l article ainsi que le libell pour les articles moins cher que le prix moyen de tous les articles 3 Affichez le num ro et la date de toutes les factures dont le client habite Luxembourg Pierre Stockreiser 183 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 4 Affichez le nom et le pr nom des clients qui habitent Luxembourg et qui sont concern s par une facture etablie au cours du mois d ao t 1998 ou 5 Affichez le num ro de facture la date d
135. id RUE La salle ainsi que l cole sont des HbreParticipants classes ind pendantes l int rieur du syst me d information Cette mod lisation permet une gestion explicite des salles et coles CodeEcole id Hom Complet Adresse HoSalle id Capacit contenir Pierre Stockreiser 26 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 4 4 La notion d identifiant A Afin de pouvoir distinguer les diff rents objets d une m me classe la classe doit tre dot e d un identifiant L identifiant est compos d un ou de plusieurs attributs de la classe Chaque objet d une classe doit avoir une valeur diff rente pour l identifiant Comme choix pour l identifiant d une classe nous distinguons g n ralement 3 possibilit s 1 Un attribut naturel Exemple Le nom d un pays pour une classe Pays 2 Un attribut artificiel qui est invent par le cr ateur du MCD Exemple Le num ro d un client pour une classe Client 3 Un identifiant compos de plusieurs attributs naturels Exemple Le nom et la localit pour une classe Entreprise A Repr sentation graphique de l identifiant d une classe Le ou les attributs qui constituent l identifiant d une classe sont crits en couleur et suivis de l indication id Exercice Indiquez graphiquement les classes qui repr sentent 1 les passagers d une soci t a rienne 2 les r sultats sportifs de l en
136. ien Il a fallu attendre le milieu des ann es 70 pour voir appara tre les premiers syst mes qui taient bas s sur le mod le relationnel les Syst mes de Gestion de Bases de Donn es Relationnelles SGBDR Pierre Stockreiser 84 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Pendant les ann es 80 et 90 beaucoup de SGBDR taient commercialis s pour les diff rentes plates formes informatiques Mainframe Serveurs UNIX Serveurs VMS PC Citons quelques exemples de SGBDR populaires qui tournent actuellement sur PC e Personal ORACLE e MS ACCESS e Filemaker e PARADOX Aujourd hui les bases de donn es relationnelles se r jouissent d une grande popularit Surtout le domaine de la gestion des donn es l int rieur des entreprises est enti rement domin par ces syst mes Pour la suite de ce cours nous allons nous limiter l tude des bases de donn es relationnelles Nous entendons donc par chaque r f rence une base de donn es BD la notion de base de donn es relationnelle Il est galement sous entendu que les deux notions SGBD et SGBDR d notent un syst me de gestion de bases de donn es relationnelles dans le contexte de ce cours Pierre Stockreiser 85 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 5 4 Les composants d une base de donn es relationnelle Une base de donn es relationnelle contien
137. ilCom o la contrainte 4 St Julien est activ e en mode Cascade pour la suppression et la 5 Margaux modification 6 Graves Pierre Stockreiser 207 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles a Quelle s contrainte s est sont concern e s lors de l ajout du client N 4 Est ce qu on peut ajouter ce client Justifiez votre r ponse b Quelle s contrainte s est sont concern e s lors de l ajout du client N 2 Est ce qu on peut ajouter ce client Justifiez votre r ponse c Quelle s contrainte s est sont concern e s lors de la suppression du chent N 9 Est ce qu on peut supprimer ce client Justifiez votre r ponse Quel s enregistrement s est sont supprim s d Quelle s contrainte s est sont concern e s lors de la suppression de l enregistrement NoCom 2019 et CodeVin 15 de la table DetailCom Est ce qu on peut supprimer cet enregistrement Quel s enregistrement s est sont supprim s Pierre Stockreiser 208 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles e Quelle s contrainte s est sont concern e s lors de la modification du CodeRegion N 3 en N 7 Est ce qu on peut modifier ce code r gion Justifiez votre r ponse Quel s enregistrement s est sont modifi s f Quelle s contrainte s est sont concern e s lors de l ajoute de l enregistrement NoCom 2025 CodeV
138. in 35 Quantit 14 dans la table DetarlCom Est ce qu on peut ajouter cet enregistrement Justifiez votre r ponse g Quelle s contrainte s est sont concern e s lors du changement du client N 7 en N 1 pour la commande N 2158 Est ce qu on peut modifier cet enregistrement Justifiez votre r ponse Pierre Stockreiser 209 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 8 Les formulaires angl forms 8 1 Tables des mati res 8 Les formulaires angl forms 210 8 1 Tables des mati res 210 8 2 D finition 210 8 3 Types de formulaires 214 8 4 Cr ation d un formulaire 216 8 2 D finition L affichage la saisie et la modification des donn es ont t r alis s jusqu maintenant directement dans les tables M me les requ tes ont soit affich leurs r sultats sous forme de feuilles de donn es sous table soit modifi directement le contenu des tables Les formulaires repr sentent un autre outil de manipulation de donn es des SGBD Un formulaire est une aide utile pour consulter et modifier rapidement et facilement les donn es d une table Les diverses facilit s mises notre disposition par les formulaires nous offrent un bon confort ainsi qu une tr s grande s curit des donn es lors des manipulations A En g n ral on utilise un formulaire pour e Entrer des donn es e Consulter des donn es e Modifier des donn es Voici titre d exemple
139. in nombre de probl mes Exercice 1 Essayez de trouver en discussion quelques probl mes qui peuvent se manifester lors du travail Journalier avec cette table Pierre Stockreiser 20 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Exercice 2 Comment est ce qu on pourrait viter ces probl mes sans toutefois perdre des informations Pierre Stockreiser 21 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 4 Le mod le conceptuel des donn es MCD 3 4 1 D finition En se basant sur un document d analyse le mod le conceptuel des donn es MCD fait r f rence tous les objets du syst me d information et des relations entre ces objets Le formalisme utilis dans ce mod le est celui du langage de mod lisation UML Unified Modeling Language A l aide de ce langage nous pouvons cr er un diagramme de classes qui se base autour de 3 concepts principaux les classes les associations et les attributs Voici par exemple un MCD Diagramme de classes qui repr sente une entreprise avec ses employ s NoEntreprise id NoEmploy fid employer CodePostal Localit D partement Association Pour la suite de ce cours MCD et diagramme de classes sont synonymes Pierre Stockreiser 22 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 4 2 La notion de classe A Une classe permet de
140. insertion ou modification d une valeur dans la table Pierre Stockreiser 199 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 6 2 2 La contrainte d int grit r f rentielle angl Referential Integrity Constraint Par contrainte d int grit r f rentielle on entend l obligation qu chaque valeur d une cl trang re correspond une valeur de la cl primaire associ e Cette obligation doit toujours tre v rifi e lors de l ajout de la suppression ou de la modification de donn es Exemples de violation de cette contrainte A L ajout d une cl trang re pour laquelle il n existe pas de valeur correspondante dans la cl primaire associ e B La modification d une cl trang re vers une valeur pour laquelle 1l n existe pas de valeur correspondante dans la cl primaire associ e C La suppression d une cl primaire r f renc e par une ou plusieurs valeurs d une cl trang re D La modification d une cl primaire r f renc e par une ou plusieurs valeurs d une cl trang re M thodes pour v rifier cette contrainte d int grit dans un SGBD Un SGBD nous offre g n ralement une ou plusieurs des quatre m thodes suivantes pour sp cifier tout moment l int grit r f rentielle des donn es d une BD Les op rations A et B sont interdites d office car elles conduiraient directement une violation des contraintes d int grit En ce qui concerne les op
141. iquement des nombres avec 2 positions pour num roter les bungalows Stockez galement la superficie de chaque bungalow dans le syst me Les clients peuvent effectuer des r servations Une r servation concerne un seul bungalow Suite une r servation une fiche de r servation est imm diatement envoy e au client Deux semaines avant la date d arriv e au parc une facture correspondante est envoy e au client Cette facture doit tre r gl e avant l arriv e au parc Le responsable de la facturation veut videmment garder trace des informations contenues sur les factures Le responsable de la r ception d sire voir dans le syst me si une facture correspondant aee L2 une r servation a d j t pay e ou non A A gt d Pierre Stockreiser 61 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information e Lors de la r servation d un bungalow le client a le choix entre les suppl ments suivants PERRET Livraison domicile du petit d jeuner Livraison domicile du quotidien e Voici un mod le d une fiche de r servation Wonderland S r l Parc de bungalows 3 am Boesch L 8899 Schlindermanderscheid AE G D Luxembourg WA T l Lux 345566 Fax Lux 345567 PN Fiche de reservation Client Num ro 340 Nom Weber R servation No Passeport 87699 Cat gorie a et douche WC s p TV errasse No T l phone Lux 348845 Capacit 5
142. isateurs en m me temps Exercice Donnez un exemple suppl mentaire d une incoh rence accidentelle et d une perte accidentelle La perte partielle ou totale d une table d une BD qui contient des cl s primaires r f r es par les donn es d une autre table Dans ce cas la contrainte d int grit r f rentielle n est plus v rifi e Le crash du SGBD endommage un fichier qui contient des donn es importantes 10 5 2 La protection contre les incoh rences et pertes de donn es accidentelles Tous les SGBD impl mentent des fonctionnalit s qui garantissent la coh rence des donn es en fonctionnement normal A titre d exemple mentionnons les contraintes d int grit et la s rialisation d ex cution des requ tes Une incoh rence accidentelle peut donc en principe uniquement appara tre suite une perte accidentelle de donn es Citons la perte d enregistrements qui contiennent des cl s primaires li es des cl s trang res d une autre table Par cons quent nous allons limiter la discussion suivante aux pertes accidentelles A Les causes des pertes de donn es accidentelles sont r parties en trois groupes 1 Les pertes provoqu es par des erreurs humains 2 Les pertes des donn es en m moire interne RAM 3 Les pertes des donn es stock es sur disque dur 1 A 2 2 N A 2 9 e 2 D une r equ te n est ex cut e qu au moment o la r equ te pr c dente a termin son ex cution Pierre Stockreiser 234 Lyc
143. ition Microsoft Press ISBN 1 55615 592 1I B r Bauder Microsoft Access 2 Edition Micro Application ISBN 2 7429 0239 2 K Getz P Litwin G Reddick Access 2 Developer s Handbook Edition Sybex ISBN 0 7821 1327 3 CNPI Dossier de l enseignant PC Magazin Spezial 5 98 Kryptographie und Netzwerksicherheit Pierre Stockreiser 240 Lyc e du Nord Wiltz Informatique 13CG Annexes 11 2 Sites sur Internet http w3 restena lu proud online WWw papi com wWww win design com WWwW oracle com WWwW microsoft com http www iutc3 unicaen fr moranb cours acsi static2 statl h tm Pierre Stockreiser 241 Lyc e du Nord Wiltz
144. itue une mise en uvre de la m thode UML Notons que Win Design 5 8 0 a t utilis pour cr er les mod les conceptuels et logiques pr sent s dans cet ouvrage Pierre Stockreiser 78 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Win Design Chap3 4 4 M2 Diagramme de classes Sous mod le1 8 x Fichier Editer Mod le Affichage Dessiner Format Options Fen tre Denga sgs im see lv xv lsmwaRlraelr ne 0Cacssamaroces a Chap3 4 4 M2 Diagramme de classes Sous mod le1 101 x M TypeContrat NoContrat id A CodeType id 1 1 DateSouscription ss node Libell conclure Ech ance De 7 TYPECONTRAT PC 1 4 LIBELL pea 0 ser concerner couvrir Pr voir 0 1 1 PR VOIR NoDossier id n CODEGARANTIE ID NoRisque id CodeGarantie id DateOuverture D signation D ic DRE ares ee E EEE Donas R serveFinanci re Tarif GARANTIE PaiementsEffectifs CODEGARANTIE ID Classe Contrat a amp 0 Details D finition Car tendues Contrainte Ref crois es Affichage Style Administration 1 l Nom Alias 0 _ Nolnt Contrat lancer Date St r otype aucun Visibilit Publique Multiplicit El Abstraite v Persistante Terminale Racine IB g iav 4 relox O00rToTseE amp ppuvez sur F1 pour l aide lAccueilws CAP NUM SCRL 4 3 Fonctionnali
145. keting 5 Afficher tous les champs pour les employ s de nationalit luxembourgeoise Code LUX ou portugaise Code PRT SELECT FROM tblEmploy s WHERE fldNationalit LUX OR fldNationalit PReT 6 L employ Emil Meier est transf r du service Comptabilit dans le service Informatique Refl tez ce changement dans la table UPDATE tblEmploy s SET fldService Informatique WHERE fldPr nom Emil AND fldNom Meier Remarque Cette requ te peut provoquer des r sultats impr vus au cas o plusieurs employ s ont par exemple le m me nom Pour tre certain de ne pas commettre d erreur 1l faudrait d abord s lectionner tous les employ s qui s appellent Emil Meier Lorsque cette requ te ne fournit qu un seul enregistrement vous pouvez ex cuter la requ te comme indiqu en haut Par contre lorsque vous remarquez que la table contient plusieurs employ s au nom de Emil Meier v rifiez les enregistrements et retenez la valeur de la cl primaire idEmploy pour l employ que vous d sirez modifier Ensuite utilisez la valeur de 1dEmploy dans la partie WHERE de la commande UPDATE WHERE idEmploy lt valeur gt Pierre Stockreiser 120 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 Affichez tous les champs pour les employ s f minins de nationalit luxembourgeoise Code LUX ou allemande Code ALL SELECT FROM tblEmploy s WHERE fldNationali
146. la bo te de dialogue et s lectionne le bouton OK Finalement la requ te est ex cut e avec comme date la valeur entr e par l utilisateur Pierre Stockreiser 117 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 3 4 Comparaison un filtre A Parfois on ne conna t pas la valeur exacte laquelle on veut comparer la valeur d un champ Dans ce cas on peut utiliser un filtre Un filtre est une expression qui peut contenir des lettres des chiffres et en plus les 2 caract res sp ciaux angl Wildcards suivants e repr sente n importe quelle s quence de 0 ou plusieurs caract res e _ repr sente un seul caract re quelconque Exemple Pour rechercher des personnes dont le nom est SCHMITZ ou SCHMITT ou SCHMIT etc on d finit par exemple le filtre suivant SCHMI Exemple Le filtre BL_ s lectionne par exemple les valeurs BLEU ou BLUE mais pas BLANC Les filtres sont utilis s ensemble avec le mot r serv LIKE Voici la syntaxe WHERE lt Nom du champ gt LIKE lt fFiltre gt Exemples 1 Afficher le nom et le pr nom des employ s dont le pr nom contient un trait d union p ex Jean Jacques SELECT fldNom fldPr nom FROM tblEmploy s WHERE fldPr nom LIKE 2 Afficher le nom le pr nom et l ge des employ s dont le nom commence par W est compos de 5 lettres et se termine par R SELECT fldNom fldPr nom fldAge FROM tblEmploy s W
147. lationnelles 3 Affichez une liste de toutes les localit s o habite un membre dont l adresse contient l abr viation bd indiquant que le membre habite sur un boulevard 4 Affichez toutes les informations de la table rblAuteurs concernant les auteurs ayant une des nationalit s suivantes Russie RUS O 5 Effacez tous les membres n ayant pas encore effectu un pr t 6 Affichez le nom le pr nom l adresse le code postal et la localit de tous les membres habitant Luxembourg ou Esch s Alzette n ayant pas encore retourn un exemplaire emprunt 7 Affichez pour chaque livre le titre le genre la langue et le nombre d exemplaires disponibles emprunt ou non Triez la liste par ordre alphab tique sur la langue sur le genre et finalement sur le titre Le champ indiquant le nombre d exemplaires disponibles doit avoir l en t te Exemplaires disponibles Pierre Stockreiser 189 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 8 Affichez le nom et le pr nom des auteurs ayant crit un livre fran ais dont le titre contient le mot passage et dont la biblioth que poss de au moins 3 exemplaires 9 Affichez tous les livres Titre et genre de l auteur Alexandre Dumas Triez la liste par ordre alphab tique sur le titre 10 Affichez le nom le pr nom et le nombre de pr ts effectu s pour tous les membres qui habitent Esch s Alzette ou Luxembourg
148. le nombre de tickets vendus La gestion des prix pour les tickets se fait au niveau des s ances puisque le prix pour voir un m me film peut varier d une s ance une autre p ex Tarif r duit les lundis 16h00 Une s ance qui se d roule videmment dans une seule salle est identifi e par un num ro courant Cr ez le mod le conceptuel des donn es Solution Pierre Stockreiser 48 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Exercice 4 Un club de vente de livres par correspondance propose ses membres l achat d un ou de plusieurs livres via des bons de commandes Pour cela des bons de commandes ainsi qu un catalogue sont envoy s tous les membres deux fois par an Le responsable du club d sire informatiser la gestion des commandes de livres Voici titre d exemple un bon de commande IN AA Bicherwuerm S r l Commande de livres Votre num ro membre 1123578 lt Veuillez nous indiquer des changements ventuels de vos coordonn es personnelles Nom Pr nom Adresse CP Localit No T l phone Votre commande gt lt Indiquez s v p pour chaque livre le num ro ISBN et le titre voir catalogue _____ Num ro ISBN Cher membre Les livres command s vous seront envoy s le plus vite possible Une facture vous parviendra apr s livraison compl te e Au moment o un membre renvoie un bon de commande une nouvelle commande est cr e
149. les syst mes multi utilisateur il se peut que deux utilisateurs acc dent en m me temps aux m mes enregistrements d une BD sur le serveur On parle d un acc s concurrent E Employ s abie Evelyne 4 Fos Grihi Grenmeacrer 24 04 1866 m 03 156 ESD0D Lad letarkoetier Erny O Cit Liddrech Lukembsiurg C4 1568 0011 1520 60 000 Lat Cemptahit ucaite D Aw A Emeiein sch 5 Alzatte SO 1871 I5 i0 igs 54 000 Lof l taitetiry hierin T1 Cit A blii Huppordanga ar 02 1900 mg 120 ra 00 Lef Informatique Jhemp 10 Fe Permeni ue mELr 23 8 16 01 111 144 BaS Lui Comigrtaalit Emi 26 en Mnterwald Blamer 23 05 125 1510 106 49 000 Lef Informatique vi 1 Op der Areler nippchen Aran F2 07 1870 01 12 1669 0 000 L Cornptatuit Piatti 2 Cit Parquet Lusembeurg 2105140 1508 1262 80 000 La Serica du parsennel Al 3 Aus de la Gare Lusemboutg 17 06 1569 25 1372 49 009 Lat Cornptahilit Lyre 1 Cit Gudj r Coimar Berg 10126 Digi iag 0 a Service du pemen al Beori mjaf 3 eiee oi i APENES NE tf Nous supposons que les deux utilisateurs ex cutent en m me temps de fa on ind pendante l un de l autre les deux requ tes suivantes Utilisateur 1 Utilisateur 2 UPDATE Employ s SET fldSalaire fldSalaire 1 1 WHERE fldD partement Comptabilit AND fldDateNaiss lt 1 1 70 UPDATE Employ s SET fldD partement CP
150. liser des alias lorsque la m me table est utilis e plusieurs fois 2 Affichez les num ros des comptes et la valeur actuelle pour les comptes dont la valeur est sup rieure la moyenne des valeurs SELECT idCompte fldValeur FROM tblComptes WHERE fldValeur gt SELECT AVG fldValeur FROM tblComptes 3 Affichez le nom le pr nom l adresse le code postal et la localit du client qui poss de le compte avec la plus petite valeur Nous supposons qu il existe uniquement un seul compte avec la plus petite valeur SELECT fldNom fldPr nom fldAdresse fldCP fldLocalit FROM tblClients WHERE 1idClient SELECT fiClient FROM tblComptes WHERE fldValeur SELECT MIN fldValeur FROM tblComptes 4 Pour effectuer des statistiques on vous demande la requ te suivante Affichez le num ro de compte et la valeur actuelle pour les comptes dont la valeur est plus petite que la moyenne des valeurs pour les comptes dont les clients habitent au Luxembourg mais plus grande que la moyenne des valeurs pour les comptes dont les clients habitent Diekirch ou Ettelbruck SELECT idCompte fldValeur FROM tblComptes WHERE fldValeur lt SELECT AVG fldValeur FROM tblComptes tblClients WHERE fiClient idClient AND fldLocalit Luxembourg AND fldValeur gt SELECT AVG fldValeur FROM tblComptes tblClients WHERE fiClient idClient AND fldLlocalit IN Diekirch Ettelbruck Remarque Comme cet exemple nous le montre
151. m et le pr nom des clients ayant au moins 18 ans la date actuelle Nous supposons 1 ann e 365 jours Pierre Stockreiser 151 Lyc e du Nord Wiltz Informatique 13CG Exercice 3 Gestion de concerts Une agence de concerts utilise la table suivante tblConcerts Exploitation des bases de donn es relationnelles E tbiConcerts Table EE __L idConcert fidAniste fidDate E Exprimez les requ tes suivantes en langage SQL l 101 Genesis 102 Massive Attack 103 Kelly Family 104 Karel Gott 105 Bush 106 Marianne amp Michael 107 Trei Schw in 108 Deep Purple 109 Life of Agony Tiamat 110 Joe Cocker 111 Pulp 0 20 04 2005 02 06 2005 13 07 2005 15 07 2005 16 07 2005 20 07 2005 22 07 2005 02 08 2005 05 08 2005 12 08 2005 20 08 2005 20 00 Luxembourg 21 00 Luxembourg 19 00 Hupperdange 21 00 Mondorf 21 30 P tange 20 00 Dudelange 21 30 Diekirch 20 00 Bascharage 20 30 Luxembourg 20 00 P tange 21 00 Luxembourg Den Atelier D Scheier Casino 500 Centre Sportif Centre Sportif F te sous tente Hall 75 Den Atelier Centre Sportif Den Atelier Club Club Autre Hall Sportif Hall Sportif Autre Centre Culturel Club Hall Sportif Club Date fdD but fidLocalit fldTypeLieu fidPrixTicket fldPlaces stade Josy Weber Terrain de Footbal 35 00 20 O0 15 00 30 00 20 00 25 00 9 00 25 00 15 00 45 00 20 O0 fldTick
152. marque e Pour les champs ou vous ne pouvez pas du tout anticiper les valeurs et qui ne sont pas du type logique utilisez une zone de texte Nom webe Exemple L employ doit entrer le nom du client Lors de la conception d un formulaire le respect de ces quelques r gles garantit l utilisateur le principe de la saisie minimale Partout ou une s lection de valeurs pr d finies est possible l utilisateur n a pas besoin d entrer les donn es au clavier Avantages 1 La rapidit de la saisie des donn es augmente gt meilleure productivit 2 Elimination de beaucoup de sources d erreur Pierre Stockreiser 217 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 9 Les rapports angl reports 9 1 Tables des mati res 9 Les rapports angl reports 218 9 1 Tables des mati res 218 9 2 D finition 218 9 3 Cr ation d un rapport 224 9 2 D finition Avec les formulaires nous avons introduit un outil puissant pour consulter et manipuler les donn es d une BD Il est galement possible d imprimer les formulaires mais les SGBD nous offrent un outil beaucoup plus puissant en termes de fonctionnalit s pour imprimer les donn es et effectuer des calculs sur ces donn es Il s agit des rapports ou tats angl reports qui ont l avantage d tre tr s flexibles en ce qui concerne la cr ation de listes et de statistiques imprim es mais qui ne permettent pas de dialogue int
153. me informatique Le but de cette d marche est de concevoir des syst mes stables et optimis s en termes de performance de fiabilit et de convivialit Pierre Stockreiser 10 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 1 4 Les donn es les traitements et les informations Bien que les deux termes informations et donn es soient souvent utilis s comme 1 ERAS synonymes il existe une diff rence subtile entre eux Prenons un exemple Dans une librairie un client demande au vendeur si le livre L tranger Albert Camus est disponible en stock Le vendeur conseille la base de donn es de la librairie l aide de son ordinateur et confirme au client que le livre est disponible Le vendeur a donc donn au client l information que le livre est en stock Afin de pouvoir donner cette information le vendeur a d consulter les donn es qui repr sentent le stock de la librairie Le fait de consulter le stock constitue un traitement sur les donn es du stock Nous pouvons g n raliser Informations Informations Syst me d information A Un syst me d information contient les donn es et les traitements n cessaires pour assimiler et stocker les informations entrantes et produire les informations sortantes A Dans les syst mes d information nous retrouvons g n ralement les traitements suivants e Consultation des donn es e Ajout de donn es e Suppression de donn es
154. mes champs de donn es Voici titre d exemple quelques employ s d une soci t Jos Weber Antonio Da Costa Emil Feller DateNaissance 22 08 70 DateNaissance 07 12 74 DateNaissance 28 03 67 Salaire 2200 Salaire 1750 Salaire 2150 Service Comptabilit Service Informatique Service Exp dition Voici la table n cessaire pour stocker les informations concernant ces employ s dans une BD Un champ de donn es Table blEmploy s m e dee e e Un enregistrement A Propri t s des tables Pierre Stockreiser 98 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Les champs de donn es d finissent les informations qu on veut stocker dans la table p ex des informations concernant les employ s d une soci t Chaque enregistrement repr sente une occurrence de ce qu on veut stocker gt p ex un employ Chaque table poss de un nom unique p ex tblEmploy s Chaque enregistrement correspond une ligne de la table Chaque champ correspond une colonne de la table Chaque champ peut repr senter des donn es de nature diff rente Nom Salaire Date de naissance Chaque champ peut repr senter des donn es de type diff rent Texte Nombres Dates Convention des noms Il existe une convention concernant les noms des objets des BD G n ralement les noms des objets ne contiennent ni d espaces ni de caract
155. mod liser un ensemble d objets concrets ou abstraits de m me nature Dans l exemple du chapitre pr c dent la classe Entreprise sp cifie donc l ensemble des entreprises qui nous int ressent dans le contexte de notre syst me d information De m me la classe Employ repr sente tous les employ s de notre syst me d information A Une classe est caract ris e par son nom et ses attributs Repr sentation graphique lt Hom de la chasser lt ttriQut 1 lt Attriqut gt lt AttriQut 3 lt ttriQut 4 gt Prenons par exemple une classe Client NoClient id Hom Pr nom Adresse CodePostal Localit Voici quelques exemples de clients Client 3 005 Client 2 Meier 002 Virginie r rue Mathi Muller Fernand 3 objets instanciations de la classe Client L 8733 Heinerschei Jos Esch s Alzett 34 rue Principale Grevenmacher A Chacun de ces clients repr sente un objet ou une instanciation de la classe Client 1 2 2 e 7 pe Dans la litt rature on trouve galement la notion entit pour d signer une classe Pierre Stockreiser 23 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 4 3 La notion d attribut A Un attribut repr sente une donn e l mentaire d une classe Un attribut est unique dans un MCD et ne peut ainsi pas tre rattach plusieurs classes diff rentes Repr sentation graphique d un at
156. n UPDATE lt Nom de la table SET lt Nom d un champ gt valeur lt Nom d un champ gt valeur WHERE lt Crit res de s lection gt 4 Requ tes de suppression DELETE FROM lt Nom de la table gt WHERE lt Crit res de s lection gt A faire Exercice pratique Introduction SOL chap 7 2 13 Pierre Stockreiser 113 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Soit une table des employ s d une entreprise avec la structure suivante Voici le code SQL n cessaire pour effectuer quelques requ tes l mentaires 1 Afficher le pr nom et le nom de tous les employ s SELECT fldPr nom f fldNom FROM tblEmploy s 2 Ins rer une nouvelle employ e INSERT INTO tblEmploy s VALUES 20 Angela Portante ITA 27 F Comptabilit 3 25 97 A Remarques Les valeurs sont s par es par des virgules Les donn es du type TEXTE sont entour es d apostrophes Les dates sont entour es du caract re et indiqu es dans le format am ricain Mois Jour Ann e Exemple 20 4 98 gt 04 20 98 ou 4 20 98 ou 04 20 1998 ou 4 20 1998 Pierre Stockreiser 114 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 3 Afficher toutes les nationalit s repr sent es dans la soci t SELECT fldNationalit FROM tblEmploy s Quel est l inconv nient de cette requ te Soit l adaptation suivant
157. n es ne conna t pas le concept des classes reli es entre elles via des associations avec des multiphicit s Pour cela il existe un autre mod le le mod le logique des donn es MLD qui utilise essentiellement le formalisme des tables logiques Un MLD qui est toujours bas sur un MCD donn contient donc toutes les informations de ce MCD mais les repr sente l aide d un formalisme diff rent qui est tr s adapt aux structures d une base de donn es Tandis que le MCD repr sente un syst me d information d une fa on g n rale et ind pendante d un syst me informatique le MLD tient compte de la r alisation par le biais d un SGBD A Un MLD est essentiellement compos de tables logiques reli es entre elles par des fl ches Voici un exemple qui montre un MCD avec son MLD correspondant NoAuteur id Hom HNoLiwre id Titre MCD crire AUTEUR HOAUTEUR ID HOLIVRE ID HOM Baie MOATE gA TITRE MLD Pierre Stockreiser 64 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Exercice En vous r f rant l exemple pr c dent r pondez bri vement aux questions suivantes 1 Comment est ce qu on traduit une classe du MCD dans le MLD 2 Comment est ce qu on traduit un attribut d une classe du MCD dans le MLD 3 Comment est ce qu on traduit un identifiant d une classe du MCD dans le MLD 4 Comment est ce qu on traduit l associati
158. n d un syst me d information 2 Utilisation de commandes sp ciales faisant partie d un langage de d finition de donn es p ex SQL DDL Exemple Impl mentation du m me mod le logique l aide de commandes sp cifiques REM ES a a a a S a S a a E a G E a E a a E a E a i a E a E A GE a a a a REM G n ration d une base de donn es REM SQL G n rique SQL 2 REM 6 9 2004 17 03 24 REM EE E REM Nom de la base Entreprises REM Projet REM Auteur Pierre Stockreiser REM Date de derni re modification 6 9 2004 17 03 13 REM TABLE tblEntreprises REM SSSR ERERE EEE EEE EEE TS ER SR RIRES ES SR SSSR SSSR eee CREATE TABLE tblEntreprises idEntreprise INTEGER NOT NULL fldNom CHAR 20 NOT NULL fldAdresse CHAR 25 NOT NULL fldCodePostal CHAR 7 NOT NULL fldLocalit CHAR 20 NOT NULL PRIMARY KEY idEntreprise CONSTRAINT PK ENTREPRISE CREATE UNIQUE INDEX I PK ENTREPRISE ON tblEntreprises idEntreprise ASC CREATE TABLE tblEmployes idEmploye INTEGER NOT NULL fiEntreprise INTEGER NOT NULL fldNom CHAR 32 NOT NULL fldPr nom CHAR 32 NOT NULL fldDateNaissance DATE NOT NULL PRIMARY KEY idEmploye CONSTRAINT PK EMPLOY CREATE UNIQUE INDEX I_PK EMPLOY ON tblEmployes idEmploye ASC CREATE INDEX I _FK EMPLOYER ON tblEmployes fiEntreprise ASC ALTER TABLE tblEmployes ADD FOREIGN KEY fiEntreprise REFERENCES tblEntreprises idEntreprise CONSTRAINT FK EMPLOYER ON UPDATE RES
159. ner est ainsi identifi e par la combinaison d attributs NoMatricule_ id CodeClasse_ id Ann e _fid Cette combinaison doit donc tre unique pour chaque instanciation de l association Pierre Stockreiser 35 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information A Attention Une association multiplicit s 1 1 1 n est jamais repr sent e l aide d une classe association Dans ce cas les attributs en question migrent dans la classe concern e par les multiplicit s 1 1 1 Exemple Cette mod lisation n est pas correcte Facture NoFacture id Montant NoClient id Hom Pr nom Adresse ts Conc rn r Zas lt DateEmission Effectivement chaque facture ne poss de qu une et une seule date d mission ce qui fait que l attribut DateEmission doit migrer dans la classe Facture concerner Voici la mod lisation correcte NoClient id aiak concerner NoFacture id Montant DateEmission Hom Pr nom Adresse Pierre Stockreiser 36 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 4 6 Exemple KaafKaaf PARTIE 1 La soci t KaafKaaf d sire informatiser son syst me de facturation Les factures devraient se pr senter de la fa on suivante KaafKaaf S r l Facture No 12345 12 avenue Goss L 9876 Luxusbuerg Luxusbuerg le 31 08 2004 Clien
160. nom de tous les employ s du service Marketing SELECT fldPr nom fldNom FROM tblEmploy s WHERE fldService Marketing Remarque Les crit res du type texte sont insensibles la casse des caract res 2 Afficher le pr nom le nom et l ge de tous les employ s plus jeunes que 50 ans SELECT fldPr nom fldNom fldAge FROM tblEmploy s WHERE fldAge lt 50 PA Quel probl me se pose lorsqu on ex cute cette m me requ te encore une fois un an plus tard Cette requ te ne refl te plus la situation correcte puisque l ge d une personne augmente chaque ann e Pierre Stockreiser 116 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Pd Comment peut on viter un tel probl me d s le d part d j lors de la conception des tables Mieux vaut pr voir un champ avec la date de naissance 3 Augmentez de la valeur 1 l ge de Madame Angela Portante UPDATE tblEmploy s SET fldAge fldAge 1 WHERE fldNom Portante Remarque Cette requ te peut provoquer des r sultats impr vus au cas o plusieurs employ s ont par exemple le m me nom Pour tre certain de ne pas commettre d erreur il faudrait d abord s lectionner tous les employ s qui s appellent Portante Lorsque cette requ te ne fournit qu un seul enregistrement vous pouvez ex cuter la requ te comme indiqu en haut Par contre lorsque vous remarquez que la table contient plusieurs employ s au nom de Portante
161. nom du client ne doit pas d passer 25 caract res Un num ro de compte doit respecter le format X XXX XX X Pierre Stockreiser 200 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 2 Un champ peut avoir un domaine de valeurs pr d fini une plage de valeurs possibles et ou une valeur par d faut Exemples Une note d un devoir en classe doit tre entre O et 60 Le prix d une facture ne doit pas tre un nombre n gatif La date d une commande doit automatiquement tre la date actuelle moins que l utilisateur n entre une autre date 3 La valeur d un champ peut limiter les valeurs possibles pour un autre champ d une table d une BD Exemple La valeur du champ fdDatePaiement est sup rieure ou gale la valeur du champ fldDateFacture pour une table rblFactures M thodes pour v rifier cette contrainte d int grit dans un SGBD En principe tout SGBD moderne devrait offrir des moyens pour sp cifier les propri t s d un champ de table en tenant compte des contraintes ci dessus 1 6 3 Exercices Exercice 1 Soit la BD suivante Relationships Facture fi lient fldDate Facture fvtice fldQuantit fldLocalit dtid FldLibell FldFrixUnitaire a Quelle s contrainte s est sont concern e s lors de l ajout d un client b Quelle s contrainte s est sont concern e s lors de la suppression d un chent Pierre Stockreise
162. nous offrent certains avantages en ce qui concerne la facilit d utilisation mais galement la s curit des donn es Exemple La secr taire du chef du personnel utilise un formulaire pour ajouter ou supprimer un employ de la BD Ce formulaire lui permet galement de modifier les donn es d un employ Pierre Stockreiser 86 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Employ s Hom witz Pr nom Evelune Adresse 24 Rue Grohl Localit Grevenmacher Ciat _halss 4 02 1 J66 ate_entr e j 03 1996 Salaire mensuel 65 000 Luf partement Marketing Record 14 4 Th LULA of 10 4 Souvent on veut imprimer des statistiques concernant certaines donn es d une BD C est ici qu interviennent les rapports Les rapports sont similaires aux formulaires la diff rence pr s qu ils sont uniquement destin s tre imprim s et qu il n y a pas de dialogue interactif avec l utilisateur Un rapport se base g n ralement sur une ou plusieurs tables ou bien le r sultat d une requ te Exemple A la fin de chaque mois le chef du personnel re oit un rapport avec pour chaque d partement la liste des employ s leur salaire mensuel ainsi que le salaire mensuel total pay par d partement Salaires mensuels D partement salame mensuel Comptabilit 49 000 Luf 60 000 Luf 69 500 Luf 70 000 Luf Summary for D patement Comptabilit 4 d tailrecordsi Sur 248 500
163. ns l en t te sont stock es dans la d finition du rapport Pierre Stockreiser 221 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Chaque rapport est compos de contr les Puisque les rapports ne sont pas pr vus pour le dialogue interactif avec l utilisateur ils contiennent dans la plupart des cas seulement 3 types de contr les Nom du contr le Zone de texte Affiche les donn es de la BD ainsi angl Text Box que les r sultats de calculs sur ces donn es Les zones de textes constituent les contr les les plus importants et les plus utilis s dans les rapports Etiquette Affiche du texte fixe angl Label Etat du stock flrenre Langue Histoire Contr les graphiques Ces contr les dont le seul but est angl Graphical l am lioration de la pr sentation A Controls des rapports peuvent tre de types S NOR diff rents comme par exemple des lt TRADERS lignes des l ments graphiques kog l mentaires tels que carr s ou P Che Potali W Juin Ants WA Go rectangles mais galement des Phone HIOGSSS AIT Fax l 206555 3033 images import es N anmoins beaucoup de SGBD pr voient galement l utilisation d autres contr les comme par exemple les boutons d options ou les cases cocher Convention des noms Les noms des rapports sont pr c d s du pr fixe rpt angl report Pierre Stockreiser 222 Lyc e du Nord Wiltz Informatique 1
164. nstatez vous en ce qui concerne les valeurs des champs f dPlaces et fldTickets Vendus pour l enregistrement 103 voir exemples d enregistrements 12 Affichez la liste des localit s l exception de Luxembourg dans lesquelles ont eu lieu au moins 2 concerts pendant la deuxi me moiti de l ann e 2005 Indiquez pour chaque localit le nombre de concerts En vous basant sur l ensemble de donn es dans l nonc indiquez le r sultat de la requ te dans la grille fldLocalit Nombre de concerts D 13 Le concert num ro 108 voir exemples d enregistrements aura lieu au club Den Atelier Luxembourg la date et l heure pr vues initialement Les tickets d j vendus gardent leur validit et le prix d un nouveau ticket ne change pas Effectuez les modifications correspondantes dans la table Pierre Stockreiser 155 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Pierre Stockreiser 156 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 4 Les requ tes SQL multitable La plupart des BD r elles ne sont pas constitu es d une seule table mais d un ensemble de tables li es entre elles via certains champs voir Chapitre 6 4 Par cons quent les requ tes correspondantes ne sont pas cibl es sur une mais sur plusieurs tables Nous allons diff rencier 2 m thodes pour lier plusieurs tables dans une requ te 1 La jointure qui lie plusieu
165. ntient une BD locale la plupart des syst mes d exploitation pr voient deux types de mot de passe 1 Un mot de passe pour d marrer le PC angl Power On Password 2 Un mot de passe coupl un conomiseur d cran angl Screen Saver Password Pour les serveurs BD quelques mesures suppl mentaires telles que l emplacement dans une salle prot g e par une cl lectronique s imposent Avantages L existence d un mot de passe au niveau du syst me d exploitation augmente le niveau de s curit du syst me D savantage Un utilisateur doit indiquer son nom d utilisateur ainsi que son mot de passe deux fois la premi re fois pour acc der au syst me d exploitation et la deuxi me fois pour acc der la BD l aide du SGBD Certains SGBD sont cependant capables de reconna tre le nom d utilisateur ainsi que le mot de passe indiqu au syst me d exploitation et de le reprendre lorsque l utilisateur veut acc der une BD programme affichant une animation l cran qui s ex cute automatiquement apr s un nombre pr d fini de minutes sans activit de l utilisateur Pierre Stockreiser 232 Lyc e du Nord Wiltz Informatique 13CG Protection des donn es 10 5 Les incoh rences et pertes de donn es accidentelles 10 5 1 D finition A Par incoh rence accidentelle on entend toute coupure non intentionnelle des liens logiques entre les donn es d une BD Exemple d une incoh rence accidentelle Dans
166. nts vous devez afficher un groupe pour chaque agent En vous basant sur les donn es des tables indiquez le r sultat de la requ te dans la grille 7 En vous basant sur les donn es de l nonc expliquez pour la requ te suivante les tapes d ex cution en pr cisant chaque fois les r sultats interm diaires Pierre Stockreiser 179 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Etape 1 Produit cart sien idContrat fldD but fidFin fldPrime fldPays fiAgent fiClient ARE fldPr nom fldAdresse fldCP fldLocalit fldNoTel PESE 1000 22 07 2005 03 08 2005 2300 France 2 1 Pezzotto Alfredo 23 rue de Mamer 6555 Capellen 238987 1000 22 07 2005 03 08 2005 2300 France 2 10 2 Kremer Pierre 2 bvd de la libert 9980 Luxembourg 228890 Yes 1001 12 07 2005 22 07 2005 1750 Italie 1 11 1 Pezzotto Alfredo 23 rue de Mamer 6555 Capellen 238987 No 1001 12 07 2005 22 07 2005 1750 Italie 1 11 2 Kremer Pierre 2 bvd de la libert 9980 Luxembourg 228890 Yes 1002 19 07 2005 18 08 2005 4500 Belgique 1 11 1 Pezzotto Alfredo 23 rue de Mamer 6555 Capellen 238987 No 1002 19 07 2005 18 08 2005 4500 Belgique 1 11 2 Kremer Pierre 2 bvd de la libert 9980 Luxembourg 228890 Yes Etape 2 Application de la condition de jointure fiAgent idAgent idContrat fldD but fidFin fidPrime fldPays fiAgent fiClient EE RAR fldPr nom fldAdresse fldCP fldLocalit fldN
167. oTel AAAS 1000 22 07 2005 03 08 2005 2300 France 2 1 Pezzotto Alfredo 23 rue de Mamer 16555 Capellen 238987 1000 22 07 2005 03 08 2005 2300 France 2 10 2 Kremer Pierre 2 bvd de la libert 9980 Luxembourg 228890 Yes 1001 12 07 2005 22 07 2005 1750 Italie 1 11 1 Pezzotto Alfredo 23 rue de Mamer 6555 Capellen 238987 No 1001 12 07 2005 22 07 2005 1750 Italie 1 11 2 Kremer Pierre 2 bvd de la libert 9980 Luxembourg 228890 Yes 1002 19 07 2005 18 08 2005 4500 Belgique 1 11 1 Pezzotto Alfredo 23 rue de Mamer 6555 Capellen 238987 No 1002 19 07 2005 18 08 2005 4500 Belgique 1 11 2 Kremer Pierre 2 bvd de la libert 9980 Luxembourg 228890 Yes idContrat fldD but fidFin fldPrime fldPays bass fiClient je bas en Pl fldPr nom fldAdresse fldCP fidLocalit fldNoTel is rates 1000 22 07 2005 03 08 2005 2300 France 2 Kremer Pierre 2 bvd de la libert 9980 Luxembourg 228890 1001 12 07 2005 22 07 2005 1750 Italie 1 11 1 Pezzotto Alfredo 23 rue de Mamer 6555 Capellen 238987 No 1002 19 07 2005 18 08 2005 4500 Belgique 1 11 1 Pezzotto Alfredo 23 rue de Mamer 6555 Capellen 238987 No Pierre Stockreiser 180 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Etape 3 Application du crit re de s lection fldAgentG n ral NO idContrat fldD but fidFin fldPrime fldPays Macs fiClient TERENE fldPr nom fldAdresse fldCP fldLocalit fldNoTel EAEN 1000 22 07 2005 03 08 2005 2
168. od lisation d un syst me d information 3 5 2 5 Transformation des associations ternaires A On cr e une table suppl mentaire portant le nom de l association ternaire et ayant comme cl primaire une cl compos e des cl s primaires de toutes les tables reli es Cette r gle s applique de fa on ind pendante des diff rentes multiplicit s Lorsque l association contient elle m me des attributs classe association ceux ci deviennent attributs de la table suppl mentaire Un attribut d une classe association qui fait parti de l identifiant devra appartenir la cl primaire compos e de la table suppl mentaire CodeProf id Nom Pr nom CODEPROF ID CODEMATIERE ID NOM ID PROFESSEUR CODEPROF ID NOM PR NOM CODEMATI RE ID LIBELL Mati re CodeMati re id Libell Nom id Cycle La table ENSEIGNER contient une cl compos e de CODEPROF ID CODEMAT I RE ID et NOM ID Exemple 2 PROFESSEUR CODEPROF ID NOM PR NOM CODEPROF ID CODEMATI RE ID NOM ID ANN E ID CODEMATI RE ID LIBELL Professeur CodeProf id Mati re CodeMati rel id Libell La table ENSEIGNER contient une cl compos e de CODEPROF ID CODEMAT I RE ID NOM ID et ANNEE ID Exemple 3 Enseigner Date id Heure CODEPROF ID CODEMATIERE ID PROFESSEUR CODEPROF ID NOM Code
169. oindre probl me Les r seaux informatiques modernes permettent un acc s transparent plusieurs serveurs BD et ceci m me de fa on simultan e Une partie de la capacit de travail est partag e entre les serveurs et les clients ce qui cr e un certain quilibre Une panne du serveur n emp che pas n cessairement tous les utilisateurs de travailler avec l outil informatique Certains travaux peuvent tre ex cut s sans connexion au serveur L architecture Client Serveur reposant sur les syst mes ouvert offre en plus l avantage qu il existe toute une panoplie de logiciels standard ce qui cr e un march multivendeur et une offre de produits quilibr e Exemples de SGBD Client Serveur C t serveur Oracle Sybase IBM Informix MS SQL Server MySQL C t client Paradox Personal Oracle MS Access Filemaker Pierre Stockreiser 97 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 6 Les tables angl tables 6 1 Table des mati res 6 Les tables angl tables 98 6 1 Table des mati res 98 6 2 D finition 98 6 3 Les champs d une table 101 6 4 Cl primaire 103 6 5 Relations entre tables cl trang re 106 6 6 Index 107 6 2 D finition A Une table est une collection de donn es relatives un domaine bien d fini par exemple les employ s d une soci t ou les livres d une biblioth que Elle contient des enregistrements dont chacun est compos par les m
170. om fldAge fldService FROM tblEmploy s WHERE fldService IN Comptabilit Informatique Vente Formulez une requ te qui affiche exactement le m me r sultat sans utiliser l op rateur IN SELECT idEmploy fldNom fldAge fldService FROM tblEmploy s WHERE fldService Comptabilit OR fldService Informatique OR fldService Vente 2 Afficher tous les champs pour les employ s masculins g s d au moins 30 ans qui ne sont pas de nationalit luxembourgeoise Code LUX portugaise Code PRT allemande Code ALL ou italienne Code TT A SELECT FROM tblEmploy s WHERE fldSexe M AND fldAge gt 30 AND fldNationalit NOT IN LUX PRT ALL ITA Pierre Stockreiser 126 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 3 9 D finir l ordre d une requ te de s lection L ordre obtenu dans la r ponse d une requ te de s lection a t laiss jusqu maintenant au pur hasard A L expression ORDER BY nous permet de d finir convenablement l ordre d apparition des enregistrements qui v rifient les crit res de s lection de la requ te Voici la syntaxe SELECT lt Nom d un champ gt lt Nom d un champ gt FROM lt Nom de la table gt WHERE lt Crit res de s lection gt ORDER BY lt Nom d un champ gt ASC DESC lt Nom d un champ gt ASC DESC Par d faut l ordre de tri est ascendant ASC donc vous n avez pas n cessairement besoin d indiqu
171. on crire avec ses multiplicit s du MCD dans le MLD 5 Le MCD nous dit que chaque livre est uniquement crit par un seul auteur multiplicit max tandis qu un auteur peut crire plusieurs livres Comment est ce qu on peut retrouver ces informations dans le MLD Pierre Stockreiser 65 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 5 2 R gles de transformation du MCD au MLD Nous allons d finir les r gles de transformation pour le passage du MCD au MLD en respectant les diff rents cas qui se posent 3 5 2 1 Transformation des classes A Toute classe est transform e en table Les attributs de la classe deviennent les attributs de la table L identifiant de la classe devient la cl primaire de la table La cl primaire est soulign e Exemple Classe Entreprise Table Entreprise identifiant NoEntreprise id HOENTREPRISE ID Adresse ADRESSE CodePostal CODEPOSTAL LOCALIT Lettres majuscules Cl primaire Localit 3 5 2 2 Transformation des associations binaires du type x x 1 Rappel Les multiplicit s d une classe sont inscrites A Afin de repr senter l association on duplique la cl primaire de la table bas e sur la classe multiplicit x dans la table bas e sur la classe multiplicit x 1 Cet attribut est appel cl trang re La cl trang re est crite en couleur Les deux table
172. onsulte uniquement l index pour retrouver le bon nom pour ensuite utiliser la r f rence de l index vers l enregistrement correspondant de la table Un index peut aussi comporter plusieurs champs comme par exemple fldService et fldNom A Propri t s importantes des index Un index est toujours li un ou plusieurs champs d une table Un index peut seulement contenir des champs ayant un des types de donn es Texte Num rique ou Date Heure Un index est automatiquement mis jour par le SGBD lors d un ajout d une modification ou d une suppression d enregistrements dans la table Ceci est transparent pour l utilisateur de la BD Il existe deux types d index Index avec doublons Les valeurs doubles sont permises 2 Index sans doublons Les valeurs doubles ne sont pas permises Pierre Stockreiser 107 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Voici quelques r gles qui nous aident d terminer les champs d une table qui ont besoin d tre index s La puissance des index joue uniquement pour des tables qui contiennent beaucoup d enregistrements Consultez la documentation de votre SGBD afin d avoir des pr cisions Un champ sur lequel on ne fait que rarement ou pas du tout de recherche ou de tri n a pas besoin d index Les champs r f renc s fr quemment dans les recherches et tris doivent par contre tre index s Pour les index multi champs 1l faut veiller ce que la
173. ormation Un professeur est caract ris par un code interne unique p ex Jemp Muller aura le code JEMU son nom et pr nom et la mati re qu il enseigne Nous supposons que chaque professeur enseigne une seule mati re e Mod lisez le fait que chaque classe est enseign e chaque ann e par un ou plusieurs enseignants Un enseignant peut bien s r donner des cours dans plusieurs classes mais peut galement ne pas donner des cours pendant une ou plusieurs ann es Pierre Stockreiser 40 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Pierre Stockreiser 41 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 4 8 L utilisation d une association ternaire Lors de l introduction des associations voir chapitre 3 3 5 1 nous avons d j mentionn la notion d association ternaire Une association ternaire est une association li e 3 classes Bien que dans la pratique la plupart des associations soient binaires 2 classes il existe cependant des situations o l utilisation d une association ternaire s impose Exemple A partir des 3 classes Professeur CodeProf_ id Nom Pr nom Mati re CodeMati re_ id Libell et Classe Nom_ id Cycle il s agit de cr er un MCD qui renseigne sur le fait quelle mati re est enseign e dans quelle classe par quel professeur pour une ann e scolaire donn e Exercice Essayez de montrer les limites d fauts d
174. ormations suivantes e Marque e Mod le e Cylindr e e Poids Il est vident que les informations sont de types diff rents Tandis que la marque et le mod le sont repr sent s par des cha nes de caract res p ex Ford BMW la cylindr e et le poids sont repr sent s par des valeurs num riques Voici titre d exemple une table qui repr sente les taxis dans une BD Cylindr e Poids 2500 1360 1800 1080 2000 1200 Afin de pouvoir repr senter des donn es de types diff rents les SGBD offrent des types de donn es standard pour les champs de donn es Voici les types de donn es connus par la plupart des SGBD Type de donn es Description Date Heure Date et heure Valeur bool enne Seulement les 2 valeurs Oui Non Yes No sont possibles Texte Cha nes de caract res Num rique Nombres entiers ou d cimaux M mo Documents textes longs Consultez le manuel d utilisation de votre SGBD pour trouver des informations plus d taill es concernant les types de donn es support s Remarque Les nombres qui ne sont pas utilis s lors de calculs num riques p ex No T l sont g n ralement repr sent s l aide du type de donn es Texte Convention des noms Les noms des champs sont pr c d s du pr fixe fld angl field Par exemple fldMarque fldMod le Pierre Stockreiser 101 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles J Exer
175. ote un syst me dans lequel plusieurs disques durs sont g r s par un contr leur sp cifique qui r partit les donn es de telle fa on sur les disques de mani re ce que l on puisse changer l un des disques sans qu il y ait perte de donn es Les derni res versions de contr leur permettent m me le hot swapping c d l change d un disque d fectueux sans arr ter le syst me Pierre Stockreiser 238 Lyc e du Nord Wiltz Informatique 13CG Annexes 11 Annexes 11 1 Bibliographie D Nanci B Espinasse Ing nierie des syst mes d information 3 Edition Edition Sybex ISBN 2 7361 2209 7 P A Goupille J M Rousse Analyse informatique Edition Masson ISBN 2 225 84167 5 Christian Soutou De UML SQL Edition Eyrolles ISBN 2 212 11098 7 J M Jans Mod lisation conceptuelle des donn es avec le mod le des classes UML Edition O Reilly ISBN 2 84177 054 0 H F Korth A Siberschatz Syst mes de gestion des bases de donn es Edition McGraw Hill ISBN 2 7042 1170 1 P Bilke Start mit Datenbanken und SQL Edition KnowWare ISBN 3 931666 19 4 N Boudjlida Bases de donn es et syst mes d information Support de cours Universit de Nancy 1 Facult des Sciences D partement informatique El S Roman 5 Bases de donn es MS Access Conception et programmation Pierre Stockreiser 239 Lyc e du Nord Wiltz Informatique 13CG Annexes J L Viescas Running Access 2 Ed
176. oupe ne devra en aucun cas contenir seulement des informaticiens mais galement e Unou plusieurs repr sentants des futurs utilisateurs du syst me informatis Par exemple Un employ du service qui g re les sinistres e Unou plusieurs repr sentants de chaque d partement impliqu Par exemple Un employ du service des contrats e Un repr sentant de la direction G n ralement un responsable du groupe angl Project Manager est nomm afin de coordonner les travaux effectu s par le groupe et de suivre le d roulement partir de l analyse jusqu la mise en place du syst me informatis Pierre Stockreiser 13 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 2 3 Les tapes Chaque projet d informatisation qu il soit ex cut par une seule personne ou g r par un groupe d tude pr voit plusieurs tapes En g n ral nous avons les tapes suivantes 1 Analyse de la situation existante et des besoins 2 Cr ation d une s rie de mod les qui permettent de repr senter tous les aspects importants 3 A partir des mod les impl mentation d une base de donn es Microsoft Access Fie Edit View Insert Format Records Tools window Help x Blars slee a El a px aja e Tables Queries Forms D Reports Macros amp Modules amp Livres d une biblioth que Of x 33344 Open Teach yourself Java in 21 days Charles Perkins
177. p keta I W RT har n a NH VAT Arr Da 1 EL ns D 0 Ch AMBULANCIER naa Pracigal 5 1 am Wee ODEAMBULANCIER Se see EFFECTUER c oo NOM paeem a DATENAISSANCE CODEAFBULANCIER ADRESSE LOCALIT oo NOINTERYENTION NOMATRICULE ADRESSE DATE LOCALIT LOCALIT UTILISER NOINTERVENTION NOIMMAT Dantes ven me e EFEN KMD PART KMARRIV E JaMBULANC 1 NOIMMAT MARQUE CYLINDR E DATEACHAT Pierre Stockreiser 12 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 2 D marche de mod lisation des donn es 2 1 Table des mati res 2 D marche de mod lisation des donn es 13 2 1 Table des mati res 13 2 2 Le groupe d tude angl Project group 13 2 3 Les tapes 14 2 4 Sources d information 15 2 2 Le groupe d tude angl Project group Un syst me d information qui n est pas trop complexe et volumineux en termes d informations peut facilement tre informatis par une seule personne qui ne doit pas n cessairement tre un informaticien Il suffit d tre un peu familiaris avec une m thode de mod lisation et de savoir manipuler un SGBD pour r aliser une impl mentation informatique coh rente et fonctionnelle d un tel syst me d information D s que le syst me d information atteint une certaine envergure par exemple informatiser la gestion des sinistres d une compagnie d assurances un groupe d tude est g n ralement cr Ce gr
178. pri taire de ce compte C est ici qu intervient la condition de jointure qui limine du produit cart sien les enregistrements ne donnant pas de sens logique dans le contexte de la requ te Apr s avoir r alis le produit cart sien SQL limine tous les enregistrements qui ne correspondent pas la condition de jointure de la clause WHERE donc tous les enregistrements pour lesquels l expression logique fiClient idClient n est pas vraie Pierre Stockreiser 160 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Voici le r sultat de l application de la condition de jointure fldValeur _ _ fiClient _idClient fldNom fldpr nom 101 20000 3 3 Muller Ketty 106 48000 2 2 Weber Jos 112 9000 3 3 Muller Ketty 125 5000 1 1 Pegaso Emilio 3 Finalement SQL affiche uniquement les champs indiqu s dans la clause SELECT fldValeur_ fldNom 101 20000 Muller 106 48000 Weber 112 9000 Muller 125 5000 Pegaso 7 4 1 2 Cr ation d une jointure A Pour cr er une jointure on doit e Indiquer dans la clause FROM les noms des tables impliqu es e Pr ciser dans la clause WHERE une condition de jointure e Indiquer dans la clause SELECT les noms des champs afficher La condition de jointure sp cifie g n ralement mais pas n cessairement une galit entre une cl trang re d une table et la cl primaire d une table correspondante Pierre Stockreiser 161 Lyc e du Nord Wiltz Info
179. qu tes imbriqu es Exercices SQL 7 5 La m thode QBE 7 6 Les contraintes d int grit 7 6 1 7 6 2 7 6 3 D finition Les types de contraintes d int grit Exercices 7 2 D finition Exploitation des bases de donn es relationnelles 109 109 109 112 112 113 116 118 119 122 125 126 127 130 131 133 138 157 158 165 169 177 197 199 199 199 201 Nous avons vu que la plupart des SGBD offrent la possibilit d effectuer des recherches directement dans les tables Les possibilit s de formuler des crit res de recherche sont cependant souvent assez limit es Heureusement la plupart des SGBD nous offrent galement la possibilit de poser pratiquement n importe quelle question nos tables sous forme de requ tes Les requ tes servent donc r pondre aux questions bas es sur le contenu d une ou de plusieurs tables Nous allons plus tard tudier des requ tes qui se basent sur plusieurs tables mais pour l instant nous allons nous limiter aux questions simples bas es sur une seule table Exemple Reprenons notre table avec les taxis Pierre Stockreiser 109 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles fldMarque fld Mod le fldCylindr e fld Poids 2500 1360 1800 1080 2000 1200 Une requ te simple serait par exemple Quelles sont les marques et mod les des voitures ayant une cylindr e sup rieure 2000 Le r sul
180. r Le micro comment ga 57296 Ron White MS Access 3 0 34000 Ken caz Movell Hetware 4 1 T d44 Piere Godefroid Teach yourself Java in 21 33344 Charles Perkins Pierre Stockreiser urene Histoire Histoire uiente F oman Roman Roman F oman aiene fidPrix fidEnStock 1074 1436 Exenphiires en stock fidPrix fidEnStock En t te TETE i D tail 245 459 Pied Exerrplares en stock flPrix fldEnStock Technique 24 Technique 1377 Technique 1135 Technique 1065 219 Exerrplasres en stock Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Exemple 3 Dans ce rapport les livres sont group s par genre et l int rieur d un genre par langue Chaque groupe est donc d fini par le genre et la langue Etat du stock fi lire laure fautes diente fidPrix Der letzte zar 75999 Haus Werheim Histoire 107 4 Der r ll des Souetimpe 8227 Meeji Kolimow Histoire 146 Exemplaires en stock ilire ilire fldAuieur facenre dfris Die Prifung 38366 F Paul Wilson Roman Dracula 99532 Bram Stoker Roman A Roter Drache TTT Thomas Harns Roman 459 Exemplaires en stock fi lire lwre fdAneur fiente JfiaPrix l homme juste res Raymond Peron Roman 245 Exemplaires en stock fa lire ilire fuient iente fiadPrix MS Access 2 0 SO Ken Get Technique 1377 Teach yourself Jawa in 21 33344 Chades Perkins Technique 1065 Exemplaires en stock filtre ilir
181. r nom Fonction Exemple 01 Degrand Paul directeur g n ral 07 Dupond 09 Faber Gilles 12 Weiler Jean Claudine directeur Pierre directeur secr taire informatique commercial 18 Klein 02 Schreiner Fr deric Sophie analyste comptable 15 Meyers Jean programmeur Pierre Stockreiser 57 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 4 10 3 Agr gation de composition Certaines classes ont une existence compl tement d pendante d une autre classe Ainsi une classe A est compl tement d pendante d une classe B c d qu un objet de la classe A ne peut pas exister sans tre reli un et un seul objet de la classe B si les multiplicit s concernant la classe A sont 1 1 1 Exemple 1 NoProjet id Hom A contenir DateDebut La classe T che est compl tement d pendante de la classe Projet Une t che ne peut pas exister sans tre reli e un et un seul projet L exemple ci dessus repr sente en plus de cette d pendance encore la notion de composition En effet un projet est compos de t ches La suppression d un projet entra ne la suppression de toutes les t ches qui le composent Dans ce cas on peut utiliser une agr gation de composition qui est repr sent e en UML par un losange noirci du c t de la classe Projet contenir Ainsi une t che n est plus identifi e uniquement par un NoT che_ id mais par une combinaison NoProjet_ i
182. r sultat simplifi d une analyse faite aupr s d une compagnie d assurance qui d sire informatiser la gestion des contrats auto e Un client peut assurer plusieurs voitures aupr s de la compagnie Chaque voiture est assur e par un seul contrat Un contrat assure une seule voiture e En ce qui concerne un client la compagnie d sire conna tre son nom pr nom adresse compl te num ro de t l phone ainsi qu un num ro de compte bancaire avec indication de la banque Un client est consid r comme tel partir de son premier contrat e Chaque contrat contient un num ro de contrat unique la prime annuelle payer la date de paiement annuel la marque de la voiture le mod le de la voiture le num ro d immatriculation de la voiture la valeur de la voiture et la date d acquisition de la voiture En ignorant la m thode de mod lisation on pourrait cr er une BD avec une seule table ayant un champ pour chaque donn e indiqu e dans l analyse On aurait donc les donn es des clients et des contrats dans une seule table Quels en seraient les inconv nients Cr ez le mod le conceptuel des donn es correspondant cette situation Solution Pierre Stockreiser 46 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Exercice 2 Le responsable d un magasin de location de DVD d sire informatiser le syst me de gestion des locations Voici les informations recueillies pendant l analyse e Un membre e
183. r teur QBE Interpr te les sp cifications Utilisateur entre QIBE et les transforme en code R sultat dhil l Hrz Hdr hdGenre F2 Ta heal eH SH un al j h lin i in H Moteur SOL Re cn ane D ne Ex cute les requ tes SOL ae un Tli mns 4 x et retourne le r sultat suua Bur Suku L PR er e zme adil z E e e ECOLE RCE RE Pe RAS t s Mist CIS omne ler MER ea ao T Pierre Stockreiser 198 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 6 Les contraintes d int grit 7 6 1 D finition Une mod lisation correcte et coh rente est sans doute une condition n cessaire pour cr er une BD fonctionnelle mais ne vaut pas grande chose lorsque le SGBD utilis pour impl menter la base ne garantit pas l int grit de celle ci lors du travail journalier avec les donn es Contrairement aux requ tes de s lection qui ne modifient pas le contenu d une base de donn es les requ tes d insertion de modification et de suppression peuvent par leur nature endommager l int grit des donn es Pour viter ce cas les SGBD nous offrent le m canisme de v rification automatique des contraintes d int grit A Les contraintes d int grit constituent l ensemble des r gles qui v rifient que les donn es d une BD e correspondent tout moment aux pr misses d finies par la mod lisation de la base e sont tout moment coh rentes c est dire sans perte d information et sans con
184. r 201 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles c Quelle s contrainte s est sont concern e s lors de l ajout d une facture d Quelle s contrainte s est sont concern e s lors de la suppression d une facture e Quelle s contrainte s est sont concern et s lors de l ajout d un enregistrement dans la table blConcerne Par quel moyen est ce que le SGBD peut v rifier le domaine de valeurs du champ fldQuantit f Quelle s contrainte s est sont concern e s lors de la suppression d un enregistrement de la table blConcerne g Quelle s contrainte s est sont concern e s lors de la modification du num ro d un article dans la table des articles h Quelle s contrainte s est sont concern e s lors de la modification du num ro client d une facture Pierre Stockreiser 202 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Exercice 2 Soit la BD suivante Pr t fiExemplaire fiMembre fldDatePr t fldDateRetour filivre fldDate chat fldfJom fldPr nann fld dresse FldEF fldLacalit Pour chaque relation la v rification de la contrainte d int grit r f rentielle est activ e en mode Interdiction l exception de la relation entre les tables tblMembres et tblPr ts o la contrainte est activ e en mode Cascade pour la suppression et la modification Voici les donn es
185. r en SELECT fldNom fldPr nom FROM tblClients WHERE idClient 2 Cette requ te retourne finalement le nom et pr nom du client correspondant c d Weber Jos A La requ te imbriqu e doit renvoyer au maximum une seule valeur Si tel n est pas le cas SQL ne pourra pas ex cuter la requ te de niveau sup rieur et g n re un message d erreur Dans la clause WHERE de la requ te de niveau sup rieur le r sultat de la requ te imbriqu e doit obligatoirement tre compar un champ de type de donn es compatible avec la valeur retourn e Utilisez un des op rateurs lt gt lt gt lt gt Comme la requ te imbriqu e doit retourner une seule valeur on utilise souvent des fonctions d agr gation dans la clause SELECT de la requ te imbriqu e On peut avoir plusieurs niveaux d imbrication de requ tes Une requ te imbriqu e peut donc d j se baser sur le r sultat d une autre requ te imbriqu e Une requ te imbriqu e peut galement tre utilis e dans une clause HAVING Pierre Stockreiser 170 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Exemples Reprenons les 3 tables tblComptes tblClients et tblAgences 1 Affichez le num ro du des compte s avec la plus grande valeur SELECT idCompte FROM tblComptes WHERE fldValeur SELECT MAX fldValeur FROM tblComptes Remarque Dans une requ te imbriqu e vous n avez pas besoin d uti
186. rcice Discutez les avantages et d savantages d une gestion de donn es informatis es l aide d un SGBD et comparez cette gestion la gestion non informatis e Voici quelques points de r flexion Avantages e Possibilit de g rer efficacement des volumes de donn es assez importants e Les SGBD assurent la coh rence et l int grit de ces donn es lors des diff rentes manipulations e Ex cution rapide des interrogations des utilisateurs d une BD D savantages resp risques e Protection de certaines donn es contre l abus et le piratage informatique e Les SGBD constituent seulement un outil tandis que le concepteur d une BD doit utiliser les fonctions du SGBD pour impl menter les donn es d une fa on nettement structur e Le simple fait d utiliser un SGBD pour stocker des donn es ne garantit pas n cessairement une BD bien structur e qui permet une exploitation optimale Il existe des concepts et des technologies relatifs la cr ation et l exploitation optimale d une BD Pierre Stockreiser 83 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 5 3 Un peu d histoire Avant les ann es 70 la plupart des syst mes qui permettaient de g rer des grands volumes de donn es d une fa on plus ou moins coh rente taient bas s sur de simples fichiers s quentiels Ces syst mes de gestion de fichiers SGF s av raient particuli rement limit s lorsqu il s agissait d
187. rents ni avoir une quantit gt l pour un seul article ou Pierre Stockreiser 186 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Pierre Stockreiser 187 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Exercice 6 Biblioth que Une biblioth que utilise la BD suivante tbl uteurs fldiationalit tbl uteurLivre R uteur Hire tblLivres fiExemplaire fiMembre FdDatePr t tbIE semplaires PSS tr thlMernbres Filivre Fido fdDate chat fldPr nam fld dresse Fld P fldLocalit Remarques Un auteur peut r diger plusieurs livres et un livre peut tre r dig par plusieurs auteurs La biblioth que peut disposer de plusieurs exemplaires du m me livre Un pr t concerne un seul exemplaire d un livre Le champ fldDateRetour de la table tblPr ts reste ind termin NULL tant que l exemplaire emprunt n a pas t retourn la biblioth que Formulez en SQL les requ tes suivantes 1 Affichez le num ro le titre et le genre de tous les livres allemands Code ALL Classez la liste par ordre alphab tique sur le genre p ex Roman avant Technique et l int rieur d un genre par ordre ascendant sur les num ros 2 Affichez une liste tri e par ordre alphab tique de tous les genres de livres disponibles Pierre Stockreiser 188 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es re
188. requ te imbriqu e Exemples Reprenons les 3 tables tblComptes tblClients et tblAgences 1 Affichez les num ros des comptes qui sont g r s par une agence situ e Luxembourg SELECT idCompte FROM tblComptes WHERE fiAgence IN SELECT idAgence FROM tblAgences WHERE fldLocalit Luxembourg 2 Affichez le nom et le pr nom de tous les clients ayant un compte g r par une agence situ e Luxembourg ou Esch s Alzette SELECT fldNom fldPr nom FROM tblClients WHERE idClient IN SELECT fiClient FROM tblComptes WHERE fiAgence IN SELECT idAgence FROM tblAgences WHERE fldlocalit IN Luxembourg Esch s Alzette Pierre Stockreiser 174 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles SELECT fldNom fldPr nom FROM tblClients WHERE idClient IN 3 2 3 Certains l ves pourraient avoir la tendance introduire l option DISTINCT dans la clause SELECT N anmoins ceci n est pas n cessaire vu le caract re ensembliste de la requ te En effet cette requ te ne produit pas de doublons puisqu elle v rifie une seule fois pour chaque enregistrement de la table tblClients si le num ro client appartient l ensemble 3 2 3 Cependant pour des raisons d optimisation on pourrait utiliser l option DISTINCT dans la requ te au milieu SELECT fldNom fldPr nom FROM tblClients WHERE idClient IN SELECT DISTINCT fiClient FROM tblComptes WHERE fiAgence IN SELECT
189. rheim Der Zerfall des Sowetimpe 98222 Alexeji Kolin ow Die Pr fund 38366 F Fau wilson Dracula 99532 Bram Stoker L homme juste T654 Raymond Feron Le micro comment ga 57296 Ron White MS Access 2 0 34000 Ken Getz Hovell Hetware 4 1 ar44 Pierre Godefroid Roter Drache ar77 Thomas Harris Teach yourself Java in 21 33344 Chartes Perkins Exemple 2 Gene Histoire Histoire Roman Roman Roman Technique Technique Technique Roman Technique Un SGBD nous offre g n ralement la possibilit de regrouper les donn es Chaque groupe est d fini selon les valeurs d un ou de plusieurs champs Un groupe contient normalement 3 parties une en t te de groupe une section d tail et un pied de groupe Dans notre exemple nous allons cr er des groupes bas s sur la valeur du champ ffdGenre donc un groupe par genre Pour chaque groupe donc pour chaque genre nous allons afficher les libell s des champs dans l en t te du groupe et les livres appartenant au groupe dans la section d tail A la fin de chaque groupe dans le pied de groupe sera affich en plus le total des exemplaires en stock pour ce groupe Etat du stock fliTitre idLivre fidAuteur Der letze Zar 70999 Klaus Werheim Der Zerfall des Sowetimpe 98222 Alexeji Kolim ow fidTitre idLivre fidAuteur Die Fr tung 38366 F Paul wilson Dracula 99632 Bram Stoker L homme juste Feb Raymond Peron F oter Drache rr Thom as Harris flaTitre idlivre fiiuteu
190. rmatique 13CG Exploitation des bases de donn es relationnelles Remarque La requ te SELECT tblcomptes 1idCompte tblComptes fldValeur tblClients fldNom FROM tblComptes tblClients WHERE tblComptes fiClient tblClients idClient peut encore s crire d une fa on plus lisible en utilisant des alias pour les noms des tables Exemple SELECT Co idCompte Co fldValeur C1l fldNom FROM tblComptes Co tblClients Cl WHERE Co fiClient Cl idClient Il suffit d indiquer les alias derri re les noms des tables dans la partie FROM afin de les utiliser dans l ensemble de la requ te Lorsque vous d finissez des alias dans la clause FROM vous ne pouvez plus utiliser les noms des tables dans la requ te Au cas o les noms des champs seraient tout fait diff rents pour les deux tables de fa on ce qu il n y ait aucune ambigu t on peut compl tement laisser de c t les noms des tables resp les alias Exemple SELECT idCompte fldValeur fldNom FROM tblComptes tblClients WHERE fiClient idClient Au cas o il existerait uniquement une ambigu t pour un certain nombre de champs il suffit de pr fixer ceux ci par un alias ou par le nom de la table correspondante Remarque La clause WHERE peut bien entendu d finir des crit res de s lection en combinaison avec la condition de jointure Exemple e Affichez pour les comptes ayant une valeur actuelle gt 10000 le num ro de compte la valeur actuelle ainsi que
191. rmulaire tabulaire les enregistrements sont repr sent s sur des lignes et des colonnes Ce type de formulaire a une apparence similaire celle de la vue d un tableau ou d un r sultat d une requ te Pierre Stockreiser 214 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 3 Formulaire Graphique angl Graphical Form Form3 Form Quantit en stock par genre 15 10 5 1 Histoire Roman Technique Record d 10 F of 1 La plupart des SGBD offrent une multitude d options de repr sentations graphiques Histogrammes 2D Histogrammes 3D Diagrammes circulaires Pierre Stockreiser 215 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 8 4 Cr ation d un formulaire Avant de cr er un formulaire quelques r flexions s imposent e Comment est ce qu on veut repr senter les donn es et quel type de formulaire est le plus ad quat e Est ce que l utilisateur aura la possibilit d ajouter de modifier respectivement de supprimer des donn es e Quels sont les contr les appropri s pour repr senter les diff rents champs de la table respectivement de la requ te A Voici quelques r gles g n rales d utilisation des diff rents contr les standard e Pour repr senter un champ valeur logique Oui Non employez imp rativement une case cocher Plusieurs cases cocher peuvent tre regroup es afin de repr senter
192. rs tables via des champs communs 2 Les requ tes imbriqu es qui utilisent le r sultat d une requ te comme source d une autre Pierre Stockreiser 157 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 7 4 1 La jointure 7 4 1 1 Exemple d introduction Voici deux tables qui repr sentent une gestion tr s simplifi e des comptes d une banque tblChents sk bent fldMorn fldPr nom tblComptes tblClients idClient l Remarque p dagogique L enseignant devrait rappeler les notions de relation et de cl trang re A En principe la pr sence d une relation cl trang re cl primaire entre deux tables est une condition n cessaire pour effectuer une jointure sur les tables Une question possible serait e Affichez pour tous les comptes le num ro de compte la valeur actuelle ainsi que le nom du client correspondant Pierre Stockreiser 158 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Voici la requ te n cessaire pour r pondre notre question SELECT tblcomptes idCompte tblComptes fldValeur tblClients fldNom FROM tblComptes tblClients WHERE tblComptes fiClient tblClients idClient La clause FROM contient les deux tables impliqu es dans la jointure La clause WHERE contient ce qu on appelle la condition de jointure Dans notre exemple la condition de jointure demande l galit des valeurs pour l
193. rsque vous savez que le client ne poss de pas de fax Lorsque nous savons que le client n a pas de fax le num ro de fax n est pas ind termin mais repr sent par une cha ne de caract res vide 3 Affichez la liste de toutes les localit s pr sentes dans la table des clients 4 Tous les clients habitant Ettelbruck dans la Cit Patton auront le nouveau code postal 8897 Remarque Utilisez un filtre pour retrouver les adresses correctes 5 Nous voulons faire le m nage dans notre BD En fait il y a un certain nombre de clients dont l adresse le code postal la localit le num ro de t l phone et le num ro de fax sont ind termin s Ces enregistrements sont sans aucune valeur commerciale pour nous Formulez une requ te qui garde uniquement les clients pour lesquels on conna t e soit le num ro de t l phone e soit le num ro de fax e soit l adresse compl te fldAdresse fIdCP fldLocalit Tous les autres clients sont effac s de la BD Pierre Stockreiser 149 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 6 Comptez le nombre de clients masculins n s partir du 1 1 1978 7 Affichez le num ro client le nom le pr nom l adresse le code postal et la localit pour les bons clients f minins l exception de ceux habitant Luxembourg Esch s Alzette et Ettelbruck 8 Affichez le nombre de clients par localit En vous basant sur les donn es de la ta
194. s ann es le domaine de la gestion informatique des donn es tait r serv aux informaticiens Actuellement les tendances l int rieur des entreprises ont chang de fa on ce que tous les employ s soient de plus en plus impliqu s dans les diff rents proc d s li s la gestion et l exploitation des donn es De cette fa on un certain niveau de connaissance des principes et des outils standard de l informatique est aujourd hui requis pour la plupart des postes disponibles dans les entreprises Toutefois 1l ne suffit pas d utiliser les ressources informatiques les plus sophistiqu es pour exploiter au mieux les donn es En parall le avec les outils informatiques utiles pour g rer des donn es tels que les ordinateurs de plus en plus puissants et les logiciels adapt s SGBD Tableur etc ont t d velopp es des m thodes d analyse et de conception de syst mes d information Ces m thodes nous offrent la possibilit d analyser un syst me d information naturel tel que par exemple la gestion des livres d une librairie ou la gestion des sinistres d une compagnie d assurances de concevoir ensuite un mod le qui repr sente ce syst me et d impl menter finalement un syst me informatique bas sur ce mod le Pierre Stockreiser 9 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 1 3 D finition de l information et des syst mes d information A Une information est un l ment qui permet d
195. s de la premi re table suivis des champs de la deuxi me table Si la premi re table contient N enregistrements et la deuxi me table M enregistrements alors le produit cart sien des deux tables est compos de N M enregistrements Pierre Stockreiser 159 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Produit cart sien des tables tblComptes et tblClients HE fldValeur fiClient idClient fldNom fldPr nom 20000 3 1 Pegaso Emilio D 20000 3 2 Weber Jos 101 20000 3 3 Muller Ketty 106 48000 2 1 Pegaso Emilio 106 48000 2 2 Weber Jos 106 48000 2 3 Muller Ketty 112 9000 3 1 Pegaso Emilio 112 9000 3 2 Weber Jos 112 9000 3 3 Muller Ketty 125 5000 1 1 Pegaso Emilio 125 5000 1 2 Weber Jos 125 5000 1 3 Muller Ketty aS c tblComptes tblClients 2 Le produit cart sien contient un bon nombre d enregistrements qui ne donnent pas de sens logique fldValeur_ fiClient_ idClient_ fldNom fldpr nom 20000 3 1 Pegaso Emilio D 20000 3 2 Weber Jos 101 20000 3 3 Muller Ketty 106 48000 2 1 Pegaso Emilio 106 48000 2 2 Weber Jos 106 48000 2 3 Muller Ketty 112 9000 3 1 Pegaso Emilio 112 9000 3 2 Weber Jos 112 9000 3 3 Muller Ketty 125 5000 1 1 Pegaso Emilio 125 5000 1 2 Weber Jos 125 5000 1 3 Muller Ketty En fait pour tous les enregistrements non marqu s fiClient ne correspond pas idClient Pour ces enregistrements on associe donc un compte un client qui n est pas le pro
196. s sont li es par une fl che nomm e selon l extr mit oppos e de l association l association qui pointe de la table cl trang re vers la table qui contient la cl primaire correspondante Lorsque l association contient elle m me des attributs classe association ceux ci deviennent galement attributs de la table dans laquelle a t ajout e la cl trang re Exemple Cl trang re NoAuteur id Hom AUTEUR HOAUTEUR I0 HOM NoLivre id Titre L attribut NOAUTEUR_ ID qui est cl primaire de la table AUTEUR devient cl trang re dans la table LIVRE LIVRE HOLIVRE_ ID MOJU TEUA LOI TITRE ECFE crire x peut prendre les valeurs O ou 1 Bien que ce cas n apparaisse que tr s rarement il est possible pour les multiplicit s x 0 1 Pierre Stockreiser 66 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 5 2 3 Transformation des associations binaires du type x 1 x 1 Nous devons distinguer plusieurs cas Sachant qu une association binaire du type 1 1 1 1 ne doit pas exister 1l nous reste les 2 cas suivants Association binaire 0 1 1 1 A On duplique la cl primaire de la table bas e sur la classe multiplicit 0 1 dans la table bas e sur la classe multiplicit 1 1 Exemple MoCommande id 4 NoFacture id Date CONCErNEr Date FACTURE HO
197. sformation du MCD au MLD 3 5 3 Exemple KaafKaa 3 5 4 Exercices 3 6 Le mod le physique des donn es MPD 3 6 1 D finition 3 6 2 Passage du MLD au MPD 4 4 1 4 2 4 3 5 5 1 Utilisation d un outil de mod lisation Table des mati res D finition Fonctionnalit s Les syst mes de gestion de bases de donn es Table des mati res 5 2 5 3 5 4 5 5 5 6 5 7 D finitions Un peu d histoire Les composants d une base de donn es relationnelle Structures physiques et logiques Les r seaux informatiques L approche Client Serveur 5 7 1 La p riode des ordinateurs du type Mainframe 5 7 2 L approche Client Serveur 6 6 1 6 2 6 3 6 4 6 5 6 6 7 7 1 7 2 75 Les tables angl tables Table des mati res D finition Les champs d une table Cl primaire Relations entre tables cl trang re Index Les requ tes angl queries Table des mati res D finition Introduction au langage SQL 7 3 1 G n ralit s 7 3 2 Syntaxe SQL de base 7 3 3 Les crit res de s lection 7 3 4 Comparaison un filtre 7 3 5 Les op rateurs logiques 7 3 6 Valeur z ro cha ne vide et valeur ind termin e NULL 7 3 7 Comparaison une fourchette de valeurs 7 3 8 Comparaison une liste de valeurs 7 3 9 D finir l ordre d une requ te de s lection 7 3 10 Les valeurs calcul es 7 3 11 Les fonctions d agr gation 7 3 12 Requ tes sur les groupes 7 3 13 Exercices 7 4
198. sque dur peuvent en principe galement tre perdues mais heureusement 1l existe des mesures de pr vention d une perte de donn es sur disque puisque l impact d une telle perte peut tre norme et peut dans le pire aboutir dans la perte compl te de la BD Exemples de causes pour la perte de donn es sur disque dur e une manipulation erron e effectu e par un utilisateur e une erreur de logiciel angl Bug a caus une incoh rence de certaines donn es e une panne d un disque Pierre Stockreiser 235 Lyc e du Nord Wiltz Informatique 13CG Protection des donn es 10 5 3 Les mesures de pr vention contre la perte de donn es 10 5 3 1 La sauvegarde des donn es angl Backup Une m thode pr ventive contre la perte de donn es sur disque dur est la sauvegarde r guli re des donn es du des disque s A L op ration de sauvegarde ang backup d une BD consiste dans la copie du resp des fichiers qui contiennent la BD du disque dur vers un support de sauvegarde Ceci est fait au niveau du syst me d exploitation Lors d une perte de donn es d un disque on peut restituer angl restore les donn es sur le disque partir du support de sauvegarde Afin de pouvoir effectuer une sauvegarde des fichiers BD au niveau du syst me d exploitation la BD doit tre ferm e ce qui veut dire que personne ne doit tre en train d effectuer n importe quelle manipulation Sinon on risque de sauvegarder des fichiers inco
199. st caract ris par son num ro membre son nom son pr nom son adresse ainsi que sa date de naissance D s que la carte de membre est pay e paiement unique le membre est enregistr dans le syst me et 1l peut d sormais louer des cassettes vid o e Un film est caract ris par un num ro film un titre un code langue un code genre et une dur e Le m me film peut tre disponible en plusieurs exemplaires Il existe au minimum un exemplaire de chaque film Un exemplaire est d termin par un num ro exemplaire ainsi que la date d achat de l exemplaire e Lors d une location un membre peut louer plusieurs films en m me temps En principe une location a une dur e d un jour mais cette dur e peut tre prolong e Nous supposons qu un membre rend tous les exemplaires lou s en une seule fois Cr ez le mod le conceptuel des donn es Solution Pierre Stockreiser 47 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information Exercice 3 Afin d informatiser la gestion des s ances du cin ma Limelight vous disposez des informations suivantes Un film est enregistr dans le syst me d information d s que la les copie s sont arriv es au cin ma partir de ce moment on commence directement programmer des s ances pour le film en question Comme le m me film n est jamais montr dans deux s ances parall les on peut ignorer la gestion des copies Un film est repr sent par un num ro co
200. suffisante pour petits syst mes Lecture amp criture r p titive des donn es Vitesse d acc s rapide Stockage optique Capacit 650 MB 800MB suffisante pour petits syst mes Lecture r p titive amp une seule criture Vitesse d acc s moyenne Stockage magn to optique Capacit 650MB 700MB suffisante pour petits syst mes Lecture amp criture r p titive des donn es Vitesse d acc s moyenne Stockage magn tique Capacit p ex 200GB lev e Lecture amp criture r p titive des donn es Vitesse d acc s rapide 237 Lyc e du Nord Wiltz Informatique 13CG Protection des donn es 10 5 3 2 La r plication du disque dur angl mirroring Cette solution met en uvre plusieurs disques durs dont le contenu est identique La gestion incombe au syst me d exploitation resp un contr leur de disque carte lectronique Celui ci doit donc s assurer que les informations sur les diff rents disques soient jour en permanence de fa on ce que l on puisse continuer travailler en cas de panne d un disque 10 5 3 3 R plication du serveur angl Backup server Dans cette solution le serveur de r seau qui peut contenir des donn es le syst me d exploitation est r pliqu d doubl Si le serveur principal a une d faillance on continue travailler sur le serveur de sauvegarde 10 5 3 4 Les syst mes RAID 5 Le terme RAID angl Redundant Array of Inexpensive Disks d n
201. t LUX OR fldNationalit ALL AND fldSexe F L Est ce que cette requ te serait correcte sans les parenth ses Non car la priorit de l op rateur AND sur l op rateur OR ferait qu on s lectionne tous les employ s luxembourgeois et les employ s f minins allemands 8 Afficher le num ro le nom et le pr nom de tous les employ s embauch s pendant le mois de juillet 1997 SELECT idEmploy fldNom fldPr nom FROM tblEmploy s WHERE fldEntr eService gt 7 1 97 AND fldEntr eService lt 7 31 97 ou SELECT idEmploy fldNom fldPr nom FROM tblEmploy s WHERE MONTH fldEntr eService 7 AND YEAR fldEntr eService 1997 A SQL met notre disposition certaines fonctions qui nous facilitent la gestion des dates DATE retourne la date actuelle YEAR lt date retourne l ann e d une date en format XXXX MONTH lt date retourne le mois d une date 1 12 DAY lt date retourne le jour d une date 1 31 lt date gt peut tre une date entr e manuellement le nom d un champ qui contient une date En plus on peut calculer la diff rence entre deux dates l aide de l op rateur arithm tique Attention Cette diff rence est exprim e en jours 9 Afficher toutes les informations pour les employ s masculins embauch s pendant les 15 derniers jours SELECT FROM tblEmploy s WHERE fldSexe M AND DATE fldEntr eService lt 15 Pierre Stockreiser 121 Lyc e du Nord Wiltz Informatique 13CG E
202. t Nom Weber Pr nom Jos Adresse 23 rue Principale CodePostal L 7654 Localit Grevenmacher Montant de la facture 50 Cr ez un MCD qui permet de mod liser correctement le syst me d information n cessaire sachant que e Un client peut bien s r recevoir plusieurs factures mais il est uniquement consid r comme tel partir du moment o 1l re oit sa premi re facture Une facture concerne un et un seul client Remarque Bien que le num ro du client n apparaisse pas en tant que tel sur la facture il est pr f rable d ajouter cet attribut artificiel la classe Client et de le d finir comme identifiant de cette classe Cela nous emp che de devoir d finir un identifiant compos de trop d attributs Pierre Stockreiser 37 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information PARTIE 2 Il s agit d tendre le MCD de la partie 1 Le responsable de la facturation de la soci t d sire rendre les factures plus informatives Comme un client peut acheter plusieurs articles diff rents en m me temps la facture devrait indiquer pour chaque article le num ro un libell le prix unitaire la quantit vendue et le prix total pour ce type d article Voici l aspect que la facture devrait avoir KaafKaaf S r l Facture No 12345 12 avenue Goss L 9876 Luxusbuerg Luxusbuerg le 31 08 2004 Client Nom Weber Pr nom Jos Adresse 23 rue Principale CodePostal L 7
203. t s Bien que les diff rents outils de mod lisation actuellement disponibles sur le march varient consid rablement en termes de caract ristiques et fonctionnalit s ils offrent cependant les fonctions de base suivantes e Repr sentation graphique des mod les conceptuels et logiques avec les diff rents objets p ex classes associations attributs identifiants tables cl s etc e V rification des r gles de construction des diff rents mod les p ex Une association ne peut pas tre li e deux classes via des multiplicit s 1 1 e Transformation automatique d un MCD en MLD en respectant toutes les r gles de transformation e G n ration automatique d une BD partir d un MLD Apr s avoir indiqu le SGBD cible p ex Oracle MS Access MySQL le concepteur peut demander l outil de cr er la BD Pour ce faire 1l existe deux alternatives l outil de mod lisation acc de directement au SGBD cible afin de cr er la BD en question l outil de mod lisation g n re un script qui est la suite ex cut sur le SGBD afin de cr er la BD e G n ration automatique de rapports imprim s concernant l tat actuel d un travail de conception Ces rapports contiennent en g n ral la repr sentation graphique des mod les des listes avec tous les objets des diff rents mod les et des explications suppl mentaires concernant certains objets e Gestion des objets de conception p ex classes associations attr
204. t s 1 1 nous appliquons d j les r gles g n rales Ainsi la table issue de la classe d pendante contient donc comme cl trang re la cl primaire de l autre table L agr gation de composition est repr sent e par le fait que la table issue de la classe d pendante contient une cl primaire compos e constitu e de la cl primaire transform e de l identifiant de cette classe et de la cl trang re Exemple Projet PROJET T CHE NoProjet id NoT che id HOPROJET ID HOT CHE ID Hom Description HOM E HOPROJET ID DateD but i DATED BUT DESCRIPTION Tout en respectant les r gles g n rales du passage MCD MLD la cl primaire de la table PROJET migre comme cl trang re dans la table T CHE L agr gation de composition est repr sent e par le fait que la table T CHE contient une cl primaire compos e de NOT CHE_ ID et NOPROJET ID Pierre Stockreiser 71 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 5 3 Exemple KaafKaaf Transformez le MCD suivant qui repr sente la facturation d une soci t voir chapitre 3 3 6 Exemple KaafKaaf en un MLD en respectant toutes les r gles du passage MCD gt MLD POENE ON NoFacture id Hom Pr nom Adresse obtenir CodePostal Localit porter poner x NoArticle id Libell PrixUnitaire Voici la solution CLIEHT HOCLIENT ID HOM PR HOM ADRESSE CODEPOSTAL
205. t en g n ral quatre types de composants d objets Nous allons bri vement introduire ces types d objets sans aller trop dans les d tails A chacun de ces objets sera consacr un chapitre s par 1 Les donn es sont stock es l int rieur de tables Une table peut tre compar e une liste qui contient des enregistrements relatifs un domaine bien d fini Exemple Le service du personnel de l entreprise SCHAFFGAER S r l entretient une BD avec en outre une table pour les donn es des employ es Cette table contient un enregistrement pour chaque employ avec le nom le pr nom l adresse la localit la date de naissance la date d entr e en service le salaire mensuel et le nom du d partement auquel l employ est actuellement affect Employ s Table Iof xi Nom Pr nom Adresse Localit Date_naiss Date_entr e Salaire mensuel D partement Evelyne 24 Rue Gr hl Grevenmacher 24 02 1966 01 03 1996 65 000 Luf Marketing Erny 10 Cit Liddrech Luxembourg 04 09 1959 01 01 1990 60 000 Luf Comptabilit Suzette 9 Av A Einstein Esch s Alzette 30 07 1971 15 10 1995 54 000 Luf Marketing Menn 11 Cit A Milk Hupperdange 27 02 1966 01 01 1990 70 000 Luf Informatique Jhemp 10 Rue Poznen Luxembourg 23 06 1976 01 01 1996 69 500 Luf Comptabilit Ernil 23 Am Hinterwald Mamer 23 08 1959 15 10 1996 49 000 Luf Informatique Vic 1 Op der Areler Knippchen Arlon 22 07 1970 01 12 1996 70 000 Luf Comptabilit 2
206. tat serait un sous ensemble de la table avec seulement les enregistrements qui v rifient le crit re de s lection gt cylindr e gt 2000 Pour chacun de ces enregistrements le SGBD affiche en plus seulement les champs explicitement demand s gt fldMarque et fldMod le fld Marque fld Mod le Une requ te simple produit donc comme r sultat un sous ensemble des enregistrements d une table En plus une requ te nous permet d afficher seulement certains champs pour les enregistrements appartenant ce sous ensemble On appelle ces requ tes Requ tes de S lection puisqu il s agit d une s lection de certains enregistrements Il n existe cependant pas seulement des requ tes de s lection mais galement e Des requ tes d insertion gt ins rer des enregistrements dans la table p ex Ins rer un nouveau taxi 4 BMW 3251 2500 1270 e Des requ tes de modification gt modifier des enregistrements dans la table p ex Modifier la cylindr e des Ford Orion de fa on ce qu elle devienne 2000 e Des requ tes de suppression gt supprimer des enregistrements de la table p ex Supprimer toutes les BMW Les requ tes poss dent l avantage de pouvoir manipuler facilement un grand nombre d enregistrements sans que l utilisateur ne doive s occuper de s lectionner enregistrement par enregistrement Il lui suffit de sp cifier des crit res de s lection pour la requ te ainsi que l op ration effectuer gt simple s
207. tionnement de cette requ te Le requ te imbriqu e SELECT idClient FROM tblClients WHERE fldLocalit Luxembourg OR fldLocalit Diekirch retourne tous les num ros de clients habitant Luxembourg ou Diekirch Cette requ te retourne donc l ensemble de valeurs 1 3 On peut donc traduire la requ te de niveau sup rieur en SELECT idCompte fldValeur FROM tblComptes WHERE fiClient IN 1 3 Cette requ te retourne finalement le num ro de compte et la valeur des comptes correspondants fld Valeur 20000 9000 5000 Pierre Stockreiser 173 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles AN La requ te imbriqu e renvoie un ensemble de n valeurs Cet ensemble peut bien s r tre vide n 0 ou tre compos d une seule valeur n 1 Dans la clause WHERE ou HAVING de la requ te de niveau sup rieur le champ pour lequel on v rifie l appartenance l ensemble de valeurs retourn par la sous requ te doit avoir un type de donn es compatible avec les valeurs de l ensemble Utilisez l op rateur IN Parfois il est convenable d utiliser l option DISTINCT dans la clause SELECT de la sous requ te afin d viter des doublons dans l ensemble r sultat Toutefois ceci est uniquement une mesure d optimisation des requ tes imbriqu es On peut avoir plusieurs niveaux d imbrication de requ tes Une requ te imbriqu e peut donc d j se baser sur le r sultat d une autre
208. tique 13CG Exploitation des bases de donn es relationnelles Exercice 1 Gestion de livres Soit la table suivante pour stocker les livres d une librairie Nom du champ Type de donn es Hum ro du livre CIE primare Auteur du Evre Cane du re Trouvez le code SQL pour les requ tes suivantes 1 Affichez le num ro le titre l auteur et la quantit en stock pour tous les romans 2 Affichez tous les champs des romans allemands Effectuez un classement par ordre ascendant sur le num ro du livre 3 Affichez les diff rentes langues dans lesquelles sont r dig s les livres de la librairie Attention Dans cet exemple l option DISTINCT est importante puisque la plupart des langues sont repr sent es beaucoup plus qu une seule fois dans une librairie 4 Affichez le num ro du livre Windows 95 de Pierre Godefroid en version fran aise Pierre Stockreiser 144 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles 5 Supposons que ce num ro soit 38285 augmentez de 10 unit s la quantit en stock de ce livre 6 Ins rez le nouveau livre suivant 7 Ins rez le nouveau livre suivant 34001 MS Access 97 Quelle est la valeur des champs f dPrix et fldEnStock pour cet enregistrement 8 Tous les livres des genres Technique et Histoire subissent une hausse de prix de 10 Repr sentez cette situation dans votre table 9 Comptez le nombre de livres dont il reste moins
209. tique 13CG Exploitation des bases de donn es relationnelles 5 Les syst mes de gestion de bases de donn es 5 1 Table des mati res 5 Les syst mes de gestion de bases de donn es S1 5 1 Table des mati res 81 5 2 D finitions 81 5 3 Un peu d histoire 84 5 4 Les composants d une base de donn es relationnelle 86 5 5 Structures physiques et logiques 88 5 6 Les r seaux informatiques 90 5 7 L approche Client Serveur 94 5 7 1 La p riode des ordinateurs du type Mainframe 94 5 7 2 L approche Client Serveur 96 5 2 D finitions Exemple Une banque peut avoir une BD qui contient les informations n cessaires sur tous les clients et leurs d p ts d pargne Une soci t d assurances peut stocker les donn es relatives aux contrats d assurances ainsi qu aux sinistres dans une BD A Un syst me de gestion de bases de donn es SGBD est un programme qui nous permet de cr er de modifier et d exploiter des bases de donn es Ce syst me constitue donc notre interface pour acc der aux donn es Pierre Stockreiser 81 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Utilis ateur Pierre Stockreiser 82 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Par analogie Un utilisateur utilise un tableur pour acc der aux donn es d une feuille de calcul respectivement un traitement de texte pour acc der au texte d un document Exe
210. tra nement d un coureur 3 les m dicaments d une pharmacie Pierre Stockreiser 27 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information 3 4 5 La notion d association 3 4 5 1 D finition A Une association d crit un lien entre deux ou plusieurs classes Chaque association poss de un nom g n ralement un verbe l infinitif A Nous distinguons deux types d associations e les associations binaires qui sont li es 2 classes e les associations ternaires qui sont li es 3 classes Exemple d une association binaire NoAuteur id NoLivre id Hom crire Titre L instanciation d une association est repr sent e par les instanciations des classes li es l association Voici quelques instanciations de l association Ecrire LO01 La peste crire Rappel Instanciation Objet crire LO02 L tranger L003 Tom Sawyer crire Li Cette instanciation de l association crire p ex nous dit que l auteur Twain a crit le livre Tom Sawyer Cette instanciation peut tre identifi e par l identifiant compos A002 L003 A Bien qu une association n ait pas d identifiant propre elle peut implicitement tre identifi e par les identifiants des classes auxquelles elle est li e Pour chaque instanciation d une association l identifiant doit tre unique Comme chaque livre est uniquement crit par un seul auteur
211. tradiction Exemples e Le syst me doit emp cher un utilisateur entrer une valeur double ou ind termin e NULL pour un champ d clar comme cl primaire e Le syst me doit v rifier qu une quantit livr e est toujours inf rieure ou gale une quantit command e Afin de mieux pouvoir regrouper les diff rents sc narios qui peuvent se poser nous distinguons g n ralement 3 types de contraintes d int grit 7 6 2 Les types de contraintes d int grit 7 6 2 1 La contrainte d int grit des tables angl Table Integrity Constraint Cette contrainte v rifie qu il n existe jamais des doublons ou des valeurs ind termin es pour le s champ s qui constitue nt la cl primaire La cl primaire doit donc toujours tre unique et bien d finie Il s agit simplement de la d finition m me de la cl primaire Exemples de violation de cette contrainte A L ajout d une valeur de cl primaire qui existe d j dans la table B La modification d une valeur de cl primaire vers une valeur qui existe d j dans la table C L ajout d une valeur ind termin e NULL pour une cl primaire D La modification d une valeur de cl primaire vers une valeur ind termin e M thodes pour v rifier cette contrainte d int grit dans un SGBD Dans un SGBD il suffit g n ralement de d clarer un ou plusieurs champs comme cl primaire d une table pour que cette contrainte soit automatiquement v rifi e lors d une
212. tribut Le nom de l attribut est indiqu l int rieur de la classe laquelle 1l est rattach Voici quelques exemples d attributs Pour une classe Client e Nom du client e NoT l du client Pour une classe Salari e Nom du salari e NoMatricule e Salaire mensuel Pour une classe Contrat d assurance e NoContrat e Type d assurance e Montant assur A A l int rieur des objets des instanciations d une classe les attributs prennent des valeurs Exemple La classe Client est d finie par les attributs suivants NoClient id Hom Pr nom Adresse CodePostal Localit A l int rieur de chaque objet chaque attribut prend une valeur qui est dans la plupart des cas une valeur num rique une valeur sous forme de texte ou encore une date Pierre Stockreiser 24 Lyc e du Nord Wiltz Informatique 13CG 003 002 Virginie Muller Fernand Jos Esch s Alzette 34 rue Principale n Lr Grevenmacher Mod lisation d un syst me d information L attribut Nom prend p ex les valeurs Meier Muller et Weber dans les 3 objets ci dessus A A l int rieur de chaque objet chaque attribut ne prend qu une seule valeur au maximum Le client 002 par exemple ne peut pas avoir 2 adresses Remarque p dagogique Il n est pas toujours vident de d cider si une information est mieux repr sent e par un attribut l int rieur d une classe ou par une classe m
213. u te 4 correspond l exemple 4 chap 7 2 2 Affichez tous les champs disponibles pour tous les produits Requ te 5 correspond l exemple 1 chap 7 2 3 Affichez le libell le prix et la quantit disponible de tous les fromages Transformez ensuite la requ te en requ te param tr e voir exemple 5 chap 7 2 3 Requ te 6 correspond l exemple 2 chap 7 2 3 Affichez tous les champs disponibles pour les produits dont la quantit en stock est inf rieure 100 Pierre Stockreiser 139 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Requ te 7 correspond l exemple 3 chap 7 2 3 Augmentez de 10 la quantit disponible du produit Schmiri Requ te 8 correspond l exemple 4 chap 7 2 3 Effacez tous les produits de la cat gorie Lait Requ te 9 correspond l exemple 1 chap 7 2 4 Affichez le num ro de produit le libell et la cat gorie de tous les produits dont le nom de cat gorie contient le mot alcool Requ te 10 correspond l exemple 2 chap 7 2 4 Affichez le libell la cat gorie et le prix de tous les produits dont le nom de cat gorie contient uniquement 4 lettres Requ te 11 correspond l exemple 1 chap 7 2 5 Affichez le libell et la quantit disponible de tous les produits l exception des fromages Pierre Stockreiser 140 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles
214. u client n a pas de fax on peut affecter la cha ne vide au champ Si par contre le client poss de un num ro de fax mais pour une raison ou l autre on l ignore encore on devrait plut t affecter la valeur NULL au champ En g n ral on peut dire que la valeur NULL est uniquement affect e un champ en cas d ind termination de la valeur du champ Remarques On peut ins rer la valeur NULL de fa on explicite par exemple l aide d une requ te d insertion La plupart des SGBD ins rent automatiquement la valeur NULL pour chaque champ qui n a pas de valeur explicite associ e dans une requ te d insertion L op rateur IS NULL nous permet de tester de fa on explicite si une valeur est ind termin e pour un champ L op rateur IS NOT NULL permet de tester inversement le fait que la valeur est bien d termin e Pierre Stockreiser 122 Lyc e du Nord Wiltz Informatique 13CG Exploitation des bases de donn es relationnelles Exemple l Vous devez ajouter un nouvel employ dans la BD Voici les informations dont vous disposez Sachant que M Schrobiltgen n est pas du tout affect un service sp cifique puisqu il est le r viseur interne de l entreprise formulez la requ te d insertion INSERT INTO tblEmploy s VALUES 24 Marcel Schrobiltgen LUX NULL M DATE ou INSERT INTO tblEmploy s idEmploy fldPr nom fldNom fldNationalit fldSexe fldService fldEntr eService VALUES 24 M
215. urant interne qui lui est affect par le gestionnaire des s ances En plus on s int resse pour le titre la langue et la dur e du film Lorsqu un film appara t en plusieurs langues diff rentes on cr e dans le syst me d information simplement un enregistrement par langue Chaque film est accompagn en g n ral d une fiche technique qui renseigne en outre sur le syst me son du film p ex DOLBY THX etc Cette information est importante puisque les capacit s en ce qui concerne la reproduction du son varient d une salle l autre Une salle peut supporter plusieurs syst mes diff rents tandis qu un film est tourn en utilisant un seul syst me son Un syst me son est caract ris par un code identificateur ainsi qu un libell Chaque syst me son est au moins support par une salle et au moins utilis par un film Le cin ma dispose actuellement de 12 salles avec 3 nouvelles salles en construction Une salle est prise en compte dans le syst me d information d s qu elle accueille des s ances Une salle est caract ris e par son num ro sa capacit ainsi que des informations concernant le support des diff rents syst mes son Le syst me d information doit permettre de vendre des tickets pour une s ance donn e m me plusieurs jours en avance La r servation des si ges n tant pas demand e 1il est toutefois n cessaire que le syst me soit capable de pr venir un exc s de la capacit d une salle en ce qui concerne
216. xploitation des bases de donn es relationnelles 7 3 6 Valeur z ro cha ne vide et valeur ind termin e NULL A G n ralement chaque champ dans une table poss de une valeur bien d finie Il existe pourtant des situations sp ciales La quantit en stock d un nouveau produit par exemple peut tre 0 le pr nom ne s applique pas du tout pour un client du type Soci t tandis que l adresse d un nouveau client peut tre encore inconnue lors de l insertion des donn es du client dans une BD Les SGBD nous offrent en g n ral 3 valeurs pour ces types de situations gt Le nombre 0 gt La cha ne de caract res vide gt La valeur pr d finie NULL Valeur ind termin e Champ vide Il n est pas toujours vident de d cider sur la bonne valeur Voici quelques r flexions concernant les exemples nonc s e Pour le stock d un produit qui est O au d but il est conseill d ins rer effectivement d s le d but la valeur num rique 0 On a effectivement 0 produits dans le stock ce qui ne veut pas dire que la quantit en stock est ind termin e Pour le pr nom d un client du type Soci t on utilise la cha ne vide Le pr nom d une soci t est d finitivement non existant En ce qui concerne l adresse d un nouveau client on ins re la valeur NULL ce qui veut dire que l adresse est pour le moment ind termin e On est plus ou moins s r de conna tre l adresse un moment ult rieur Lorsqu un nouvea
217. z PES HoCommande id Date Adresse CodePostal Cette mod lisation ne tient pas passer Quantit compte des clients qui ne Localit passent aucune commande Un HoT l client est uniquement consid r comme tel s il passe au moins une commande D Un client ne peut passer Pierre Stockreiser 30 Lyc e du Nord Wiltz Informatique 13CG Mod lisation d un syst me d information aucune commande et au maximum plusieurs NoClient id eee Hom Pr nom Adresse He E passer it Cette mod lisation tient compte NoCommande id CodePostal Localit des clients qui ne passent HoT l aucune commande Laquelle des deux mod lisations est correcte Exemple 4 HoEl ve id Hom Pr nom Adresse CodePostal Localit Classe Ho tage id DsteD but DateFin effectuer Sujet Interpr tez cette mod lisation On dit que El ve est une classe ind pendante par rapport l association effectuer multiplicit minimale 0 tandis que Stage est une classe d pendante par rapport l association effectuer multiplicit minimale 1 Un l ve un objet de la classe El ve peut donc tr s bien exister dans la base de donn es sans qu un stage ne lui soit associ mais un stage ne peut jamais exister sans l ve associ La multiplicit minimale nous indique donc si une classe est ind pendante ou d pendante par rapport une association Pierre Stockreiser 31 Lyc e du Nord Wiltz
Download Pdf Manuals
Related Search
Related Contents
Laveur - desinfecteur G 7881 WebConference - Manuale Utente MFW Control Software取扱説明書:mfwcsmj IFJS_catalogue_soign.. ajout d`un contrôle d`inhibition dans des kits str multiplex Vlrcst.rx Appendix - APRA Data Collection and Reporting clicking here. Patriot Memory PSD22G533K memory module USER MANUAL - E Copyright © All rights reserved.
Failed to retrieve file