# Bases de données ## Bases de données, c'est quoi ? ### Différents types ### BDD relationnelles ## Définitions et modélisation (aborder avec une approche pratique) - Relation, schéma, attributs - Contraintes : intégrité, unicité, inclusion - Clés (primaire, étrangère...) - Schéma relationnel - Many to One, One to Many, Many to many et One to One ## SQL - Manipuler des données - Manipuler le schéma - Atomicité (begin, commit, rollback) - Jointures # Orga ## TP - Découverte du SQL et des bases de données - Docker pour lancer postgres ou mariadb - Utilisation de la console - Création d'une table, insertion de données, selection, mises à jour - update et delete - mise en place de contraintes - clés primaires - Création d'une seconde table et clés étrangères - jointures naturelles et normalisées - Bases de données relationnelles avancées - Analyse et compréhension d'un MCD - Mise en oeuvre du schéma et paramétrage des droits (création des tables + insertion de données) - Modification/complétion du schéma - Modification du schéma - Atomicité - Faire une sauvegarde / restauration - Paramétrage du fichier de configuration - Bonus : Optimiser une BDD - Introduction aux index - Analyse des performances d'une requête complexe + optimisation - Nettoyage d'une base ## Cours - Retour sur le TP + Lire un MCD + Many to one / One to many / etc... - Bonnes pratiques de maintenance des BDD ## TD - Requêtes (2 séances) - Analyse de schéma, amélioration de schéma, création de petits schémas