BDD : (ou BD) Base De Données : Stock d’informations organisé et structuré de manière à :
SGBD :Les SGBD (Systèmes de Gestion de Bases de Données) permettent de naviguer dans les données et d’extraire (ou de mettre à jour) les informations souhaitées à l’aide de requêtes. C’est le logiciel qui gère les données.
Remarque : SGBDR : le R vient de relationnel, notion difficile à comprendre en début de formation, mais l’idée est :
Un classement des différents SGBD
Une
table : c’est un objet abstrait , qui regroupe des
données qui ont un rapport très précis entre elles.
Terminologie dans les Bases De
Données
Une table est composée d’un nom, et d’un ensemble de propriétés (que l’on appelle champs). Parmi ces champs, un (ou plusieurs) a (ont) le caractère d’identifiant : la clé primaire.
Note : Il est fortement conseillé d’écrire le nom des champs et de la table sans espace, sans caractère spécifique (lettres accentuées, espaces, virgules, …). Le code SQL est ainsi plus facilement portable d’une base de données à une autre. (faire comme pour les noms de variables en programmation Java … ).
article : différence entre une colonne et un champ ? entre une ligne et un enregistrement ?
cours Modèle Entité-Association
Dans une table, le premier champ (celui qui est souligné) est la clé primaire de la table :
elle permet d’identifier de façon unique chaque enregistrement
les valeurs prises par la clé primaire sont uniques
elle est composée d’un ou plusieurs champs
Définition :
SQL (Structured Query Language) est un langage informatique
normalisé qui permet de réaliser des opérations sur des bases de
données.
La partie langage de manipulation de données de SQL permet de
rechercher, d’ajouter, de modifier ou de supprimer des données dans les
bases de données.
Voici quelques commandes SQL et aspects du langage , mais toutes ces commandes ne seront pas abordées ce semestre :
Définition des données (DDL - Data Definition Language (data definition language)) : CREATE – ALTER – DROP - RENAME – TRUNCATE
Manipulation des données (DML - Data Manipulation Language) : INSERT – UPDATE – DELETE - LOCK TABLE
Interrogation des données (DQL - Data Query Language)) : SELECT
Contrôle des données (DCL - Data Control Language) : GRANT – REVOKE – COMMIT – ROLLBACK – SAVEPOINT - SET TRANSACTION
cd
code .bashrc
Ajouter dans le fichier .bashrc
de votre
HOME
alias looping='wine /opt/looping-mcd/Looping.exe'
alias datagrip='/opt/DataGrip/bin/datagrip.sh'
alias pycharm='/opt/pycharm/bin/pycharm.sh'
Remarque : l’objectif n’est pas de connaître toutes les fonctionnalités et subtilités du logiciel MySQL, mais d’utiliser les fonctionnalités les plus courantes que l’on retrouve dans les logiciels du même type.
mkdir S1
cd S1
mkdir BDD
cd BDD
touch tp1.sql
code tp1.sql &
mysql --user=login --password=mdp --host=serveurmysql --database=BDD_login
## mot de passe: mdp et login à l'IUT
documentation connexion à mariadb - et sur MySQL
mysql --version
mysql --help
-- Usage: mysql [OPTIONS] [database]
-- commande pour se connecter à mysql :
mysql --user=login --password=mdp --host=serveurmysql BDD_login
mysql --user=login --password=mdp --host=serveurmysql.iut-bm.univ-fcomte.fr --database=BDD_login
-- autre solution pour se connecter à mysql :
-- mysql -u login -h serveurmysql -p BDD_login
-- mot de passe: mdp
-- solution plus rapide
mysql -u login -h serveurmysql -pmotdepasse BDD_login
mysql --user="login" --password="mdp" --host="serveurmysql.iut-bm.univ-fcomte.fr" --database="BDD_login"
Il est possible d’utiliser la commande ci-dessous pour changer le mot de passe de votre compte sur le serveur MySQL serveurmysql ou serveurmysql2
-- pour changer de mot de passe
ALTER USER 'login' IDENTIFIED BY 'secret';
Vous pouvez changer de mot de passe, mais attention, n’utilisez pas votre mot de passe pour vous connecter sur les machines de l’IUT. Utilisez un mot de passe simple comme votre jour et mois de naissance. Ce mot de passe sera écrit dans votre code python dans quelques mois et parfois partagé avec d’autres camarades.
Les commentaires en SQL commencent par --
suivi
d’un espace qui est normalisé. L’utilisation du symbole “#”
pour les commentaires est également couramment admise dans certains
systèmes de gestion de bases de données. Penser à utiliser
CTRL+MAJ+/ sur les éditeurs.
Il est possible de mettre des "
autour des valeurs des
paramètres de la commande mysql
.
Prenez des Notes (en commentaires) dans vos fichiers SQL (tp1.sql) pour garder une trace des TP, vous pourrez utiliser ces TPs lors du contrôle devant machine.
Commande pour utiliser (changer) la base de données utilisée
par défaut : USE uneBaseDeDonnees;
Testez la commande SHOW DATABASES;
pour afficher les
bases de données disponibles, puis utilisez la commande USE
pour changer la base de données utilisée par défaut.
help
help
permet d’obtenir de l’aide sur les
commandes spécifiques à MySQL. Elle fournit des informations détaillées
sur les commandes, les fonctions et les options de configuration propres
à MySQL. ( Il n’y a pas d’aide pour le SQL ).source tp1.sql
exit
exit
permet de quitter MySQL ( la connexion
à MySQL )tables; show
;
en fin de ligne.;
contrairement aux commandes spécifiques à
MySQL(afficher avec la commande help)system ls
La commande system ls
permet d’exécuter une commande
système (shell) pour lister le contenu du dossier dans lequel la
connexion sur MySQL est ouverte. Veuillez noter que cette commande peut
varier en fonction du système d’exploitation utilisé. Par exemple, sur
les systèmes Windows, la commande équivalente serait
!dir
.
Mettre en commentaire ces instructions
Ajoutez dans le fichier tp1.sql les instructions ci-dessous pour créer la table etudiant et exécuter ces instructions (source tp1.sql)
Les commandes SQL se terminent par un point-virgule
;
.
Exercice :
Tapez la commande : systeme 'ls
puis terminez la commande
pour que le logiciel MySQL puisse l’interpréter.
DESCRIBE etudiant;
NULL : non renseigné (absence de valeur : NO VALUE ,
N/A)
(différent de espace, 0 ou la chaîne de caractères vide ““)
Il est
possible de définir les champs que l’on veut remplir (ligne 1 et 5), à
défaut il faut donner une valeur à chaque champ.
SELECT * FROM etudiant;
Remarque : Faire la différence entre « afficher les enregistrements d’une table » et « afficher la structure d’une table » dans un énoncé de contrôle.
DROP TABLE etudiant;
Placez cette instruction en début de script pour que vos modifications sur la table soient prises en compte à chaque rechargement du script SQL.
Modifiez votre script dans votre fichier à chaque étape, l’objectif est de bien saisir les différences et les points communs entre « NOT NULL » « UNIQUE » et « PRIMARY KEY »
Pour ne plus autoriser un enregistrement avec un identifiant de l’étudiant avec comme valeur NULL :
Modifiez la table en ajoutant la contrainte
NOT NULL
Insérez les enregistrements précédents dans la table
UNIQUE
,
puis insérez les champs précédentsDéfinir de préférence les clés primaires à l’aide d’une instruction séparée en fin de table car :
CREATE TABLE etudiant; SHOW
Pour les plus rapides :