[[si3]]

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
si3 [2019/01/07 12:33]
jcheron [Phase 2]
si3 [2019/09/09 07:33] (Version actuelle)
jcheron [Règles de gestion]
Ligne 1: Ligne 1:
-===== TD n°7 -2019 ===== +====== SI3 Exploitation des données ​======
-==== 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 ==== +===== - TD Streaming Service =====
-On utilisera pour les exemples la base précédemment élaborée.+
  
-=== Objectifs : === +Vous travaillez comme stagiaire au sein d'une entreprise souhaitant diversifier son activité actuelle en créant un service ​de vidéo à la demande. 
-  * Rédaction ​de mode opératoire/​documentation +  
-  Prise en main de bases de données +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. 
-  * SQL : LDD (Langage ​de Définition ​de Données)+Votre chef de projet vous demande ​de vous inspirer du leader sur le marché, en naviguant sur son application,​ et en prenant des notes.
  
-<wrap round info>A rédiger dans 2 documents différents à déposer sur le Drive</​wrap>​+==== Règles de gestion ====
  
-Pour chaque SGDB (MariaDb, SQLite) : +Votre objectif est d'​établir ​les règles ​de gestion ​de ce nouveau **système ​d'information** ​(SI:
-  - 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 ...)+
  
-Consignespour chaque SGDB :  +  - Identifier les différentes **entités** (types d'​objets ou d'​éléments) présents dans les interfaces et nécessaires à l'​application (ex : filmgenre...). Ce sont les éléments qui seront stockés dans la future base de données. 
-  ​* Utiliser ​l'outil en invite ​de commande+  - Lister les propriétés de chacune de ces entités (exun film a un titre, un réalisateur...) 
-  * Préciser ​les particularités SQL (non respect des normes)+  ​- Ajouter une propriété sur chaque entité permettant d'​identifier de façon unique ​l'un de ses éléments
 +  ​- Exprimer les **relations*entre les entités :
  
-__**Liens :**__+__**Exemple ​:**__
  
-  * https://​sqlite.org/​download.html +Chaque __film__ peut appartenir à plusieurs __genres__ (de 1 à plusieurs)
-  * https://​mariadb.com/​kb/​en/​library/​sql-statements-structure/​+
  
  
-==== Commandes de base de l'​invite de commande ​====+=== Ecrans du concurrent principal ​=== 
 +== Films ==
  
 +{{:​si3:​netflix:​films.png?​|}}
  
-|<​100%>​| +== Series == 
-^Opération ^Mysql ^PostGreSQL ^SQLite ^ +{{:​si3:​netflix:​series.png?|}}
-|**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 =====+== Film == 
 +{{:si3:​netflix:​presfilm.png?​600|}}
  
