STIC:STIC II - exercice 11 (Nestor-Pixel)

De EduTech Wiki
Aller à la navigation Aller à la recherche

Cette page fait partie des cours STIC I et STIC II

Enoncé de l'exercice 11

Cet exercice du cours STIC II vous permet:

  • de vous familiariser avec les bases de données "typiques"
  • d'apprendre les bases du langage SQL

Tâche

  • Définir une application (hypothétique) qui nécessite une base de données relationnelle à 2-3 tables (donc 2 entités au moins).
  • Définir ces tables avec SQL dans un seul fichier *.sql
  • Créer les tables dans une base de données MySQL
  • Créer une page d'accueil/rapport ici:
/etu-maltt/nestor/<login>/stic/ex11/

Ce rapport doit contenir un lien vers le fichier *.sql

Outils

Outils
Un simple éditeur pour définir le fichier SQL
phpMyAdmin: http://tecfa.unige.ch/admin/phpMyAdmin/
Deployment
  • Sur le serveur MySQL de TECFA

Contraintes

  • Thème en rapport avec MALTT (à synchroniser peut-être avec un autre enseignement MALTT)
  • A rendre avant la période 5.

Le rapport:

  • Titre, auteur et date
  • Liens vers le résulat:
    • Lien vers le fichier *.sql
  • Objectifs de l'application: Elle servirait à quoi / quelle population ?
  • Design de la structure de base données (tables, colonnes, types de données, etc.) (Important!!!)
  • La production: bref résumé de la démarche
  • Difficultés, auto-évaluation, remarques
  • Ressources utilisées, bibliographie.

Evaluation

  • Qualité du rapport (surtout discussion des objectifs/besoins et de l'architecture de la base de données)
  • Qualité de l'architecture par rapport aux objectifs, définition appropriée des champs, etc.
  • Le fichier SQL marche (avec MySQL)
  • Note: Surtout la qualité compte pas besoin de faire trop (3 tables suffisent !)

Activités en classe

Modifier le code suivant et importer dans un serveur MySQL avec un outil comme PhPMyAdmin.

Note: Faites attention lorsque vous copier/collez du SQL à partir de fichiers PDF. Les quotes SQL sont droits: " et ', et pas du genre: ´

CREATE TABLE demo1 (
  id int(10) NOT NULL auto_increment,
  login char(10) DEFAULT '' NOT NULL,
  password char(100),
  fullname char(40) DEFAULT '' NOT NULL,
  url char(60) DEFAULT '' NOT NULL,
  food int(11) DEFAULT '0' NOT NULL,
  work int(11) DEFAULT '0' NOT NULL,
  love int(11) DEFAULT '0' NOT NULL,
  leisure int(11) DEFAULT '0' NOT NULL,
  sports int(11) DEFAULT '0' NOT NULL,
  PRIMARY KEY (id),
  KEY login (login)
);

Simple relation avec 2 tables et qqs. données

DROP TABLE IF EXISTS student;
DROP TABLE IF EXISTS exercice;
CREATE TABLE student (
id int(10) NOT NULL auto_increment,
name char(40) DEFAULT '' NOT NULL,
first_name char(40) DEFAULT '' NOT NULL,
PRIMARY KEY (id)
);

INSERT INTO student VALUES (NULL,'Testeur','Bill');
INSERT INTO student VALUES (NULL,'Testeur','Joe');
INSERT INTO student VALUES (NULL,'Testeuse','Sophie');

CREATE TABLE exercice (
id int(10) NOT NULL auto_increment,
title char(40) DEFAULT '' NOT NULL,
student_id int(10) NOT NULL,
comments varchar(128),
url char(60) DEFAULT '' NOT NULL,
PRIMARY KEY (id),
KEY student_id (student_id)
);
INSERT INTO exercice VALUES (NULL,"Exercice 1",'1',"pas de commentaire",'http://tecfa.unige.ch/');
INSERT INTO exercice VALUES (NULL,"Exercice 2",'1',"pas de commentaire",'http://tecfa.unige.ch/');

Liens

Transparents
http://tecfa.unige.ch/guides/tie/html/mysql-intro/mysql-intro.html
PhpMyAdmin
http://tecfa.unige.ch/admin/phpMyAdmin/
Liens techniques
en:SQL (liens)
en:MySQL (liens)