| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| nsi:terminales:sql_requests [2021/10/23 15:43] – [Jointure] goupillwiki | nsi:terminales:sql_requests [2022/08/29 21:45] (Version actuelle) – goupillwiki |
|---|
| Afin d'illustrer notre travail, on utilisera un exemple. | Afin d'illustrer notre travail, on utilisera un exemple. |
| |
| {{ :nsi:terminales:sql-1.png?direct&400 |}} | {{ nsi:terminales:database:sql-1.png?direct&400 |}} |
| |
| Pour cette base, nous besoin de deux tables FILM et ARTISTE et aussi d'une table JOUEDANS pour la relation du haut : | Pour cette base, nous besoin de deux tables FILM et ARTISTE et aussi d'une table JOUEDANS pour la relation du haut : |
| Dans le texte de la biographie, vous pouvez voir la présence de caractères ''%%'%%'', mais ces caractères servent à délimiter les chaînes de texte... La convention est de doubler les ''%%'%%'' pour qu'ils soient compris comme une simple apostrophe. C'est pourquoi vous pouvez voir des ''%%''%%'' ici et là dans la biographie. | Dans le texte de la biographie, vous pouvez voir la présence de caractères ''%%'%%'', mais ces caractères servent à délimiter les chaînes de texte... La convention est de doubler les ''%%'%%'' pour qu'ils soient compris comme une simple apostrophe. C'est pourquoi vous pouvez voir des ''%%''%%'' ici et là dans la biographie. |
| |
| ==== On ne précise pas la clé primaire ==== | <WRAP tip> |
| | ==== Préciser ou non la clé primaire ? ==== |
| |
| ''idArtiste'' est la clé primaire, elle se crée toute seule, nous n'avons pas besoin de la préciser. | On a le choix : on peut décider de préciser un ''idArtiste''. Dans ce cas on pourra écrire |
| | |
| | <code sql> |
| | INSERT INTO ARTISTE(idArtiste, prénom, nom, biographie, naissance) VALUES(129, 'Jo', 'Bill', 'blablabla', '1955-03-19'); |
| | </code> |
| | |
| | et on précise l'identifiant voulu **à condition qu'il ne soit pas déjà utilisé**. |
| | |
| | Puisque dans la requête précédente figurent toutes les colonnes de la table, on peut se contenter de : |
| | |
| | <code sql> |
| | INSERT INTO ARTISTE VALUES(129, 'Jo', 'Bill', 'blablabla', '1955-03-19'); |
| | </code> |
| | |
| | Dans les sujets de bac, l'identifiant est précisé en général. Mais dans un cas d'utilisation réelle, il sera sans doute plus pratique de laisser le SGBD automatiquement identifiant : sans cela il faudrait d'abord consulter la BDD pour savoir quel identifiant est disponible... |
| | </WRAP> |
| |
| ==== Erreur si insertion de film sans idReal ==== | ==== Erreur si insertion de film sans idReal ==== |
| <WRAP box>Une base est construite par des milliers d'insertions individuelles. On ne va donc pas le faire et nous allons continuer à travailler avec une base déjà faite. | <WRAP box>Une base est construite par des milliers d'insertions individuelles. On ne va donc pas le faire et nous allons continuer à travailler avec une base déjà faite. |
| |
| Vous disposez du fichier {{ :nsi:terminales:films.sql |}} qui contient toutes les commandes pour créer une base de donnée. Dans //sqlitebrowser// vous pouvez importer un fichier ''*.sql''. <wrap tip>Fichier -> Importer -> Base de données à partir du fichier SQL...</wrap> | Vous disposez du fichier {{ nsi:terminales:database:films.sql |}} qui contient toutes les commandes pour créer une base de donnée. Dans //sqlitebrowser// vous pouvez importer un fichier ''*.sql''. <wrap tip>Fichier -> Importer -> Base de données à partir du fichier SQL...</wrap> |
| </WRAP> | </WRAP> |
| |