Vous êtes sur la page 1sur 12

Universit Mohammed V-Agdal Facult des Sciences Juridiques, Economiques et Sociales- Rabat

Professeur : Karim DOUMI Matire : Informatique applique Niveau : Licence professionnelle

Partie 1
Les systmes de Gestion de Bases de Donnes relationnels Niveau 1

Anne universitaire 2012-2013

Les systmes de Gestion de Bases de Donnes LA BASE DE DONNES ----------------------------------------------------------------------------LE SYSTME DE GESTION DE BASES DE DONNES-----------------------------------Lorganisation des donnes dans la base de donnes-----------------------------------LORGANISATION DES DONNES DANS UN SGBD --------------------------------------UTILISER PLUSIEURS TABLES-------------------------------------------------------------------IL EXISTE TROIS TYPES DE RELATIONS ENTRE LES TABLES ---------------------CREATION DUNE BASE DE DONNEES AVEC ACCESS-----------------------------------CRATION DUNE TABLE--------------------------------------------------------------------------LES TYPES DE DONNES--------------------------------------------------------------------------LES PROPRITS DES CHAMPS ---------------------------------------------------------------Pour les champs texte et mmo----------------------------------------------------------------------Pour les champs Numriques et Montaires -----------------------------------------------------LE MASQUE DE SAISIE ---------------------------------------------------------------------------

Les systmes de Gestion de Bases de Donnes


La base de donnes
Une base de donnes est un ensemble structur de donnes enregistres sur des supports accessibles par lordinateur pour satisfaire simultanment plusieurs utilisateurs de faon slective et en un temps opportun. Elle doit avoir un certain nombre de caractristiques : Donnes structures : les informations contenues dans une base de donnes sont rparties en enregistrements, chaque enregistrement ayant une structure bien dfinie Donnes non redondantes : Une mme information ne sera pas rpte plusieurs fois dans la base de donnes. Donnes cohrentes : Il ne doit pas tre permis denregistrer dans une base des informations incohrentes entre elles Donnes accessibles directement selon de multiples critres Indpendance des programmes et des donnes : La base de donnes doit tre indpendante des programmes qui y ont accs, on doit pouvoir utiliser un autre programme pour traiter diffremment ces donnes sans avoir toucher ces donnes Scurit des donnes stockes : la base de donnes doit permettre un systme de scurit permettant de grer les droits daccs aux informations par les utilisateurs.

Le Systme de Gestion de Bases de Donnes


Un Systme de Gestion de Bases de Donnes (S.G.B.D.) reprsente un ensemble coordonn de logiciels qui permet de dcrire, manipuler, traiter les ensembles de donnes formant la base. Il doit galement assurer la scurit et la confidentialit des donnes dans un environnement o de nombreux utilisateurs ayant des besoins varis peuvent interagir simultanment sur ces donnes. Il doit pouvoir tre utilis par des non-informaticiens. Il doit assurer la dfinition des structures de stockage et des structures de donnes et le suivi de leurs volutions ; cest ce quon appelle ladministration des donnes. Il doit pouvoir au maximum vrifier la cohrence des donnes. Le SGBD sert donc dinterface entre les programmes dapplication des utilisateurs dune part, et la base de donnes dautre part. Microsoft Access est un SGBD dont nous allons tudier le fonctionnement.

Lorganisation des donnes dans la base de donnes


Prsentation de lexemple
Avant de pouvoir exploiter les donnes contenues dans la base, il va falloir les modliser, par modliser, c'est-dire trouver le meilleur moyen de reprsenter le monde rel en structurant la base de donnes de manire pouvoir l exploiter la plus simplement par la suite.

Lorganisation des donnes dans un SGBD


Dans Access, comme dans les autres SGBD, les informations doivent tre segmentes en donnes qui sont stockes dans des tables. Une table est donc un ensemble de donnes, organises en lignes et en colonnes. On peut stocker dans une table nimporte quel type dinformation (texte, chiffres, graphisme, son, etc...) Chaque table est divise en enregistrements, les enregistrements tant lensemble des donnes relatives la mme information. Prenons lexemple dun carnet dadresses. Pour ce carnet dadresses, nous allons utiliser une table contacts qui contiendra toutes les informations concernant chaque contact, chaque enregistrement contiendra les informations relatives un (et un seul) contact (nom, adresse, tlphone, date de naissance, etc.). Comme on vient de le voir, chaque enregistrement contient un ensemble dinformations (nom, adresse, tlphone) qui ont elles-mme diviser lenregistrement en plusieurs parties, chaque partie sappelle un champ. Le champ contient une partie des informations de chaque enregistrement.

