si3

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

si3 [2018/10/15 14:17] – [Statistiques] jcheronsi3 [2019/08/31 14:20] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +===== TD n°7 -2019 =====
 +==== Phase 1 ====
 +A partir des règles de gestion données à l'oral, établir le schéma de la base de données dans Mysql workbench. 
 +
 +==== Phase 2 ====
 +On utilisera pour les exemples la base précédemment élaborée.
 +
 +=== Objectifs : ===
 +  * Rédaction de mode opératoire/documentation
 +  * Prise en main de bases de données
 +  * SQL : LDD (Langage de Définition de Données)
 +
 +<wrap round info>A rédiger dans 2 documents différents à déposer sur le Drive</wrap>
 +
 +=== Travail à faire ===
 +
 +Pour chaque SGDB (MariaDb, SQLite) :
 +  - Présenter le sommairement (caractéristiques, utilisation...)
 +  - Documenter les manipulations suivantes
 +    - Installation
 +    - Création base de données (CREATE DATABASE)
 +    - Création table (CREATE TABLE) [! clé primaire, types de données, auto-increment]
 +    - Modification table (ALTER TABLE)
 +    - Ajout contraintes de clé étrangère (ALTER TABLE ... ADD CONSTRAINT...)
 +    - Suppression (DROP TABLE, DATABASE, CONSTRAINT) 
 +    - Ajout d'enregistrements (INSERT INTO...)
 +    - Création d'une vue (CREATE VIEW ...)
 +
 +Consignes, pour chaque SGDB : 
 +  * Utiliser l'outil en invite de commande.
 +  * Préciser les particularités SQL (non respect des normes)
 +
 +__**Liens :**__
 +
 +  * https://sqlite.org/download.html
 +  * https://mariadb.com/kb/en/library/sql-statements-structure/
 +
 +
 +==== Commandes de base de l'invite de commande ====
 +
 +
 +|<100%>|
 +^Opération ^Mysql ^PostGreSQL ^SQLite ^
 +|**Accès à l'invite** | mysql\bin\mysql -u root | sqlite dbName.sqlite |
 +|**Lister databases** | SHOW DATABASES; | |
 +|**Sélectionner base** | USE dbName; | |
 +|**Lister tables** | SHOW TABLES; | .tables |
 +|**Infos table** | DESCRIBE tableName; | .schema tableName |
 +
 ===== TD n°1 : openfootball ===== ===== TD n°1 : openfootball =====
  
Ligne 88: Ligne 137:
   - en 1ère mi-temps   - en 1ère mi-temps
   - en 2ème mi-temps   - en 2ème mi-temps
 +  - par poule
 +  - par jour
   - dans le temps supplémentaire   - dans le temps supplémentaire
   - dans les prolongations   - dans les prolongations
Ligne 105: Ligne 156:
   - en 2ème mi-temps   - en 2ème mi-temps
   - dans le temps supplémentaire   - dans le temps supplémentaire
 +  - Par poule
 +  - Par jour
  
   - Classement selon le nombre de victoires par équipe   - Classement selon le nombre de victoires par équipe
