BDD : (ou BD) Base De Données : Stock d’informations organisé et structuré de manière à :
SGBD :Les SGBD (Système de Gestion de Base 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 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 tous 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
atom .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
atom 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"
Utilisez 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';
Il est conseillé de 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 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 sur 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
Ajouter 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;
Placer cette instruction en début de script pour que vos modifications sur la table soit prises en compte à chaque rechargement du script SQL.
Modifier 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 NULL :
Modifier la table en ajoutant la contrainte NOT NULL
Insérer les enregistrements précédents dans la table
UNIQUE
, puis insérer 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 :