-A partir des données fournies par [[https://github.com/​openfootball/​world-cup|openfootball]] : +== Profil utilisateur == 
-  * Télécharger les données de la coupe du monde en Russie+{{:si3:​netflix:​profil.png?|}}
  
-==== Choix logiciel ==== 
-Tableur, base de données... 
  
 +=== 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.
  
-==== Structurer les données ==== +<​sxh;​gutter:​false>​ 
-Le travail d'​analyse se fera en binômes ​:+Etudiantnumero, nom, prenom, age 
 +</​sxh>​
  
-Stocker ces données de manière structurée sur un support informatique en utilisant un outil logiciel adapté ​+== Ecriture des relations ​== 
-  ​* évitant les informations en double +  ​- Chaque étudiant appartient à une seule section
-  * permettant l'​établissement de listes (Groupes, équipes, matchs, buteurs...) +  ​- Chaque section est composée ​de zéro à plusieurs étudiants.
-  ​* permettant l'​établissement ​de statistiques complètes (par continent, par match, par stade, par poule...)+
  
-==== Création et Saisie ==== +<sxh;gutter:false
-  * Créer la base de données +Appartenir0N Section11 Etudiant 
-  * Saisir les données +</sxh>
- +
-==== Statistiques ==== +
-Établir la liste des statistiques à élaborer +
- +
-===== TD n°2 : openfootball.sql ===== +
- +
-==== Fondamentaux ==== +
-  * SGDBR (Tables, champs, contraintes,​ relations...) +
-  * SQL +
- +
-==== Démarrage ==== +
- +
-A partir de Xampp, démarrer les serveurs : +
-  * Mysql +
-  * Apache +
- +
-Depuis [[http://​127.0.0.1/​phpmyadmin|phpMyAdmin]],​ importer la base de données {{:​si3:​openfootball.sql|}} . +
- +
-==== Saisie ==== +
-  * Etablir un ordre de saisie dans les tables, justifier le. +
-  * Saisir les données +
- +
-==== 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 +
- +
-==== Données et Statistiques ==== +
-Établir : +
-  * les listes d'​informations utiles à élaborer (exemples : Equipes par poule, matchs par équipe...) +
-  * les statistiques à élaborer +
- +
- +
-===== openfootball SQL (LMD) ===== +
- +
-==== Liste à obtenir : ==== +
- +
- +
-  - matchs d’une Poule (afficher toutes les infos du match : équipes, date, lieu) +
-  - matchs pour 1 journée (17 juin) +
-  - matchs du week-end (23,24 juin) +
-  - matchs entre 2 dates (du 14 au 20 juin) +
-  - matchs de poule de l’équipe de France +
-  - matchs ayant lieu au stade Rostov Arena +
-  - matchs de phase 2 ayant lieu à Nizhny Novgorod +
-  - adversaires rencontrés par la belgique avant son match contre la France +
-  - matchs perdus par l’Allemagne (A ne pas faire) +
-    +
-  - équipes ayant joué des prolongations +
-  - équipes ayant fait au moins 1 match null +
-  - équipes ayant eu au moins une défaite +
-  - équipe ayant bénéficié au moins d'un penalty +
-  - équipes invaincues +
- +
-  - continents représentés dans la phase 2 +
- +
-  - joueurs ayant marqué un but pour l’équipe d’argentine +
-  - joueurs ayant marqué plus de 3 buts (sauf o.g.) +
-  - joueurs ayant marqué contre leur camp (afficher l'​équipe) +
- +
-==== Statistiques ==== +
-sur le nombre de buts... +
-  - au total +
-  - en phase 1 +
-  - en phase 2 +
-  - en 1ère mi-temps +
-  - en 2ème mi-temps +
-  - par poule +
-  - par jour +
-  - dans le temps supplémentaire +
-  - dans les prolongations +
-  - marqués par penalty +
-  - marqués contre son camp +
-  - par équipe, classé par ordre décroissant du nombre de buts +
-  - marqués par penalty, par équipe, classé par ordre décroissant du nombre de buts +
-  - Classement du nombre de buts par joueur +
-  - Classement du nombre de buts par joueur pour les joueurs ayant marqué plus de 3 buts +
-  - Classement du nombre de buts par joueur (sans tenir compte des penaltys) +
- +
-sur le nombre de buts moyen... +
-  - par match +
-  - par match en phase1 +
-  - par match en phase2 +
-  - en 1ère mi-temps +
-  - en 2ème mi-temps +
-  - dans le temps supplémentaire +
-  - Par poule +
-  - Par jour +
- +
-  - Classement selon le nombre de victoires par équipe +
-  - Classement selon le nombre de défaites par équipe +
-  - Nombre de buteurs différents par équipe +
- +
- +
-==== Base de données à importer : ==== +
-{{:​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 (LieuMatériellogiciels), 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+
  
 +Ecrire les règles de gestion (entités et relations) en respectant exactement ces 2 modèles.
  
si3.1546860796.txt.gz · Dernière modification: 2019/01/07 12:33 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