Utiliser plusieurs tables


Prenons lexemple de la gestion dune collection de disque. On pourrait tre tent de crer une seule table contenant les informations suivantes :

Et nous naurions pas spcialement tort, toutes les informations relatives un album sy trouvent. Pourquoi faire plus compliqu ? Nanmoins, nous allons voir quil est plus judicieux de crer ici deux tables :

Pourquoi ? On va regrouper ensemble dans une mme table toutes les informations relatives au mme sujet . On voit bien ici quon peut regrouper ensemble les donnes concernant uniquement lidentit de lauteur et, dans une autre table, les informations relatives uniquement lalbum (par exemple, lanne de sortie dun album na pas de rapport direct avec lidentit de lauteur, on la trouvera dans une autre table). Un bon moyen pour trouver les tables utilises est de partir de la situation existante : Un auteur fait des albums, a un auteur peut correspondre plusieurs albums On en dduit directement une table auteurs et une table albums . Maintenant on a deux tables, mais du coup, on ne sait plus qui a fait quoi, les informations sont parpilles. Il va donc falloir trouver un moyen pour savoir exactement quel auteur correspond chaque album. Pour cela on va ajouter dans la table auteur un champ qui va identifier de faon unique chaque enregistrement, ce champ didentification unique est appel clef primaire.

La table Auteurs ressemble alors ceci (la clef primaire est en gras)

Auteurs Et pour pouvoir associer un album un auteur, il va falloir ajouter un champ dans la table Albums , ce champ contient le n de lauteur de lalbum

On voit ici que cette organisation rpond une des exigences des bases de donnes, savoir la non redondance des informations, dans la premire organisation, le nom et le prnom de lauteur taient rpts autant de fois quils avaient fait dalbums, ici il ne sera prsent quune seule fois. Lorsquon voudra afficher les caractristiques dun album, Access, grce au numro de lauteur prsent dans lenregistrement de la table Albums ira chercher automatiquement les informations le concernant dans la table Auteurs . Cette organisation a un norme avantage, le jour ou on veut modifier le nom ou le prnom dun auteur, cette modification sera rpercute automatiquement sur les albums quil aura fait.

Il existe trois types de relations entre les tables :


La relation de type un plusieurs (1 n) Un enregistrement dune table est en relation avec plusieurs enregistrements dune autre table.

Exemple : a un auteur correspond un ou plusieurs albums (plusieurs flches partent du mme auteur), a Chaque album ne correspond quun seul auteur. La relation entre les deux tables se prsente sous cette forme :

La relation plusieurs plusieurs (n m)

Un enregistrement de la table primaire peut tre en relation avec plusieurs enregistrements de la table relie et inversement, un enregistrement de la table relie peut tre en relation avec plusieurs enregistrements de la table primaire. Pour grer ce type de relation, il faut la scinder en deux relations : une relation un plusieurs et une relation plusieurs un .

Il va donc falloir crer une troisime table qui va servir dintermdiaire entre la table auteurs et la table Albums :

CREATION DUNE BASE DE DONNEES AVEC ACCESS :


Une fois vous lancer lenvironnement Access, La fentre Base de Donnes saffiche, elle contient tous les objets qui peuvent composer une base Access : Les Tables : Chaque table de la base va contenir les donnes se rapportant un sujet particulier, la table clients va contenir les informations sur les clients. Cest lobjet fondamental de la base de donnes, toute requte, formulaire ou tat va tre bas sur une ou plusieurs tables. Les Requtes : Les requtes vont tre utilises pour obtenir des donnes contenues dans une ou plusieurs tables partir dune question. Par exemple, une requte va pouvoir nous afficher la liste des clients habitant Paris. Les Formulaires : Le formulaire est utilis pour faciliter la saisie et la modification des donnes dune table, par exemple, le formulaire "client" va permettre dentrer de faon conviviale les informations concernant un client. On peut les saisir sans formulaire, ce que nous verrons, mais cette mthode est moins conviviale. Les tats : Les tats permettent dimprimer des donnes contenues dans des tables selon une prsentation dfinie en y intgrant ventuellement des calculs. Les Macros : Les macros commandes permettent dautomatiser une suite doprations rptitives. Les Modules : Les modules sont des programmes crits en Visual Basic for Application (VBA) pour raliser des oprations qui seraient trop complexes en utilisant les seules fonctionnalits dAccess.

Cration dune table


Cliquer sur Nouveau

