[[si3]]

SI3 - Exploitation des données

4. TD SIO-stats

A faire dans un document sur le Drive.

0.1. Règles de gestion

A partir de la base de données, et de son schéma :

  • Rédigez les règles de gestion du système d'information.

0.2. Interrogation de données (SQL)

Pour chaque question :

  • Recopier la question
  • Répondre en SQL
  • Donner le nombre de réponses
  • Afficher la réponse
  1. Afficher la liste des Bacs (toutes les infos)
  2. Afficher les étudiants habitant à Caen (nom et prénom)
  3. Afficher les étudiants n'habitant pas à Caen et n'ayant pas de voiture (nom et prénom)
  4. Afficher les étudiants et leur Bac d'origine (nom, prénom, bac)
  5. Afficher les étudiants ayant fait un Bac général (nom, prénom, bac)
  6. Afficher les étudiants ayant fait une poursuite d'étude après le bac (nom, prénom, libellé de la poursuite d'étude)
  7. Afficher la liste des navigateurs utilisés par 1 étudiant précis dont on connaît le nom (afficher les noms des navigateurs)
  8. Afficher la liste des utilisateurs de Chrome (afficher nom de l'étudiant)
  9. Calculer et afficher le nombre d'étudiants par commune (nom de la commune et nombre)
  10. Calculer et afficher le nombre d'étudiants par type de Bac (type de bac et nombre d'étudiant)
  11. Calculer et afficher le nombre d'étudiants par navigateur (nom du navigateur et nombre d'étudiant)

SQL (Structured Query Language)

3. TD openfootball

Fondamentaux

  • SGDBR (Tables, champs, contraintes, relations…)
  • SQL

Démarrage

A partir de Xampp, démarrer les serveurs :

  • Mysql
  • Apache

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

0.3. Règles de gestion

A partir de la base de données, et de son schéma :

  • Rédigez les règles de gestion du système d'information.

0.4. Intégrité des données

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

  • Contraintes de domaine
  • Contraintes d'unicité
  • Contraintes d'intégrité référentielle

0.5. Interrogation de données (SQL)

Pour chaque question :

  • Recopier la question
  • Répondre en SQL
  • Donner le nombre de réponses
  • Afficher la réponse

Matchs

  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

Equipes

  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
  6. continents représentés dans la phase 2

Joueurs

  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

1. TD Streaming Service

Vous travaillez comme stagiaire au sein d'une entreprise souhaitant diversifier son activité actuelle en créant un service de vidéo à la demande.

Votre rôle consiste dans un premier temps à élaborer un modèle pour la base de données associée à l'application web de streaming permettant aux clients de sélectionner leurs vidéos. Votre chef de projet vous demande de vous inspirer du leader sur le marché, en naviguant sur son application, et en prenant des notes.

0.6. Règles de gestion

Votre objectif est d'établir les règles de gestion de ce nouveau système d'information (SI) :

  1. Identifier les différentes entités (types d'objets ou d'éléments) présents dans les interfaces et nécessaires à l'application (ex : film, genre…). Ce sont les éléments qui seront stockés dans la future base de données.
  2. Lister les propriétés de chacune de ces entités (ex: un film a un titre, un réalisateur…)
  3. Ajouter une propriété sur chaque entité permettant d'identifier de façon unique l'un de ses éléments.
  4. Exprimer les relations entre les entités :

Exemple :

Chaque film peut appartenir à plusieurs genres (de 1 à plusieurs)

Ecrans du concurrent principal

Films

Series

Film

Profil utilisateur

MOCODO language

Ecriture des entités (Film, genre...) :

Chaque étudiant est décrit par un numéro permettant de l'identifier, un nom, un prenom et un age.

Etudiant: numero, nom, prenom, age

Ecriture des relations :
  1. Chaque étudiant appartient à une seule section.
  2. Chaque section est composée de zéro à plusieurs étudiants.

Appartenir, 0N Section, 11 Etudiant

Ecrire les règles de gestion (entités et relations) en respectant exactement ces 2 modèles.

0.7. Base de données

Création

  1. Le script de création de la base de données pour Mysql sera généré à partir de Mocodo.
  2. La création de la base dans Mysql se fera à partir de phpMyAdmin ou en mode console.

Dans votre document sur le drive :

  • Faire un tutoriel permettant de reproduire la génération du Script à partir de Mocodo, et la génération de la base Mysql.
  • Créer la base de données

Test

  • Tester la saisie de données (à partir de phpMyAdmin)

Structure

Expliquez :

  1. Comment sont stockées les données dans la base ?
  2. Quels éléments permettent de garantir l'intégrité des données ? Sont-ils suffisants dans la base actuelle ? Que faudrait-il ajouter comme contrôle ?
  3. A partir d'un ou plusieurs exemples, montrez comment se traduisent dans la base les règles de gestion.

Saisie

  1. Dans quel ordre faut-il saisir les données dans les tables ? Pourquoi ?
  2. A partir des données de instantwatcher, saisir 10 Films et 10 séries dans votre base, ainsi que les autres données associées.

Problèmes/questions

  • Notez les problèmes rencontrés, les solutions trouvées.

Export

  1. Exporter les données Mysql de la base Films,et copier le script dans le dossier datas du drive.

Restructuration

  • Vérifier et modifier chaque table, pour prendre en compte les problèmes rencontrés lors de votre saisie initiale
  • Restructurer la base pour prendre en compte les règles de gestion
  • Mettre toutes les relations en UPDATE CASCADE
  • Modifier la valeur de l'auto-increment des tables (valeurs différentes obligatoires)
  • Exporter à nouveau votre base de données (à partir de phpMyAdmin), à mettre sur le drive
    • nom de base streaming
    • Exporter les données uniquement

Import

  • Vérifier la cohérence de la nouvelle structure en saisissant les données des films de manière complète (Film, genre, acteurs, films associés…)
  • Créer un script batch (.bat) pour importer de manière automatisée les données des autres (via fichier sql).

2. Interrogation de données

Bases SQL - LMD

SELECT

FROM

WHERE

Application

A partir de la base de données Streaming, répondre en SQL aux interrogations suivantes :

Pour chaque question :

  • Recopier la question
  • Répondre en SQL
  • Donner le nombre de réponses
  • Afficher la réponse
  1. Liste de tous les genres (toutes les informations)
  2. Liste des films (titre et année de sortie)
  3. Liste des films dont le titre contient le mot…
  4. Liste des films dont le titre ne contient pas le mot…
  5. Liste des films dont la date de sortie est comprise entre date1 et date2 (dates à préciser)
  6. Liste des films de l'année en cours
  7. Liste des acteurs
  8. Liste des Films entre 2 dates et contenant le mot…
si3.txt · Dernière modification: 2019/12/09 09:44 par jcheron
GNU Free Documentation License 1.3
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0