bon cours merise

Download Bon Cours Merise

Post on 16-Apr-2015

78 views

Category:

Documents

14 download

Embed Size (px)

TRANSCRIPT

BASE DE DONNESSupport de cours de base de donnes de la filire MMIC de l'IUT de Mesures Physiques d'Orsay 2008-2009

Table des matires1 -Intrts........................................................................................................................................ 2 1.1 -Organisation et cohrence des informations....................................................................... 2 1.2 -Traitements des donnes..................................................................................................... 2 1.3 -Utilisations.......................................................................................................................... 3 2 -MERISE..................................................................................................................................... 4 2.1 -Modle conceptuel de donnes-MCD................................................................................ 4 2.2 -Modle logique de donnes-MLD.................................................................................... 17 2.3 -Modle physique de donnes-MPD..................................................................................22 2.4 -Conclusion........................................................................................................................ 23 2.5 -Rfrences.........................................................................................................................23 3 -Le langage SQL ....................................................................................................................... 24 3.1 -Concept :........................................................................................................................... 25 3.2 -Fonctionnalits avances.................................................................................................. 34 3.3 -Syntaxe SQL ................................................................................................................... 37 4 -PgAdmin III..............................................................................................................................42 4.1 -Introduction.......................................................................................................................42 4.2 -Cration de table............................................................................................................... 43 4.3 -Crer une cl trangre..................................................................................................... 44 4.4 -Insrer les donnes dans les tables....................................................................................44 4.5 -Requtes............................................................................................................................45 5 -Annexe......................................................................................................................................47 5.1 -Commandes SQL ............................................................................................................. 47 5.2 -Applications client de PostgreSQL ..................................................................................50 5.3 -Applications relatives au serveur PostgreSQL ................................................................ 50

1 - IntrtsDans de nombreuses entreprises, associations, sites, vous pouvez trouver des bases de donnes. Pourquoi un tel engouement?

1.1 - Organisation et cohrence des informations1.1.1 - viter la rptition d'une mme informationDans un inventaire, plusieurs articles proviennent du mme fournisseur; une base de donnes permet d'viter de rpter le nom du fournisseur pour chaque article. De plus, pour chaque achat d'un mme client, inutile de rpter toutes les informations lies au client, seul un identifiant est ncessaire. De mme dans une gestion de bibliothque, plusieurs livres ont le mme auteur, une base de donnes permet d'viter de rpter toutes les informations sur l'auteur pour chaque livre.

1.1.2 - viter les problmes de graphieUne base de donnes permet d'homognit l'orthographe des noms : traits d'union ou pas, majuscules ou pas, accent ou pas. Par exemple, est-ce que St NAZAIRE est la mme ville que Saint Nazaire ou que Saint-Nazaire? Est-ce que Jean-Jacques ROUSSEAU est bien le mme que Jean Jacques ROUSSEAU ou JJ ROUSSEAU?

1.2 - Traitements des donnesUne base de donnes permet des tris, des regroupements et des classements de toutes sortes. Dans une bibliothque, nous pouvons par exemple souhaiter connatre : tous les livres emprunts le mois dernier, tous les livres emprunts le mois dernier, par des femmes, tous les livres emprunts le mois dernier, par les hommes de plus de 50 ans ayant plus de cinq ans d'adhsion la bibliothque, tous les livres emprunts le mois dernier par les femmes de moins de 25 ans ayant plus de deux ans d'adhsion la bibliothque et n'ayant jamais rendu de livre en retard, etc. Pour rpondre ces questions nous utilisons des requtes. Parmi toutes les informations stockes, une requte permet de rcuprer celles qui correspondent certains critres.

1.3 - UtilisationsPour crer une base de donnes, nous utilisons couramment la mthode Merise. C'est une mthode d'analyse, de conception et de gestion de projet. Les Systmes de Gestion de Base de Donnes (SGBD) sont apparu dans les annes 60. Ils permettent de crer des bases de donnes, de mettre jour leurs donnes, d'y rechercher des informations particulires et de les visualiser. Il existe de nombreux SGDB : PostgreSQL, sbase, Oracle, Sybase, Access, MySQL,... Les SGDB utilisent gnralement le langage SQL. Les bases de donnes sont des outils couramment utiliss : gestion de rservation de billets, d'achat sur internet, gestion des rsultats d'expriences, gestion d'emploi du temps, gestion du personnels, gestion d'une mdiathque, d'une vidothque, gestion de vos DVD, CD, ...