Access propose 5 mthodes pour crer une table : Mode feuilles de donnes : ce mode permet de saisir directement des informations dans la table sans se proccuper du nom ou du format des champs, la dfinition du nom et du format sera faite plus tard. Mode cration : On utilisera cette mthode le plus souvent, elle permet de crer les noms et la structure de chaque champ de la table. Assistant Table : Access propose diffrent modles de tables prdfinis (carnet dadresses, factures, etc...) et cre la table, vous devrez la personnaliser ensuite pour quelle rponde vos besoins. Importer la table : Si les donnes de votre table sont dj contenues dans une autre table, dans un fichier ou dans une autre base de donnes, vous pouvez utiliser cette mthode pour importer vos donnes dans une nouvelle table. Attacher une table : Cette option sert attacher une table avec une autre table contenue dans une autre base de donnes, nous ne lutiliserons pas. Nous utiliserons ici le mode cration : La cration de la table seffectue en remplissant les trois colonnes Nom du champ , Type de donnes et Description Chaque ligne de ce tableau contient les informations de chaque champ : Le nom de chaque champ de la table (de 1 64 caractres) Le type de donnes (voir plus bas) choisir parmi 9 types proposs par Access La description du champ (255 caractres maximum)

Les types de donnes


Chaque champ peut contenir des donnes de diffrents types : le nom du client va contenir des caractres alphabtiques, le code postal va contenir des chiffres, la date de livraison une date, un champ prix va contenir des valeurs montaires. Les diffrents types sont : Texte : Pour un champ destin contenir des caractres alphanumriques (lettres et/ou chiffres), attention, le champ de type texte ne peut contenir plus de 255 caractres, on lutilise pour un nom, une adresse, etc Mmo : Mme utilisation que le type texte, mais le champ de type mmo peut contenir jusque 65535 caractres (64 Ko). Utilis pour une description longue par exemple. Numrique : Le champ ne pourra contenir que des nombres avec ou sans dcimales. (un code postal, un n didentification par exemple) Date/Heure : Le champ ne pourra contenir que des dates ou des heures (Access vrifie la validit des dates ou des heures saisies) Montaire : Valeurs prsentes sous format montaire (exemple : 1 23,45F) NumroAuto Valeur numrique incrmente automatiquement lors de la saisie de chaque enregistrement. Si vous choisissez ce type de champ, vous ne pourrez rien saisir dedans, cest Access qui y placera un nombre automatiquement chaque fois que vous crerez un nouvel enregistrement. On lutilisera lorsquon veut tre sur que le contenu de ce champ ne se retrouvera pas dans un autre enregistrement de la table, par exemple pour le

numro de client : chaque nouveau client aura un numro unique automatiquement affect par Access, c'est un champ de ce type qui sera le plus souvent utilis pour tre une clef primaire. Oui/Non : Seules deux donnes sont autorises dans ce champ : Oui et Non (on utilisera ce type de donnes par exemple avec un champ rgl qui indiquera si une facture a t rgle ou non) Objet OLE : OLE (Object Linked and Embbeded) est une technologie utilise par Windows, elle permet dinsrer dans une application des objets provenant dautres applications, on utilisera un champ de ce type pour insrer dans la table une image, un son, un fichier Word, etc... Lien Un champ de ce type contiendra une adresse Internet sur laquelle on pourra cliquer Hypertexte directement.

Les proprits des champs


Comme vous pouvez le constater, chaque champ a des proprits qui dpendent de son type de donnes, ces proprits vont dterminer la faon dont les donnes quil contient vont tre affiches ou comment les donnes vont tre saisies dans ce champ. Ces proprits sont affiches dans longlet Gnral en bas de la fentre. Longlet Gnral affiche chaque proprit du champ et, ct, dans des champs modifiables, la valeur de cette proprit. Ces proprits varient selon le type de donnes (par exemple, un champ numrique aura une proprit dcimales qui indiquent le nombre de chiffres aprs la virgule que ne peut avoir videmment un champ de type texte)

10

Le Masque de saisie
Le masque de saisie permet de faciliter la saisie dans un champ en forant l'utilisateur entrer les donnes selon un format dtermin, les informations stockes dans la table auront le format dfini dans le masque de saisie contrairement au format d'affichage qui affectait seulement la faon dont les donnes contenues dans un champ allaient tre affiches. Le masque de saisie, comme le format d'affichage est constitu d'une combinaison de caractres :

11

Par exemple, si on veut saisir 5 chiffres obligatoirement pour un code postal, on utilisera : 00000, si on veut saisir une suite de 3 chiffres et de 3 lettres : 000LLL, si on veut saisir un numro de tlphone : 00-00-00-00-00, ou un nom de famille dont la premire lettre est toujours en majuscules : >L<????????????? (Prvoir autant de ? que le nom peut comporter de lettres)

12