Ligne 113: Ligne 166:
 ==== Base de données à importer : ==== ==== Base de données à importer : ====
 {{:si3:openfootball-all.sql|}} {{:si3:openfootball-all.sql|}}
 +
 +===== TD n°4 =====
 +==== Compréhension de la Base de données ====
 +
 +  * Démarrer les serveurs Apache et MariaDb
 +  * Créer la base de données en important le script depuis phpMyAdmin : {{:si3:questionnaire-2018.sql|}}
 +
 +A partir de MySQL Workbench :\\
 +  * Générer le shéma de la base de données par reverse Engineering
 +  * Expliquer la structure de la base.
 +==== Manipulations SQL ====
 +
 +A partir de MySQL Workbench :\\
 +Créer les vues permettant de répondre aux questions suivantes :
 +
 +Dans le document sur le Drive, reprendre les interrogations, et la solution SQL
 +
 +  - Bacs : Afficher la liste des Bacs (toutes les infos)
 +  - EtudiantsDeCaen : Afficher les étudiants habitant à Caen (nom et prénom)
 +  - EtudiantsAPied : Afficher les étudiants n'habitant pas à Caen et n'ayant pas de voiture (nom et prénom)
 +  - EtudiantsBac : Afficher les étudiants et leur Bac d'origine (nom, prénom, bac)
 +  - EtudiantsBacGeneral : Afficher les étudiants ayant fait un Bac général (nom, prénom, bac)
 +  - EtudiantsPostBac : Afficher les étudiants ayant fait une poursuite d'étude après le bac avant d'arriver en SIO (nom, prénom, libellé de la poursuite d'étude)
 +  - EtudiantNavigateur : Afficher la liste des navigateurs utilisés par 1 étudiant précis dont on connaît le nom (afficher les noms des navigateurs)
 +  - ChromeUsers : Afficher la liste des utilisateurs de Chrome (afficher nom de l'étudiant)
 +  - EtudiantsParCommune : Calculer et afficher le nombre d'étudiants par commune (nom de la commune et nombre)
 +  - EtudiantsParBac : Calculer et afficher le nombre d'étudiants par type de Bac (type de bac et nombre d'étudiant)
 +  - EtudiantsParNavigateur : Calculer et afficher le nombre d'étudiants par navigateur (nom du navigateur et nombre d'étudiant)
 +
 +
 +===== TD n°5 : Compte Google =====
 +
 +<wrap round info>A rédiger dans un document à déposer sur le Drive</wrap>
 +
 +
 +Gestion de l'historique des recherches et visites, gestion des favoris 
 +  * Établir et rédiger les règles de gestion
 +  * Concevoir la structure de la base de données (à partir de Mysql Workbench)
 +  * Créer la base de données depuis Mysql Workbench
 +  * Intégrer des données de test réalistes (compte, favoris, historique) dans la base, pour vérifier sa cohérence
 +
 +{{::comptegoogle.zip|}}
 +
 +  * Intégrer la règle de gestion suivante :
 +    * Les favoris sont stockés dans des dossiers (ayant un nom).
 +    * Ces dossiers sont structurés hiérarchiquement (chaque dossier a éventuellement un parent). 
 +
 +  * Répondez en SQL aux interrogations suivantes :
 +    - Informations sur le compte d'un utilisateur (x)
 +    - historique de la journée
 +    - historique entre 2 dates définies (date1 et date2)
 +    - Liste des recherches d'un utilisateur, commençant par un texte précis
 +    - nombre de consultations par site (url)
 +    - moyenne du nombre de site consultés par jour
 +    - liste des 10 sites les plus consultés
 +    - liste des favoris
 +    - liste des favoris dans un dossier précis (dossierA)
 +    - nombre de favoris par dossier
 +    - nombre de favoris par compte, nombre de liens dans l'historique par compte
 +
 +===== Td n°6 : Compte Google - Évolutions =====
 +
 +<wrap round info>A rédiger dans un document à déposer sur le Drive</wrap>
 +
 +
 +
 +==== Évolutions de la base de données : ====
 +
 +On souhaite ajouter les informations permettant de sécuriser le compte :
 +  * mot de passe
 +  * Numéro de mobile (pour envoi de SMS de contrôle ou de récupération de password)
 +  * Email de récupération de mot de passe
 +
 +A chaque connexion dans un nouveau contexte (Lieu, Matériel, logiciels), on mémorisera :
 +  * L'adresse IP de connexion
 +  * Le système d'exploitation et le navigateur utilisés
 +
 +L'utilisateur du compte a la possibilité de préciser si le contexte est fiable ou non.
 +
 +Pour chaque contexte, on retiendra également les dates et heures de connexion.
 +
 +Il est possible de rattacher un ou plusieurs comptes de messagerie externes à son compte Google mail :\\
 +Pour chaque compte, on mémorise son adresse, les identifiants de connexion (user + password), ainsi que l'adresse et le port du serveur POP pour la récupération des messages.
 +
 +<html>
 +<div class="todo">
 +<ul>
 +<li>Modifier le schéma relationnel de la base de données</li>
 +<li>Mettre à jour la base existante pour intégrer les modifications</li>
 +<li>Ajouter des données dans les nouvelles tables (min 3 enreg.)</li>
 +</ul>
 +</div>
 +</html>
 +==== Interrogation de données ====
 +
 +  - Lister les informations relatives à un compte (mail, tél, email de récupération)
 +  - Afficher chaque compte, et le nombre de comptes mail associés
 +  - Afficher chaque compte, et les comptes mail associés
 +  - Lister les comptes (principaux) ayant un compte mail associé avec le serveur POP  : pop.free.fr
 +  - Afficher la moyenne du nombre de comptes associés par compte principal
 +  - Afficher les contextes des comptes
 +  - Afficher les contextes liés à votre compte
 +  - Comptabiliser le nombre de connexion par contexte sur votre compte
 +  - Afficher la liste des connexions, en précisant le contexte, et le compte
 +
  
  • si3.1539605860.txt.gz
  • Dernière modification : il y a 5 ans
  • (modification externe)