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)

Documents pareils