Module 106
Interroger, traiter et assurer la maintenance des bases de données
Jour 1 - Introduction module et création de la BDD
# Objectifs du jour
Objectifs du jour
-
Présentation du module et des objectifs
-
Présentation du fonctionnement pour le module, padlet, devoirs, flashcards, etc.
-
Création de l'environnement Oracle via docker, contrôles et tests
-
Installation et présentations des outils
-
Création des schémas utilisés dans le cadre du module
Ne pas oublier de démarrer Lanschool !



# Présentation du module et fonctionnement
Présentation du module et fonctionnement
Padlet, Point central :

À mettre dans vos favoris !
# Présentation du module et fonctionnement
Présentation du module et fonctionnement
- Objectifs pour chaque cours
- Pas de support de cours (autre que slides.com) donc prendre des notes
- Slides.com pour la présentation selon le cours
- Exercices : Voir le Gitbook sur le padlet
- Devoirs sur le padlet
- Temps en fin de journée pour prendre des notes, mindmap ou faire les devoirs
- Questions et communications sur canal Teams
- Pas de jeux ni de chat pendant les cours
- Respect de la ponctualité
# Présentation du module et fonctionnement
Présentation du module et fonctionnement
-
Récapitulation possible via wooflash
- Création de compte à faire maintenant
- Faire un mindmap que l'on reprendra parfois ensemble (chacun le sien et mise en commun de temps en temps)

Si, comme le roi Arthur face à Perceval, vous trouvez mes explications un peu floues, posez des questions ! Ici, pas de questions "bêtes", juste des occasions d’apprendre et de mieux comprendre.
# Présentation du module et fonctionnement
Présentation du module et fonctionnement
# Présentation du module et fonctionnement
Deux vérités et un mensonge
INF1A

INF1B

Installation d'Oracle et des outils
# Installation et configuration
Installation d'Oracle
- Installation sur Docker
On lance un conteneur Oracle Database Express Edition (XE) avec un mot de passe administrateur.
docker run -d --name module-106 -p 1521:1521 -e ORACLE_PASSWORD=manager -v oracle_data_ict_106:/opt/oracle/oradata gvenzl/oracle-xe
Ce conteneur expose le port 1521 pour les connexions Oracle et utilise le mot de passe manager
Installation d'Oracle et des outils
SQLDevelopper
- Permet d'exécuter des commandes et gérer la base de données

# Installation et configuration
Installation d'Oracle et des outils
SQL Developer
- Le zip doit ensuite être extrait vers un dossier que vous pouvez appeler "sqldeveloper"
- Copier le dossier dans programmes (C:\Program Files\)
# Installation et configuration


Installation d'Oracle et des outils
SQLPlus
- Permet d'exécuter des commandes en ligne de commande
# Installation et configuration

Voir la suite de l'installation en page suivante
Installation d'Oracle et des outils
SQL Plus
- Vous devez télécharger deux fichiers différents :
- Basic Package
- SQL Plus Package
- Les deux zips doivent ensuite être extraits et tous les fichiers copiés dans le même dossier que vous pouvez nommer "sqlplus"
- Copier le dossier dans programmes (C:\Program Files\)
# Installation et configuration
Installation d'Oracle et des outils
SQL Plus
# Installation et configuration

Pour finir, vous pouvez mettre en raccourci sur le bureau afin de le retrouver plus facilement. Clic droit sur sqlplus.exe > Envoyer Vers > Bureau (créer un raccourci)
Installation d'Oracle et des outils
Test de la connexion à la base de données
- Essayez de vous connecter à votre base de données avec les informations suivantes :
- Utilisateur : system
- Mot de passe : manager
- Grâce à SQLPlus, faire la commande suivante et contrôler qu'elle retourne un nombre > 1 :
# Installation et configuration
SELECT COUNT(*) FROM cat;
- Ajoutez une connexion pour system dans SQLDeveloper si elle n'existe pas encore.
- Refaire la commande depuis SQLDeveloper et contrôler qu'elle retourne un nombre > 1
Test du container Docker
- Ajoutez un utilisateur :
# Installation et configuration
CREATE TABLE tests (
pk_tes NUMBER CONTRAINT ct_pk_tes PRIMARY KEY
);
- Arrêtez ensuite le container docker puis testez la connexion à SQL Developer ou SQL Plus -> Devrait faire une erreur
CREATE USER votre_prenom IDENTIFIED BY votre_prenom;
- Connectez-vous avec cet utilisateur puis ajoutez une table :
- Relancez le container, connectez-vous et contrôlez que la table tests existe bien en faisant un SELECT sur la table
- Supprimez ensuite l'utilisateur :
DROP USER votre_prenom CASCADE;
# Rappel des schémas de base de données
Rappel des schémas de base de données
- Trois types de schémas
- MCD : Modèle Conceptuel des Données
- MLD : Modèle Logique des Données
- MPD : Modèle Physique des Données
Caractéristiques des clés primaires
# Rappel des schémas de base de données
- Unique
- Non Null
- Pas porteur d'information
Règles de transformation MCD - MLD
- Ajout des clés primaires
- Ajout du type des données
- Liaison avec clés étrangères
- Tables associatives
Où mettre la clé étrangère ?
# Rappel des schémas de base de données


Où mettre la clé étrangère ?
# Rappel des schémas de base de données


Où mettre la clé étrangère ?
# Rappel des schémas de base de données


Différents Langages
# Rappel des schémas de base de données
-
LDD (Langage de Définition des Données) ou DDL
- CREATE, DROP, ALTER
-
LMD (Langage de Manipulation des Données) ou DML
- SELECT, INSERT, UPDATE, DELETE
-
LCD (Langage de Contrôle des Données) ou DCL :
- GRANT, REVOKE
-
LCT (Langage de Contrôle des Transaction) ou TCL :
- COMMIT et ROLLBACK
Convention de nommage
# Rappel des schémas de base de données
Voir dans les ressources du Padlet :

# Exercices schémas de base de données
- Voir la donnée sur le Gitbook des exercices :

Exercice 1.1
Exercice 1.2
# Exercices schémas de base de données
- Voir la donnée sur le Gitbook des exercices :

# Correction du MLD - Exercice 1.2
Correction du MLD
(Exercice 1.2)
-
Avez-vous des questions suite à l'exercice de transformation de MCD en MLD ?
-
Avez-vous vous rencontrez des problèmes spécifiques ?
-
Quelques points à faire attention
-
Nombre de caractères pas obligatoire
-
Mettre une chaine (varchar) pour les codes et non un entier (numeric), à l'exception des PK
-
Utiliser des PFK dans la table associative
-
Les propriétés de la relation sont dans la table associative
-
FK obligatoire si la cardinalité relative (en face) est de 1 ou 1..
Correction du MLD
(Exercice 1.2)
# Correction du MLD - Exercice 1.2

Merci de votre attention 😊
Bonne fin de journée !



M106 - Jour 1
By paranor
M106 - Jour 1
- 211