Transcript
  • LicenceProRIMS2018/2019SGBDavancés

    TP1:PostgreSQL–Créationdebasesdedonnées

    Objectifs:➢ Installationdusystème➢ Priseenmaindel'environnementdedéveloppement➢ Créationdebasesdedonnéesettables➢ Insertiondedonnées

    1. Introduction

    Dans lemodule SGBD, nous allons développer des applications web permettant la gestion etl'accès à des bases de données, à l'aide de la technologie WAPP (Windows + Apache +PostgreSQL+PHP).Le développement se fera sous Windows, en utilisant NetBeans (pour éditer le code),UnivServerZ (pour le serveur Web), PostgreSQL pour le SGBD et d'un navigateur (pour lavisualisationdurésultat).NetBeansestunIDE(IntegratedDevelopmentEnvironment), incluantunéditeurdetextepourleslangagesduWeb(HTML,CSS,PHP,Javascript,SQL),ungestionnairedeprojet,undébogueuretuneinterfaced'accèsauxSGBD.UnivServerZ est un regroupement du serveurWebApache avec lemodule PHP, du serveur debasesdedonnéesMySQL (quenousavons remplacéparPostgreSQLdans laversionquevousinstallerez)etd'unprogrammepermettantdecontrôlerlelancementdecesservices.

    2. Installation

    Avecl'explorateurde]ichiers,allezsur\\]ileserver.rt.iut\outilset\\]ileserver.rt.iut\lproSGBD

    Copiezsurvotremachinepuisinstallezleslogicielssuivants:• NavigateursGoogleChromeetFirefox• Editeurdetexte:Notepad++(npp*.Installer.exe)• JavaRuntimeEngine:jre8*.exe(nécessairepourNetBeans)• Netbeans• InstallerpostgreSQL(attention,nepassélectionnerstackbuilder).• InstallerUniServerZ(cetteversionestuneversionadaptéepourcesTPsoùMySQLaété

    remplacéparpostgresql).

    3. PgAdmin

    PgAdminestuneinterfaced’administrationdePostgresqldéveloppéeenPython.Ceprogrammeest installéenmêmetempsquePostgreSQL.Noustravailleronsenlocalavec localhost.Pourseconnecter,faitesunclicdroitdessusetchoisissez"ConnectServer".L'utilisateurestpostgresetlemotdepasseestceluisaisilorsdel'installation.

  • 3.1. Créationd'unutilisateuretd'unebasededonnées

    Lesutilisateurscréessurunserveurspéci]iquesontconsultablesdansl'ongletLogin/groupdanslavuearborescente:

    � Laplupartdesutilisateurscréesparpgadminontdesrôlesspéci]iques.Lorsdelacréationd'unebasededonnées,ilestimportantdecréerdesutilisateursquiyserontassociés.Ilnefautsurtoutpas négliger cette étape, car elle est garante de la sécurité de votre base : création desutilisateursetaffectationdedroits.

    Pourcréerunnouvelutilisateur,faitesunclicdroitsurLogin/GrouprolesetsélectionnerCreatenewlogin/group.Créezl'utilisateuruser1aveclemotdepassedevotrechoix,etautorisez-leàseconnecter.

    Vous pouvez maintenant créer une nouvelle base de données dans localhost avec ce nouvelutilisateur comme propriétaire (owner). Pour cela, faites un clic droit sur Databases/Createdatabases.AppelezvotrebasemyBirstdatabase,avecuser1commepropriétaire.

    Nejamaisutiliserrootpouradministrer,éditeretconsultervotrebasededonnées

  • 3.2. Créationd'unetable

    Lestablespeuventêtrevuesdanslemenudatabases>myBirstdatabase>Schemas>public>tables.Pourcréerunenouvelletable,faitesunclicdroitsurTables/Create/Table.Créezunetableusersavecleschémasuivant:users(login,password,fullname).Dansl'ongletGeneral,entrezlesinformationssuivantes:name:users;owner:user1.Dansl'ongletColumn,ajouterlesattributs:

    • login : varchar(20)cléprimaire(varchar-->charactervarying)• password : varchar(100)nonnull• fullname : varchar(100)nonnull

    Pourajouterdestuples,faitesunclicdroitsurvotretableetsélectionnezView/Editdata>Allrows.Undoubleclicsurunecasevouspermetdel'éditer.Entrezlesdonnéessuivantes:

    N'oubliezpasdesauveravantdequitter!

    3.3. BasededonnéesdesbarsdeSydneySurChamilo,voustrouverezdansDocuments/TP1le]ichierbars.sql.Créezunnouvelutilisateuruser_sydneybar (avec le mot de passe sydneybar) et une nouvelle base de données appeléesydneybardontuser_sydneybarestlepropriétaire.

    login password fullname

    bob toto BobArt

    tim tutu TimOrer

    joe titi JoeZepa

  • �Unclicdroitsurcettenouvellebasedanslepanneaudegauchevouspermetd'ouvrirlafenêtreQuerytool.Copiezlecontenudu]ichierbars.sqletexécutez-le(� )-s'ilestexécutécorrectement,lestablescorrespondantesdevraientêtrecréées,véri]iez-le.Véri]iezaussilespropriétésdelabase.Pouvez-vousvoirlescontraintestellesquelesclésprimairesetétrangères?

    3.4. LabasededonnéesmédiathèqueVousavezmaintenanttouteslesclésenmainpourimplémenterenSQLlabasededonnéescorrespondantàlamédiathèque(TD1exercice2.3).Ajoutezaussidestuples(aumoinstroispartable!

    4. Modélisationd'unebasededonnées(surpapier!)

    4.1. What'stheproblem?

    Nousgéronslalocationde]ilmsànosclients.

    Pourchaqueclient,ilnousestnécessairedeconnaîtresonnom,prénom,sonadresseetunnumérodetéléphone.Nousutilisonscesinformationsencasdenonretourd'unouplusieursDVDàladateprévue.Nouscontactonsalorsleclientetl'invitonsàrendresonexemplaireauplusvite.

    Unmême]ilmpeutêtredisponibleenplusieursexemplaires.

    Chaqueexemplaire,estparfaitementidenti]iéparsonnumérod'inventaire.Ildisposeégalementd'uneplacespéci]iqueenmagasin.Cetteplaceestrepéréeparsonnumérodetravée,etsonnumérod'étagère.Ilestpossiblededisposerplusieurs]ilmsdifférentssurunemêmeétagère.Engénéral,nousessayonsderegrouperensembletouslesexemplairesd'unmême]ilm.Cetemplacementphysiquepeutvarieraucoursdutemps.

    Lescatégoriespermettentdeclasserdefaçongrossièreles]ilms,c'estparexemple:horreur,aventure,comédie,western,dessinsanimés,drames,....

    Lorsqu'unclientvientpour louerdes ]ilms,nouscommençonstoujoursparnousassurerqu'ilabienrendutousles]ilmsempruntésetqu'ilestàjourdanssesrèglements.Nouscréonsalorsune]ichedelocationsurlaquellenousnotonslesréférencesduclient,laréférencedechaqueexemplaireemprunté,sontitre,ladatederetourprévueetlemontantdelalocation.

    Nos clients et nous-mêmes souhaitons pour chaque ]ilm connaître le réalisateur et les principauxacteursa]indepouvoirréaliserdesrecherchesparrapportàcescritères. 
