Différences entre versions de « MySQL »

De Didaquest
Aller à la navigationAller à la recherche
 
(12 versions intermédiaires par le même utilisateur non affichées)
Ligne 4 : Ligne 4 :
  
 
= Relation entre table =
 
= Relation entre table =
* Tuto simple : https://www.bonbache.fr/relations-entre-les-tables-d-une-base-mysql-382.html
+
* Realtion entre table : Tuto simple : https://www.bonbache.fr/relations-entre-les-tables-d-une-base-mysql-382.html
 +
* Type de relation : https://openclassrooms.com/fr/courses/4449026-initiez-vous-a-lalgebre-relationnelle-avec-le-langage-sql/4449033-decouvrez-le-concept-de-relation
 +
* Table intermediaire - classe d'association - clé primaire composée de clés secondaires: https://openclassrooms.com/fr/courses/4055451-modelisez-et-implementez-une-base-de-donnees-relationnelle-avec-uml/4457718-mettez-en-oeuvre-les-differents-types-de-relations-a-laide-des-cles-etrangeres
 +
 
 +
- Pour créer une clés primaire composés de clés secondaire : Lorsque tu crées la table, tu coche la case clé primaire sur tous les champs concernés et cela fait une clé primaire composée.
 +
- Si la table est déjà crée avec une clé primaire, tu supprimes la clé primaire et tu recoche les cases qui vont bien.
 +
 +
* '''Exemple via code''': [https://dba.stackovernet.com/fr/q/22593]
 +
'''Short version''':
 +
CREATE TABLE Relation
 +
( stu_id INT NOT NULL REFERENCES Student,
 +
    par_id INT NOT NULL REFERENCES Parent,
 +
    PRIMARY KEY (stu_id, par_id)
 +
  ) ;
 +
 
 +
'''Long version''' (en donnant un autre nom à la table car le nom relation reste vague
 +
CREATE TABLE Guardian
 +
(                                        -- columns
 +
    student_id INT NOT NULL,
 +
    parent_id INT NOT NULL,
 +
                                            -- constraints
 +
    CONSTRAINT Guardian_PK                -- the name of the PK constraint
 +
      PRIMARY KEY (student_id, parent_id),
 +
 
 +
    CONSTRAINT Student_Guardian_FK        -- the name of the FK constraint
 +
      FOREIGN KEY (student_id)
 +
      REFERENCES Student (student_id)
 +
        ON UPDATE CASCADE                  -- the actions of the FK
 +
        ON DELETE RESTRICT,
 +
    CONSTRAINT Parent_Guardian_FK          -- second FK
 +
      FOREIGN KEY (parent_id)
 +
      REFERENCES Parent (parent_id)
 +
        ON UPDATE CASCADE
 +
        ON DELETE RESTRICT
 +
) ;
 +
 
 
= Catégories et sous-sous...catégories =
 
= Catégories et sous-sous...catégories =
 
: '''En Français
 
: '''En Français
Ligne 29 : Ligne 64 :
  
 
= Jointures =
 
= Jointures =
 +
* Très explicite avec exemples et images : [https://sql.sh/cours/jointures]
 +
* Avec plus de détails : [https://www.supinfo.com/cours/1ORC/chapitres/04-recuperer-donnees-depuis-plusieurs-tables]
 
* https://sqlpro.developpez.com/cours/sqlaz/jointures/
 
* https://sqlpro.developpez.com/cours/sqlaz/jointures/
 +
* Un bon exemple discussion et résolution: https://forum.phpfrance.com/php-debutant/problemes-jointures-php-sql-t270521-15.html
 +
 +
= Manipulation via PHP =
 +
* Importer - exporter via mysql : https://docs.phpmyadmin.net/fr/latest/import_export.html
 +
* '''Editer - Ajouter - détruire données''' : Live Table Add Edit Delete using Ajax Jquery in PHP Mysql [https://www.webslesson.info/2016/02/live-table-add-edit-delete-using-ajax-jquery-in-php-mysql.html]
 +
 +
= Mysql - csv =
 +
* http://www.chicoree.fr/w/Importer_des_donn%C3%A9es_dans_une_base_MySQL
 +
 +
Une astuce utiliser des fois le convertisseur pour importer les sql au lieu des csv quand l'importation cause des problèmes
 +
(surtout dans le cas de clés étrangères) http://www.convertcsv.com/csv-to-sql.htm
  
 
= Références =
 
= Références =
* Très explicite avec exemples et images : https://sql.sh/cours/jointures
 
 
* https://blog.developpez.com/sqlpro/
 
* https://blog.developpez.com/sqlpro/
  

Version actuelle datée du 11 octobre 2019 à 22:39

Relation entre table

- Pour créer une clés primaire composés de clés secondaire : Lorsque tu crées la table, tu coche la case clé primaire sur tous les champs concernés et cela fait une clé primaire composée.
- Si la table est déjà crée avec une clé primaire, tu supprimes la clé primaire et tu recoche les cases qui vont bien.

  • Exemple via code: [1]
Short version:
CREATE TABLE Relation
( stu_id INT NOT NULL REFERENCES Student,
    par_id INT NOT NULL REFERENCES Parent,
    PRIMARY KEY (stu_id, par_id)
 ) ;
Long version (en donnant un autre nom à la table car le nom relation reste vague
CREATE TABLE Guardian
(                                        -- columns
    student_id INT NOT NULL, 
    parent_id INT NOT NULL,
                                           -- constraints
    CONSTRAINT Guardian_PK                 -- the name of the PK constraint
      PRIMARY KEY (student_id, parent_id),
    CONSTRAINT Student_Guardian_FK         -- the name of the FK constraint
      FOREIGN KEY (student_id) 
      REFERENCES Student (student_id)
        ON UPDATE CASCADE                  -- the actions of the FK
        ON DELETE RESTRICT,
    CONSTRAINT Parent_Guardian_FK          -- second FK
      FOREIGN KEY (parent_id) 
      REFERENCES Parent (parent_id)
        ON UPDATE CASCADE
        ON DELETE RESTRICT
) ;

Catégories et sous-sous...catégories

En Français
Notre préférence: (Représentation intervallaire = MPTT en anglais (Modified Preorder Tree Traversal))
* https://sqlpro.developpez.com/cours/arborescence/
* https://zestedesavoir.com/tutoriels/250/la-representation-intervallaire/
* http://www.finalclap.com/faq/252-representation-invervallaire
* https://jean.traulle.net/2015/02/representation-intervallaire/
* https://blog.developpez.com/sqlpro/p11925/langage-sql-norme/tri-combine-dans-un-arbre-intervallaire
En Anglais
  • Avec d'autres langage:
- En javascript

Jointures

Manipulation via PHP

Mysql - csv

Une astuce utiliser des fois le convertisseur pour importer les sql au lieu des csv quand l'importation cause des problèmes 
(surtout dans le cas de clés étrangères) http://www.convertcsv.com/csv-to-sql.htm

Références