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