5
Licence Pro RIMS 2018/2019 SGBD avancés TP 1 : PostgreSQL – Création de bases de données Objectifs: Installation du système Prise en main de l'environnement de développement Création de bases de données et tables Insertion de données 1. Introduction Dans le module SGBD, nous allons développer des applications web permettant la gestion et l'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 la visualisation du résultat). NetBeans est un IDE (Integrated Development Environment), incluant un éditeur de texte pour les langages du Web (HTML, CSS, PHP, Javascript, SQL), un gestionnaire de projet, un débogueur et une interface d'accès aux SGBD. UnivServerZ est un regroupement du serveur Web Apache avec le module PHP, du serveur de bases de données MySQL (que nous avons remplacé par PostgreSQL dans la version que vous installerez) et d'un programme permettant de contrôler le lancement de ces services. 2. Installation Avec l'explorateur de ]ichiers, allez sur \\]ileserver.rt.iut\outils et \\]ileserver.rt.iut\lproSGBD Copiez sur votre machine puis installez les logiciels suivants : Navigateurs Google Chrome et Firefox Editeur de texte : Notepad++(npp*.Installer.exe) JavaRuntimeEngine: jre8*.exe (nécessaire pour NetBeans) Netbeans Installer postgreSQL (attention, ne pas sélectionner stack builder). Installer UniServerZ (cette version est une version adaptée pour ces TPs où MySQL a été remplacé par postgresql). 3. PgAdmin PgAdmin est une interface d’administration de Postgresql développée en Python. Ce programme est installé en même temps que PostgreSQL. Nous travaillerons en local avec localhost. Pour se connecter, faites un clic droit dessus et choisissez "Connect Server". L'utilisateur est postgres et le mot de passe est celui saisi lors de l'installation.

TP 1 : PostgreSQL – Création de bases de données Objectifs ......Véri]iez aussi les propriétés de la base. Pouvez-vous voir les contraintes telles que les clés primaires et

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • 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