0% ont trouvé ce document utile (0 vote)
69 vues10 pages

Introduction au langage SQL et bases de données

Ce document introduit SQL et les bases de données relationnelles. Il explique les concepts clés de SQL comme les tables, les lignes, les colonnes, les champs et les valeurs NULL. Il décrit également l'histoire de SQL et les différents types de bases de données.

Transféré par

Big Schnel Yann
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
69 vues10 pages

Introduction au langage SQL et bases de données

Ce document introduit SQL et les bases de données relationnelles. Il explique les concepts clés de SQL comme les tables, les lignes, les colonnes, les champs et les valeurs NULL. Il décrit également l'histoire de SQL et les différents types de bases de données.

Transféré par

Big Schnel Yann
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

PRATIQUE SQL

CHAPITRE I. PRESENTATION SQL


INTRODUCTION

SQL est un langage permettant d'exploiter des bases de données ; cela inclut la création,
la suppression, la récupération de lignes, la modification de lignes, etc. SQL est un langage
standard ANSI (American National Standards Institute), mais il existe de nombreuses versions
différentes du langage SQL.

1.1. Qu'est-ce que SQL ?

SQL est un langage de requête structuré, qui est un langage informatique pour stocker, manipuler
et récupérer des données stockées dans une base de données relationnelle.

SQL est le langage standard pour le système de base de données relationnelle. Tous les systèmes
de gestion de bases de données relationnelles (en anglais - RDMS) comme MySQL, MS Access, Oracle,
Sybase, Informix, Postgres et SQL Server utilisent SQL comme langage de base de données standard.

En outre, ils utilisent différents dialectes, tels que :

 MS SQL Server utilisant T-SQL,


 Oracle utilisant PL/SQL,
 La version MS Access de SQL s'appelle JET SQL (format natif), etc.

1.2. Qu-est ce qu’une base de donnee

Une base de données est une collection organisée d’informations structurées, généralement
stockées électroniquement dans un système informatique. Une base de données est généralement
contrôlée par un système de gestion de base de données (SGBD). L’ensemble que constituent les données
et le DBMS, ainsi que les applications qui leur sont associées, est nommé système de base de données, ou
simplement base de données.

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 1


Practitioner
PRATIQUE SQL

1.3. Types de base de Donnee

Il existe de nombreux types de bases de données. La meilleure base de données pour une
organisation spécifique dépend de la manière dont l’organisation souhaite utiliser les données.

 Bases de données relationnelles. Les bases de données relationnelles ont dominé les
années 80. Les éléments d’une base de données relationnelle sont organisés en un
ensemble de tables comportant des lignes et des colonnes. La technologie de base de
données relationnelle offre le moyen le plus efficace et flexible d’accéder à des
informations structurées.
 Bases de données orientées objet. Les informations d’une base de données orientée
objet sont représentées sous forme d’objets, comme dans la programmation orientée
objet.
 Bases de données distribuées. Une base de données distribuée se compose de deux
fichiers ou plus, situés dans différents sites. La base de données peut être stockée sur
plusieurs ordinateurs, situés au même endroit physique, ou répartis sur différents
réseaux.
 Data warehouses. Un data warehouse, référentiel central de données, est un type de
base de données spécifiquement conçu pour permettre une interrogation et une analyse
rapides.
 Bases de données NoSQL. Une base de données NoSQL, ou non relationnelle, permet
de stocker et de manipuler des données non structurées et semi-structurées (à la
différence d’une base de données relationnelle, qui définit la manière dont doivent être
composées toutes les données insérées dans la base de données). Les bases de données
NoSQL ont gagné en popularité à mesure que les applications Web sont devenues plus
courantes et complexes.
 Bases de données orientées graphe. Une base de données orientée graphe stocke des
données en termes d’entités et de relations entre les entités.

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 2


Practitioner
PRATIQUE SQL

 Bases de données OLTP. Une base de données OLTP est une base de données rapide
et analytique, conçue pour accepter un grand nombre de transactions effectuées par
plusieurs utilisateurs.

Seuls quelques-uns des dizaines de types de bases de données sont utilisés actuellement. Les
autres bases de données moins courantes sont adaptées à des fonctions scientifiques, financières
ou autres très spécifiques. En plus des différents types de base de données, les modifications
dans les approches du développement technologique et les grandes avancées comme le Cloud et
l’automatisation propulsent les bases de données dans des directions inédites. Certaines des
dernières bases de données comprennent les suivantes :

 Bases de données open source. Dans un système de base de données open source, le
