Utilisation de psql
Transcription
Utilisation de psql
L3 EGO TD Bases partagées Pour ce travail vous allez vous grouper par deux voisins (et éventuellement un groupe de trois) , afin d'utiliser plusieurs bases distinctes. Il s'agira toujours de la base cinema déjà utilisée dans les TD précédents. Chaque étudiant a une copie de cette base qui est nommée : "nom_prenom" attention au tiret bas (tiret8) et pas tiret6. L'ensemble du TD se fait sous Linux. Le nom d'utilisateur est nom_prenom (tiret8) aussi. Les commandes SQL nécessaires peuvent être retrouvées dans le poly de cours. Utilisation de psql ● (re)trouver une commande. taper man psql à l'invite de commande Linux pour trouver comment indiquer explicitement le nom de l'utilisateur et celui de la base. ( flèche haut et bas pour faire défiler le texte, q pour quitter) Connectez-vous sur votre base cinema par psql, en tapant : psql -U nom_prenom nom_prenom. ● Ajouter un enregistrement Personnalisation de votre base Pour bien reconnaître chaque base vous allez ajouter un film à votre table film. Prenez un film à l'affiche du kino (différent de celui du voisin) récupérez les informations titre, année, réalisateur, pays : http://www.mairie-villeneuvedascq.fr/actu/cine.htm ● Connexion à une autre base. Listez toutes les bases accessibles. Repérez la vôtre et celle de votre voisin. Connectez vous sur la base du voisin. (Vous avez été déconnecté automatiquement de votre base) Requete1 Affichez les films réalisés après 1965. Cela ne fonctionne pas, pourquoi ? Regardez les droits existant sur votre base (commande psql \z) ● Donner une autorisation sur une table. Autorisez votre voisin à VOIR (uniquement) votre table film. (attention, il y a un piège !) Vérifiez que vous pouvez effectuer la Requête1 . (attention au même piège !) Requete2 Quel est le titre du dernier film enregistré dans la base (c'est celui qui a le plus grand idfilm) ? Essayez de supprimer le dernier film enregistré par votre voisin sur sa base (film.idfilm = 34) Donnez l'autorisation à votre voisin de supprimer un enregistrement (vous avez confiance ?) Essayez de supprimer le dernier film enregistré par votre voisin (film.idfilm = 34) (montrez-vous digne de la confiance de votre voisin !) Relancez la requete2. ● Retirer une autorisation. Retirez les autorisations précédentes. Vérifiez que le voisin a retiré ses autorisations pour lire et effacer. ● Droits à un groupe Tous les étudiants d'un même TD appartiennent au groupe l3egobdgr... GRANT SELECT ON films TO GROUP .. ; Autorisez tout le groupe à voir votre table cinema Vérifiez que vous pouvez afficher la table cinema pour deux autres voisins Utilisation de PGACCESS Lancer pgaccess (dans un terminal taper pgaccess2) Dans la fenêtre ouvrir la base Ne pas modifier hôte ni port La base est : essai nom d'utilisateur : nom_prenom (attention au tiret bas tiret8) mot de passe : (celui de psql) . Ouvrir la base essai voir notamment : Tables, Groupes Utilisateurs Ouvrir votre base : Quels sont les droits des autres utilisateurs sur votre base : Afficher la table film Trier par titre de film Afficher la table acteurs Ajouter l'acteur nomacteur =Depardieu avec idacteur=35 dans la table acteurs. Puis un autre acteur (nom au choix) en 36 Fermer la table. Vérifier l'ajout Afficher la table acteurs du voisin. Supprimer l'acteur Depardieu dans la table du voisin. Modifier les droits pour que le voisin puisse voir la table acteurs Afficher la table acteurs du voisin. Dessiner les jointures entre les tables (outils diagrammes)