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