Pourchaque]ilmprésentdanslaboutiquesouslaformedeunouplusieursexemplairesnousdressonsla]ichedu]ilmsurlaquellesontprésentsledétaildu]ilm,commesonnom,sacatégorie,sanationalité,son réalisateur, la liste des principaux acteurs,mais également un résumé ainsi que la catégorie despectateursàlaquelleils'adresse.


  • Letextesuivantdécritlesbesoinsd'unestructure:unvidéoclub.

    Ensuivantlesmêmesétapesquedanslecours(cfexercicesurlamédiathèque),identi]iez:- lesentitésmentionnéesdansletexteetleursattributs- lesassociationsetleursattributs

    4.2. Modèleentitéassociation

    Apartirdutexteetdesélémentsquevousavezidenti]iés,créezlemodèleentitéassociation(sousformedediagramme)duvidéo-club.

    4.3. Modèlelogique

    Ensuivantles5étapes(#53-58ducours5),créezlemodèlelogiqueduvidéo-club.Rappel–cesétapessontlessuivantes:

    • Transformezlesentitésenschémas• Intégrezlesassociationssimplesàvosschémas• Transformezlesautresassociationsenschémas• Créezdenouveauxschémaspourlesattributsmultivalués• Traitezlecasdeshéritagesentreentités


Recommended