Base de données SQL

I- Qu’est ce qu’une base de donnée ?

Une base de données (Database en anglais), permet de stocker et de retrouver l’intégralité de données en rapport avec un thème ou une activité. Celles-ci peuvent être de natures différentes et plus ou moins reliées entre elles. Dans la très grande majorité des cas, ces informations sont très structurées, et la base est localisée dans un même lieu et sur un même support.

II- Un système de gestion de bases de données

En informatique, un système de gestion de base de données (SGBD) est un logiciel système destiné à stocker et à partager des informations dans une base de données, en garantissant la qualité et la confidentialité des informations, tout en cachant la complexité des opérations.

Un SGBD permet d’inscrire, de retrouver, de modifier, de trier, de transformer ou d’imprimer les informations de la base de données. Il permet d’effectuer des comptes rendus des informations enregistrées et comporte des mécanismes pour assurer la cohérence des informations, éviter des pertes d’informations dues à des pannes et assurer la confidentialité.

III- MySQL

MySQL est un système de gestion de bases de données relationnelles (SGBDR). Il est distribué sous une double licence GPL et propriétaire. Il fait partie des logiciels de gestion de base de données les plus utilisés au monde, autant par le grand public (applications web principalement) que par des professionnels, en concurrence avec Oracle, Informix et Microsoft SQL Server.

IV- Type de variable

Une variable est une structure de données de type primitif (entier, réel, caractère, chaîne de caractères, booléen ou null) ou bien de type structuré (tableau ou objet) qui permet de stocker une ou plusieurs valeurs. Chaque valeur d’une variable est susceptible d’être remplacée par une autre au cours de l’exécution du programme. D’où le terme « variable ».

Voici certaines variables :

NUMBER(n,[d]) Nombre de n chiffres [d (optionnel) après la virgule]
SMALLINT Entier signé de 16 bits
INT Entier signé de 32 bits
FLOAT Nombre à virgule flottante
DATE Date format jj/mm/aa
TIME Heure
TIMESTAMP Date et Heure
CHAR() Chaîne de caractères de longueur fixe (l<16383)
VARCHAR() Chaîne de caractères de n caractères maximum (n<16383)

V- Installation SQL

Tout d’abord nous allons effectuer les mises à jour.

Tapez la commande suivante :

sudo aptitude update -y && sudo aptitude upgrade -y && sudo reboot;
Mise à jour

Maintenant dans le terminal, tapez :

sudo apt-get install apache2
Installation

Nous allons installer un gestionnaire de base de données SQL (MySQL), pour cela voici la commande :

sudo apt-get install mysql-server mysql-client

Une fois votre mot de passe introduit, MySQL va être installé.

VI- Lancement de MySql

Pour démarrer mysql effectuer la commande suivante :

mysql -u root -p

Puis entrer le mot de passe

Pour changer votre mot de passe il faut entrer cette commande :

mysqladmin -u root -p"mdp_root" password "nouveau_mdp";

VII – Création d’une base de donnée

Après avoir installé les outils, nous pouvons commencer à créer notre base de données qui contiendra des tables.

Pour cela nous allons créer une base de donnée qui s’appellera « Cinema » :

CREATE DATABASE IF NOT EXISTS Cinema;

« IF NOT EXISTS » signifie que l’on crée cette base de donnée que SI elle n’existe pas.

Maintenant que la base de donnée est créée nous allons indiquer que nous allons l’utiliser :

USE Cinema;

VIII- Les tables

Une table est un ensemble de champ permettant de décrire quelque chose.

Nous allons créer une table « personne » qui contiendra eux-mêmes des champs « idpers » « prenom » « nom« .

CREATE TABLE IF NOT EXISTS personne (id_pers int(5) NOT NULL AUTO_INCREMENT, nom varchar(15) NOT NULL, prenom varchar(15) NOT NULL, PRIMARY KEY (id_pers));

