Classe de première SI SQL Table des matières 1. Introduction...................
Classe de première SI SQL Table des matières 1. Introduction......................................................................................................................................3 1.1. Base de données........................................................................................................................3 1.2. Le langage SQL........................................................................................................................4 1.3. MySQL.....................................................................................................................................4 1.4. Organisation d'une base de données.........................................................................................5 2. Les types de données........................................................................................................................5 2.1. Types numériques.....................................................................................................................6 2.1.1. Nombres entiers................................................................................................................6 2.1.2. Nombres décimaux...........................................................................................................6 2.2. Types alphanumériques.............................................................................................................6 2.3. Types énumérés.........................................................................................................................7 2.4. Types temporels........................................................................................................................8 3. Création d'une base de données........................................................................................................9 3.1. Création d'une base de données................................................................................................9 3.2. Suppression d'une base de données..........................................................................................9 3.3. Utilisation d'une base de données...........................................................................................10 4. Création de tables...........................................................................................................................10 4.1. Définition des champs............................................................................................................10 4.2. Introduction aux clés primaires...............................................................................................11 4.2.1. Clé primaire.....................................................................................................................11 4.2.2. Auto-incrémentation........................................................................................................11 4.3. Les moteurs de tables..............................................................................................................11 4.4. Syntaxe de CREATE TABLE.................................................................................................12 4.5. Suppression d'une table...........................................................................................................13 5. Modification d'une table.................................................................................................................13 5.1. Syntaxe de la requête..............................................................................................................13 5.2. Ajout d'un champ....................................................................................................................13 5.3. Suppression d'un champ.........................................................................................................14 5.4. Modification d'un champ........................................................................................................14 6. Insertion de données.......................................................................................................................15 6.1. Syntaxe de INSERT................................................................................................................15 6.2. Syntaxe alternative de MySQL...............................................................................................15 6.3. Utilisation de fichiers externes...............................................................................................16 7. Sélection des données.....................................................................................................................16 7.1. Syntaxe de SELECT...............................................................................................................16 7.2. La clause WHERE..................................................................................................................16 7.3. Tri des données.......................................................................................................................17 7.4. Élimination des doublons........................................................................................................17 7.5. Restreindre les résultats..........................................................................................................18 7.6. Opérateur LIKE......................................................................................................................18 7.7. Recherche dans un intervalle..................................................................................................19 7.8. Set de critères..........................................................................................................................19 8. Suppression et modification de données........................................................................................19 4-SQL.odt 1 Classe de première SI 8.1. Sauvegarde d'une base de données.........................................................................................19 8.2. Suppression.............................................................................................................................20 8.3. Modification............................................................................................................................20 9. Index...............................................................................................................................................20 9.1. Index unique...........................................................................................................................21 9.2. Création des index..................................................................................................................21 9.3. Ajout des index après création de la table...............................................................................22 9.4. Suppression d'un index...........................................................................................................22 10. Clés primaires et étrangères..........................................................................................................23 10.1. Les clés primaires.................................................................................................................23 10.2. Création d'une clé primaire...................................................................................................23 10.3. Suppression de la clé primaire..............................................................................................23 10.4. Clés étrangères......................................................................................................................23 11. Jointures........................................................................................................................................25 12. Les fonctions SQL........................................................................................................................27 12.1. Les fonctions scalaires..........................................................................................................27 12.2. Les fonctions d'agrégat.........................................................................................................27 SQL (Structured Query Language) est un langage informatique servant à exploiter des bases de données relationnelles. La partie langage de manipulation des données de SQL permet de rechercher, d'ajouter, de modifier ou de supprimer des données dans les bases de données relationnelles. 4-SQL.odt 2 Classe de première SI 1. Introduction 1.1. Base de données Une base de données informatique est un ensemble de données qui ont été stockées sur un support informatique, et organisées et structurées de manière à pouvoir facilement consulter et modifier leur contenu. Il ne suffit pas que la base de données existe, il faut aussi pouvoir la gérer, interagir avec cette base. Il faut pouvoir envoyer des message (messages qu'on appellera "requêtes"), afin de pouvoir ajouter des news, modifier des membres, supprimer, et tout simplement afficher des éléments de la base. Une base de données seule ne suffit donc pas, il est nécessaire d'avoir également : • un système permettant de gérer cette base • un langage pour transmettre des instructions à la base de données Un Système de Gestion de Base de Données (SGBD) est un logiciel (ou un ensemble de logiciels) permettant de manipuler les données d'une base de données. Manipuler, c'est-à-dire sélectionner et afficher des informations tirées de cette base, modifier des données, en ajouter ou en supprimer (ce groupe de quatre opérations étant souvent appelé "CRUD", pour Create, Read, Update, Delete). La plupart des SGBD sont basés sur un modèle Client - Serveur. C'est-à-dire que la base de données se trouve sur un serveur qui ne sert qu'à ça, et pour interagir avec cette base de données, il faut utiliser un logiciel "client" qui va interroger le serveur et transmettre la réponse que le serveur lui aura donnée. Par conséquent, lorsque vous installez un SGBD basé sur ce modèle, vous installez en réalité deux choses (au moins) : le serveur, et le client. Chaque requête (insertion/modification/lecture de données) est faite par l'intermédiaire du client. Jamais vous ne discuterez directement avec le serveur (d'ailleurs, il ne comprendrait rien à ce que vous diriez). Un SGBDR est un SGBD qui implémente la théorie relationnelle. Les données sont contenues dans des relations, qui sont représentées sous forme de tables. Une relation est composée de deux parties, l'en-tête et le corps. L'en-tête est lui-même composé de plusieurs attributs. Exemple, pour la relation "Client", on crée l'en-tête suivant : Numéro, Prénom, Nom, Email Quant au corps, il s'agit d'un ensemble de lignes (ou n-uplets) composées d'autant d'éléments qu'il y a d'attributs dans le corps. Voici quatre lignes pour la relation "Client" : Numéro Prénom Nom Email 1 Jean Dupont jdupont@email.com 2 Marie Malherbe mama@email.com 3 Nicolas Jacques Jacques.nicolas@email.com Différentes opérations peuvent alors être appliquées à ces relations, ce qui permet d'en tirer des informations. Parmi les opérations les plus utilisées, on peut citer : • la sélection (ou restriction) : obtenir des lignes répondant à certains critères • la projection : obtenir une partie des attributs des lignes 4-SQL.odt 3 Classe de première SI • l'union : obtenir tout ce qui se trouve dans la relation A ou dans la relation B • l'intersection : obtenir tout ce qui se trouve à la fois dans la relation A et dans la relation B • la différence : obtenir ce qui se trouve dans la relation A mais pas dans la relation B • la jointure : obtenir l'ensemble des lignes provenant de la liaison de la relation A et de la relation B à l'aide d'une information commune. Un petit exemple pour illustrer la jointure : si l'on veut stocker des informations sur les clients d'une société, ainsi que les commandes passées par ces clients, on utilisera deux relations : client et commande, la relation commande étant liée à la relation client par une référence au client ayant passé commande. Le client numéro 3, M. Nicolas Jacques, a donc passé une commande de trois tubes de colle, tandis que Mme Marie Malherbe (cliente numéro 2) a passé deux commandes, pour du papier et des ciseaux. 1.2. Le langage SQL Le SQL (Structured Query Language1) est un langage informatique qui permet d'interagir avec des bases de données relationnelles. Il a été créé dans les années 1970 et c'est devenu standard en 1986 (pour la norme ANSI - 1987 en ce qui concerne la norme ISO). Il est encore régulièrement amélioré. 1.3. MySQL MySQL est un SGBDR, qui utilise le langage SQL. C'est un des SGBDR les plus utilisés car popularité est due en grande partie au fait qu'il s'agit d'un logiciel Open Source. Le développement de MySQL commence en 1994 par David Axmark et Michael Widenius. En 2008, MySQL AB est rachetée par la société Sun Microsystems, qui est elle-même rachetée par Oracle Corporation en 2010. MySQL ne suit pas toujours la norme officielle. Certaines syntaxes peuvent donc être propres à MySQL et ne pas fonctionner sous d'autres SGBDR. Par ailleurs, il n'implémente pas certaines fonctionnalités avancées, qui peuvent être utiles pour un projet un tant soit peu ambitieux. Il existe des dizaines de SGBDR, chacun ayant ses avantages et ses inconvénients. Voici 1 langage de requête structurée 4-SQL.odt 4 Classe de première SI succinctement quatre d'entre eux, parmi les plus connus : • Oracle database, édité par Oracle Corporation. • PostgreSQL, logiciel Open Source qui a longtemps été disponible uniquement sous Unix. • MS Access, édité par Microsoft qui ne fonctionne que sous Windows et qui n'est pas adapté pour gérer un grand volume de données. • SQLite, ce logiciel stocke toutes les données dans de simples fichiers. 1.4. Organisation d'une base de données Les données sont représentées sous forme de tables. Une base va donc contenir plusieurs tables qui définissent un certain nombre de champs, qui sont les caractéristiques de l'objet représenté par la table (les attributs de l'en-tête dans la théorie relationnelle). Chaque donnée introduite le sera sous forme d'entrées dans une table, définissant la valeur de chaque champ pour cette donnée. Exemple : un champ "Nom", un champ "Prénom", un champ "Email" et un champ "Numéro" permettent d'identifier les clients individuellement. Numéro Prénom Nom Email 1 Jean Dupont jdupont@email.com 2 Marie Malherbe mama@email.com 3 Nicolas Jacques Jacques.nicolas@email.com 2. Les types de données Un mauvais type de données peut entraîner : • un gaspillage de mémoire. • des problèmes de performance. • un comportement contraire à celui attendu. • l'impossibilité d'utiliser des fonctionnalités propres à un type de données. 4-SQL.odt 5 Classe de première SI 2.1. Types numériques 2.1.1. Nombres entiers Les types de données qui acceptent des nombres entiers comme valeur sont désignés par le mot-clé INT, et ses déclinaisons : Type Nombre d'octets Minimum Maximum TINYINT 1 -128 127 SMALLINT 2 -32768 32767 MEDIUMINT 3 -8388608 8388607 INT 4 -2147483648 2147483647 BIGINT 8 -9223372036854775808 9223372036854775807 L'attribut UNSIGNED permet de travailler avec des valeurs non signées : 0-255 pour TINYINT, 65535 pour SMALLINT, etc... 2.1.2. Nombres décimaux Cinq mots-clés permettent de stocker des nombres décimaux dans un champ : DECIMAL, NUMERIC, FLOAT, REAL et DOUBLE. NUMERIC et DECIMAL sont équivalents et acceptent deux paramètres : la précision et l'échelle. • La précision définit le nombre de chiffres significatifs stockés (les 0 à gauche ne comptent pas). • L'échelle définit le nombre de chiffres après la virgule. Dans un champ DECIMAL(5,3), on peut donc stocker des nombres de 5 chiffres significatifs maximum, dont 3 chiffres sont après la virgule. Par exemple : 12.354, -54.258, 89.2 ou -56. FLOAT et REAL utilisent quatre octets pour uploads/s3/ 4-sql.pdf
Documents similaires
-
17
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 29, 2022
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 0.3258MB