Table des matières

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 :

A rédiger dans 2 documents différents à déposer sur le Drive

Travail à faire

Pour chaque SGDB (MariaDb, SQLite) :

  1. Présenter le sommairement (caractéristiques, utilisation…)
  2. Documenter les manipulations suivantes
    1. Installation
    2. Création base de données (CREATE DATABASE)
    3. Création table (CREATE TABLE) [! clé primaire, types de données, auto-increment]
    4. Modification table (ALTER TABLE)
    5. Ajout contraintes de clé étrangère (ALTER TABLE … ADD CONSTRAINT…)
    6. Suppression (DROP TABLE, DATABASE, CONSTRAINT)
    7. Ajout d'enregistrements (INSERT INTO…)
    8. Création d'une vue (CREATE VIEW …)

Consignes, pour chaque SGDB :

Liens :

Commandes de base de l'invite de commande

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

A partir des données fournies par openfootball :

Choix logiciel

Tableur, base de données…

Structurer les données

Le travail d'analyse se fera en binômes :

Stocker ces données de manière structurée sur un support informatique en utilisant un outil logiciel adapté :

Création et Saisie

Statistiques

Établir la liste des statistiques à élaborer

TD n°2 : openfootball.sql

Fondamentaux

Démarrage

A partir de Xampp, démarrer les serveurs :

Depuis phpMyAdmin, importer la base de données openfootball.sql .

Saisie

Intégrité des données

Lister et expliquer les contraintes d'intégrité sur la table match :

Données et Statistiques

Établir :

openfootball SQL (LMD)

Liste à obtenir :

  1. matchs d’une Poule (afficher toutes les infos du match : équipes, date, lieu)
  2. matchs pour 1 journée (17 juin)
  3. matchs du week-end (23,24 juin)
  4. matchs entre 2 dates (du 14 au 20 juin)
  5. matchs de poule de l’équipe de France
  6. matchs ayant lieu au stade Rostov Arena
  7. matchs de phase 2 ayant lieu à Nizhny Novgorod
  8. adversaires rencontrés par la belgique avant son match contre la France
  9. matchs perdus par l’Allemagne (A ne pas faire)
  1. équipes ayant joué des prolongations
  2. équipes ayant fait au moins 1 match null
  3. équipes ayant eu au moins une défaite
  4. équipe ayant bénéficié au moins d'un penalty
  5. équipes invaincues
  1. continents représentés dans la phase 2
  1. joueurs ayant marqué un but pour l’équipe d’argentine
  2. joueurs ayant marqué plus de 3 buts (sauf o.g.)
  3. joueurs ayant marqué contre leur camp (afficher l'équipe)

Statistiques

sur le nombre de buts…

  1. au total
  2. en phase 1
  3. en phase 2
  4. en 1ère mi-temps
  5. en 2ème mi-temps
  6. par poule
  7. par jour
  8. dans le temps supplémentaire
  9. dans les prolongations
  10. marqués par penalty
  11. marqués contre son camp
  12. par équipe, classé par ordre décroissant du nombre de buts
  13. marqués par penalty, par équipe, classé par ordre décroissant du nombre de buts
  14. Classement du nombre de buts par joueur
  15. Classement du nombre de buts par joueur pour les joueurs ayant marqué plus de 3 buts
  16. Classement du nombre de buts par joueur (sans tenir compte des penaltys)

sur le nombre de buts moyen…

  1. par match
  2. par match en phase1
  3. par match en phase2
  4. en 1ère mi-temps
  5. en 2ème mi-temps
  6. dans le temps supplémentaire
  7. Par poule
  8. Par jour
  1. Classement selon le nombre de victoires par équipe
  2. Classement selon le nombre de défaites par équipe
  3. Nombre de buteurs différents par équipe

Base de données à importer :

openfootball-all.sql

TD n°4

Compréhension de la Base de données

A partir de MySQL Workbench :

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

  1. Bacs : Afficher la liste des Bacs (toutes les infos)
  2. EtudiantsDeCaen : Afficher les étudiants habitant à Caen (nom et prénom)
  3. EtudiantsAPied : Afficher les étudiants n'habitant pas à Caen et n'ayant pas de voiture (nom et prénom)
  4. EtudiantsBac : Afficher les étudiants et leur Bac d'origine (nom, prénom, bac)
  5. EtudiantsBacGeneral : Afficher les étudiants ayant fait un Bac général (nom, prénom, bac)
  6. 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)
  7. EtudiantNavigateur : Afficher la liste des navigateurs utilisés par 1 étudiant précis dont on connaît le nom (afficher les noms des navigateurs)
  8. ChromeUsers : Afficher la liste des utilisateurs de Chrome (afficher nom de l'étudiant)
  9. EtudiantsParCommune : Calculer et afficher le nombre d'étudiants par commune (nom de la commune et nombre)
  10. EtudiantsParBac : Calculer et afficher le nombre d'étudiants par type de Bac (type de bac et nombre d'étudiant)
  11. EtudiantsParNavigateur : Calculer et afficher le nombre d'étudiants par navigateur (nom du navigateur et nombre d'étudiant)

TD n°5 : Compte Google

A rédiger dans un document à déposer sur le Drive

Gestion de l'historique des recherches et visites, gestion des favoris

comptegoogle.zip

Td n°6 : Compte Google - Évolutions

A rédiger dans un document à déposer sur le Drive

Évolutions de la base de données :

On souhaite ajouter les informations permettant de sécuriser le compte :

A chaque connexion dans un nouveau contexte (Lieu, Matériel, logiciels), on mémorisera :

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.

  • Modifier le schéma relationnel de la base de données
  • Mettre à jour la base existante pour intégrer les modifications
  • Ajouter des données dans les nouvelles tables (min 3 enreg.)

Interrogation de données

  1. Lister les informations relatives à un compte (mail, tél, email de récupération)
  2. Afficher chaque compte, et le nombre de comptes mail associés
  3. Afficher chaque compte, et les comptes mail associés
  4. Lister les comptes (principaux) ayant un compte mail associé avec le serveur POP : pop.free.fr
  5. Afficher la moyenne du nombre de comptes associés par compte principal
  6. Afficher les contextes des comptes
  7. Afficher les contextes liés à votre compte
  8. Comptabiliser le nombre de connexion par contexte sur votre compte
  9. Afficher la liste des connexions, en précisant le contexte, et le compte