Ce code permet de créer une table « personne » que si elle n’existe pas. Entre les parenthèses, nous aurons à chaque ligne un nouveau champ dans notre table structuré de la manière suivante :

nom_identifiant typeChamp(nbreCarateres) puis nous indiquons si le champ doit être non null et si il doit être auto incrémenté. La partietypeChamp représente le type de la donnée : INTEGER, VARCHAR, TEXT, BOOLEAN, DATE, etc.

Pour terminer nous avons indiqué la présence de la clé primaire grâce à l’instruction PRIMARY KEY qui est appliqué sur « id_pers« .

Une clé primaire détermine de manière unique une rangée d’une table.

il existe aussi la clé étrangère qui est un champ d’une table qui correspon à une clef primaire d’une autre table.

Nous allons créer une autres tables « film » de la même manière:

CREATE TABLE IF NOT EXISTS film (id_film int(5) NOT NULL AUTO_INCREMENT, id_realisateur int(5) NOT NULL, titre varchar(15) NOT NULL, genre varchar(15) NOT NULL, PRIMARY KEY (id_film));

Dans cette table nous avons 4 colonnes avec « id_film« , « id_realisateur« , « titre« , « genre« 

IX- Ajouter du contenu dans une table

Nous voila avec les tables créée, nous allons introduire des données aux tables.

INSERT INTO personne (nom, prenom) VALUES ('Mendes', 'Sam');

Nous venons d’introduire « Sam Mendes« . Vous remarquerez que l’id_pers n’a pas été rempli car il va obtenir l’identifiant qui suit la dernière insertion grâce a l’AUTO_INCREMENT.

Maintenant entrer les artistes suivant :

Nom: Jones Prénom: Grace; Wilis Bruce; Irons Jeremy; Spader James.

Dans la table « film » nous allons procédé de la même manière.

INSERT INTO film (id_realisateur, titre, genre) VALUES ('13', 'Crash', 'Drame');

Continuer l’implémentation avec les films suivant :

id_realisateur : 14 titre: Faux-Semblants genre: Epouvante ;

« 12 Alamo Western »; « 10 Dogville Drame », « 11 Django Western »

XII- Manipulation de données

Les tables maintenant créer, nous allons visualiser les données écrite.

Pour visualiser les tables il faut utiliser la commande suivante :

show tables;

Nous voulons voir la table ‘personne‘.

SELECT * FROM personne;

Pour voir seulement la colonne ‘nom‘.

SELECT nom FROM personne;

Sélectionner la colonne ‘nom‘ dont ‘id_pers‘ correspond à 2.

SELECT nom FROM personne WHERE id_pers=2;

XI – Suppression/Modification

Pour effectuer des modifications :

  • UPDATE NomDeLaTable
  • SET nomColonne=valColonne
  • WHERE condition

La commande ORDER BY permet de trier les lignes dans un résultat d’une requête SQL. Il est possible de trier les données sur une ou plusieurs colonnes, par ordre ascendant ou descendant.

Par défaut les résultats sont classés par ordre ascendant, toutefois il est possible d’inverser l’ordre en utilisant le suffixe DESC après le nom de la colonne

SELECT prenom FROM personne ORDER BY prenom DESC;

Suppression d’une table:

DELETE FROM NomDeLaTable

Suppression de la database :

DROP DATABASE NomDeLaDataBase;

Suppression d’une colonne :

ALTER TABLE nom_table DROP nom_colonne;

XII – Conclusion

Vous connaissez à présent les bases du SQL. Vous pouvez créer ou supprimer une base de données, créer, modifier et supprimer une table et insérer, modifier et supprimer des données d’une table. Mais n’oubliez pas que cela n’est que le début du langage SQL, il vous reste encore beaucoup à apprendre.


 

MALIDAIN Loris

BTS Systèmes Numériques option Informatique et Réseaux (1ère année)
Saint-Nazaire (2017-2018)