2 - MERISECette section regroupe les notions de base concernant le modle entit-association, le schma relationnel et la traduction de lun vers lautre. Quand nous construisons directement les tables dune base de donnes dans un logiciel de gestion des bases de donnes (PostgreSQL, Oracle, SQL Server, DB2, base, Access, MySQL, ...), nous sommes exposs deux types de problme : nous ne savons pas toujours dans quelle table placer certaines colonnes (par exemple, ladresse de livraison se met dans la table des clients ou dans la table des commandes ?) ; nous avons du mal prvoir les tables de jonction intermdiaires (par exemple, la table des interprtations qui est indispensable entre les tables des films et la table des acteurs). Il est donc ncessaire de recourir une tape prliminaire de conception. Les techniques prsentes ici font partie de la mthodologie Merise (Mthode dtude et de Ralisation Informatique pour les Systmes dEntreprise) labore en France en 1978 (cf. [4]) qui permet notamment de concevoir un systme dinformation dune faon standardise et mthodique. Le but de ce support de cours est dintroduire le schma entit-associations (Section 2.1), le schma relationnel (Sections 2.2 et 2.3) et dexpliquer la traduction entre les deux (Section 2.2.3).

2.1 - Modle conceptuel de donnes-MCDAvant de rflchir au schma relationnel dune application, il est bon de modliser la problmatique traiter dun point de vue conceptuel et indpendamment du logiciel utilis. Cest le but de cette partie.

2.1.1 - Dictionnaire des donnesIl est utile, voir indispensable, d'effectuer un inventaire brut des donnes qui seront stockes et/ou calcules par la base de donnes. Il faut donc diffrencier deux types de donnes, les donnes stockes et les donnes qui peuvent tre dduites ou calculs partir des donnes stockes. Ce document sera prsent sous forme de tableau de 3 colonnes, avec dans la premire colonne le nom de la donne, dans la seconde si cette donne est calcule ou stocke et dans la troisime un commentaire descriptif de la donne.

2.1.2 - Schma entit-associationUne entit est une population dindividus nayant que des caractristiques comparables. Par exemple, dans une entreprise qui achte et vend des produits, nous avons lentit client, lentit article et lentit fournisseurs (voir illustration 1).

Illustration 1: Exemple d'entits

U n e association est un lien entre plusieurs entits. Dans notre exemple illustration 2, lassociation acheter fait le lien entre les entits articles et clients, tandis que lassociation livrer fait le lien entre les entits articles et fournisseurs. Nous avons souvent intrt distinguer deux verbes pour dcrire lassociation, lun dans un sens lautre dans lautre sens. . .

Illustration 2: Exemple d'associations

Un attribut est une proprit dune entit ou dune association (voir illustration 3). Toujours dans notre exemple, le prix unitaire est un attribut de lentit article, le nom du client est un attribut de lentit client. La quantit commande est un attribut de lassociation acheter, la date de livraison est un attribut de lassociation livrer.

Illustration 3: Exemples d'attributs

Chaque individu dune entit doit tre identifiable de manire unique. Cest pourquoi les entits doivent possder un attribut sans doublon : lidentifiant. Le numro de client est lidentifiant de lentit client (nous soulignons cet attribut sur le schma, voir l'illustration 4).

Illustration 4: Exemples d'identifiants

Remarques : un attribut ne doit pas figurer dans deux entits ou associations diffrentes (donc il faut spcialiser lattribut nom en nom du client, nom du produit et nom du fournisseur) ; une entit possde au moins un attribut (son identifiant) ; une association peut ne pas possder dattribut. La cardinalit dun lien entre une entit et une association est le minimum et le maximum de fois quun individu de lentit peut tre concern par lassociation. Un client a au moins achet un article et peut acheter n articles (n tant indterminis