33
Informatique Bases de données et SGBD ISFATES – L1 : UE Informatique1 Par Julien Brancher UFR MIM Université Paul Verlaine – METZ Version sept. 2006

Informatique

Embed Size (px)

DESCRIPTION

ISFATES – L1 : UE Informatique1. Informatique. Bases de données et SGBD. Par Julien Brancher UFR MIM Université Paul Verlaine – METZ. Version sept. 2006. PLAN DU COURS. Introduction aux bases de données - SGBD La modélisation de données Les tables Les cardinalités Les associations - PowerPoint PPT Presentation

Citation preview

  • InformatiqueBases de donnes et SGBDISFATES L1 : UE Informatique1Par Julien BrancherUFR MIM Universit Paul Verlaine METZVersion sept. 2006

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    PLAN DU COURSIntroduction aux bases de donnes - SGBDLa modlisation de donnesLes tablesLes cardinalitsLes associationsExemples et exercice simpleLes transactions SQLPrincipe et syntaxe gnraleCration dobjetsCommandes de manipulations SQLProcds de filtrage et de triageExemple de requtes SQLLes enregistrementsLa cl primaireLes cls trangres

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    Introduction aux bases de donnesCoeur du systme d'information des entreprises

    Mainframes ordinateurs personnels

    BD = grande quantit de donnes, centralises ou non, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables par un groupe d'utilisateurs travaillant en parallle

    Systme de Gestion de Bases de Donnes (SGBD) = logicielInterface entre la base de donnes et les utilisateurs/programmes

    Les limites l'utilisation des fichiersConnatre l'organisation des fichiers (squentielle, indexe, ...)Ecriture des programmes pour manipuler ces informations Rigidit et long et coteux mettre en uvreRisque de cration de fichiers qui contiennent des informations dj prsentes (redondance des donnes)Peu fiables : risque dutiliser les mmes fichiersIntroduction aux bases de donnes

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    Introduction aux bases de donnesDfinitionsCollection de donnes inter-relies de faon structure et cohrenteSystme de Gestion de Bases de Donnes (SGBD) : Ensemble de programmes qui permettent des utilisateurs de crer et maintenir une base de donnes :Dfinition d'une base de donnes (spcification des types de donnes stocker),Construction d'une base de donnes (stockage des donnes)Manipulation des donnes (principalement ajouter, supprimer, retrouver des donnes)Oracle, Sybase, Informix, DB2, MySQL, Access, InterBase, OooBaseLe SGBD spare la partie description des donnes, des donnes elles mmes. Cette description est stocke dans un dictionnaire de donnes et peut tre consulte par les utilisateurs.

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    Introduction aux bases de donnesPourquoi le modle relationnel ?Ensemble de concepts permettant de dcrire la structure d'une base de donnesOprations de mise jourOprations de questionnementModle de donnes le plus utilis Schma de base de donnes = description des donnes grerPhase de spcificationPeu volutif

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    Introduction aux bases de donnesFonctionnalits des SGBDDescription/rcupration des donnes laide de langages (SQL)Contrler/supprimer la redondance d'informationsCot en tempsCot en volumeRisque d'incohrencePartage des donnesAccs la mme information par plusieurs utilisateurs en mme tempsMcanisme de contrle de la concurrence bas sur des techniques de verrouillage des donnesGrer les autorisations d'accsBD multiutilisateurs confidentialit des donnesDroits de lecture, mise jour, cration, ...Reprsenter des relations complexes entre les donnesVrifier les contraintes d'intgritAssurer la scurit et la reprise aprs pannePannes disques : mcanisme de journalisation qui permet de rgnrer une base de donnes automatiquement partir d'une version de sauvegarde et du journal des mouvements.

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesCest quoi la modlisation ?Un modle est la reprsentation mentale dun tre du monde rel et de son fonctionnement: quand on dispose dun modle, on peut simuler mentalement le comportement de cet tre.

    La modlisation, ce nest donc rien dautre que la pense organise en vue dune finalit pratique modle est synonyme de thorie, mais avec une connotation pratique: un modle, cest une thorie oriente vers laction quelle doit servir. Autrement dit, modliser un objet cest dfinir:Les concepts qui permettent de le dcrireLes relations fonctionnelles quentretiennent ces concepts.La modlisationde donnes

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesVocabulaire indispensable :Base de donnes : ensemble des tablesTable (ou entit) : se compose d'enregistrements. Chaque enregistrement regroupe un certain nombre de champsNom de la tableListe des attributs de cette table (caractristiques)

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple A :Un directeur de garage de voitures dsire une base de donnes pour la gestion de ses clients et de leurs voitures.Modlisation de lobjet voiture Caractristiques amenes tre manipuler dans la base

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple A :Attribut : (ou champ) caractristique de lobjetClef primaire : champ identifiant dune table (un ou plusieurs)Cl primaireVoitureN dimmatriculationMarqueGammeModlePuissancePlacesClient

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesVocabulaire indispensable :Enregistrements : prsente toute l'information concernant un "membre " unique d'une table

    AttributAAttributBAttributCAttributXEnregistrement1valeur1Avaleur1Bvaleur1Cvaleur1XEnregistrement2valeur2Avaleur2Bvaleur2Cvaleur2XEnregistrement3valeur3Avaleur3Bvaleur3Cvaleur3X

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple B :Il y a 5 voitures dans le garage :Redondance dinformations

    N dimma-triculationMarqueGammeModlePuissancePlacesClient14561XU57RenaultMgane1.9 Diesel RN1155Honor DUPUIS2654WT54Peugeot407Coup1405Pauline RAVAL35021AAA75JeepWrangler-1504Mlissa BARTH49812XY57ToyotaCelica1.8l1105Simon LAVANDIER57743OP57Peugeot206XS904Pauline RAVAL67

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple A (corrig) :Redondance des donnes : un client peut avoir plusieurs voitures!!Sparer les donnes du client aux donnes de la voiturePas assez dinformations sur le client :NomPrnomAdresse postaleE-mail, Problme dhomonymes :Identification UNIQUE dun clientSi plusieurs clients ont le mme nomSi plusieurs clients ont le mme nom et prnom, Rfrence unique du client

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple A (corrig) :Un directeur de garage de voitures dsire une base de donnes pour la gestion de ses clients et de leurs voitures.Modlisation de lobjet voiture Caractristiques amenes tre manipuler dans la base

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple C :Cration dune 2me table :Lien ?

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple C :Cl trangre (ou cl secondaire) : utilise dans une table pour reprsenter la valeur de la cl primaire dans une table connexeVoitureN dimmatriculationMarqueGammeModlePuissancePlaceRfrence client*possde

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple C :Il y a 4 clients du garage :

    Rf. clientNomPrnomAdresseE-mail1C0001DUPUISHonor10 rue 57000 [email protected] bd 54000 [email protected] avenue 57000 [email protected] rue 57000 [email protected]

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple C :Il y a 5 voitures dans le garage :Rfrence au client

    N dimma-triculationMarqueGammeModlePuissancePlacesRf. Client14561XU57RenaultMgane1.9 Diesel RN1155C00012654WT54Peugeot407Coup1405C000235021AAA75JeepWrangler-1504C000349812XY57ToyotaCelica1.8l1105C000457743OP57Peugeot206XS904C000267

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple D :Association : relie de 2 n entits (tables)Cardinalit : Nombre (maximum, minimum) d'entits concernes par une relationLes cardinalits dans lexemple prcdent :

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple D :Une voiture appartient au moins un client mais un seulUn client a au moins une voiture mais peut en avoir une infinit (n)VoitureN dimmatriculationMarqueGammeModlePuissancePlaceRfrence client*possde11,1n,

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple E :Ajoutons une entit Mcano afin de garder une trace des mcaniciens qui ont rpar telle ou telle voiture :McanoRfrence employNomPrnomAdresseAnciennetAgeSalaireVoitureN dimmatriculationMarqueGammeModlePuissancePlaceRfrence client*a rparN dimmatriculationMarqueGammeModlePuissancePlaceRfrence client*Rfrence employ*

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple E :Il y a 3 employs dans le garage :

    Rf. employNomPrnomAdresseAnciennetAgeSalaire1M0001SAHNOUNEBertrand10 rue 57000 METZ1234105122M0002MICHELBarnab15 bd 54000 NANCY22779053M0003KACEDYoussouf117 avenue 57000 METZ25501342045

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple E :Cas o les mcaniciens ont rpar les mmes voituresRedondance dinformations

    N dimma-triculationMarqueGammeModlePuissancePlacesRf. ClientRf. mcanos14561XU57RenaultMgane1.9 Diesel RN1155C0001M000124561XU57RenaultMgane1.9 Diesel RN1155C0001M00023654WT54Peugeot407Coup1405C0002M000245021AAA75JeepWrangler-1504C0003M000159812XY57ToyotaCelica1.8l1105C0004M000269812XY57ToyotaCelica1.8l1105C0004M000377743OP57Peugeot206XS904C0002M0003

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple E :Les cardinalits permettent de dceler un tel problme :McanoRfrence employNomPrnomAdresseAnciennetAgeSalaireVoitureN dimmatriculationMarqueGammeModlePuissancePlaceRfrence client*a rparN dimmatriculationMarqueGammeModlePuissancePlaceRfrence client*Rfrence employ*0n,0n,

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple E :Nouvelle entit : Intervention McanoVoitureInterventionN InterventionRfrence employ*N dimmatriculation*Date_reparationRfrence employNomPrnomAdresseAnciennetAgeSalaireN dimmatriculationMarqueGammeModlePuissancePlaceRfrence client*

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExemple E :Cette 3me table fera le lien entre la voiture rpare et le mcanicien concern.

    N InterventionN dimmatriculationRf. employDate1REP00014561XU57M000122-10-20052REP00024561XU57M000215-11-20053REP0003654WT54M000210-12-20054REP00045021AAA75M000113-01-20065REP00059812XY57M000227-01-20066REP00069812XY57M000307-03-20067REP00077743OP57M000312-04-2006

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesUn exercice simple :Une bibliothque dsire informatiser sa gestion douvrages

    Chaque auteur aUn numro unique que la bibliothque lui attribueLe nom et le prnom

    La bibliothque attribue galementUn numro unique a ses ouvrages (ISBN) ainsi queLe titreLa date de parution doit galement tre conserve

    Cas n1 : un auteur peut crire plusieurs ouvrages mais un ouvrage est crit par un seul auteur.Cas n2 : un auteur peut crire plusieurs ouvrages et un ouvrage peut tre crit par plusieurs co-auteurs.

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesCorrection :CAS N1 : schma E/A Entit/AssociationOuvrageAuteurRfrence ISBNTitreDate de parutionRfrence auteur*Rfrence auteurNomPrnoma crit0n,11,

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesCorrection : (schma relationnel)CAS N2 : Association a crit Entit Co-auteur OuvrageAuteurRfrence ISBNTitreDate de parutionRfrence auteur*Rfrence auteurNomPrnomCo-auteurRfrence auteur*Rfrence ISBN*

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesExercice : un vido-club dsire informatiser la gestion de ses films.Les films sont dots dun numro unique, fourni par la socit ainsi que dun titre et de la dure du filmUn film est soit sous format DVD, soit ou sous format VHSLe grant du vido-club nachte jamais quun seul exemplaire par filmLe prix de la location dun DVD est toujours de 4 euros et celui dun VHS est de 2 eurosUne personne est soit acteur, soit clientA chaque personne, on attribue un numro uniqueOn conserve galement dans la base de donnes ces donnes du client : nom, prnom, adresse, numro de tlphone et adresse e-mailUn acteur peut jouer dans plusieurs films, et un film peut comporter plusieurs acteursUne commande du client concerne un film la fois avec la date conserve.

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    La modlisationde donnesCorrection : Schma relationnelFilmRfrence filmTitreDureActeurNumro acteurNomPrnomEmployRfrence film*Numro acteur*ClientNumro clientNomPrnomAdresseNumro de telE-mailCommandeRfrence film*Numro client*FormatDate

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    Les exemplesExemple A : les tablesExemple B : les enregistrementsExemple C : les cls trangresExemple D : les cardinalitsExemple E : lassociationExercice1 (Corrig)Exercice2 (Corrig)

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    Les transactions SQLQu'appelle-t-on SQL?Structured Query Language Langage de requtes structurModle relationnel :Langage de dfinition de donnes (LDD, DDL Data Definition Language) : crer des tables dans une base de donnes relationnelle, ainsi que d'en modifier ou en supprimer.Langage de manipulation de donnes (LMD, DML, Data Manipulation Language) : slectionner, insrer, modifier ou supprimer des donnes dans une table d'une base de donnes relationnelle.Langage de contrle de donnes (LCD, DCL, Data Control Language) : permissions au niveau des utilisateurs d'une base de donnes.Historique :Standard SQL, normalis en 1986 SQL/861989 Version SQL/891992 Norme SQL/92 a dsormais pour nom SQL2Les transactions SQL

    IntroductionModlisationExemplesLangage SQLRequtes SQLBases de donnes et SGBD

    Les transactions SQL

    Bientt disponible