code source est open source ; ces bases de données peuvent être SQL ou NoSQL.
 Bases de données Cloud. Une base de données Cloud est une collection de données,
structurée ou non, qui réside sur une plateforme de calcul de Cloud privé, public ou
hybride. Il existe deux types de modèles de bases de données Cloud : le traditionnel et
le database as a service (DBaaS). Dans le DBaaS, les tâches administratives et la
maintenance sont effectuées par un fournisseur de services.
 Base de données multimodèle. Les bases de données multimodèle associent différents
types de modèles de base de données dans un seul backend intégré. Elles peuvent ainsi
accueillir différents types de données.
 Base de données Document/JSON. Conçues pour stocker, récupérer et gérer les
informations orientées document, les bases de données de documents constituent un
moyen moderne de stocker des données au format JSON, plutôt que dans des lignes et
colonnes.
 Base de données à pilotage automatique. Le type de base de données le plus récent et
révolutionnaire, les bases de données à pilotage automatique (ou bases de données
autonomes), sont basées sur le Cloud et exploitent le machine learning pour
automatiser les réglages, la sécurité, les sauvegardes, les mises à jour et d’autres tâches
de routine effectuées habituellement par les administrateurs de base de données.

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 3


Practitioner
PRATIQUE SQL

1.4. Pourquoi SQL ?

SQL est très populaire car il offre les avantages suivants :

 Permet aux utilisateurs d'accéder aux données des systèmes de gestion de bases de
données relationnelles.
 Permet aux utilisateurs de décrire les données.
 Permet aux utilisateurs de définir les données dans une base de données et de manipuler
ces données.
 Permet d'intégrer dans d'autres langages à l'aide de modules SQL, de bibliothèques et de
pré-compilateurs.
 Permet aux utilisateurs de créer et de supprimer des bases de données et des tables.
 Permet aux utilisateurs de créer une vue, une procédure stockée, des fonctions dans une
base de données.
 Permet aux utilisateurs de définir des autorisations sur les tables, les procédures et les
vues.

1.5. Histoire de SQL


 1970 - Le Dr Edgar F. "Ted" Codd d'IBM est connu comme le père des bases de données
relationnelles. Il a décrit un modèle relationnel pour les bases de données.
 1974 - Le langage de requête structuré est apparu.
 1978 - IBM a travaillé pour développer les idées de Codd et a publié un produit nommé
System/R.
 1986 – IBM a développé le premier prototype de base de données relationnelle et
normalisé par l'ANSI. La première base de données relationnelle a été publiée par
Relational Software, connue plus tard sous le nom d'Oracle.

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 4


Practitioner
PRATIQUE SQL

1.6. Concepts du SGBDR


1.6.1. Qu'est-ce qu'un SGBDR ?

RDBMS signifie relational database management system (Système de gestion de base de


données relationnelle). Un système de gestion de base de données relationnelle (SGBDR) est un
système de gestion de base de données (SGBD) basé sur le modèle relationnel introduit par EF
Codd. Pour ce cours nous utiliserons MySQL.

1.6.2. Qu'est-ce qu'une table ?

Les données d'un SGBDR sont stockées dans des objets de base de données appelés
tables. une table est essentiellement une collection d'entrées de données connexes et il se
compose de nombreuses colonnes et lignes.

1.6.3. Qu'est-ce qu'un champ ?

Chaque table est divisée en entités plus petites appelées champs. Un champ est
l’intersection entre une ligne et une colonne.

1.6.4. Qu'est-ce qu'un enregistrement ou une ligne ?

Un enregistrement est également appelé ligne, une ligne de données est chaque entrée
individuelle qui existe dans une table. Par exemple, il y a 2 enregistrements dans la table
CUSTOMERS ci-dessous.

ID NAME AGE ADDRESS SALARY

2 Tikela 27 garoua 400 000

5 Rachidatou 18 yaounde 250 000

1.6.5. Qu'est-ce qu'une colonne ?

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 5


Practitioner
PRATIQUE SQL

Une colonne est une entité verticale dans une table qui contient toutes les informations
associées à un champ spécifique dans une table. Par exemple, une colonne dans la table
CUSTOMERS est ADDRESS.

1.6.6. Qu'est-ce qu'une valeur NULL ?

Une valeur NULL dans une table est une valeur vide dans un champ, ce qui signifie qu'un
champ avec une valeur NULL est un champ sans valeur. Il est très important de comprendre
qu'une valeur NULL est différente d'une valeur zéro ou d'un champ contenant des espaces. Un
champ avec une valeur NULL est celui qui a été laissé vide lors d'une création d'enregistrement.

