« SPARQL Protocol and RDF Query Language/Travail pratique/Initiation à MySQL » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 46 :
 
== Installation de MySQL ==
Nous installonscommençons par installer les paquets :
* mysql-server pour installer le serveur MySQL
* php5-mysql pour les outils de communication entre PHP5 et MySQL.
* phpmyadmin pour l'outil d'administration à distance de MySQL.
 
Taper ces commandes et suivreSuivre les instructions suivantes  :<br/>
1. Taper ces commandes
 
'''Sous Ubuntu'''
<source lang="bash">
Ligne 63 :
</source>
 
2. MySQL vous demandera le mot de passe de l'utilisateur '''root''' du serveur MySqlMySQL.(à ne pas perdre)
 
PhpMyAdmin3. PHPMyAdmin va vous demander :
* où installer le serveur HTTP ? Choisir '''Apache'''
* voulez vous configurer PhpMyAdminPHPMyAdmin ? Choisir '''Oui'''
* indiquez le mot de passe root du serveur MySql MySQL? Mettre le mot de passe que vous avez indiqué pour MySqlMySQL.
 
== Test du serveur ==
Par défaut le serveur MySQL n’écoute que les applications sur votre ordinateur (avec l'adresse localhost ou 127.0.0.1). Si PhpMyAdminPHPMyAdmin est sur le même serveur, il aura donc accès à votre serveur MySQL sans configuration particulière.
Cependant, PhpMyAdminPHPMyAdmin est un site Web pouvant être accessible de l’extérieur donc nous rajoutons au minimum un mot de passe httpHTTP pour y accéder. :
 
 
1. La ligne de commande suivante crée le compte httpHTTP '''admin'''(vous pouvez lui donner le nom que vous voulez) et vous demande un mot de passe :
 
'''Sous Ubuntu'''
Ligne 87 ⟶ 86 :
</source>
 
2. Ouvrir le fichier de configuration d'Apache de PhpMyadmin :
 
'''Sous Ubuntu'''
Ligne 99 ⟶ 98 :
</source>
 
3. Insérer les lignes suivantes en surbrillances dans votre fichier puis sauvegarder :
<source lang="apache" highlight="17-22">
#phpMyAdmin default Apache configuration
Ligne 147 ⟶ 146 :
</source>
 
4. Recharger la configuration sur service apache2 :
 
'''Sous Ubuntu'''
Ligne 159 ⟶ 158 :
</source>
 
5. Tester l'accésl’accès au service PhpMyadmin :
<source lang="bash">
firefox http://localhost/phpmyadmin
Ligne 168 ⟶ 167 :
*votre mot de passe http
Ensuite, PhpMyAdmin vous demande un login et un mot de passe :
*root
*votre mot de passe root mysql
Ligne 174 ⟶ 173 :
{{remarque| contenu=En production, il vaut mieux activer en cas de besoin le service http PhpMyAdmin et le désactiver ensuite.
 
Pour l'activer :
Activer :
<source lang="bash">
sudo unlink /etc/apache2/conf.d/phpmyadmin.conf
Ligne 180 ⟶ 179 :
</source>
 
Pour le désactiver :
Désactiver :
<source lang="bash">
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
Ligne 188 ⟶ 187 :
 
== Ma première base de données ==
Pour nos futurs TPTPs nous allons utiliser la base de données que nous allons fabriquer.
Nous allons enregistrer des CVs dans notre base de données MySQL.
 
Ligne 194 ⟶ 193 :
Pour commencer vous allez lire l'[[Structured Query Language/Introduction|introduction de la leçon sur SQL]].
 
'''ExerciceA faire avant de poursuivre :''' : créer la base de données '''moncv''' avec l'interface PhpMyAdminPHPMyAdmin. Nous considérons que dans les prochaines étapes, vous ayez sous les yeux l'interface d'administration de votre base de données moncv.
 
=== Les tables ===
 
Ligne 310 ⟶ 309 :
|}
 
{{solution|titre=Pour information|contenu=
Voici, pour information, le code SQL que PhpMyAdmin vous a évité d'écrire vous-même :
<source lang="sql">
CREATE TABLE `moncv`.`CVs` (
Ligne 341 ⟶ 340 :
 
=== Contrainte d'intégrité ===
La seule façon certaine de distinguer deux CV, c'est leuravec leurs ID (identification data) car il peut exister deux CV de la même personne.
car il peut exister deux CV de la même personne.
Pour convoquer un enregistrement, ou un morceau d'enregistrement, on passera donc toujours par l'ID. Chaque enregistrement a généralement un ID que l'on nomme clé d'enregistrement.
 
La table Expériences, elle aussi a une clé mais elle utilise aussi la clé d'une autre table. On appelle cette autre clé : une clé étrangère.
Une clé étrangère peut être contrôlée dans MySql. Cela évite de créer des clés étrangères qui ne pointent sur aucun enregistrement ou cela évite de supprimer des enregistrements dans d'autres tables car leurs clés sont encore utilisées.
 
'''EtapeÉtape 1''' : il faut faire du champ ID_CV un index (car un index optimise le traitement sur cette colonne et c'est indispensable pour en faire une clé étrangère).
Une clé étrangère peut être contrôlée dans MySql. Cela évite de créer des clés étrangères qui ne pointent sur aucun enregistrement ou évite de supprimer des enregistrements dans d'autres tables car leurs clés sont encore utilisées.
 
 
'''Etape 1''' : il faut faire du champ ID_CV un index (un index optimise le traitement sur cette colonne et c'est indispensable pour en faire une clé étrangère)
# Cliquer sur le nom de la table "Experiences" dans la colonne de gauche, la structure de la table s'affiche.
# Cocher la ligne ID_CV
# Cliquer sur l’icône Index en bas du tableau de la structure (l'icône contient un éclair, passer le curseur de votre souris dessus pour voir la signification des icônes)
 
'''EtapeÉtape 2''' : Indiquer que ID_CV contiendra une clé étrangère
# Cliquer sur le nom de la table "Experiences" dans la colonne de gauche, la structure de la table s'affiche.
# Cliquer sur le lien '''Relation view'''
Ligne 361 ⟶ 357 :
# Sauver
 
{{remarque|titre=Remarque |contenu=
VoiciC'était ici, un tout petit aperçu pour commencer à contrôler l'intégrité d'une base de données.}}
 
== Enregistrer des données ==
Ligne 368 ⟶ 365 :
 
'''Exercice:''' Insertion de deux CVs
# A gauche dans votre arborescence, sélectionnezsélectionner la table '''CVs'''.
# Vous devez voir la structure de votre table qui s'affiche sous la forme d'un tableau. CliquezCliquer sur 'Insert' (insérer) dans le menu du haut
# Par défaut, PhpMyAdmin vous donne un formulaire d'insertion avec deux entrées.
##Laisser toujours le champ ID vide. Il se remplit automatiquement.
##Et remplissez les autres champs
#sauvegarderSauvegarder et noter les ID des CVs (normalement 1 et 2)
 
{{solution|titre=Pour information|contenu=
Voici, pour information, ce que PhpMyAdmin vous a évité d'écrire en SQL :
<source lang="sql">
INSERT INTO `moncv`.`CVs` (
Ligne 399 ⟶ 396 :
#ID_CV doit correspondre à un ID d'un CV existant dans la table CVs (PhpMyAdmin vous aide en vous proposant uniquement des ID CVs qui existe)
#Attention le champ poste_actuel ne peut prendre qu'un chiffre : 1 ou 0
#Sauvegarder
#sauvegarder
Recommencer l'opération une ou deux fois.
 
{{solution|titre=Pour information|contenu=
Voici, pour information, ce que PhpMyAdmin vous a évité d'écrire en SQL :
<source lang="sql">
INSERT INTO `moncv`.`Experiences` (
Ligne 424 ⟶ 421 :
}}
 
Voilà, laLa base de données SQL est maintenant configurée pour faire les TPs suivantsuivants.
== Exemples de requêtes ==
 
Avant de faire les exercices suivants, lire la partie du cours de SQL : [[Structured Query Language/Requêtes SELECT|La requête la plus simple ?]]
 
'''Exercice 1 :''' : EcrireÉcrire la requête SQL qui récupère le numéro de téléphone du CV qui a l'ID = 2.
{{Solution|contenu=
La requête sera la suivante :
Ligne 435 ⟶ 433 :
}}
 
'''Exercice 2 :''' : EcrireÉcrire la requête SQL qui récupère toutes les infosadresses des personnes hors expériences qui porte le prénom michelMichel ?
{{Solution|contenu=
Voici la requête qui récupère toutes les adresses des personnes qui porte le prénom Michel.
La requête sera la suivante :
<source lang="sql">SELECT * FROM CVs WHERE prenom="Paul"</source>
}}
 
Voilà, la base de données SQL est maintenant configurée pour faire les TPs suivant.
 
[[Catégorie:SPARQL Protocol and RDF Query Language]]