Manipulation d'une Base de Donnأ©es

Embed Size (px)

Citation preview

  • 8/11/2019 Manipulation d'une Base de Donnes

    1/91

    ROYAUME DU MAROC

    OFPPT

    Module : 5

    Manipulation d'une base de donnes

    SECTEUR :TERTIAIRE ETNTIC

    SPCIALIT :SYSTME ETRSEAUXINFORMATIQUES

    NIVEAU :TECHNICIEN SPCIALIS

    Office de la Formation Professionnelle et de la Promotion du Travail

    DIRECTION RECHERCHE ET INGENIERIE DE FORMATION

    RESUME THEORIQUE

    &

    GUIDE DE TRAVAUX PRATIQUES

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    2/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 2/91

    REMERCIEMENT

    La DRIF remercie les personnes qui ont contribu llaboration duprsent document.

    Pour la supervision :

    - MME.BENNANI WAFAE DIRECTRICE CDC TERTIAIRE & TIC

    - M. ESSABKI NOURDDINE CHEF DE DIVISION CCFF

    Pour la conception :

    - ELGHOLABZOURI MOUNIR Formateur lISTA Hay Riad

    Pour la validation :

    - JELLAL ABDELILAH Formateur animateur au CDC Tertiaire & TIC

    Les utilisateurs de ce document sont invits

    communiquer la DRIF toutes les remarques

    et suggestions afin de les prendre en

    considration pour lenrichissement et

    lamlioration de ce programme.

    Said Slaoui

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    3/91

    TABLE DE MATIERE

    TABLE DE MATIERE ......................................................................................................................................1 PARTIE 1 OBJECTIFS ..................................................................................................................................4

    PARTIE 2 SGBD PRINCIPE ET FONCTIONNEMENT...................................................................7

    IGENERALITES SUR LES BASES DE DONNEES .................................................................................................7 IIOBJECTIFS DE L'APPROCHE SGBD ..............................................................................................................8 IIIARCHITECTURE FONCTIONNELLE D'UN SGBD :ANSI-SPARC .............................................................9 IVFONCTIONNEMENT D'UN SGBD ................................................................................................................11 VPRINCIPAUX MODELES LOGIQUES ...............................................................................................................12

    PARTIE 3 CONCEPTION ET DEMARCHE.........................................................................................16

    ICONCEPTION DE BASES DE DONNEES ..........................................................................................................16 IIDEMARCHE DE CREATION DUNE BASE DE DONNEES ................................................................................17 IIILES REDONDANCES ....................................................................................................................................20

    PARTIE 4 CREATION ET MANIPULATION DES BASES DE DONNEE AVEC MSACCESS ..............................................................................................................................................................23

    ICREATION DES TABLES .................................................................................................................................23 IISAISIE DE DONNEE ET CREATION DE FORMULAIRE ...................................................................................31 IIIMANIPULATION DES DONNEE ET CREATION DES REQUETE......................................................................40 IVLANGAGE SQL ............................................................................................................................................46 VLESFORMULAIRESET SOUS-FORMULAIRES..................................................................................56 VILESETATS ...............................................................................................................................................57

    PARTIE 5 TRAVAUX D'APPLICATION .............................................................................................64

    INTRODUCTION.................................................................................................................................................64 ATELIERN1CREATION DE TABLES ..........................................................................................................65 ATELIERN2REMPLISSAGE DES TABLES ..................................................................................................66 ATELIERN3PROPRIETE DES TABLES .......................................................................................................67 ATELIERN4LES REQUETES .....................................................................................................................68 ATELIERN5LES FORMULAIRES ...............................................................................................................70 ATELIERN6LES FORMULAIRES (SUITE) .................................................................................................71 ATELIERN7LES ETATS ............................................................................................................................72 ATELIERN8LES MACROS ........................................................................................................................73 ATELIERN9GESTION DES COMMANDES (ATELIER RECAPITULATIF)....................................................75

    PARTIE 6 EXERCICES DAPPLICATIONS (LANGAGE SQL)...................................................78

    PARTIE 7 EVALUATION............................................................................................................................83

    ANNEXE .............................................................................................................................................................87

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    4/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    PARTIE 1 Objectifs

    OBJECTIFS OPERATIONNELS DE REMIER NVEAU DECOMPORTEMENT

    COMPORTEMENT ATTENDU

    Pourdmontrer sa comptence, le stagiairedoit utiliser les techniquesde manipulationd'une base de donnes l'aide d'un logiciel de basesde donnesselon les conditions, lescritreset lesprcisions qui suivent.

    CONDITIONS DEVALUATION

    Travail effectuavec : un micro-ordinateur ; un logiciel debasede donnes; une imprimante.

    Travail effectu partirdes sourcede rfrence ettude de cas

    CRITERESGENERAUX DE PERFORMANCE

    Respect des consignes et du temps allou. Utilisation judicieuse des commandes. Interprtation juste des messages apparaissant l'cran. Sauvegarde et restauration appropries des donnes. Utilisation optimale des fonctions d'aide des logiciels et autres sources de

    rfrence. Respect des rglesde la scurit.

    OBJECTIFS

    A. Analyser la demande pour manipuler uneBase de donnesB. Traiter et manipuler les donnesC.Adapter la structurede la base de donnes de nouveaux besoinsD. Documenter la base de donnes

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    5/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    OBJECTIFS OPERATIONNELS DE SECOND NIVEAU

    LE STAGIAIRE DOIT MAITRISER LES SAVOIRS, SAVOIRS-FAIRE, SAVOIR-PERCEVOIR OUSAVOIR-ETRE JUGES PREALABLES AUX APPARENTISSAGES DIRECTEMENT REQUIS POUR

    LATTEINTE DELOBJECTIF DE PREMIER NIVEAU, TELS QUE :

    Avant dapprendre analyser la demande pour manipuler une

    Base de donnes. (A) :

    1. Dcrire les consquences des systmes de gestion de base de donnes sur lefonctionnement duneentreprise.

    2. Dcrire les caractristiques des bases de donnes.

    3. Distinguer les typesde bases dedonnes.

    4. Enumrerles utilisations possibles dune basede donnes.

    5. Expliquer au stagiaire le principe des bases dedonnes relationnelles..

    6. Dcrire au stagiaire les phases de crationdunebasede donnes simple

    7. Analyser lademande(2 tables avecune relation).

    Avant dapprendre Traiter et manipuler les donnes (B) :

    1. Enumrerles inconvnients dunemthode classique de recherche des donnes.

    2. Montrer la souplesse dutilisationdun SGBDR pour la recherche des donnes.

    Avant dapprendre adapter la structure de la base de donnes de nouveauxbesoins. (C):

    Sensibiliser le stagiaire l'intrt de la scurit des donnes.

    Avant dapprendre documenter la base de donnes (D):

    Sensibiliserle stagiaire la terminologie correctement en anglais et en Franais

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    6/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    PARTIE1SYSTEME DE GESTION DE BASE DE

    DONNEE,PRINCIPE ET FONCTIONNEMENT

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    7/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    PARTIE 2 SGBD PRINCIPE ET FONCTIONNEMENT

    IGnralits sur les bases de donnes

    Dfinition et Historique

    Une base de donnes est un ensemble structur de donnes enregistres sur des supportsinformatiss, pouvant satisfaire simultanment plusieurs utilisateurs de faon slective, en un dlairaisonnable.

    Le concept de Base de Donnes (BDD) est apparu vers 1960, face au nombre croissantd'informations que les entreprises devaient grer et partager :

    Chaque nouvelle application crait alors ses propres fichiers de donnes et ses propresprogrammes ;

    le concept de base de donnes va l'encontre de cette faon de procder : il permet lacentralisation, la coordination, l'intgration et la diffusion de l'information archive.

    La base de donnes enregistre les faits ou vnements qui surviennent dans la vie d'un organisme,pour les restituer la demande : elle permet galement de tirer des conclusions en rapprochantplusieurs faits lmentaires.

    Les donnes peuvent tre manipules par plusieurs utilisateurs ayant des vues diffrentes surces donnes ("points de vue" diffrents).

    La structure densemble des donnes suit une dfinition rigoureuse appele SCHEMA.

    Facteurs lis au dveloppement des SGBD :

    augmentation des capacits mmoire, et diminution des temps d'accs apparition sur le march dapplications fiables et diversifies, qui doivent partager leurs

    donnes

    dveloppement des systmes de gestion en temps rel : "Gestion transactionnelle" approche globale "oriente donnes" des problmes de gestion : les donnes sont organisesde faon rationnelle plutt que dfinies au coup par coup selon les applications raliser.

    Rappel sur les systmes de gestion de fichiersToute manipulation de fichier exige trois niveaux dintervention, et trois couches logicielles :- Gestion du support physique : disques durs, disquette, streamers Pilote dentres-sorties (Driver)- Gestion des structures internes des fichiers, et des mthodes daccs : ouverture, fermeture,

    lecture, criture Systme de gestion de fichiers (SGF)- Gestion des contenus : calculs, tests, affichages ... Programmes applicatifs

    Applications Systme d'exploitation Matriel

    Programmeapplicatif

    SGF

    Units

    de

    lecture

    et/ou

    criture

    Ouvrir, fermer

    lire, crire

    Demande d'un

    enregistrement physique

    Code derreur ou

    Donnes logiques

    Code derreur ou

    Enregistrement physique

    Niveau Logique Niveau Physique

    Systme de Gestion de Base de donnes : SGBD

    Ensemble des programmes et des langages de commande qui permettent de :

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    8/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 8/91

    - dfinir des "bases de donnes", et des relations entre les lments de chaque base ;- spcifier le traitement de ces donnes : interrogations, mises jour, calculs, extractions...

    Le SGBD reoit des commandes aussi bien des programmes d'application que des utilisateurs :il commande les manipulations de donnes, gnralement par l'intermdiaire d'un SGF.

    Utilisateur

    Programmeapplicatif

    SGF

    UnitsDeLecture/Ecriture

    Ouvrir, fermer,

    lire, crire

    Demande d'un

    enreg. physique

    Code rponse,

    Donnes logiques

    Enreg. physique

    ou code erreur

    SGBDGestion de laBase

    IIObjectifs de l'approche SGBD

    Pour pallier aux inconvnients des mthodes classiques de gestion de fichiers, les SGBD visentquatre objectifs : intgration et corrlation, flexibilit (indpendance), disponibilit, scurit.

    Ces objectifs exigent une distinction nette entre les donnes et les procdures de manipulationde ces donnes : aux donnes, on associera une fonction d'administration des donnes,aux procdures de manipulation une fonction de programmation.

    I n tgr a t i on e t co r rla t i on

    Dans les systmes classiques, chaque application gre ses donnes dans ses propres "fichiers",do :

    Un risque de redondance, et un danger d'incohrence des donnes- La mme donne peut appartenir plusieurs applications, induisant une dperdition de

    stockage.- Toute modification de cette donne est enregistrer plusieurs fois : si cette mise jour

    multiple n'est pas effectue correctement, les donnes deviennent incohrentes.- Le cot de la mise jour augmente du fait de la multiplication des entres-sorties physiques.

    Une difficult pour crer de nouveaux traitements- Les nouvelles applications entranent des duplications supplmentaires de donnes.- Leur intgration avec les applicatifs en exploitation entrane des modifications importantes.

    Dans l'approche SGBD, un "rservoir" commun (intgration) est constitu, reprsentant unemodlisation (corrlation) aussi fidle que possible de l'organisation relle de l'entreprise :

    Toutes les applications puisent dans ce rservoir, les donnes qui les concernent, vitant ainsiles duplications.

    Mais le partage des donnes entre les utilisateurs pose le problme de la synchronisation desaccs concurrents.

    F l ex i b i l i t ou i n dpe n da nce

    Dans les systmes classiques, tout changement intervenant dans le stockage des donnes(support, mthode d'accs physique) entrane des modifications lourdes des applicationscorrespondantes.

    L'approche SGBD poursuit trois objectifs, pour assurer lindpendance des donnes par rapportaux traitements :

    - indpendance physique: tout changement de support, de mthode d'accs reste transparent auniveau de l'utilisateur.

    - indpendance logique : les programmes d'application sont rendus transparents unemodification dans l'organisation logique globale, par la dfinition de sous-schmas couvrant lesbesoins spcifiques en donnes.

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    9/91

    - indpendance vis--vis des stratgies d'accs : l'utilisateur n'a plus prendre en chargel'criture des procdures d'accs aux donnes. Il n'a donc pas intgrer les modificationstendant optimiser les chemins d'accs (ex: cration d'index).

    D i s p o n i b i l i t

    Le choix d'une approche SGBD ne doit pas se traduire par des temps de traitement plus longs

    que ceux des systmes antrieurs. Lutilisateur doit ignorer l'existence d'utilisateurs concurrents. L'aspect "performance" est donc crucial dans la mise en oeuvre d'une base de donnes. Un tel

    objectif ne peut tre atteint que si la conception d'une base de donnes est mene de faonrigoureuse avec un dcoupage fonctionnel adquat. Les rgles et contraintes inhrentes sontvoques lors de l'apprentissage d'une mthodologie d'analyse (exemple MERISE).

    Scu r it

    La scurit des donnes recouvre deux aspects :- l'intgrit, ou protection contre l'accs invalide (erreurs ou pannes), et contre l'incohrence

    des donnes vis--vis des contraintes de l'entreprise.- la confidentialit, ou protection contre l'accs non autoris ou la modification illgale des

    donnes.

    Pour ne pas trop affecter les performances, la scurit doit galement tre prise en compte dsla phase de conception.

    IIIArchitecture fonctionnelle d'un SGBD : ANSI-SPARC

    Dans le cadre du groupe de normalisation nord amricain (ANSI), un groupe d'tudes a tcr en 69, Standard Planning and Requirement Committee(SPARC) avec pour mission, unestandardisation des SGBD.

    Les travaux ont abouti en 75 (ANSI 75) par la proposition d'une architecture multi-niveaux : chaque niveau fonctionnel, sont associs un modle et un schma de donnes, un langage de

    description de donnes (LDD) permettant de dcrire les donnes du schma, et un langage demanipulation de donnes (LMD) permettant de les utiliser (accs pour consultation, mise jour...).

    Modleexterne

    Modle conceptuel

    Modle interne

    Schma

    interne

    Schmaconceptuel

    Schma

    ExterneUtilisateur 1

    Schma

    externeUtilisateur 2

    Schma

    externeApplication3

    Programmeur

    d'application

    Analyste

    Administrateur

    de la base

    N i v e a u c o n c e p t u e l

    Cest une abstraction aussi fidle que possible, de l'univers de l'entreprise, aprs modlisationet indpendamment de toute rfrence l'utilisation et l'implantation en machine.

  • 8/11/2019 Manipulation d'une Base de Donnes

    10/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 10/91

    Le modle conceptuel de donnes (MCD) permet le passage d'un concret inaccessible (l'universrel) un abstrait manipulable : le schma conceptuel. Celui-ci peut donc tre considrcomme la description du contenu de la base : c'est le rsultat d'un travail d'analyse et deconception d'un systme d'information automatis.

    Un schma conceptuel doit offrir les caractristiques suivantes :- puissance de reprsentation : aspects structurels, contraintes existant dans l'univers rel.- stabilit et flexibilit : l'ajout d'une nouvelle donne ou d'une nouvelle contrainte ne doit pas

    entraner de changement important dans le schma.

    - simplicit de comprhension : nombre d'lments rduit, dissociation claire des diffrentsconcepts.

    - simplicit d'utilisation : nombre restreint d'outils ou de primitives de manipulation.- base formelle : la dfinition du schma doit s'appuyer sur une mthode rigoureuse,

    mathmatique, pour viter toute ambigut d'interprtation et pour garantir la fiabilit desdonnes.

    Pour aboutir au schma conceptuel, l'analyste doit reprer dans le rel, et recenser de manireexhaustive, toutes les entits et toutes les associations :

    - Une entitpeut tre dfinie comme une personne, un objet, un lieu, un statut, un vnementqui ont une existence dans le monde rel. C'est un objet concret ou abstrait, possdant uncertain nombre de caractristiques spcifiques (exemple : le produit x cote y francs).

    - Gnralement, les entits du monde rel se manifestent travers des faits lmentaires.- Certains faits faisant intervenir plusieurs entits, il apparat la notion d'association. Une

    association (ou lien) est un ensemble de deux ou plusieurs entits, chacune d'elles jouant unrle particulier.

    Exemple : le fait que la "voiture x" appartienne la "personne y" est une association entre lesentits "voiture " et "personne".

    Selon la notation CODASYL, trois types de liens peuvent tre envisags :

    - les liens fonctionnels nots N : 1On a un lien fonctionnel N:1 de A vers B si toute occurrence de A dtermine au plus une occurrencede B, et si toute occurrence de B, correspond un nombre quelconque doccurrences de A.Exemple : dans une compagnie arienne, connaissant le numro d'un vol, on en dduit d'unemanire unique la destination, mais plusieurs vols peuvent avoir la mme destination.

    Numros Vols Destinations

    - les liens hirarchiques nots 1 : N.On a un lien hirarchique 1:N de A vers B si une occurrence de A peut dterminer un nombrequelconque doccurrences de B et si, une occurrence de B, correspond au plus une occurrence deA.Exemple : la polygamie est un lien 1 : N de "homme" vers "femme".

    - les liens maills nots N : M.On a un lien maill de A vers B s'il n'existe aucune restriction sur le nombre d'occurrences de A etB intervenant dans le lien.

    Exemple : dans un lyce donn, un enseignant peut dispenser des cours dans plusieurs matiresdiffrentes ; de la mme faon, une matire peut tre dispense par plusieurs enseignants.

    X

    Y

    Z

    W

    X

    Y

    Z

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    11/91

    N i v e a u e x t e r n e

    Le niveau externe comprend les "vues" spcifiques dfinies pour la manipulation des donnes.Il prend en compte les contraintes d'accs imposes par la nature des applications considrer(indpendamment des caractristiques techniques) et exprime les besoins en donnes desdiffrents utilisateurs, ou applications.

    Le modle logique des donnes (MLD) utilis ce niveau externe peut diffrer de celui utilisau niveau conceptuel. Ainsi, certaines vues peuvent ne pas tre construites dans la base, maisdduites par calcul partir de certaines donnes du schma conceptuel (exemple : anciennetobtenue par diffrence entre anne en cours et annne d'embauche dans la socit).

    N i v e a u i n t e r n e o u P h y s i q u e

    Il correspond la reprsentation en machine, aussi efficace que possible, du schmaconceptuel : le schma physique intgre les caractristiques techniques (choix du SGBD, dumatriel, du systme dexploitation).

    L'efficacit doit tenir compte d'une part des contraintes d'implantation (taille des disques,optimisation du systme de fichiers), d'autre part des critres d'utilisation (traitementinteractif ou en batch, selon la frquence dutilisation et la dure du traitement).

    IVFonctionnement d'un SGBDCh r o n o l o g i e d e s o pra t i o n s d a n s l in t e r r o g a t i o n d u n SGDB

    Un programme d'application A met une demande de lecture de donnes au SGBD sur une desbases :

    Le SGBD traite la demande en consultant le sous-schma externe relatif au programmed'application A, obtenant ainsi la description des donnes.

    Le SGBD consulte le schma conceptuel et dtermine le type logique de donnes extraire. Le systme examine la description physique de la base en rapport avec la requte logique et

    dtermine le (ou les) enregistrement(s) physique(s) lire. Le systme lance une commande au systme d'exploitation pour rechercher physiquementl'enregistrement dsir.

    Le systme d'exploitation, par le biais de ses mthodes d'accs, accde l'enregistrementphysique.

    Les donnes demandes sont transfres dans les buffers, ou mmoires tampons. Le SGBD, partir d'une comparaison entre le schma logique global (conceptuel) et le sous-

    schma externe de lapplication A, extrait des donnes stockes dans le buffer,l'enregistrement logique rclam par le programme d'application. Il effectue galement lestransformations ventuelles de format.

    Le SGBD transfre les donnes des buffers dans la zone de liaison du programme d'applicationA.

    Le SGBD fournit galement des informations "d'tat" au programme d'application, lui signalanten particulier les erreurs ventuellement constates au cours du processus d'extraction.

    Le programme d'application, qui dispose des donnes et d'informations de "service" en assurela bonne exploitation ! Les ordres d'criture dans la base physique sont traits par un processus similaire, toute

    modification ou adjonction tant en gnral prcde d'une opration de lecture. A signaler que, dans la majorit des cas, le SGBD doit traiter simultanment plusieurs

    demandes de donnes en provenance de plusieurs programmes d'application, utilisantplusieurs schmas externes diffrents.

    L e s l a n g a g e s d ' u n SGBD

    Cette prsentation des SGBD fait apparatre la ncessit de bien diffrencier deux tapes :- la dfinition des donnes par ladministrateur de la base (DBA)- leur utilisation par les utilisateurs ou les programmeurs d'application.

    Le SGBD met donc disposition deux types de langage : LDD et LMD

    Langage de Description de Donnes : LDD

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    12/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 12/91

    Il permet de dcrire prcisment la structure de la base et le mode de stockage des donnes.Alors que l'utilisation de fichiers permet seulement une description de donnes interne auprogramme, dans une approche Base de Donnes, on effectue la description de toutes lesdonnes une fois pour toutes : elle constitue l'ensemble des tables et dictionnaires de labase, son schma(terminologie CODASYL).

    En particulier, il prcise la structure logique des donnes (nom, type, contraintesspcifiques...), la structure physique(mode d'implantation sur les supports, mode d'accs),

    la dfinition des sous-schmas ou "vues".

    Langage de Manipulation de Donnes : LMD

    L'utilisation d'une BDD suppose un grand nombre d'utilisateurs, souvent non informaticiens, ayantdes tches et des besoins varis auxquels le LMD doit pouvoir rpondre. Le SGBD fournit deuxniveaux daccs : le langage d'interrogation, ou langage de requte interactifvite le recours des langages gnraux de programmation. Il doit avoir une syntaxe souple, sipossible graphique, tre accessible aux non-spcialistes et permettre la formulation de demandesutilisant des critres varis et combins. le langage htepour les traitements rguliers, le SGBD doit fournir une interface permettant l'utilisation de la base l'aide des langages procduraux (COBOL, Pascal, C/C++.), en incorporant les requtes dansdes programmes classiques.

    Cl a s s if i c a t i o n d e s LMD

    langages navigationnels (ex : SYMBAD)dans les SGBD hirarchiques ou rseaux. Les requtes du langage dcrivent les chemins d'accsaux diffrentes donnes, celles-ci tant gnralement chanes entre elles. langages algbriques (ex : SQL voir en dtail chap. 4 part. 3)Dans les SGBD relationnels. Ils utilisent, pour fournir des rsultats aux requtes, les oprateurs del'algbre relationnelle.

    VPrincipaux modles logiques

    Les trois principaux modles sont, dans l'ordre chronologique de leur arrive sur le march, lemodle hirarchique, le modle rseau (ou navigationnel), le modle relationnel.Le m od le h ir ar ch iq u e

    Exemple : le Systme dinformation d'une compagnie arienne

    Socit

    Salaris Vols Matriel

    Pilotes Htesses Entretien Administratif

    L'anctre le plus rpandu est le SGBD IMS (Information Management System), dvelopp etcommercialis par IBM dans les annes 70

    Caractristiques gnrales du modle :

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    13/91

    - Forte dpendance entre la description de la structure des donnes et la manire dont celles-cisont enregistres sur le support physique.

    - Les lments de base du modle sont des enregistrements logiques relis entre eux pourconstituer un arbre ordonn.

    - Les entits (ou segments) constituent les noeuds, celui de plus haut niveau portant le nom deracine ; les branches (pointeurs logiques entre entits) constituent les liens. Chaque segmentest une collection d'objets appels champs (ou Fields).

    - Chaque segment a obligatoirement un pre (sauf la racine), et peut avoir plusieurs fils.

    Avantages :- rigueur des structures et des chemins d'accs- simplicit relative de l'implmentation- adquation parfaite du modle une entreprise structure arborescente.

    Inconvnients :- les accs se font uniquement depuis la racine- la structure interdit les liens N:M, ne permettant que le lien 1:N. La reprsentation d'autres

    relations impose de ce fait une redondance de l'information.Exemple : comment reprsenter dans ce modle, un parc de vhicules et un ensemble dechauffeurs, chaque chauffeur pouvant conduire plusieurs vhicules, et un vhicule pouvant treconduit par plusieurs chauffeurs ?- les "anomalies" que l'on constate lors des oprations de mise jour (insertion, destruction,

    modification) : l'limination d'un noeud entrane l'limination de tous les segments de niveauinfrieur qui lui sont rattachs (risque de perdre des donnes uniques)

    - indpendance logique trs rduite : la structure du schma doit reflter les besoins desapplications.

    - pas d'interface utilisateur simple.

    Le m od le en rsea u

    Evolution du modle hirarchique intgrant les rsultats du travail du groupe CODASYL (comitde langage de programmation), qui avait dmarr l'tude d'une extension de COBOL pourmanipuler les bases de donnes. En 1969, il donne ses premires recommandations concernantsyntaxe et smantique du LDD et du LMD.

    Mme si cette vue est un peu simplificatrice, une base en rseau peut tre dcrite comme uncertain nombre de fichiers comportant des rfrences les uns vers les autres. Les entits sontconnectes entre elles l'aide de pointeurs logiques :

    - un enregistrement d'un ensemble de donnes A est associ une srie d'enregistrements (ourecords) d'un autre ensemble de donnes B. On constitue ainsi des SET, ou COSET, structurefondamentale du modle en rseau

    - le lien entre les enregistrements de A et ceux de B est 1:N- le COSET comporte un type d'enregistrement "propritaire" (l'enregistrement de A est dit

    OWNER) et un type d'enregistrement "membre" (les enregistrements de B sont MEMBER).

    Avantages et inconvnients du modle :- aucune restriction dans la conception : un type de "record" peut la fois tre propritaire et

    membre de plusieurs sets

    - reprsentation naturelle des liens maills N:M- pas d'anomalies pour les oprations de stockage- commercialisation importante des systmes correspondants (DMS, IDMS, TOTAL, IDS II,

    SOCRATE...),MAIS- pas d'indpendance par rapport aux stratgies d'accs- procduralit importante des langages de manipulation ; l'utilisateur doit "naviguer" dans le

    rseau logique constitu par les enregistrements et les chanes de pointeurs.

    Exemple : schma reprsentant le sous-systme d'informationProduits / magasins de stockages / fournisseurs / domiciliations bancaires

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    14/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 14/91

    Produits Fournisseurs

    Magasin destockage Produit/Fournisseur

    Domiciliationbancaire

    L e m odl e r e l a t i o n n e l

    C'est un article publi en 1969 par un mathmaticien du centre de recherche IBM, Codd, quidfinit les bases de ce modle relationnel. Codd s'est intress au concept d'information et acherch le dfinir sans se proccuper de la technique informatique, de ses exigences et de sescontraintes. Il a tudi un modle de reprsentation des donnes qui repose sur la notion

    mathmatique de "relation". Dans la pratique, une relation sera reprsente par une tabledevaleurs.

    Exemple: reprsentation d'une table du personnel

    Matricule Nom poste Salaire N dept350 Durand Employ 8000 320780 Dupond Cadre 15000 870320 Veillon PDG 25000 400490 Martin Cadre 15000 320

    Dfinitions Une relation est un ensemble de tuples (lignes), dont l'ordre est sans importance. Les colonnes

    de la table sont appeles attributs ou champs. Lordre des colonnes est dfini lors de la crationde la table. Une cl est un ensemble ordonn d'attributs qui caractrise un tuple. Une cl primaire le

    caractrise de manire unique, l'inverse d'une cl secondaire. On dit qu'un attribut A est un dterminantsi sa connaissance dtermine celle de l'attribut B (B

    dpend fonctionnellement de A).

    Caractristiques du modle Schma de donnes facile utiliser : toutes les valeurs sont des champs de tables deux

    dimensions. Amliore l'indpendance entre les niveaux logique et physique : pas de pointeurs visibles par

    l'utilisateur. Fournit aux utilisateurs des langages de haut niveau pouvant ventuellement tre utiliss par

    des non-informaticiens (SQL, L4G) et un ensemble d'oprateurs bas sur l'algbre

    relationnelle : union, intersection, diffrence, produit cartsien, projection, slection, jointure,division.

    Optimise les accs aux bases de donnes Amliore l'intgrit et la confidentialit : unicit de cl, contrainte dintgrit rfrentielle Prend en compte une varit d'applications, en gestion et en industriel Fournir une approche mthodologique dans la construction des schmas.

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    15/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    PARTIE2CONCEPTION ET DEMARCHE

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    16/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    PARTIE 3 Concept ion et dmarche

    IConception de bases de donnes

    L e s f o r m e s n o r m a l es

    Les formes normales permettent de construire un schma conceptuel correct partir des relations

    brutes issues des donnes recueillies auprs des clients.

    1re forme normaleUn e r e l a t i o n e s t d i t e e n p r em ir e f o r m e n o rm a l e s i ch a q u e a t t r i b u t p o s sd e u n e s e u l ev a l e u r ( c e q u i e x c l u t l e s g r o u p e s ) , e t s i e l le a dm e t u n e c lp r i m a i r e .

    Exemple:

    L'exemple porte sur un ensemble de donnes concernant des tests de types diffrents, effectus

    sur les lments matriel d'un systme de production :

    R ( l i b e l lm a tr i e l , c ode m a r qu e , l i b e l lm a r qu e , t y p e de t e s t , d a t e du t e s t , rsu l t a t d ut e s t ) n'est pas en 1re forme normale car aucun attribut ne peut tre cl primaire : le libellmatriel peut tre identique pour plusieurs lments.

    R ( c o de m a tr i e l , l i b e l lm a tr i e l , c od e m a rq ue , l i b e l lm a rq ue , c ode t y p e de t e s t , l i b e l ld u t e s t , d a t e d u t e s t , rsu l t a t d u t e s t ) n'est pas en 1re forme normale car on peut faireplusieurs tests sur un mme matriel, ce qui exige de rpter les informations "code type de test","libell du test", "date du test", "rsultat du test", dans un mme nuple.La relation doit tre clate en deux, pour tre exprime en 1re forme normale :

    R-MA TER I EL ( c o de m a tr i e l , l i b e l lm a tr i e l , c o de m a r qu e , l i b e l lm a r qu e )R -TEST ( c ode m a tr i e l , c od e t y p e , l i b e l lte s t , d a t e du t e s t , rsu l t a t d u t e s t )

    Les deux relations ne comportent que des attributs sans rptition. Dans R_TEST, la cl primaireest compose de "code matriel" et "code type" : un type de test peut concerner plusieursmatriels, un matriel peut tre test plusieurs fois, mais chaque matriel ne subit quune fois untype de test donn.

    2me forme normaleUn e r e l a t i o n e s t d i t e e n d e u x im e f o rm e n o rm a l e s i e l le e s t e n p r em ir e f o r m e n o rm a l e ,e t s i t o u t a t t r i b u t n ' a p p a r t e n a n t p a s l a c lp r i m a i r e n e d pen d p a s q u e d ' u n e p a r t i e d ece t t e c l.

    R -TEST ( c ode m a tr i e l , c od e t y p e , l i b e l lte s t , d a t e du t e s t , rsu l t a t d u t e s t )

    n'est pas en 2me forme normale car l'attribut "libell test" ne dpend que du "code type" et pas du

    "code matriel" ;La relation doit clate en deux, pour tre exprime en deuxime forme normale :

    R-TEST ( c o de m a tr i e l , c od e t y p e , da t e du t e s t , rsu l t a t d u t e s t )

    R -TYPETEST ( c od e t y p e , l i b e l lte s t )

    3me forme normale

    Un e r e l a t i o n e s t d i t e e n t r o i s im e f o rm e n o r m a l e s i e l l e e st e n d e u x im e f o rm e n o r m a l e ,e t s i t o u t e s l e s dpen d a n c e s f o n c t i o n n e l l e s i s su e s d e l a c lp r i m a i r e s o n t d i r e c t e s

    R-MATERIEL (code matriel, libell matriel, code marque, libell marque)

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    17/91

    La dpendance entre "code matriel" et "libell marque" n'est pas directe, "libell marque" est endpendance fonctionnelle directe avec le "code marque".La relation doit tre clate en deux, pour tre exprime en troisime forme normale :

    R-MA TER I EL ( c od e m a tr i e l , l i b e l lm a tr i e l , c ode m a rq ue )R -MARQUE ( c o d e m a r q u e , l i b e l lm a r q u e )Le schma conceptuel final de la base de donnes est donc :

    R-MA TER I EL ( c od e m a tr i e l , l i b e l lm a tr i e l , c ode m a rq ue )R -MARQUE ( c o d e m a r q u e , l i b e l lm a r q u e )R -TYPETEST ( c od e t y p e , l i b e l lte s t )R -TEST ( c o de m a tr i e l , c od e t y p e , da t e du t e s t , rsu l t a t d u t e s t )

    Commentaires:

    Le schma conceptuel fait apparatre 3 relations entits : R-MATERIEL, R-MARQUE, R-TYPETEST

    et la relation association R-TESTqui ralise le lien Matriel Type testde type N:M Le lien fonctionnel Matriel Marquede type N:1 est ralis par la prsence du "code

    marque" dans la relation R-MATERIEL.

    IIDmarche de cration dune base de donnesAvant la cration de la base de donnes un travail danalyse pralable est indispensable. Il estncessaire danalyser le problme traiter en partant des rsultats obtenir (en sortie) avec leurfrquence.Etudions par exemple la cration dune base de donnes de gestion dun Centre sportif.LE PROBLEME A RESOUDRE

    Le Centre sportif NATURE ET SANTEpermet ses adhrents d'utiliser des quipements sportifs,sur certains sites moyennant une cotisation dont le montant est fonction des quipementsncessits par l'activit choisie et le lieu de pratique.Les activits possibles et les cotisations annuelles sont les suivants :

    BALNEO 2 035,00 F GOLF 4 200,00 F GYMNASTIQUE 1 815,00 F MUSCULATION 2 420,00 F SQUASH 1 320,00 F TENNIS 3 500,00 F

    Le montant du droit dentre par lieu de pratique est le suivant : Decazeville 150,00 F Millau 190,00 F Rodez 300,00 F Saint Affrique 90,00 F Villefranche 160,00 F

    Les cotisations sont payes pour l'anne au dbut du mois de janvier.Les adhrents peuvent choisir plusieurs activits et utiliser les quipements correspondant auxactivits choisies, quand bon leur semble, aux heures d'ouverture de chaque lieu. Chaque adhrent

    ne sinscrit que dans un seul lieu de pratique.Le responsable du Centre souhaite grer sur Base de donnes les cotisations d'environ 500adhrents. De plus, il voudrait grer les renseignements concernant les adhrents, les activits, leslieux, les tarifs, et pouvoir diter les tats correspondants.

    TYPE TESTMATERIEL MARQUE

    1N

    11

    TEST

    N N

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    18/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 18/91

    LES RESULTATS A OBTEN I R

    Recenser tous les rsultats que votre application doit pouvoir vous fournir. Il sagit gnralementdtats produire. Ces tats doivent contenir des donnes. Une maquette papier des tats peuttre ralise afin de ne rien oublier.Si nous reprenons notre exemple, les rsultats obtenir sont :

    la liste des adhrents avec leur code, nom, prnom, date de naissance, adresse, codepostal, ville et numro de tlphone

    la liste des quipements mis leur disposition avec le code, le nom et le tarif dutilisation la liste des adhrents et des quipements quils utilisent, ainsi que le montant pay.

    LE D I CT I ONNA I RE DES DONN EES

    Il faut alors crer le dictionnaire des donnes cest--dire recenser tous les renseignements grersans distinguer ce quoi ils se rapportent.Nous aurons donc :

    Nom adhrent Prnom adhrent Date de naissance Adresse Code postal Ville

    Numro de tlphone Nom activit Tarif activit Lieu de pratique Droit dentre

    LA DEF I N I T I ON DES ENT I T ES

    Lentit peut tre un individu (client, adhrent), un bien (article, dpt, magasin, quipement),un concept (description dune commande, inscription).Nous voyons apparatre ici trois entits : les adhrentsles activits et leslieux de pratique.Il sagit maintenant de dfinir quelle entit se rapportent les donnes recenses plus haut, cest--dire de quel objetou entitelles deviennent lattribut(ou la caractristique).Nous pouvons dfinir le schma qui suit :

    A chaque entit correspondra une table dans la base de donnes.LE MOD ELE ENT I TE ASSOCI AT I ON

    Lassociationest un lien entre 2 (ou plusieurs) entits.Entre lentit ADHERENTet lentit ACTIVITE, lassociation correspond la notion de PRATIQUEde lactivit, et est matrialise par le verbe Pratiquer.Entre lentitADHERENT et lentitLIEU, lassociation correspond la notion dutilisation et estmatrialise par le verbe UtiliserDe plus nous allons rajouter un identifiantuniquedans chaque table sous forme de Numro oudeCode.Le modle Entit Associationprend lallure suivante :

    ADHERENT

    Nom adhrent

    Prnom adhrent

    Date de naissance

    Adresse

    Code postal

    Ville

    Numro de tlphone

    ACTIVITE

    Nom activit

    Tarif activit

    LIEU

    Nom du lieu

    Droit dentre

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    19/91

    Num_adh est lidentifiant de la table ADHERENT. Ce champ sera dfini comme cl primaireindex sans doublon.Code_activest lidentifiant de la table ACTIVITE. Il sera dfini comme cl primaire index sansdoublon.Code_lieu est lidentifiant de la table LIEU. Il sera dfini comme cl primaire index sansdoublon.LES REGLES DE GEST I ON

    Ce sont les rgles qui rgissent notre application. Ici un adhrent peut pratiquer plusieursactivits, sur un seul lieu. Il suffira quil paie le tarif des cotisations correspondant auxquipements utiliss, et le droit dentre sur le lieu de pratique.LE MODELE RELAT I ONN EL

    Nous devons maintenant crer le modle relationnel.Les activits

    Un a d hre n t p e u t p r a t i q u e r p l u s i e u r s ACT I V I T ES Un e a c t i v i t peu t t r e p r a t i q ue p a r p l u s i e u r s AD HERENTS

    Il y a donc une relation de plusieurs plusieursentre les tables ADHERENTet ACTIVITE.Avec ACCESS, il nest pas possible de crer un tel type de relation directement entre deux tables. Il

    faut ncessairement t r a n s i t e r p a r u n e t a b l e i n t e r m d i a i r e . Pour cela, il faut r e m p l a c e rl a s s o c i a t i o n matrialise par le verbe utiliser par une nouvelle t a b l e qui servira de lien entre les2 autres tables.Cette nouvelle table que nous appellerons PRATIQUEcomprendra donc les champs suivants :

    Num_adhCode_activ

    N . B Ces deux champs correspondent aux cls primaires des deux autres tables.Nous tablirons une relation de type u n p l u s i e u r s entre le champ N u m _ a d h de la tableADHERENTet le champ N u m _ a d h de la table PRAT I QUE .Nous tablirons une relation de type un plusieurs entre le champ Code_activ de la table ACTIVITEet le champ Code_activ de la table PRATIQUE.

    Le lieu de pratique

    Un a d hre n t n e p r a t i q u e q u e s u r u n s e u l l ie u .U n l i e u p e u t r e c e v o i r p l u s i e u r s a d hre n t s .

    N . B Nous avons donc une r e l a t i o n d e u n p l u s i e u r s entre la table L I E U et la table ADHERENT.

    Pour crer cette relation, nous allons devoir rajouter dans la table ADHERENTle code du lieu depratique, afin dtablir la relation directe entre le champ Cod e _ l i e u de la table L I E U et le champCod e _ l i e u de la table ADHERENT.

    Le modle relationnel sera donc le suivant

    ADHERENT

    Num_adh

    Nom_adh

    Prn_adh

    Dat_Nais_adhAd_adh

    CP_adh

    Vil_adh

    Num_tl_adh

    PRATIQUEACTIVITE

    Code_activ

    Activ

    Tarif

    UTILISE LIEU

    Code_lieu

    Lieu

    Entre

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    20/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 20/91

    IIILes redondancesExemple

    Il est ncessaire dviter les redondances dans le modle relationnel. Prenons par exemple la tablesuivante qui concerne les propritaires de vhicules :

    nom date tl n immat marque type cv coulDurand 10/2/88 23.32.32.23 3344RF45 Renault R25 9 bleuDupont 8/10/88 62.62.52.55 7787FG56 Peugeot 405GR 7 vertPagnol 7/7/89 76.45.34.34 554FG22 Volvo 245 8 blancPagnol 21/4/90 76.45.34.34 667TG22 Peugeot 305 6 grisDuval 15/8/90 78.25.68.52 129DR75 Renault R25 9 blanc

    Elle pose dans son utilisation un certain nombre de problmes, lis la redondance des donnes.Donnes redondantes

    La table fait apparatre une personne et ses coordonnes autant de fois quelle possde unvhicule.

    Pagnol 7/7/89 76.45.34.34 554FG22 Volvo 245 8 blanc

    Pagnol 21/4/90 76.45.34.34 667TG22 Peugeot 305 6 gris

    Si Mr Pagnol change de N de tlphone, il faut sassurer que la mise jour seffectue bien sur lesdeux enregistrements le concernant.

    Une autre redondance est lie la correspondance Marque, Type, CV

    Durand 10/2/88 23.32.32.23 3344RF45 Renault R25 9 bleu

    Duval 15/8/90 78.25.68.52 129DR75 Renault R25 9 blanc

    Pour chaque propritaire ayant une R25, il faudra saisir la marque et la puissance.

    De plus, un mme vhicule peut passer entre les mains de plusieurs propritaires. Il faudra alors

    saisir toutes ces caractristiques lorsquil changera de mains.Solution

    Les champs que nous trouvons dans cette table sont les attributs dentits diffrentes. Nous allonsrattacher ses attributs aux entits quils caractrisent

    Nomet Numro de tlphonecaractrisent lentit PROPRIETAIRENumro dimmatriculation, Marque, Typeet Couleurcaractrisent lentit VEHICULEMarqueet Puissancecaractrisent lentit TYPE.

    Lentit PROPRIETAIREet lentit VEHICULEsont lies par la notion de Possession. La relationest matrialise par le verbe Possder : En effet, un propritaire possde un ou plusieursvhicules. Mais, un mme vhicule pourra avoir t possd par plusieurs propritaires successifs.Nous avons donc entre ces deux entits une relation de plusieurs plusieurs.Lattribut Date dachat ne caractrise pas lune des entits mises en vidences ci-dessus. Parcontre elle caractrise le moment ou le propritaire va possder le vhicule.

    Lentit VEHICULE et lentit TYPE seront lies par la notion dappartenance. La relation estmatrialise par le verbe Appartenir. En effet un vhicule appartient un TYPEet un seul.

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    21/91

    Le modle relationnel aura cette allure :

    La relation entre la table PROPRIETAIRESet la table VEHICULESest matrialise par la tablePOSSEDE. Celle-ci a comme attributs les deux cls primaires des deux tables et le champ Date

    dachat, point de dpart de la possession du vhicule.La relation entre la table VEHICULESet la table TYPESne ncessite pas la cration dune tableintermdiaire puisquil sagit dune relation de un plusieurs de la table TYPES vers la tableVEHICULES.

    PROPRIETAIRE

    Numro

    VEHICULES

    Num immat

    NomType

    Couleur

    Possde

    TYPE

    NomType

    MarqueA artien

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    22/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    PARTIE3CREATION ET MANIPULATION DES

    BASES DE DONNEE AVECMSACCESS

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    23/91

    PARTIE 4 CREATION ET MANIPULATION DES BASES DE DONNEE

    AVEC MS ACCESS

    ICration des tables

    Latableest Le principal organe de stockage de donnes d'ACCESS.

    Pour qu'une base de donnes Access existe, il faut au moins une table. Il peut bien videmment yen avoir plusieurs.

    Les tables servent emmagasiner les donnes stables (quand on dit donnes stables, cela veutdire que leur s t r u c t u r e est stable ; par exemple une table c l i e n t s contiendra toujours des noms,des adresses, etc. et ces lments se retrouveront un emplacement dtermin).

    La table ressemble physiquement une feuille de calcul Excel : il y a des colonnes, qui prennent icile nom de champset des lignes qu'on appelle enregistrements.

    Crer une table, c'est d'abord dcider de sa structure c'est--dire quels champs il faut crer et quelsera leur type de contenu (alphabtique, numrique, etc.)

    Ex em p l e d e f i ch i e r c l ie n t s ( e x em p l e d e g e s t i o n d u n c l u b d e l o i si r )

    Cration de la table ADHRENTS

    Double cliquez la premire option

    Vous obtenez le panneau de cration de structure de table

    Le travail va consister dcider les noms des champs puis choisir le type de donnes quifigureront dedans. (Par exemple, le nom de l'adhrent contiendra du texte exclusivement ;ce sera donc un champ de type Texte).

    Champs (colonnes)

    Enregistrements

    (lignes) Chaque ligne contiendra les coordonnes dun client

    (On saisira ces donnes plus tard)

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    24/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 24/91

    Entrez les noms des champs tels qu'ils apparaissent ci-contre ; pour le moment ne touchezpas au type de donnes. Vous obtenez

    Jusque-l, vous travaillez sur la structure c'est--dire l'envers du dcor. Pour visualiser ce que vousvenez de crer, passez en mode feuille de donnes

    Habituez-vous passer du mode cration au mode feuille de donnes

    Rpondez oui la question : la table doit d'abord tre enregistre, donnez-lui le nomADHRENTSet rpondez non la question laisser ACCESS dfinir une cl primaire. Rsultat (rappel : vous vous trouvez en mode feuille de donnes)

    Pour continuer travailler sur la structure de la table, il faut repasser en mode cration.

    Cliquez sur l'icneDfinir les caractristiques des champs

    Vous allez maintenant dfinir le type de vos diffrents champs.

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    25/91

    Cliquez aprs le mot Texte sur la mme ligne que CodeAd et choisissez Numrique. Cela veutdire que le code de vos adhrents sera constitu de chiffres. Remarque : un champ Texte peut

    contenir des lettres ou des chiffres, alors qu'un champ Numrique ne peut contenir que deschiffres.

    Laissez les autres champs en texte. Pour le CodePostal ; placez-vous sur sa ligne et limitez-le 5 caractres en corrigeant les 50

    en 5 dans la zone Taille de champ de l'onglet Gnral en bas

    Passez en mode Feuille de donnes pour voir, puis repassez en cration. Vous allez maintenant ajouter d'autres champs la table ADHRENTS. Sur la ligne aprs Ville, ajoutez Numtel. Vous allez le laisser en texte (nous avons vu qu'un

    champ texte peut contenir des chiffres), mais pour que la saisie soit plus aise par la suite,vous allez dfinir un masque de saisie.

    Cela veut dire que la zone remplir pour le numro de tlphone se prsentera ainsi : __ ____ __ __ et que vous n'aurez pas saisir les espaces. Il faut savoir que tout champ contenant unmasque de saisie, mme s'il doit recevoir des chiffres, doit tre obligatoirement un champ Texte. Le curseur tant sur la ligne de Numtel, cliquez dans Masque de saisie puis sur les pointillsqui vont lancer l'assistant. Laissez-vous guider par les crans ; vous obtenez en fin de compte lessignes suivants sur la ligne Masque de saisie : 00\ 00\ 00\ 00\ 00;;_ (remarque : en tapant cessignes la main, on obtiendrait le mme rsultat). Ajoutez la table ADHRENTSles champs suivants:

    DateAd, champ de type Date/heure pour saisir la date d'adhsion du membreIndividuel, champ de type Oui/Non pour savoir s'il appartient ou non un comit

    d'entreprise

    Passez enFeuille de donnes pour voir (acceptez l'enregistrement de la table). Dans ce mode, cliquez dans le champ Numtel pour voir si le masque est actif. Repassez en

    mode Cration. Il manque un champ Civilit ; vous allez insrer une nouvelle ligne. Slectionnez la ligne NomAd et appuyez sur la touche Inser du clavier. Une nouvelle ligne

    est cre. Saisissez Civilit comme nom de champ.

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    26/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 26/91

    Ce serait intressant de crer une liste droulante pour les civilits, c'est dire une listedans laquelle il suffirait de choisir au lieu d'avoir saisir.

    Le curseur tant sur la ligne de Civilit, cliquez sur l'onglet Liste de choix puis sur la ligneZone de texte et choisissez Zone de liste modifiable.

    Sur la ligne en-dessous, choisissez Liste de valeurs Sur la ligne en-dessous, saisissez : Monsieur;Madame;Mademoiselle (n'oubliez pas les

    points virgules et ne faites pas d'espace)

    Passez en mode visualisation, placez-vous dans la case sous Civilit : vous obtenez

    Rcapitulons : vous avez cr la trame capable daccueillir lesdonnes des adhrents.

    Pour le moment, vous navez pas saisi ces donnes ; il est en effet

    prfrable davoir cr toutes les tables utiles avant de les remplir,car sil y avait une erreur dedans, en la corrigeant on risquerait deperdre tout ou partie de la saisie, cest--dire davoir travaillpour rien !

    No t i o n d e c lp r im a i r e

    Dans un systme de gestion de bases de donnes comme Access, pour toute table que lon cre ilfaut se poser une question : Quel est le champ qui contiendra pour chaque enregistrementune caractristique unique ? (Vous allez comprendre : sil sagit de personnes, la caractristiqueque lon est absolument sr de ne pas retrouver chez plusieurs personnes diffrentes, cest sonnumro INSEE !) Il est indispensable que toute table comporte un tel champ, de faon que lesystme puissse identifier de manire certaine chaque enregistrement.Dans la table ADHRENTS, quel champ va servir didentifiant ?Cest bien sr le Code Adhrent : chaque adhrent aura le sien.Pour indiquer au systme que le champ CodeAd est lidentifiant unique, vous allez poser dessusune cl (on dit une cl primaire).

    En mode cration, slectionnez la ligne de CodeAd et cliquez sur licne de cl. Un symbole decl sinsre en dbut de ligne.

    Indique que ce sera une liste

    droulante

    Indique que les valeurs vont

    tre saisies au clavier sur la

    ligne en dessous

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    27/91

    Po u r A c c e s s , c e l a si g n i f i e q u i l e s t i m p o s s i b l e d e d o n n e r d e u x f o i s l e m m e c o d e d a n s lat a b l e .

    R e m a r q u e : la cl est gnralement pose sur un champ numrique mais techniquement rienn'empche de la poser sur un champ texte, dans la mesure o on est sr que le contenu seraunique dans la table. Il est possible aussi de poser une cl sur deux champs en mme temps : cemoment-l ce sera lassociation des deux contenus qui devra tre unique.

    Refermez la table ADHRENTSen enregistrant les modifications.

    Cration des tables pour la location des bateaux

    Dans la plaquette dAURAY PLAISANCE, la page Tourisme fluvialdcrit la flotte.

    On peut louer trois types de bateaux, mais il y a plusieurs bateaux de chaque type ; vous aurezdonc besoin de deux tables : la table TYPES DE BATEAUX, qui contiendra pour chaqueenregistrement les caractristiques du type de bateau. La table BATEAUX contiendra le nompropre de chaque bateau et sera rattache la table TYPES DE BATEAUX(de cettemanire, vousnaurez saisir les caractristiques quune fois par type de bateau). Dans la partie Tables de lafentre Base de donnes, cliquer Crer une table en mode Cration.

    Rflchissez maintenant aux champs ncessaires dans chacune de ces deux tables. Il sagit dechercher dans le descriptif de la flotte ce qui se rapporte au Type de bateau et ce qui se rapporte un bateau en particulier (de cette analyse dpend le bon fonctionnement de la base de donnes).On peut ainsi schmatiser la structure de nos deux tables :

    TYPES DE BATEAUX BATEAU

    CodeTypeBateau

    CatgorieNbPersonnesMax

    NbPersonnesMinTarifHteSaisonTarifBsSaison

    Champs cl

    Autres champs

    CodeBateau

    CodeTypeBateauNomBateau

    Depuis la fentre Base de donnes, dans llment Tables, faites Crer une table en modecration.

    Constituez la table TYPES DE BATEAUX comme sur le modle ci-contre. Noubliez pas deposer la cl sur le premier champ. Vrifiez que vous ne vous tes pas tromp(e) de type dedonnes pour chaque champ. Pour les tarifs, mettez en plus de Montaire un format Euro dansl'onglet du bas.

    Refermez et enregistrez la table sous le nom TYPES DE BATEAUX(les donnes seront saisiesplus tard, de mme que pour la table AD HRENTS)

    Crez la table BATEAUX comme ci-contre en posant la cl sur ce champ. Refermez etenregistrez la table sous le nom BATEAUX.

    Nom des tables

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    28/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 28/91

    On pourrait aller chercher le CodeTypeBateau dans la table TYPE DE BATEAUX.

    Cration de la table CROISIRES

    Vous savez maintenant crer une table.

    Crez la table CROISIRES comme ci-contre. Pour les champs montaires, demandez unformat euro. Refermez la table.La base AURAYcomporte maintenant 4 tables : ADHRENTS, BATEAUX, TYPES DE BATEAUX

    et CROISIRES.

    Ainsi juxtaposes, les 4 tables ne communiquent pas entre elles. Les liaisons que vous allez tablirdans le chapitre suivant vont les rendre communicantes.

    Quelles relations peut-on tablir entre ces tables ? Pour trouver la rponse cette question, onutilise des phrases avec sujet, verbe, complment :

    un adhrentrserveune croisire,

    un adhrentloueun bateau.

    Le fait de rserver ou louer nous amne crer deux autres tables : une table des rservations etune table des locations dans laquelle seront stocks les lments propres aux rservations ou auxlocations (exemple : la date ; celle-ci est bien une caractristique de la rservation et non dubateau).

    Cration de la table LOCATIONS

    Crez la table LOCATIONScomme ci-contre Placez la cl sur le champ CodeLoc Pour DateDbut et DateFin, choisissez un format date,abrg (en vous plaant sur la ligneconcerne, cliquer dans Format, onglet Gnral). Refermez la table LOCATIONS.Cration de la table RSERVATIONS

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    29/91

    Crez la table RSERVATIONScomme ci-contre. Placez la cl sur le champ CodeResa Pour la date, prenez un format Date, abrg

    Df i n i t i o n de s r e l a t i o n s

    Cette partie du travail est particulirement importante, car si vous rencontrez des problmes ils serpercuteront tout au long du travail. Il faut donc imprativement que les relations fonctionnentparfaitement.

    Depuis la fentre de la Base de donnes, cliquez sur licne Relations

    Vous vous trouvez sur ADHRENTS; cliquez Ajouter. Dplacez-vous sur BATEAUX, cliquezAjouter, et ainsi de suite sur CROISIRESpuis LOCATIONSpuis RSERVATIONSpuis TYPESDE BATEAUX. Les 6 tables sont affiches. Cliquez Fermer. (Si par mgarde vous avez ajout deux fois unetable, tez-la en appuyant sur la touche Suppr du clavier aprs l'avoir slectionne avec la souris).

    Les tables peuvent tre redimensionnes et dplaces comme nimporte quelle fentre Windows. Amnagez-les pour obtenir ceci :

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    30/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 30/91

    Remarquez que dans chaque table, le champ cl se prsente en caractres gras.Ilreste tracer les relations.

    Placez-vous sur CodeAd de la table ADHRENTSet sans lcher le clic, tirez-le pour le dposersur le champ CodeAd de la table RSERVATIONS. Dans la fentre qui apparat, cochez Appliquer lintgrit rfrentielle puis cliquez sur Crer.Le rsultat est une ligne qui va de CodeAd de la table ADHRENTS jusqu CodeAd de la tableRSERVATIONS.Signification de cette ligne

    Le systme retrouve ladhrent qui a rserv grce son code, indiqu dans la table desRSERVATIONS

    1. Le chiffre 1 et le symbole (infini) signifient que pour 1 adhrent, plusieurs rservations sontpossibles. En revanche, une rservation ne peut tre attribue qu un et un seul adhrent.2. Le sens de la relation, de 1 indique aussi que lorsque vous saisirez les donnes, il faudradabord saisir celles de la table du ct du 1 (en clair : il ne sera pas possible denregistrer unerservation pour un adhrent qui nexiste pas encore). Dfinissez les autres relations pour obtenir ceci (chaque fois il suffit de prendre le champ dedmarrage et de le dposer sur le champ d'arrive, attention de ne pas vous tromper). Vrifiez bien que votre cran est conforme cette image

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    31/91

    A partir de maintenant, le modle est prt. On sait quelles sont les tables, quels sont les champsquelles contiennent avec quel type de donnes lintrieur, on sait o se trouvent les cls, et onsait quelles relations unissent les tables.

    Enregistrez les modifications apportes la fentre des relations.Lessentiel de la base est constitu, la saisie des donnes va pouvoir se faire.

    IISaisie de donne et cration de formulaireSa i s i e de do nn es en m od e t a b l e

    Rappel: d'aprs le modle que vous avez dtermin, la saisie des donnes ne peut pas se fairedans n'importe quel ordre ; la table des rservations devra tre saisie en dernier, puisque leschiffres 1 sont tous du ct des autres tables (voir fentre des relations).

    Prenez avec vous la page 8 (fichier adhrents).

    Depuis la fentre Base de donnes, dans les tables, double-cliquez sur ADHRENTSpour ouvrir latable en mode Feuille de donnes. Vous obtenez :

    Vous allez saisir le premier adhrent de la liste. Cliquez dans le champ CodeAd, 1 religne, etsaisissez 1 puis tabulateur pour passer au champ Civilit. Cliquez sur la petite flche de la liste droulante et choisissez Madame. Continuez saisir les donnes du premier adhrent. Constatez que le masque de saisie pour letlphone a bien fonctionn. Un petit problme se pose cependant : la date de naissance n'a past prvue. Vous allez remedier cela. La structure de la table peut encore tre modifie si cela ne touche pas au champ quicomporte la cl. De plus il ne s'agit que d'ajouter un champ. Cliquez sur l'querre pour passer en

    mode cration. Slectionnez la ligne DateAd et appuyez sur la touche Inser du clavier pour ajouter une lignevierge. Crez le champ DateNaiss de type Date/Heure et dans l'onglet Gnral du bas donnez unformat Date, abrg.

  • 8/11/2019 Manipulation d'une Base de Donnes

    32/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 32/91

    Le champ DateAd n'avait pas jusqu'ici de format Date,abrg ; profitez de l'occasion pour lefaire. Vous obtenez le rsultat ci-contre

    Repassez en mode Feuille de donnes Continuez votre saisie jusqu'au dernier adhrent. Cochez le champ Individuel lorsque l'adhrent n'appartient pas un comit d'entreprise Rsultat obtenir ci-dessous (en raison de la dimension de notre page, le dernier champIndividuel napparat pas sur limage)

    La saisie que vous venez d'effectuer s'est faite en mode Table, c'est--dire dans un tableau o sontregroupes toutes les donnes de tous les enregistrements.

    Ce n'est pas trs convivial !!Heureusement, on peut se faciliter la vie en crant une sorte de fentre de dialogue qui s'appelleFormulaire. La diffrence avec la table, c'est que le formulaire n'affiche qu'un enregistrement lafois. (Pour ceux qui connaissent la fonction Base de donnes d'Excel, cela correspond l'affichageGrille).

    En fait les donnes sont toujours contenues dans la table ; si vous les saisissez depuis leformulaire, elles vont dans le mme "rservoir".

    Rservoir de donnes d'une table

    FormulaireSaisie en

    mode tableDonnes Donnes

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    33/91

    Sa i si e d e d o n n es e n m od e f o rm u l a i r e

    Grce aux assistants d'Access, le travail va tre facile.

    Depuis la fentre Base de donnes, placez-vous sur la table TYPES DE BATEAUXet dveloppez lemenu droulant Nouvel objet, choisissez Formulaire automatique.

    C'est vraiment instantan !Vous avez devant les yeux un formulaire tout prt. Il n'y a plus qu'entrer les donnes dedans et amliorer sa prsentation, mais ceci est un dtail que nous verronspar la suite.

    Saisissez les donnes du premier type de bateau en lui attribuant le code 1.

    Le systme a prvu (en fonction des liaisons que vous avez dclares) un sous-formulairepour enregistrer les diffrents bateaux. Saisissez les donnes de chaque bateau comme ci-contre. Pour passez au deuxime enregistrement, cliquez tout en bas de la fentre sur la flche dedfilement. Pour le moment, cela indique que vous en tes la saisie de l'enregistrement 1 sur untotal de 1. Saisissez les donnes du second type de bateau avec les trois bateaux concerns (attentiondans le sous formulaire, les noms des bateaux seront numrots 4, 5), puis les donnes dutroisime type de bateau avec ses deux bateaux ( numroter 6 et 7).

    Remarque : Il est possible de demander Access de numroter lui-mme lesenregistrements avec un compteur automatique. Toutefois en situationd'apprentissage nous avons remarqu que cela pose beaucoup de problmes car sil'apprenant se trompe et dtruit un enregistrement, ce numro n'est plus rutilisable.On risque de se retrouver en dphasage avec le support de cours. Mais dans la

    ralit, on utiliserait le compteur automatique. Il suffit de demander dans la structurede table un type de donnes NumAuto au lieu de Numrique.

    Fermez et enregistrez le formulaire sous le nom TYPES DE BATEAUX.

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    34/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 34/91

    Cration du formulaire CROISIRES

    De la mme manire que prcdemment, crez partir de la table CROISIRES unformulaire instantan et saisissez les donnes des croisires. Pour les descriptifs, utilisez une forme abrge (exemple : sortie 2 h passage cluse) Quand il n'y a qu'un tarif, mettez le mme pour adultes et enfants. Pour la Formule Moussaillons, mettez 0 dans tarif adulte. Refermez le formulaire en acceptant le nom CROISIRESpropos par le systme.

    Vous allez vrifier que les donnes saisies dans le formulaire sont bien prsentes dans les tables.

    Dans la fentre Base de donnes, cliquez l'lment Tables et double-cliquez CROISIRES;constatez que les donnes sont l. Refermez la table. Faites de mme pour la table TYPESDEBATEAUX, puis pour la table BATEAUX.

    Cration du formulaire LOCATIONS

    Crez un formulaire instantan partir de la table LOCATIONS. Ne saisissez rien pour lemoment.

    Ges t i on de s vn em en t s cou ra n t s

    Ajouter des enregistrements dans une table

    Aujourd'hui, deux nouveaux clients s'inscrivent AURAY PLAISANCE ; avant de les enregistrer,crez un formulaire instantan partir de la table ADHRENTS. Saisissez ensuite les donnes de :

    LUCAS Elizabeth (Madame)

    3 place de la Poste

    56740 LOCMARIAQUER

    02 97 54 87 21Ne le 03/05/58

    Individuel

    BERLAND Jean-Luc

    71 bd de la Rpublique

    35000 RENNES

    02 99 41 52 63N le 25/6/59

    Individuel

    Modifier des donnes

    Monsieur LE GUEN Denis fait part de son nouveau numro de tlphone : 06 14 30 45 78. Faites lamodification (vous pouvez pour cela utiliser le filtre par formulaire).

    Madame MARIN a chang dadresse : dsormais elle habite 13 place Kerval (mme localit).

    Trier, filtrer, rechercher dans une table selon des critres

    Tr i

    Ouvrez la table ADHRENTS. Vous voulez obtenir un tri alphabtique par noms dadhrents.

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    35/91

    Slectionnez le champ NomAd ; cliquez sur licne A/Z. Immdiatement, la table est trie. Constatez que les donnes de la ligne entire ont suivi le nom de ladhrent (heureusement !)Remarque : sous Excel, il peut arriver que les donnes soient destructures si vous avez fait uneslection malencontreuse ; avec Access, cela ne peut pas arriver.Re c h e r c h e

    Vous recherchez ladhrent GUEGUEN. Cliquez sur licne qui reprsente des jumelles.Remplissez la fentre dialogue comme suit.

    Cliquez Suivant : le nom de GUEGUEN apparat en surbrillance dans la liste.F i l t r e

    Vous voulez ressortir uniquement les adhrents qui habitent RENNES.

    Cliquez licne Filtrer par formulaire. Placez-vous dans le champ Ville et choisissez RENNESdans la petite liste. Ensuite, cliquez sur Appliquer le filtre.

    Vous avez devant les yeux la liste des adhrents de Rennes. Pour annuler le filtre, dsactivezlicne (qui sappelle maintenant Supprimer le filtre). Supprimer le critre Rennes. Filtrez les adhrents ns aprs le 1er janvier 1965 (saisissez > 01/01/65 dans le champDateNaiss).Faites dautres essais votre guise (attention, noubliez pas dter les critres entre deux essais,sinon le systme va chercher des enregistrements qui correspondent la fois plusieurs critres etnaura peut-tre pas de rponse).

    Am l i o r e r l a p rsen t a t i o n d ' u n f o rm u l a i r e

    Jusqu'ici nous ne nous sommes pas intresss la prsentation car d'autres choses taient plusimportantes toutefois il est toujours plus agrable de travailler sur un cran convivial et c'estpourquoi vous allez consacrer un peu de temps amliorer votre cadre de saisie. Ceci est dansvotre intrt personnel, mais il faut penser que, dans l'entreprise, ce sont peut-tre d'autrespersonnes qui devront saisir des donnes et qu'il est bon de leur faciliter aussi le travail.

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    36/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 36/91

    Depuis la fentre Base de donnes, dans l'lment Tables, placez-vous sur ADHRENTSetcrez un formulaire instantan comme d'habitude. Vous obtenez : Passez en mode Cration

    Vous allez travailler sur l'envers du dcor. A tout moment, vous pouvez passer en modeVisualisation pour voir leffet produit par vos manipulations.

    Cliquez sur la zone de texte CodeAd : lensemble du contrle est slectionn. Dplacez-le vers la droite ; vous pouvez constater que lensemble du contrle se dplace. Maintenant vous allez dplacer uniquement ltiquette. Pour cela, cliquez prcisment sur lepetit carr noir en haut gauche de ltiquette. Le curseur prend la forme dune main doigt lev. Rapprochez ltiquette de la zone de texte. Observez bien de quelle manire apparaissent les

    marques de slection dans les diffrents cas.

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    37/91

    Les tiquettes (ou intituls) sont des emplacements o on peut crire ce quon veut, alors queles zones de textes correspondent pour le systme des champs qui ont t dfinis dans la basede donnes. Ainsi vous ne pouvez changer le mot CodeAd de la zone de texte fond blanc sansperturber le fonctionnement. En revanche, le mot CodeAd sur fond gris de ltiquette peut tremodifi. Slectionnez le mot CodeAd ainsi Tapez la place N Adhrent Agrandissez la fentre au maximum Ecrivez Adhrent la place de Civilit dans l'tiquette Ecrivez NOM la place de NomAd Supprimez l'tiquette CodePostal et l'tiquette Ville Vous obtenez Rapprochez les tiquettes des zones de texte concernes Dplacez les contrles pour arriver une prsentation ressemblant celle-ci. Renommez lestiquettes Numtel en Tlphone, DateAd en Date d'adhsion, DateNaiss en N(e) le. Cliquez Affichage En-tte/Pied de formulaire. Ouvrez la bote outils Cliquez l'outil Aa Crez une tiquette dans l'en-tte de formulaire (il faut la dessiner c'est--dire cliquer glisserdepuis le coin gauche suprieur jusqu'au coin droit infrieur). Tapez ADHERENTS dans l'tiquette. Slectionnez le cadre pour mettre l'tiquette en 24 gras. Cliquez avec le bouton droit sur le fond de l'en-tte de formulaire et dans l'option Couleurd'arrire-plan remplissage, choisissez une couleur orange clair. Faites la mme chose pour la partieDtail du formulaire. Vous allez formater en une fois toutes les tiquettes. Pour les slectionner, cliquez sur lapremire (N Adhrent) puis appuyez sur la touche MAJ du clavier et maintenez-la enfonce puiscliquez sur chacune des autres tiquettes une par une. Lorsque la slection est faite, mettez lestiquettes en gras italique. Peut-tre certaines d'entre elles seront trop troites il vous suffira deles agrandir lgrement comme n'importe quel objet de dessin. Vous allez amliorer l'alignement des zones de texte et des tiquettes. Slectionnez les zonesde texte (fond blanc) de la premire partie, depuis CodeAd jusqu' CodePostal. Cliquez avec lebouton droit dans cette slection et choisissez Alignement puis Gauche. Faites la mme chose pour les zones de texte de la deuxime partie. Alignez les tiquettes de la premire partie sur la droite puis celle de la deuxime partie. Pagesuivante, voir rsultat obtenir.

    Passez en mode Feuille de donnes

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    38/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 38/91

    Repassez en mode Cration. Vous allez crer un bouton de commande pour fermer leformulaire. Assurez-vous que l'outil Assistant est enclench. Dans la bote outils, (affichez-la si ncessaire) choisissez l'outil Bouton de commande. Dessinez un petit rectangle avec cet outil dans la zone en-tte du formulaire, droite del'tiquette ADHERENTS. Choisissez les paramtres suivants : Oprations sur formulaire et Fermer formulaire

    Dans la bote suivante, choisissez Texte Fermer Formulaire, Ok, puis donnez comme nom votre bouton Fermer Adhrents. Passez en mode Affichage pour juger du rsultat. Testez le fonctionnement de votre bouton.

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    39/91

    Allez au dernier enregistrement pour inscrire un nouvel adhrent Enregistrez le nouvel adhrent : Mademoiselle Claire NANTREC, 7 impasse des Sternes,RENNES, tlphone 02 99 65 41 89, date de naissance 5/6/71, individuel. Fermez le formulaire. Ouvrez le formulaire LOCATIONSen mode Cration.

    Affichez En-tte et pied de formulaire. Crez une tiquette LOCATION DE BATEAUX dans len-tte. Formatez-la en gras 18.

    En mode Affichage vous obtenez:

    Le problme cest que pour enregistrer une location, il va falloir aller chercher le code deladhrent dans la table ADHRENTS et le code du bateau dans la table BATEAUX. Heureusement,vous allez pouvoir automatiser tout cela grce aux outils assists. La technique va consister supprimer le champ et le remplacer par une liste droulante,laquelle ira chercher les donnes dans une table. Repassez en Cration. Cliquez sur le contrle CodeAd et supprimez-le (touche Suppr).

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    40/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 40/91

    Dans la bote outils prenez loutil Zone de liste modifiable (licne Assistant doit tre

    enclenche) et dessinez le nouveau contrle la mme place que prcdemment. Cliquez deux fois Suivant (vous voulez que le systme aille chercher les donnes dans la tableADHRENTS). Dans le panneau suivant, prenez les trois premiers champs (CodeAd, NomAd et Prnom). Cesont ceux qui safficheront pour que vous puissiez choisir ladhrent. Cliquez Suivant. Dans le panneau suivant, gardez loption Colonne cl cache (en fait, dans le formulaire, peuvous importe de connatre le numro de ladhrent, pourvu que la machine sy retrouve). Dans le panneau suivant, cochez loption Stocker la valeur dans le champ et choisissezCodeAd. Ceci est une ncessit de la base de donnes pour quelle sy retrouve. Suivant. Donnez comme nom ltiquette : Adhrent. Termin. Passez en mode Affichage pour voir ce que a fait. Revenez en mode Cration pour crer la deuxime liste modifiable. Supprimez le contrle CodeBateau. Avec loutil zone de liste modifiable, dessinez-en un autre.

    Avec lassistant, laissez-vous guider par les crans comme prcdemment (en choisissant la tableBATEAUX), gardez les trois colonnes, et noubliez pas de stocker la valeur dans le champCodeBateau. Donnez le nom Bateau retenu votre tiquette. Passez en mode Affichage pour voir. Repassez en Cration, mettez votre formulaire dans une couleur de votre choix. Saisissez dans votre formulaire les locations suivantes : Monsieur LE GOFF Andr loue un EAU CLAIRE (bateau de type 2) pour une semaine compterdu 20/07. Il y aura 3 adultes et 5 enfants. Mademoiselle DURUEL Vronique loue un ESPADE 850 (type 1) pour 3 adultes pour deuxsemaines compter du 09/09.Monsieur BERLAND loue un CAT CAMP (type 3) pour la semaine prochaine pour 6 personnes

    IIIManipulation des donne et cration des requteEn matire de bases de donnes, la requte est quelque chose dimportant car cela sert beaucoup de choses.

    Cest dabord une question quon pose au systme (exemple : quels sont les clients qui habitentRENNES ? ou Quels sont les bateaux retenus pour telle priode ?). Le systme fournit une rponsesous forme de liste. Lavantage de dfinir une requte (par rapport une simple interrogation) estque vous pouvez lenregistrer et vous en resservir plus tard. La rponse ultrieure du systmetiendra compte, bien entendu, des mises jour qui auraient eu lieu entretemps.Avec une requte on peut aussi faire des calculs, des regroupements,etc.Dans le cas qui nous intresse, vous allez utiliser la requte pour regrouper des tables et ainsicrer un formulaire qui affiche les donnes venant de ces tables.

    Re q u t e sle ct io n

    Dans la fentre Base de donnes, placez-vous dans longlet Requtes, puis cliquez Crer unerequte en mode Cration. Double-cliquez ADHRENTSpuis fermer.

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    41/91

    Double-cliquez les champs suivants : CodeAd, NomAd, Prnom, Ville Vous obtenez Sur la ligne Critres du champ Ville saisissez RENNES. Vous obtenez : Excutez la requte en appuyant sur licne point dexclamation de la barre doutils. Le rsultat saffiche : il y a 3 clients RENNES.. Refermez la requte ; donnez-lui le nom ADHRENTS RENNES.

    Req u te T r i

    Vous voulez disposer tout moment dune liste des clients trie par codes postaux puisalphabtiquement lintrieur de ce classement.

    Requtes, Cration dune requte en mode Cration Ajoutez la table ADHRENTS. Fermez. Ajoutez les champs CodePostal, NomAd, Prnom, Adresse, Ville (dans cet ordre-l) Dans la ligne Tri des champs CodePostal et NomAd, choisissez tri Croissant. Un premier tri va

    seffectuer sur le code postal, premier champ rencontr par le systme puis un deuxime trisur le champ Nom.

    Excutez la requte puis refermez-la en lui donnant le nom Liste des clients par localits.

    Re q ut e r e g r o u p em e n t d e t a b l e s

    Cette requte a pour but de crer un formulaire regroupant les donnes de plusieurs tables.

    Crez une nouvelle requte en mode Cration. Ajoutez les tables RSERVATIONS,CROISIRESet ADHRENTS. Fermez. Ajoutez tous les champs de RSERVATIONSetCROISIRESet le champ VILLE de la table

    ADHERENTS

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    42/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 42/91

    Pour linstant, inutile dexcuter la requte, car il ny a pas de donnes saisies dans les tables.Refermez-la et donnez-lui comme nom Pour formulaire rservations.

    Dans la fentre Base de donnes, placez-vous sur la requte que vous venez de crer etcliquez sur Formulaire instantan de faon crer votre formulaire automatiquement en sebasant sur les tables regroupes dans la requte.

    Supprimez le contrle RESERVATIONS.CodeC

    Comme vous lavez fait dans le formulaire LOCATIONS, vous allez remplacer CodeAd par uneliste droulante qui affichera les noms en clair. Supprimez le contrle puis dessinez avec la bote outils une zone de liste modifiable puis laissez-vous guider par les crans en choisissant la talbeADHRENTS et en demandant laffichage des champs CodeAd, NomAd, Prnom. Noubliez pas destocker la valeur dans le champ CodeAd. Remplacez aussi le contrle CROISIERES.CodeCrois par une liste modifiable (choisissez latalbe CROISIRES et demandez laffichage des 2 premiers champs) et stockez la valeur dans lechamp CodCrois. Supprimez le contrle NomCrois car cela ferait double emploi. Passez en mode Affichage et remplissez votre formulaire pour tester son fonctionnement aveccette rservation : Monsieur GUEGUEN Alphonse rserve une croisire AU FIL DE L'EAU pour le20/07 pour un groupe de 32 personnes (17 adultes et 15 enfants) Constatez que lorsque vous choisissez une croisire dans la liste droulante, sescaractristiques se reportent automatiquement dans les autres champs. Ceci se fait en fonction detout ce que vous avez dtermin dans le modle de base. De mme, la ville o habite ladhrent sereporte automatiquement. Amliorez la prsentation du formulaire en le mettant en couleur,en alignant mieux lesdiffrentes tiquettes et zones de texte. Insrer un en-tte de formulaire avec une tiquette detitre RSERVATIONS DE CROISIRES, comme ci-dessous.

    Le formulaire commence prendre tournure.Toutefois vous pensez peut-tre avec raison quilserait intressant de pouvoir calculer directement le cot de cette rservation pour le client. Lenombre dadultes et denfants est connu, de mme que les tarifs. Il faudrait pouvoir crer unchamp qui calcule. Cest possible ! Mais rappelez-vous, le formulaire est bas sur une requte.Cest dans celle-ci quil faut prparer le champ calcul ; ensuite il suffira dinsrer ce nouveauchamp dans le formulaire.

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    43/91

    Fermez le formulaire, ouvrez la requte Pour formulaire RSERVATIONS en mode Cration. Placez-vous sur le premier champ libre (tout--fait droite de tous les autres) et saisissez trsexactement lexpression de calcul suivante (attention, toute erreur de crochet ou de majuscules

    provoquera un dysfonctionnement). Noubliez pas le signe deux-points aprs Cot. Rappel : lecrochet sobtient en actionnant la touche AltGr et la touche 5 ou .

    Cot : [ N b A d ] * [ Ta r i f A d ] + [ N b En f ] * [ Ta r i f En f ]

    Excutez la requte pour voir si le calcul se fait bien. Il reste insrer le champ calcul dans votre formulaire. Fermez la requte en lenregistrant. Ouvrez le formulaire RSERVATIONSen mode Cration. Cliquez licne Liste des champs. Celle-ci a lavantage de se tenir toujours jour desmodifications que lon pourrait apporter au support de notre formulaire.

    En effet, dans la liste qui apparat vous voyez le champ Cot que vous venez de crer. Prenez-le avec la souris et placez-le dans le formulaire. Passez en mode Affichage pour voir. Enregistrez les deux rservations suivantes dans votre formulaire.

    Monsieur MALECK Guy

    rserve une croisire DETENTE

    pour le 23/06 pour 40 adultes et 11 enfantsentre 3 et 12 ans

    Madame LUCAS

    rserve une croisire EVASION

    pour le 7 juillet pour 52 personnes (35 adulteset 17 enfants)

    Pr o p r its d es c h am p s

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    44/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 44/91

    Vous pouvez constater que ds que vous positionnez le nom de la croisire, le reste saffiche de lui-mme. Toutefois vous avez remarqu que la touche tabulation qui vous permet de passer dunchamp lautre passe un peu du coq lne car les champs ont t dplacs ou rajouts et cela nesuit pas lordre qui vous faciliterait la saisie. Il y a heureusement un remde.

    En mode Cration, cliquez licne Proprits de la barre doutils. Cette fentre vous montre toutes les proprits de tous les lments de votre cran. Ici voustes dans le formulaire Rservations. Cliquez sur le champ CodeResa et dans la fentre des

    proprits, prenez longlet Autres. Regardez la ligne Index Tabulation : il y 0, ce qui veut dire quecest la premire zone remplir.

    Sans fermer la fentre des proprits, cliquez sur CodeAd ; mettez 1 la place de lindex tab.Continuez de la mme manire pour tous les autres champs, jusquau Cot qui sera le 10 e.Dornavant, la touche tabulation vous emmnera du dbut la fin selon votre paramtrage !Un nouvel adhrent sinscrit (le 3 juin) :

    Jacques FERRUGIA

    84 route de Vannes

    56740 LOCMARIACQUER

    Tl. 02 97 45 78 12 N le 7/3/51

    Individuel

    Loue un CAT CAMP pour 3 semaines pour4 personnes compter du 10 aot

    Vous allez lenregistrer dans le formulaire ADHRENTS; toutefois vous avez remarqu quevous tes oblig de taper en majuscules le nom de famille ; il serait prfrable de disposer dunsystme o la saisie serait faite en majuscules mme si on tape en minuscules. Il y a une solution ! Ouvrez le formulaire en mode Cration. Placez-vous sur le champ NomAd, ouvrez la fentredes proprits, onglet Format. Sur la ligne Format, saisissez simplement le caractre > (il forceralaffichage en majuscules dans ce champ). Repassez en mode Affichage pour saisir votre nouvel adhrent et constatez que votremanipulation a port ses fruits. Enregistrez la location dans le formulaire LOCATIONS.

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    45/91

    Req u te M i se j o u r

    Malheureusement, les prix des locations de bateaux augmentent de 10 %. Vous allez devoirchanger les tarifs de la table TYPES DE BATEAUX. La mauvaise solution serait de le fairemanuellement ; bien entendu le cas de notre exemple est tellement petit que ce ne serait pasgnant de faire les oprations la main. Mais il faut toujours penser gros volumes avec unebase de donnes.

    Vous allez donc crer une requte qui procdera automatiquement laugmentation des prix.

    Dans llment Requtes de la fentre Base de donnes, crez une requte en mode Cration. Ajoutez la table TYPES DE BATEAUX, affichez tous les champs sauf les nombres depersonnes. Cliquez sur le menu Requte et choisissez Requte Mise jour, ce qui aura pour effetdajouter une ligne Mise jour dans vos champs. Saisissez comme ci-dessous les expressions de calcul dans les champs des tarifs (attention,pas derreur de saisie, sans quoi cela ne marchera pas !)

    Excutez la requte. Attention, ne faites la manuvre quune seule fois ! Si vous la lancezplusieurs fois, les prix seront augments plusieurs fois de 10 %, et chaque fois sur la base djaugmente Il faudra alors calculer le coefficient capable de ramener les choses leur tat initial.Donc vous lexcutez une seule fois et vous cliquez sur Feuille de donnes pour voir le rsultat.

    R eq ut e Som m e / R eg r o u p e m e n t

    Vous aimeriez disposer dun moyen permanent de connatre ce qua rapport globalement chaquetype de croisire

    Crez une requte en mode Cration, ajoutez la requte Pour formulaire RSERVATIONS,affichez les champs Cot et CROISIERES.CodeCrois. Cliquez licne de la barre doutils qui aura pour effet dajouter une ligne Regroupementdans vos champs. Dans cette ligne pour le champ Cot, droulez la liste et choisissez Somme. Pour le deuximechamp, laissez Regroupement. Excutez la requte. Fermez la requte et enregistrez-la sous le nom Chiffre daffairescroisires. Vous pourrez tout moment lancer cette requte et connatre ainsi votre chiffredaffaires croisires.Requte slection (autre genre)

    Vous souhaiteriez disposer moments rguliers de la liste des clients ayant lou un bateau et decelle des clients ayant rserv une croisire. Cela pourra tre dit sous forme dtat, ce que vousallez tudier dans le chapitre suivant. Mais il faut dj disposer de la requte qui fait lextraction dedonnes.

    Crez une requte en mode Cration, ajoutez les tables ADHRENTS, RSERVATIONS,CROISIRES. Affichez les champs :Nom, Prnom, Ville, Individuel de la table ADHRENTS, NbAd et NbEnf

    de la table RSERVATIONS, NomCrois de la table CROISIERES. Pour connatre le nombre total de personnes de chaque croisire, crez un champ calcul surle premier champ vierge, ainsi paramtr :Nb Total :[NbAd]+[NbEnf] Excutez la requte.

    www.cours-ofppt.com

  • 8/11/2019 Manipulation d'une Base de Donnes

    46/91

    Module N 5 Manipulation de base de donne Filire : TSSSRI

    Page 46/91

    Vous voudriez que la liste soit trie par ordre alphabtique des clients. Que pouvez-vous modifierdans la requte pour lobtenir ?

    Fermez et enregistrez la requte sous le nom CROISIRES PAR CLIENT.

    IVLangage SQLI N T RODUCT I ON

    Qu'appelle ton SQL?

    SQL (Structured Query Language, traduisez Langage de requtes s