1.6.7. Contraintes SQL

Les contraintes sont les règles appliquées aux tables et colonnes de données d'une table. Ceux-ci
sont utilisés pour limiter le type de données pouvant entrer dans une table. Cela garantit l'exactitude et la
fiabilité des données de la base de données. Les contraintes peuvent être au niveau de la colonne ou au
niveau de la table. Les contraintes au niveau de la colonne ne sont appliquées qu'à une seule colonne alors
que les contraintes au niveau de la table sont appliquées à l'ensemble de la table.

Voici quelques-unes des contraintes les plus couramment utilisées disponibles dans SQL :

 Contrainte NOT NULL : Garantit qu'une colonne ne peut pas avoir une valeur NULL.
 Contrainte DEFAULT : Fournit une valeur par défaut pour une colonne lorsqu'aucune n'est
spécifiée.
 Contrainte UNIQUE: Garantit que toutes les valeurs d'une colonne sont différentes.
 PRIMARY KEY: Identifie de manière unique chaque ligne/enregistrement dans une table de
base de données.
 FOREIGN KEY: Identifie de manière unique une ligne/un enregistrement dans n'importe quelle
autre table de base de données.
 la contrainte CHECK : La contrainte CHECK garantit que toutes les valeurs d'une colonne
satisfont à certaines conditions.
 INDEX: Utilisé pour créer et récupérer des données de la base de données très rapidement.

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 6


Practitioner
PRATIQUE SQL

1.7. Types de données SQL

Définir correctement les champs d'une table est important pour l'optimisation globale de
votre base de données. Vous ne devez utiliser que le type et la taille de champ dont vous avez
vraiment besoin. Par exemple, ne définissez pas un champ de 10 caractères de large, si vous
savez que vous n'utiliserez que 2 caractères.

MySQL utilise de nombreux types de données différents répartis en trois catégories

 Numérique

 Date et heure

 Les chaînes.

a. Types de données numériques


MySQL utilise tous les types de données numériques standard ANSI SQL.

La liste suivante montre les types de données numériques courants et leurs descriptions

 INT− Un entier de taille normale qui peut être signé ou non signé. S'il est signé, la plage
autorisée est de -2147483648 à 2147483647. S'il n'est pas signé, la plage autorisée est de
0 à 4294967295. Vous pouvez spécifier une largeur allant jusqu'à 11 chiffres.

 TINYINT− Un très petit entier qui peut être signé ou non signé. S'il est signé, la plage
autorisée est de -128 à 127. S'il n'est pas signé, la plage autorisée est de 0 à 255. Vous
pouvez spécifier une largeur allant jusqu'à 4 chiffres.

 SMALLINT− Un petit entier qui peut être signé ou non signé. Si signé, la plage
autorisée est de -32768 à 32767. Si non signé, la plage autorisée est de 0 à 65535. Vous
pouvez spécifier une largeur allant jusqu'à 5 chiffres.

 MEDIUMINT− Un entier de taille moyenne qui peut être signé ou non signé. S'il est
signé, la plage autorisée est de -8388608 à 8388607. S'il n'est pas signé, la plage
autorisée est de 0 à 16777215. Vous pouvez spécifier une largeur allant jusqu'à 9
chiffres.

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 7


Practitioner
PRATIQUE SQL

 BIGINT− Un grand entier qui peut être signé ou non signé. Si signé, la plage autorisée
est de -9223372036854775808 à 9223372036854775807. Si non signé, la plage
autorisée est de 0 à 18446744073709551615. Vous pouvez spécifier une largeur allant
jusqu'à 20 chiffres.

 FLOAT(M,D)− Un nombre à virgule flottante qui ne peut pas être non signé. Vous
pouvez définir la longueur d'affichage (M) et le nombre de décimales (D). Ce n'est pas
obligatoire et sera par défaut 10,2, où 2 est le nombre de décimales et 10 est le nombre
total de chiffres (y compris les décimales). La précision décimale peut aller jusqu'à 24
positions pour un FLOAT.

 DOUBLE(M,D)− Un nombre à virgule flottante double précision qui ne peut pas être
non signé. Vous pouvez définir la longueur d'affichage (M) et le nombre de décimales
(D). Ce n'est pas obligatoire et sera par défaut à 16,4, où 4 est le nombre de décimales.
La précision décimale peut aller jusqu'à 53 positions pour un DOUBLE. REAL est
synonyme de DOUBLE.

 DECIMAL(M,D)− Un nombre à virgule flottante décompressé qui ne peut pas être non
signé. Dans les décimales non compressées, chaque décimale correspond à un octet. Il
est nécessaire de définir la longueur d'affichage (M) et le nombre de décimales (D).
NUMERIC est un synonyme de DECIMAL.

b. Types de date et d'heure


Les types de données date et heure MySQL sont les suivants

 DATE− Une date au format AAAA-MM-JJ, entre 1000-01-01 et 9999-12-31. Par


exemple, le 30 décembre 1973 serait enregistré sous le nom 1973-12-30.

 DATETIME− Une combinaison de date et l’heure au format AAAA-MM-JJ


HH:MM:SS, entre 1000-01-01 00:00:00 et 9999-12-31 23:59:59. Par exemple, 3h30 de
l'après-midi du 30 décembre 1973 serait stocké sous la forme 1973-12-30 15:30:00.

 TIMESTAMP− Un horodatage entre minuit, le 1er janvier 1970 et en 2037. Cela


ressemble au format DATETIME précédent, mais sans les tirets entre les nombres ;

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 8


Practitioner
PRATIQUE SQL

15h30 de l'après-midi du 30 décembre 1973 serait enregistré sous le nom


19731230153000 ( AAAAMMJJHHMMSS ). EX:diff entre date time et timestam

 TEMPS− Stocke l'heure au format HH:MM:SS.

 YEAR(M)− Enregistre une année dans un format à 2 ou 4 chiffres. Si la longueur est


spécifiée comme 2 (par exemple YEAR(2)), YEAR peut être compris entre 1970 et 2069
(70 à 69). Si la longueur est spécifiée comme 4, alors YEAR peut être de 1901 à 2155.
La longueur par défaut est 4.

c. Types de chaîne
Bien que les types numérique et date soient amusants, la plupart des données que vous
stockerez seront au format chaîne. Cette liste décrit les types de données de chaîne courants
dans MySQL.

 CHAR(E)− Une chaîne de longueur fixe comprise entre 1 et 255 caractères (par exemple
CHAR(5)), complétée à droite par des espaces jusqu'à la longueur spécifiée lors du
stockage. La définition d'une longueur n'est pas obligatoire, mais la valeur par défaut est
1.

 VARCHAR(M)− Une chaîne de longueur variable comprise entre 1 et 255 caractères.


Par exemple, VARCHAR(25). Vous devez définir une longueur lors de la création d'un
champ VARCHAR.

 BLOB ou TEXT− Un champ d'une longueur maximale de 65535 caractères. Les BLOB
sont des « grands objets binaires » et sont utilisés pour stocker de grandes quantités de
données binaires, telles que des images ou d'autres types de fichiers. Les champs définis
comme TEXT contiennent également de grandes quantités de données. La différence
entre les deux est que les tris et les comparaisons sur les données stockées sont sensibles
à la casse sur les BLOB et ne sont pas sensibles à la casse dans les champs TEXT. Vous
ne spécifiez pas de longueur avec BLOB ou TEXT.

 TINYBLOB ou TINYTEXT− Une colonne BLOB ou TEXT d'une longueur maximale


de 255 caractères. Vous ne spécifiez pas de longueur avec TINYBLOB ou TINYTEXT.

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 9


Practitioner
PRATIQUE SQL

 MEDIUMBLOB ou MEDIUMTEXT− Une colonne BLOB ou TEXT d'une longueur


maximale de 16777215 caractères. Vous ne spécifiez pas de longueur avec
MEDIUMBLOB ou MEDIUMTEXT.

 LONGBLOB ou LONGTEXT− Une colonne BLOB ou TEXT d'une longueur


maximale de 4294967295 caractères. Vous ne spécifiez pas de longueur avec
LONGBLOB ou LONGTEXT.

 ÉNUM− Une énumération, qui est un terme sophistiqué pour une liste. Lors de la définition
d'un ENUM, vous créez une liste d'éléments à partir de laquelle la valeur doit être
sélectionnée (ou elle peut être NULL). Par exemple, si vous vouliez que votre champ
contienne "A" ou "B" ou "C", vous définiriez votre ENUM comme ENUM ('A', 'B', 'C')
et seulement ces valeurs (ou NULL) pourrait jamais peupler ce champ.

diff entre CHAR et VAR CHAR


CHAR(L) longeur fixe
VARCHAR(L)longeur variable

Mr. NZE FOMEKONG STEPHANE, IT Engineer and Cloud 10


Practitioner

Vous aimerez peut-être aussi